浏览代码

增加盘古数据收集定时任务

leon 5 年之前
父节点
当前提交
f8ff2f0a4e
共有 21 个文件被更改,包括 536 次插入20 次删除
  1. 10 0
      pom.xml
  2. 37 0
      src/main/java/com/mokamrp/privates/controller/pangu/PromoteQrcodePoolRecordController.java
  3. 17 0
      src/main/java/com/mokamrp/privates/mapper/data/PanCSLTRecordMapper.java
  4. 6 0
      src/main/java/com/mokamrp/privates/mapper/data/PanCSLTRecordMapper.xml
  5. 17 0
      src/main/java/com/mokamrp/privates/mapper/data/PanCSTQRecordMapper.java
  6. 6 0
      src/main/java/com/mokamrp/privates/mapper/data/PanCSTQRecordMapper.xml
  7. 25 0
      src/main/java/com/mokamrp/privates/mapper/data/pojo/PanCSLTRecord.java
  8. 24 0
      src/main/java/com/mokamrp/privates/mapper/data/pojo/PanCSTQRecord.java
  9. 6 3
      src/main/java/com/mokamrp/privates/mapper/pangu/PromoteQrcodePoolMapper.xml
  10. 16 0
      src/main/java/com/mokamrp/privates/mapper/pangu/PromoteQrcodePoolRecordMapper.java
  11. 21 0
      src/main/java/com/mokamrp/privates/mapper/pangu/PromoteQrcodePoolRecordMapper.xml
  12. 124 0
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteQrcodePoolRecord.java
  13. 4 0
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteQrcodePoolVo.java
  14. 11 0
      src/main/java/com/mokamrp/privates/service/data/PanCSLTRecordService.java
  15. 12 0
      src/main/java/com/mokamrp/privates/service/data/PanCSTQRecordService.java
  16. 30 0
      src/main/java/com/mokamrp/privates/service/data/impl/PanCSLTRecordServiceImpl.java
  17. 32 0
      src/main/java/com/mokamrp/privates/service/data/impl/PanCSTQRecordServiceImpl.java
  18. 16 0
      src/main/java/com/mokamrp/privates/service/pangu/PromoteQrcodePoolRecordService.java
  19. 20 0
      src/main/java/com/mokamrp/privates/service/pangu/impl/PromoteQrcodePoolRecordServiceImpl.java
  20. 81 0
      src/main/java/com/mokamrp/privates/tast/pangu/UpdatePanguDataTask.java
  21. 21 17
      src/main/resources/application-local.properties

+ 10 - 0
pom.xml

@@ -55,6 +55,16 @@
             <artifactId>mysql-connector-java</artifactId>
             <scope>runtime</scope>
         </dependency>
+        <dependency>
+            <groupId>org.postgresql</groupId>
+            <artifactId>postgresql</artifactId>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
+            <version>2.5.4</version>
+        </dependency>
         <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
         <dependency>
             <groupId>com.baomidou</groupId>

+ 37 - 0
src/main/java/com/mokamrp/privates/controller/pangu/PromoteQrcodePoolRecordController.java

@@ -0,0 +1,37 @@
+package com.mokamrp.privates.controller.pangu;
+
+import com.mokamrp.privates.controller.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.mokamrp.privates.service.pangu.PromoteQrcodePoolRecordService;
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePoolRecord;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * <p>
+ * 盘古活码内个微码访问数据 前端控制器
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-29
+ */
+@RestController
+@RequestMapping("/promoteQrcodePoolRecord")
+public class PromoteQrcodePoolRecordController extends BaseController<PromoteQrcodePoolRecord> {
+
+    @Autowired
+    public PromoteQrcodePoolRecordService promoteQrcodePoolRecordService;
+
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+}
+

+ 17 - 0
src/main/java/com/mokamrp/privates/mapper/data/PanCSLTRecordMapper.java

@@ -0,0 +1,17 @@
+package com.mokamrp.privates.mapper.data;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecord;
+import com.mokamrp.privates.service.data.PanCSLTRecordService;
+
+/**
+ * <p>
+ * 企业侧边工具栏 Mapper 接口
+ * </p>
+ *
+ * @author chenlongfei
+ * @since 2021-04-12
+ */
+public interface PanCSLTRecordMapper extends BaseMapper<PanCSLTRecord> {
+
+}

+ 6 - 0
src/main/java/com/mokamrp/privates/mapper/data/PanCSLTRecordMapper.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mokamrp.privates.mapper.data.PanCSLTRecordMapper">
+
+
+</mapper>

+ 17 - 0
src/main/java/com/mokamrp/privates/mapper/data/PanCSTQRecordMapper.java

@@ -0,0 +1,17 @@
+package com.mokamrp.privates.mapper.data;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecord;
+import com.mokamrp.privates.mapper.data.pojo.PanCSTQRecord;
+
+/**
+ * <p>
+ * 企业侧边工具栏 Mapper 接口
+ * </p>
+ *
+ * @author chenlongfei
+ * @since 2021-04-12
+ */
+public interface PanCSTQRecordMapper extends BaseMapper<PanCSTQRecord> {
+
+}

+ 6 - 0
src/main/java/com/mokamrp/privates/mapper/data/PanCSTQRecordMapper.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mokamrp.privates.mapper.data.PanCSTQRecordMapper">
+
+
+</mapper>

+ 25 - 0
src/main/java/com/mokamrp/privates/mapper/data/pojo/PanCSLTRecord.java

@@ -0,0 +1,25 @@
+package com.mokamrp.privates.mapper.data.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+/**
+ * <p>
+ * 企业
+ * </p>
+ *
+ * @author leon
+ * @since 2021-04-19
+ */
+@Data
+@TableName("ods_hera_pangu_record_custservice_longtouch_holo")
+public class PanCSLTRecord extends Model<PanCSLTRecord>{
+
+    private Integer longTouchCnt;
+
+    private Integer custserviceId;
+
+    private Integer promoteId;
+
+}

+ 24 - 0
src/main/java/com/mokamrp/privates/mapper/data/pojo/PanCSTQRecord.java

@@ -0,0 +1,24 @@
+package com.mokamrp.privates.mapper.data.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+
+/**
+ * <p>
+ * 企业
+ * </p>
+ *
+ * @author leon
+ * @since 2021-04-19
+ */
+@Data
+@TableName("ods_hera_pangu_record_promotecode_take_qrcode_holo")
+public class PanCSTQRecord extends Model<PanCSTQRecord>{
+
+    private Integer takeQrcodeCnt;
+
+    private Integer custserviceId;
+
+    private Integer promoteId;
+}

+ 6 - 3
src/main/java/com/mokamrp/privates/mapper/pangu/PromoteQrcodePoolMapper.xml

@@ -30,10 +30,13 @@
             B.qrcode_x,
             B.qrcode_y,
             C.name AS custservice_name,
-            C.qrcode
+            C.qrcode,
+            IFNULL(D.long_touch_pv,0) as long_touch_pv,
+            IFNULL(D.take_qrcode_pv,0) as take_qrcode_pv
          FROM pan_promote_qrcode_pool AS A
-         LEFT join pan_playbill AS B ON A.playbill_id = B.id
-         left join pan_custservice AS C ON A.custservice_id = C.id
+         LEFT JOIN pan_playbill AS B ON A.playbill_id = B.id
+         LEFT JOIN pan_custservice AS C ON A.custservice_id = C.id
+         LEFT JOIN pan_promote_qrcode_pool_record as D on A.custservice_id = D.custservice_id and A.promote_id = D.promote_id
     <where>
         <if test="pageHandle.promoteId != null">and A.promote_id = #{pageHandle.promoteId}</if>
         <if test="pageHandle.id != null">and A.id = #{pageHandle.id}</if>

+ 16 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/PromoteQrcodePoolRecordMapper.java

@@ -0,0 +1,16 @@
+package com.mokamrp.privates.mapper.pangu;
+
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePoolRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 盘古活码内个微码访问数据 Mapper 接口
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-29
+ */
+public interface PromoteQrcodePoolRecordMapper extends BaseMapper<PromoteQrcodePoolRecord> {
+
+}

+ 21 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/PromoteQrcodePoolRecordMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mokamrp.privates.mapper.pangu.PromoteQrcodePoolRecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePoolRecord">
+        <id column="id" property="id" />
+        <result column="promote_id" property="promoteId" />
+        <result column="custservice_id" property="custserviceId" />
+        <result column="long_touch_pv" property="longTouchPv" />
+        <result column="take_qrcode_pv" property="takeQrcodePv" />
+        <result column="create_at" property="createAt" />
+        <result column="update_at" property="updateAt" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, promote_id, custservice_id, long_touch_pv, take_qrcode_pv, create_at, update_at
+    </sql>
+
+</mapper>

+ 124 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteQrcodePoolRecord.java

@@ -0,0 +1,124 @@
+package com.mokamrp.privates.mapper.pangu.pojo;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 盘古活码内个微码访问数据
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-29
+ */
+@TableName("pan_promote_qrcode_pool_record")
+public class PromoteQrcodePoolRecord extends Model<PromoteQrcodePoolRecord> {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 活码Id
+     */
+    private Integer promoteId;
+
+    /**
+     * 客服个微二维码Id
+     */
+    private Integer custserviceId;
+
+    /**
+     * 二维码长按pv
+     */
+    private Integer longTouchPv;
+
+    /**
+     * 扫码pv
+     */
+    private Integer takeQrcodePv;
+
+    private LocalDateTime createAt;
+
+    private LocalDateTime updateAt;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getPromoteId() {
+        return promoteId;
+    }
+
+    public void setPromoteId(Integer promoteId) {
+        this.promoteId = promoteId;
+    }
+
+    public Integer getCustserviceId() {
+        return custserviceId;
+    }
+
+    public void setCustserviceId(Integer custserviceId) {
+        this.custserviceId = custserviceId;
+    }
+
+    public Integer getLongTouchPv() {
+        return longTouchPv;
+    }
+
+    public void setLongTouchPv(Integer longTouchPv) {
+        this.longTouchPv = longTouchPv;
+    }
+
+    public Integer getTakeQrcodePv() {
+        return takeQrcodePv;
+    }
+
+    public void setTakeQrcodePv(Integer takeQrcodePv) {
+        this.takeQrcodePv = takeQrcodePv;
+    }
+
+    public LocalDateTime getCreateAt() {
+        return createAt;
+    }
+
+    public void setCreateAt(LocalDateTime createAt) {
+        this.createAt = createAt;
+    }
+
+    public LocalDateTime getUpdateAt() {
+        return updateAt;
+    }
+
+    public void setUpdateAt(LocalDateTime updateAt) {
+        this.updateAt = updateAt;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "PromoteQrcodePoolRecord{" +
+        "id=" + id +
+        ", promoteId=" + promoteId +
+        ", custserviceId=" + custserviceId +
+        ", longTouchPv=" + longTouchPv +
+        ", takeQrcodePv=" + takeQrcodePv +
+        ", createAt=" + createAt +
+        ", updateAt=" + updateAt +
+        "}";
+    }
+}

+ 4 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteQrcodePoolVo.java

@@ -59,6 +59,10 @@ public class PromoteQrcodePoolVo extends Model<PromoteQrcodePoolVo> {
 
     private Integer hourUvMax;
 
+    private Integer longTouchPv;
+
+    private Integer takeQrcodePv;
+
     /**
      * 创建时间
      */

+ 11 - 0
src/main/java/com/mokamrp/privates/service/data/PanCSLTRecordService.java

@@ -0,0 +1,11 @@
+package com.mokamrp.privates.service.data;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecord;
+
+import java.util.List;
+
+public interface PanCSLTRecordService extends IService<PanCSLTRecord> {
+    //.获取客服码长按次数
+    public List<PanCSLTRecord> getCustserviceLongTouchPv();
+}

+ 12 - 0
src/main/java/com/mokamrp/privates/service/data/PanCSTQRecordService.java

@@ -0,0 +1,12 @@
+package com.mokamrp.privates.service.data;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.mapper.data.pojo.PanCSTQRecord;
+
+import java.util.List;
+
+public interface PanCSTQRecordService extends IService<PanCSTQRecord> {
+    //.获取客服码扫码次数
+    public List<PanCSTQRecord> getCustserviceTakeQrcodePv();
+
+}

+ 30 - 0
src/main/java/com/mokamrp/privates/service/data/impl/PanCSLTRecordServiceImpl.java

@@ -0,0 +1,30 @@
+package com.mokamrp.privates.service.data.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mokamrp.privates.mapper.data.PanCSLTRecordMapper;
+import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecord;
+import com.mokamrp.privates.service.data.PanCSLTRecordService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@DS("datadb")
+public class PanCSLTRecordServiceImpl extends ServiceImpl<PanCSLTRecordMapper, PanCSLTRecord> implements PanCSLTRecordService {
+    /**
+     * 获取客服码长按次数
+     * @return
+     */
+    public List<PanCSLTRecord> getCustserviceLongTouchPv(){
+        List<PanCSLTRecord> res = this.list(new QueryWrapper<PanCSLTRecord>()
+                .select("count(event) as long_touch_cnt,custservice_id,promote_id")
+                .isNotNull("promote_id")
+                .ne("custservice_id",0)
+                .groupBy("custservice_id","promote_id"));
+        System.out.println(res);
+        return res;
+    }
+}
+

+ 32 - 0
src/main/java/com/mokamrp/privates/service/data/impl/PanCSTQRecordServiceImpl.java

@@ -0,0 +1,32 @@
+package com.mokamrp.privates.service.data.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mokamrp.privates.mapper.data.PanCSLTRecordMapper;
+import com.mokamrp.privates.mapper.data.PanCSTQRecordMapper;
+import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecord;
+import com.mokamrp.privates.mapper.data.pojo.PanCSTQRecord;
+import com.mokamrp.privates.service.data.PanCSLTRecordService;
+import com.mokamrp.privates.service.data.PanCSTQRecordService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+@Service
+@DS("datadb")
+public class PanCSTQRecordServiceImpl  extends ServiceImpl<PanCSTQRecordMapper,PanCSTQRecord> implements PanCSTQRecordService {
+    /**
+     * 获取客服码扫码次数
+     * @return
+     */
+    public List<PanCSTQRecord> getCustserviceTakeQrcodePv(){
+        List<PanCSTQRecord> res = this.list(new QueryWrapper<PanCSTQRecord>()
+                .select("count(event) as take_qrcode_cnt,custservice_id,promote_id")
+                .isNotNull("custservice_id")
+                .ne("custservice_id",0)
+                .groupBy("custservice_id","promote_id"));
+        System.out.println(res);
+        return res;
+    }
+
+}

+ 16 - 0
src/main/java/com/mokamrp/privates/service/pangu/PromoteQrcodePoolRecordService.java

@@ -0,0 +1,16 @@
+package com.mokamrp.privates.service.pangu;
+
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePoolRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 盘古活码内个微码访问数据 服务类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-29
+ */
+public interface PromoteQrcodePoolRecordService extends IService<PromoteQrcodePoolRecord> {
+
+}

+ 20 - 0
src/main/java/com/mokamrp/privates/service/pangu/impl/PromoteQrcodePoolRecordServiceImpl.java

@@ -0,0 +1,20 @@
+package com.mokamrp.privates.service.pangu.impl;
+
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePoolRecord;
+import com.mokamrp.privates.mapper.pangu.PromoteQrcodePoolRecordMapper;
+import com.mokamrp.privates.service.pangu.PromoteQrcodePoolRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 盘古活码内个微码访问数据 服务实现类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-06-29
+ */
+@Service
+public class PromoteQrcodePoolRecordServiceImpl extends ServiceImpl<PromoteQrcodePoolRecordMapper, PromoteQrcodePoolRecord> implements PromoteQrcodePoolRecordService {
+
+}

+ 81 - 0
src/main/java/com/mokamrp/privates/tast/pangu/UpdatePanguDataTask.java

@@ -0,0 +1,81 @@
+package com.mokamrp.privates.tast.pangu;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mokamrp.privates.constant.RedisKey;
+import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecord;
+import com.mokamrp.privates.mapper.data.pojo.PanCSTQRecord;
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteCode;
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePool;
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteQrcodePoolRecord;
+import com.mokamrp.privates.service.data.PanCSLTRecordService;
+import com.mokamrp.privates.service.data.PanCSTQRecordService;
+import com.mokamrp.privates.service.pangu.PlaybillService;
+import com.mokamrp.privates.service.pangu.PromoteCodeService;
+import com.mokamrp.privates.service.pangu.PromoteQrcodePoolRecordService;
+import com.mokamrp.privates.service.pangu.PromoteQrcodePoolService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.sound.sampled.Port;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.List;
+
+@Component
+public class UpdatePanguDataTask {
+
+    @Autowired
+    public PanCSLTRecordService panCSLTRecordService;
+
+    @Autowired
+    public PanCSTQRecordService panCSTQRecordService;
+
+    @Autowired
+    public PromoteQrcodePoolRecordService promoteQrcodePoolRecordService;
+
+    @Scheduled(cron = "0 */1 * * * ?")
+    public void execute() {
+        System.out.println("[cronjob]:同步盘古个微码每日数据");
+        List<PromoteQrcodePoolRecord> promoteQrcodePoolRecordList = promoteQrcodePoolRecordService.list();
+        List<PanCSLTRecord> panCSLTRecordList = panCSLTRecordService.getCustserviceLongTouchPv();
+        List<PanCSTQRecord> panCSTQRecordList = panCSTQRecordService.getCustserviceTakeQrcodePv();
+
+        for (PanCSLTRecord panCSLTRecord : panCSLTRecordList) {
+//            panCSLTRecord.getCustserviceId()
+        }
+
+        for (PanCSTQRecord record : panCSTQRecordList) {
+            Integer custserviceId = record.getCustserviceId();
+            Integer promoteId = record.getPromoteId();
+            if (custserviceId == null || promoteId == null){
+                continue;
+            }
+            Boolean hasRecord = this.checkHasRecord(promoteQrcodePoolRecordList,promoteId,custserviceId);
+            PromoteQrcodePoolRecord save = new PromoteQrcodePoolRecord();
+            save.setPromoteId(record.getPromoteId());
+            save.setCustserviceId(record.getCustserviceId());
+            //.记录表没有数据则新增空数据
+            if (hasRecord == false) {
+                promoteQrcodePoolRecordService.save(save);
+            }
+            //.更新扫码次数
+            save.setTakeQrcodePv(record.getTakeQrcodeCnt());
+            promoteQrcodePoolRecordService.update(save, new QueryWrapper<PromoteQrcodePoolRecord>()
+                    .eq("promote_id", record.getPromoteId())
+                    .eq("custservice_id", record.getCustserviceId())
+            );
+        }
+    }
+    public Boolean checkHasRecord(List<PromoteQrcodePoolRecord> promoteQrcodePoolRecordList,Integer promoteId,Integer custserviceId){
+        Boolean hasRecord = false;
+        for (PromoteQrcodePoolRecord promoteQrcodePoolRecord : promoteQrcodePoolRecordList) {
+            if (promoteQrcodePoolRecord.getPromoteId() == promoteId
+                    && promoteQrcodePoolRecord.getCustserviceId() == custserviceId) {
+                hasRecord = true;
+            }
+        }
+        return hasRecord;
+    }
+}

+ 21 - 17
src/main/resources/application-local.properties

@@ -2,20 +2,29 @@ server.port=8085
 api.host=http://127.0.0.1
 api.wechatcallback=/weWork/callback
 
-
-spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8
-spring.datasource.username=typer
-spring.datasource.password=jch9sh_shl
-spring.datasource.max-idle=10
-spring.datasource.max-wait=10000
-spring.datasource.min-idle=5
-spring.datasource.initial-size=5
-spring.datasource.strict = false
-
+spring.datasource.druid.max-idle=10
+spring.datasource.druid.max-wait=10000
+spring.datasource.druid.min-idle=5
+spring.datasource.druid.initial-size=5
+spring.datasource.druid.strict=false
+
+spring.datasource.dynamic.primary=db
+
+#后台数据库
+spring.datasource.dynamic.datasource.db.driverClassName=com.mysql.cj.jdbc.Driver
+spring.datasource.dynamic.datasource.db.url=jdbc:mysql://172.18.71.27:3306/mochat?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=UTF-8
+spring.datasource.dynamic.datasource.db.username=typer
+spring.datasource.dynamic.datasource.db.password=jch9sh_shl
+#大数据数据库
+spring.datasource.dynamic.datasource.datadb.url=jdbc:postgresql://hgmc-cn-7mz27ayc6003-cn-shanghai.hologres.aliyuncs.com:80/galaxy
+spring.datasource.dynamic.datasource.datadb.username=LTAI5tEWU1j9H2poG4zWgfEP
+spring.datasource.dynamic.datasource.datadb.password=p9tVmeDeeEENKhfsBsSeYc0F0ggH5b
+spring.datasource.dynamic.datasource.datadb.driverClassName=org.postgresql.Driver
+
+spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
+spring.jpa.properties.hibernate.hbm2ddl.auto=update
 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
 mybatis-plus.configuration.map-underscore-to-camel-case=true
-
 spring.redis.host=172.18.71.26
 spring.redis.port=6379
 spring.redis.password=Jch9shshl
@@ -25,7 +34,6 @@ spring.redis.jedis.pool.min-idle=0
 spring.redis.jedis.pool.max-idle=8
 spring.redis.jedis.pool.max-active=20
 spring.redis.jedis.pool.max-wait=-1ms
-
 #阿里云oss配置(增加一个cdn地址配置)
 aliyun.host=http://mini-short-video-oss.lushenjin.cn/
 aliyun.endpoint=https://oss-cn-hangzhou.aliyuncs.com
@@ -34,16 +42,12 @@ aliyun.accessKeySecret=irLfHOni7ffLU3yAf3LsKEXwQLfrNc
 aliyun.bucketName=mini-short-video-test
 spring.servlet.multipart.max-request-size=10MB
 spring.servlet.multipart.max-file-size=10MB
-
 xxl.sso.server=https://sso.mokamrp.com/sso
 xxl.sso.logout.path=/logout
 xxl-sso.excluded.paths=/healthy,/pangu/custservice/getRandCustservice,/pangu/promoteCode/getRandPromoteCode,/mochat/weWork/callback
 #xxl.sso.redis.address=redis://xxl-sso:Jch9shshl@r-uf633f3f27aa2174pd.redis.rds.aliyuncs.com:6379/0
 xxl.sso.redis.address=redis://xxl-sso:MokaSapce666$%25_RediS@r-uf6727zrr24ioihy72pd.redis.rds.aliyuncs.com:23563/0
-
 menu.host=http://space-server.mokamrp.com/space/menu/getMenuInterface?sysCode=1006&userId=
-
-
 datahub.endpoint=https://dh-cn-shanghai.aliyuncs.com
 datahub.accessid=LTAI5tEWU1j9H2poG4zWgfEP
 datahub.accesssecret=p9tVmeDeeEENKhfsBsSeYc0F0ggH5b