Просмотр исходного кода

Merge branch 'master' into dev-lqc

lqc 4 лет назад
Родитель
Сommit
40d52ce51b
23 измененных файлов с 835 добавлено и 8 удалено
  1. 4 0
      src/main/java/com/mokamrp/privates/constant/RedisKey.java
  2. 91 0
      src/main/java/com/mokamrp/privates/controller/OasBoxController.java
  3. 55 0
      src/main/java/com/mokamrp/privates/controller/pangu/PromoteBlackUserController.java
  4. 21 0
      src/main/java/com/mokamrp/privates/mapper/OasBoxMapper.java
  5. 28 0
      src/main/java/com/mokamrp/privates/mapper/OasBoxMapper.xml
  6. 21 0
      src/main/java/com/mokamrp/privates/mapper/pangu/PromoteBlackUserMapper.java
  7. 23 0
      src/main/java/com/mokamrp/privates/mapper/pangu/PromoteBlackUserMapper.xml
  8. 133 0
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteBlackUser.java
  9. 1 0
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteCode.java
  10. 1 0
      src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteCodeVo.java
  11. 192 0
      src/main/java/com/mokamrp/privates/mapper/pojo/OasBox.java
  12. 24 0
      src/main/java/com/mokamrp/privates/service/OasBoxService.java
  13. 81 0
      src/main/java/com/mokamrp/privates/service/impl/OasBoxServiceImpl.java
  14. 20 0
      src/main/java/com/mokamrp/privates/service/pangu/PromoteBlackUserService.java
  15. 43 0
      src/main/java/com/mokamrp/privates/service/pangu/impl/PromoteBlackUserServiceImpl.java
  16. 0 3
      src/main/java/com/mokamrp/privates/task/DatahubJobTask.java
  17. 0 1
      src/main/java/com/mokamrp/privates/task/datahub/DatahubCorpData.java
  18. 39 0
      src/main/java/com/mokamrp/privates/task/pangu/ResetPromoteBlackUserView.java
  19. 0 1
      src/main/java/com/mokamrp/privates/task/pangu/SyncFosterwxTaskEdit.java
  20. 1 1
      src/main/java/com/mokamrp/privates/task/pangu/SyncNewFosterwxTask.java
  21. 55 0
      src/main/java/com/mokamrp/privates/task/pangu/SyncPromoteBlackUserToMysql.java
  22. 1 1
      src/test/java/com/mokamrp/AutoMP.java
  23. 1 1
      src/test/java/com/mokamrp/AutoMPPangu.java

+ 4 - 0
src/main/java/com/mokamrp/privates/constant/RedisKey.java

@@ -21,8 +21,12 @@ public class RedisKey {
     public static final String PanSecondDomainList = "pan_second_domain_list:";
     //.盘古活码全部上限记录
     public static final String PanPromoteMaxRecord = "pan_promote_max_record:";
+    //.盘古活码访问用户记录
+    public static final String PanPromoteUserRecord = "pan_promote_user_record:";
     //.盘古活码上限/非上线标记
     public static final String PanPromoteMaxStamp = "pan_promote_max_stamp:";
+    //.盘古黑名单异步入库
+    public static final String PanPromoteBlackUserToMysql = "pan_promote_black_user_to_mysql";
     //.盘古活码详细信息
     public static final String PanPromoteCodeInfo = "pan_promote_code_info";
     //.检测微信环境域名状态第三方登录token

+ 91 - 0
src/main/java/com/mokamrp/privates/controller/OasBoxController.java

@@ -0,0 +1,91 @@
+package com.mokamrp.privates.controller;
+
+import com.mokamrp.privates.constant.HttpMsg;
+import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.mokamrp.privates.entity.VoltaHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.entity.ResHandle;
+import com.mokamrp.privates.help.Analysis;
+import com.mokamrp.privates.interceptor.AuthUser;
+import com.mokamrp.privates.mapper.pojo.User;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.mokamrp.privates.service.OasBoxService;
+import com.mokamrp.privates.mapper.pojo.OasBox;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.mokamrp.privates.controller.BaseController;
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.List;
+
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+
+/**
+ * <p>
+ * 私域公众号/小程序库 前端控制器
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-29
+ */
+@RestController
+@RequestMapping("/oasBox")
+public class OasBoxController extends BaseController<OasBox> {
+
+    @Autowired
+    public OasBoxService oasBoxService;
+
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
+     */
+
+    @PostMapping("/list")
+    public Object list(@Valid @RequestBody PostBasePageHandle postBasePageHandle, BindingResult bindingResult){
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+        ResHandle<List<OasBox>> res = oasBoxService.getList(postBasePageHandle);
+        return AjaxResult.success(res);
+    }
+
+    /**
+     * 导入
+     *
+     * @param file
+     * @param authUser
+     * @return
+     */
+    @PostMapping("/import")
+    public Object uploadFile(@RequestBody MultipartFile file, @AuthUser User authUser) {
+        Map<String, Object> map = new HashMap<>(16);
+        Map<Integer, String> feild = new HashMap<>(5);
+        feild.put(0, "type");
+        feild.put(1, "ghId");
+        feild.put(2, "boxName");
+        feild.put(3, "boxType");
+        feild.put(4, "fansType");
+        feild.put(5, "scope");
+        feild.put(6, "remark");
+        List<Map<String, String>> row;
+        VoltaHandle<ArrayList<Map<String, String>>> voltaRes = Analysis.analysis(file, feild);
+        if (voltaRes.getErr() != null) {
+            return AjaxResult.error(voltaRes.getErr());
+        }
+        row = voltaRes.getData();
+        Boolean res = oasBoxService.importData(row, authUser);
+        return AjaxResult.success(HttpMsg.importSuccess);
+    }
+
+
+}
+

+ 55 - 0
src/main/java/com/mokamrp/privates/controller/pangu/PromoteBlackUserController.java

@@ -0,0 +1,55 @@
+package com.mokamrp.privates.controller.pangu;
+
+import com.mokamrp.privates.constant.HttpStatus;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.mokamrp.privates.help.AjaxResult;
+import com.mokamrp.privates.entity.ResHandle;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.mokamrp.privates.service.pangu.PromoteBlackUserService;
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteBlackUser;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import com.mokamrp.privates.controller.BaseController;
+import javax.validation.Valid;
+import java.util.Map;
+import java.util.List;
+
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 盘古活码黑名单用户 前端控制器
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-28
+ */
+@RestController
+@RequestMapping("/pangu/promoteBlackUser")
+public class PromoteBlackUserController extends BaseController<PromoteBlackUser> {
+
+    @Autowired
+    public PromoteBlackUserService promoteBlackUserService;
+
+    /*
+     * @fast
+     * 默认生成的控制器所继承的父类中有index/add/edit/del四个基础方法,均为post json请求
+     * 如果需要定制化,需要将BaseController中对应的方法复制到当前控制器,然后进行修改
+     */
+
+    @PostMapping("/list")
+    public Object list(@Valid @RequestBody PostBasePageHandle postBasePageHandle, BindingResult bindingResult){
+        if (bindingResult.hasErrors()) {
+            return AjaxResult.error(HttpStatus.ERROR, bindingResult.getFieldError().getDefaultMessage());
+        }
+        ResHandle<List<PromoteBlackUser>> res = promoteBlackUserService.getList(postBasePageHandle);
+        return AjaxResult.success(res);
+    }
+
+
+}
+

+ 21 - 0
src/main/java/com/mokamrp/privates/mapper/OasBoxMapper.java

@@ -0,0 +1,21 @@
+package com.mokamrp.privates.mapper;
+
+import com.mokamrp.privates.mapper.pojo.OasBox;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.stereotype.Component;
+import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
+/**
+ * <p>
+ * 私域公众号/小程序库 Mapper 接口
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-29
+ */
+@Component
+public interface OasBoxMapper extends BaseMapper<OasBox> {
+    public List<OasBox> getList(Page<OasBox> pageObj);
+}

+ 28 - 0
src/main/java/com/mokamrp/privates/mapper/OasBoxMapper.xml

@@ -0,0 +1,28 @@
+<?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.OasBoxMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pojo.OasBox">
+        <id column="id" property="id" />
+        <result column="station_id" property="stationId" />
+        <result column="type" property="type" />
+        <result column="box_type" property="boxType" />
+        <result column="fans_type" property="fansType" />
+        <result column="gh_id" property="ghId" />
+        <result column="box_name" property="boxName" />
+        <result column="scope" property="scope" />
+        <result column="remark" property="remark" />
+        <result column="upload_uid" property="uploadUid" />
+        <result column="create_at" property="createAt" />
+        <result column="update_at" property="updateAt" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, station_id, type, box_type, fans_type, gh_id, box_name, scope, remark, upload_uid, create_at, update_at
+    </sql>
+    <select id="getList" resultType="com.mokamrp.privates.mapper.pojo.OasBox">
+        SELECT * FROM private_oas_box
+    </select>
+</mapper>

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

@@ -0,0 +1,21 @@
+package com.mokamrp.privates.mapper.pangu;
+
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteBlackUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.stereotype.Component;
+import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
+/**
+ * <p>
+ * 盘古活码黑名单用户 Mapper 接口
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-28
+ */
+@Component
+public interface PromoteBlackUserMapper extends BaseMapper<PromoteBlackUser> {
+    public List<PromoteBlackUser> getList(Page<PromoteBlackUser> pageObj);
+}

+ 23 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/PromoteBlackUserMapper.xml

@@ -0,0 +1,23 @@
+<?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.PromoteBlackUserMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.mokamrp.privates.mapper.pangu.pojo.PromoteBlackUser">
+        <id column="id" property="id" />
+        <result column="promote_id" property="promoteId" />
+        <result column="uuid" property="uuid" />
+        <result column="uin" property="uin" />
+        <result column="union_id" property="unionId" />
+        <result column="create_at" property="createAt" />
+        <result column="update_at" property="updateAt" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, promote_id, uuid, uin, union_id, create_at, update_at
+    </sql>
+    <select id="getList" resultType="com.mokamrp.privates.mapper.pangu.pojo.PromoteBlackUser">
+        SELECT * FROM pan_promote_black_user
+    </select>
+</mapper>

+ 133 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteBlackUser.java

@@ -0,0 +1,133 @@
+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 java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 盘古活码黑名单用户
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-28
+ */
+@TableName("pan_promote_black_user")
+public class PromoteBlackUser extends Model<PromoteBlackUser> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 活码ID
+     */
+    private Integer promoteId;
+
+    /**
+     * uuid
+     */
+    private String uuid;
+
+    /**
+     * uin码
+     */
+    private String uin;
+
+    /**
+     * union_id
+     */
+    private String unionId;
+
+    /**
+     * 创建时间
+     */
+    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 String getUuid() {
+        return uuid;
+    }
+
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
+    }
+
+    public String getUin() {
+        return uin;
+    }
+
+    public void setUin(String uin) {
+        this.uin = uin;
+    }
+
+    public String getUnionId() {
+        return unionId;
+    }
+
+    public void setUnionId(String unionId) {
+        this.unionId = unionId;
+    }
+
+    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 "PromoteBlackUser{" +
+        "id=" + id +
+        ", promoteId=" + promoteId +
+        ", uuid=" + uuid +
+        ", uin=" + uin +
+        ", unionId=" + unionId +
+        ", createAt=" + createAt +
+        ", updateAt=" + updateAt +
+        "}";
+    }
+}

+ 1 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteCode.java

@@ -76,6 +76,7 @@ public class PromoteCode extends Model<PromoteCode> {
     private Integer custservicePlaybillId;
 
     private Integer hourResumeType;
+    private Integer unusualMax;
 
     private LocalDateTime createAt;
 

+ 1 - 0
src/main/java/com/mokamrp/privates/mapper/pangu/pojo/PromoteCodeVo.java

@@ -106,6 +106,7 @@ public class PromoteCodeVo extends Model<PromoteCodeVo> {
     private String custserviceQrcodeY;
 
     private Integer hourResumeType;
+    private Integer unusualMax;
 
     private LocalDateTime createAt;
 

+ 192 - 0
src/main/java/com/mokamrp/privates/mapper/pojo/OasBox.java

@@ -0,0 +1,192 @@
+package com.mokamrp.privates.mapper.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 lombok.Data;
+
+import java.time.LocalDateTime;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 私域公众号/小程序库
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-29
+ */
+@Data
+@TableName("private_oas_box")
+public class OasBox extends Model<OasBox> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 类型(1.小程序2.公众号)
+     */
+    private Integer type;
+
+    /**
+     * 小程序类型(对接珊瑚云类型)
+     */
+    private Integer boxType;
+
+    /**
+     * 增粉类型(1.投放2.存量)
+     */
+    private Integer fansType;
+
+    /**
+     * gh_id
+     */
+    private String ghId;
+
+    /**
+     * 小程序/公众号名称
+     */
+    private String boxName;
+
+    /**
+     * 使用场景
+     */
+    private String scope;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 上传人
+     */
+    private Integer uploadUid;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createAt;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateAt;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Integer getBoxType() {
+        return boxType;
+    }
+
+    public void setBoxType(Integer boxType) {
+        this.boxType = boxType;
+    }
+
+    public Integer getFansType() {
+        return fansType;
+    }
+
+    public void setFansType(Integer fansType) {
+        this.fansType = fansType;
+    }
+
+    public String getGhId() {
+        return ghId;
+    }
+
+    public void setGhId(String ghId) {
+        this.ghId = ghId;
+    }
+
+    public String getBoxName() {
+        return boxName;
+    }
+
+    public void setBoxName(String boxName) {
+        this.boxName = boxName;
+    }
+
+    public String getScope() {
+        return scope;
+    }
+
+    public void setScope(String scope) {
+        this.scope = scope;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    public Integer getUploadUid() {
+        return uploadUid;
+    }
+
+    public void setUploadUid(Integer uploadUid) {
+        this.uploadUid = uploadUid;
+    }
+
+    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 "OasBox{" +
+        "id=" + id +
+        ", type=" + type +
+        ", boxType=" + boxType +
+        ", fansType=" + fansType +
+        ", ghId=" + ghId +
+        ", boxName=" + boxName +
+        ", scope=" + scope +
+        ", remark=" + remark +
+        ", uploadUid=" + uploadUid +
+        ", createAt=" + createAt +
+        ", updateAt=" + updateAt +
+        "}";
+    }
+}

+ 24 - 0
src/main/java/com/mokamrp/privates/service/OasBoxService.java

@@ -0,0 +1,24 @@
+package com.mokamrp.privates.service;
+
+import com.mokamrp.privates.mapper.pojo.OasBox;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.mokamrp.privates.entity.ResHandle;
+import com.mokamrp.privates.mapper.pojo.User;
+
+import java.util.List;
+import java.util.Map;
+/**
+ * <p>
+ * 私域公众号/小程序库 服务类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-29
+ */
+public interface OasBoxService extends IService<OasBox> {
+    //.@leon 获取数据列表
+    public ResHandle<List<OasBox>> getList(PostBasePageHandle handle);
+
+    public Boolean importData(List<Map<String,String>> row, User authUser);
+}

+ 81 - 0
src/main/java/com/mokamrp/privates/service/impl/OasBoxServiceImpl.java

@@ -0,0 +1,81 @@
+package com.mokamrp.privates.service.impl;
+
+import com.mokamrp.privates.mapper.pangu.pojo.FosterwxStationBindBox;
+import com.mokamrp.privates.mapper.pojo.OasBox;
+import com.mokamrp.privates.mapper.OasBoxMapper;
+import com.mokamrp.privates.mapper.pojo.User;
+import com.mokamrp.privates.service.OasBoxService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import com.mokamrp.privates.entity.ResHandle;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+
+/**
+ * <p>
+ * 私域公众号/小程序库 服务实现类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-29
+ */
+@Service
+public class OasBoxServiceImpl extends ServiceImpl<OasBoxMapper, OasBox> implements OasBoxService {
+
+    @Autowired
+    public OasBoxMapper oasBoxMapper;
+    /**
+     * 获取数据列表 支持分页
+     * @param handle
+     * @return
+     */
+    public ResHandle<List<OasBox>> getList(PostBasePageHandle handle) {
+        Integer pagesize = handle.getPagesize();
+        Integer page = handle.getPage();
+        Page<OasBox> pageObj = new Page<OasBox>(page, pagesize);
+        List<OasBox> list = oasBoxMapper.getList(pageObj);
+        ResHandle<List<OasBox>> res = new ResHandle<>();
+        res.setList(list);
+        res.setTotal(pageObj.getTotal());
+        return res;
+    }
+
+    /**
+     * 导入数据
+     * @param row
+     * @return
+     */
+    @Transactional
+    public Boolean importData(List<Map<String,String>> row, User authUser){
+        if(row.size() <= 0){
+            return false;
+        }
+        List<OasBox> add = new ArrayList<>();
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        for (int i = 0;i<row.size();i++) {
+            System.out.println(row.get(i));
+            Map<String, String> cell = row.get(i);
+            OasBox oasBox = new OasBox();
+            oasBox.setType(Integer.parseInt(row.get(i).get("type")));
+            oasBox.setGhId(row.get(i).get("ghId"));
+            oasBox.setBoxName(row.get(i).get("boxName"));
+            oasBox.setBoxType(Integer.parseInt(row.get(i).get("boxType")));
+            oasBox.setFansType(Integer.parseInt(row.get(i).get("fansType")));
+            oasBox.setScope(row.get(i).get("scope"));
+            oasBox.setRemark(row.get(i).get("remark"));
+            oasBox.setUploadUid(authUser.getId());
+            oasBox.setCreateAt(LocalDateTime.now());
+            oasBox.setUpdateAt(LocalDateTime.now());
+            add.add(oasBox);
+        }
+        this.saveBatch(add);
+        return true;
+    }
+}

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

@@ -0,0 +1,20 @@
+package com.mokamrp.privates.service.pangu;
+
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteBlackUser;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.mokamrp.privates.entity.ResHandle;
+import java.util.List;
+import java.util.Map;
+/**
+ * <p>
+ * 盘古活码黑名单用户 服务类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-28
+ */
+public interface PromoteBlackUserService extends IService<PromoteBlackUser> {
+    //.@leon 获取数据列表
+    public ResHandle<List<PromoteBlackUser>> getList(PostBasePageHandle handle);
+}

+ 43 - 0
src/main/java/com/mokamrp/privates/service/pangu/impl/PromoteBlackUserServiceImpl.java

@@ -0,0 +1,43 @@
+package com.mokamrp.privates.service.pangu.impl;
+
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteBlackUser;
+import com.mokamrp.privates.mapper.pangu.PromoteBlackUserMapper;
+import com.mokamrp.privates.service.pangu.PromoteBlackUserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.mokamrp.privates.entity.PostBasePageHandle;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import com.mokamrp.privates.entity.ResHandle;
+import java.util.*;
+
+/**
+ * <p>
+ * 盘古活码黑名单用户 服务实现类
+ * </p>
+ *
+ * @author leon
+ * @since 2021-09-28
+ */
+@Service
+public class PromoteBlackUserServiceImpl extends ServiceImpl<PromoteBlackUserMapper, PromoteBlackUser> implements PromoteBlackUserService {
+
+    @Autowired
+    public PromoteBlackUserMapper promoteBlackUserMapper;
+    /**
+     * 获取数据列表 支持分页
+     * @param handle
+     * @return
+     */
+    public ResHandle<List<PromoteBlackUser>> getList(PostBasePageHandle handle) {
+        Integer pagesize = handle.getPagesize();
+        Integer page = handle.getPage();
+        Page<PromoteBlackUser> pageObj = new Page<PromoteBlackUser>(page, pagesize);
+        List<PromoteBlackUser> list = promoteBlackUserMapper.getList(pageObj);
+        ResHandle<List<PromoteBlackUser>> res = new ResHandle<>();
+        res.setList(list);
+        res.setTotal(pageObj.getTotal());
+        return res;
+    }
+}

+ 0 - 3
src/main/java/com/mokamrp/privates/task/DatahubJobTask.java

@@ -53,8 +53,6 @@ public class DatahubJobTask {
 
         while (redisUtil.lGetListSize(JobContactEmployee.QUEUE_KEY) >=1) {
             JobContactEmployee out = (JobContactEmployee) redisUtil.rightPop(JobContactEmployee.QUEUE_KEY);
-            System.out.println("当前公司id");
-            System.out.println(out.getCorpId());
             job(project,topic,3,out.getCorpId());
 
             break;
@@ -130,7 +128,6 @@ public class DatahubJobTask {
         try {
             PutRecordsResult result = datahubClient.putRecords(project, topic, recordEntries);
             int i = result.getFailedRecordCount();
-            System.out.println("失败了"+i+"次");
             if (i > 0) {
                 retry(datahubClient, result.getFailedRecords(), retryTimes, project, topic);
             }

+ 0 - 1
src/main/java/com/mokamrp/privates/task/datahub/DatahubCorpData.java

@@ -118,7 +118,6 @@ public class DatahubCorpData {
         try {
             PutRecordsResult result = datahubClient.putRecords(project, topic, recordEntries);
             int i = result.getFailedRecordCount();
-            System.out.println("失败了"+i+"次");
             if (i > 0) {
                 retry(datahubClient, result.getFailedRecords(), retryTimes, project, topic);
             }

+ 39 - 0
src/main/java/com/mokamrp/privates/task/pangu/ResetPromoteBlackUserView.java

@@ -0,0 +1,39 @@
+package com.mokamrp.privates.task.pangu;
+
+import com.alibaba.fastjson.JSON;
+import com.mokamrp.privates.constant.RedisKey;
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteBlackUser;
+import com.mokamrp.privates.mapper.pangu.pojo.PromoteCode;
+import com.mokamrp.privates.service.pangu.PromoteBlackUserService;
+import com.mokamrp.privates.service.pangu.PromoteCodeService;
+import net.javacrumbs.shedlock.core.SchedulerLock;
+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 java.time.LocalDateTime;
+import java.util.List;
+
+@Component
+public class ResetPromoteBlackUserView {
+
+    @Autowired
+    public StringRedisTemplate stringRedisTemplate;
+
+    @Autowired
+    public PromoteCodeService promoteCodeService;
+
+    @Autowired
+    public PromoteBlackUserService promoteBlackUserService;
+
+    @Scheduled(cron = "0 0 0 * * ?")
+    @SchedulerLock(name = "pangu:ResetPromoteBlackUserView", lockAtLeastForString = "PT5S", lockAtMostForString = "PT15M")
+    public void execute() {
+        System.out.println("[cronjob]:每天0点清空活码用户的访问记录");
+        List<PromoteCode> list = promoteCodeService.list();
+        for (PromoteCode promoteCode : list) {
+            stringRedisTemplate.delete(RedisKey.PanPromoteUserRecord+promoteCode.getId());
+        }
+    }
+}

+ 0 - 1
src/main/java/com/mokamrp/privates/task/pangu/SyncFosterwxTaskEdit.java

@@ -73,7 +73,6 @@ public class SyncFosterwxTaskEdit {
                         .eq("task_id", fosterwxTaskSchedule.getTaskId())
                         .eq("send_date", nowDate)
                 );
-                syncNewFosterwxTask.execute();
             } catch (InterruptedException ie) {
                 Thread.currentThread().interrupt();
             }

+ 1 - 1
src/main/java/com/mokamrp/privates/task/pangu/SyncNewFosterwxTask.java

@@ -39,7 +39,7 @@ public class SyncNewFosterwxTask {
     @Autowired
     public StringRedisTemplate stringRedisTemplate;
 
-    @Scheduled(cron = "0 */1 * * * ?")
+    @Scheduled(cron = "*/1 * * * * ?")
     @SchedulerLock(name = "pangu:SyncNewFosterwxTask", lockAtLeastForString = "PT5S", lockAtMostForString = "PT15M")
     public void execute() {
         System.out.println("[cronjob]:同步微信养号任务到REDIS");

+ 55 - 0
src/main/java/com/mokamrp/privates/task/pangu/SyncPromoteBlackUserToMysql.java

@@ -0,0 +1,55 @@
+package com.mokamrp.privates.task.pangu;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mokamrp.privates.constant.RedisKey;
+import com.mokamrp.privates.mapper.pangu.pojo.*;
+import com.mokamrp.privates.service.pangu.DomainFirstService;
+import com.mokamrp.privates.service.pangu.DomainSecondService;
+import com.mokamrp.privates.service.pangu.PromoteBlackUserService;
+import com.mokamrp.privates.utils.Cmd;
+import com.mokamrp.privates.utils.http.HttpUtils;
+import net.javacrumbs.shedlock.core.SchedulerLock;
+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 java.time.LocalDateTime;
+import java.util.List;
+
+@Component
+public class SyncPromoteBlackUserToMysql {
+
+    @Autowired
+    public StringRedisTemplate stringRedisTemplate;
+
+    @Autowired
+    public PromoteBlackUserService promoteBlackUserService;
+
+    @Scheduled(cron = "0 */1 * * * ?")
+    @SchedulerLock(name = "pangu:SyncPromoteBlackUserToMysql", lockAtLeastForString = "PT5S", lockAtMostForString = "PT15M")
+    public void execute() {
+        Integer cnt = 1;
+        while (true) {
+            cnt++;
+            if (cnt > 20) {
+                break;
+            }
+            try {
+                Thread.sleep(100);
+                String info = stringRedisTemplate.opsForList().rightPop(RedisKey.PanPromoteBlackUserToMysql);
+                if (info == null || info.isEmpty()) {
+                    continue;
+                }
+                PromoteBlackUser promoteBlackUser = JSON.parseObject(info, PromoteBlackUser.class);
+                promoteBlackUser.setUpdateAt(LocalDateTime.now());
+                promoteBlackUser.setCreateAt(LocalDateTime.now());
+                promoteBlackUserService.save(promoteBlackUser);
+            } catch (InterruptedException ie) {
+                Thread.currentThread().interrupt();
+            }
+        }
+    }
+}

+ 1 - 1
src/test/java/com/mokamrp/AutoMP.java

@@ -47,7 +47,7 @@ public class AutoMP {
 				.setColumnNaming(NamingStrategy.underline_to_camel)
 				.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
 				.setTablePrefix("private_") //表名前缀
-				.setInclude("pan_fosterwx_mobile_task_time_list");  // 生成的表
+				.setInclude("private_oas_box");  // 生成的表
 		
 		//4. 包名策略配置 
 		PackageConfig pkConfig = new PackageConfig();

+ 1 - 1
src/test/java/com/mokamrp/AutoMPPangu.java

@@ -48,7 +48,7 @@ public class AutoMPPangu {
 				.setColumnNaming(NamingStrategy.underline_to_camel)
 				.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
 				.setTablePrefix("pan_") //表名前缀
-				.setInclude("pan_promote_max_record");  //生成的表
+				.setInclude("pan_promote_black_user");  //生成的表
 
 		//4. 包名策略配置
 		PackageConfig pkConfig = new PackageConfig();