瀏覽代碼

物料池操作记录留存

zhaoxian 3 年之前
父節點
當前提交
75619653ca
共有 16 個文件被更改,包括 298 次插入39 次删除
  1. 5 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CallbackController.java
  2. 2 1
      module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouAutoSynchronousProjectMaterialJob.java
  3. 14 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouAppPackageController.java
  4. 39 16
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouDirectionalPackageController.java
  5. 24 11
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouPopulationPackageController.java
  6. 77 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/KuaishouMaterialPoolOperationRecord.java
  7. 17 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouMaterialPoolOperationRecordMapper.java
  8. 5 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouMaterialPoolOperationRecordMapper.xml
  9. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouAppPackageService.java
  10. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouDirectionalPackageService.java
  11. 18 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouMaterialPoolOperationRecordService.java
  12. 1 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouPopulationPackageService.java
  13. 10 3
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouAppPackageServiceImpl.java
  14. 10 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouDirectionalPackageServiceImpl.java
  15. 68 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouMaterialPoolOperationRecordServiceImpl.java
  16. 6 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouPopulationPackageServiceImpl.java

+ 5 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CallbackController.java

@@ -260,10 +260,14 @@ public class CallbackController {
             accountIds.add(accountId);
             //1 有效项目模板
             List<Long> ids = kuaishouAppPackageService.queryByAppVersion(projectId, null, 1);
+            JSONObject data = new JSONObject();
+            data.put("accountIds",accountIds);
+            data.put("message","授权同步应用");
             log.info("同步账户应用,应用模板={}", ids);
             if (!Check.isNull(ids)) {
                 for (Long id : ids) {
-                    kuaishouAppPackageService.pushAppPackage(id, accountIds);
+                    data.put("id",id);
+                    kuaishouAppPackageService.pushAppPackage(id, accountIds,data);
                 }
             }
         }

+ 2 - 1
module-job-kuaishou/src/main/java/cn/com/ctop/job/kuaishou/handler/KuaishouAutoSynchronousProjectMaterialJob.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouAppPackageService;
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.xxl.job.core.context.XxlJobHelper;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import lombok.extern.slf4j.Slf4j;
@@ -43,7 +44,7 @@ public class KuaishouAutoSynchronousProjectMaterialJob {
             log.info("同步账户应用,应用模板={}", ids);
             if (!Check.isNull(ids)) {
                 for (Long id : ids) {
-                    kuaishouAppPackageService.pushAppPackage(id, accountIds);
+                    kuaishouAppPackageService.pushAppPackage(id, accountIds,null);
                 }
             }
         }

+ 14 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouAppPackageController.java

@@ -10,6 +10,7 @@ import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouAppPackage;
 import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouAppPackageRel;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouAppPackageRelService;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouAppPackageService;
+import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouMaterialPoolOperationRecordService;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
@@ -55,6 +56,8 @@ public class KuaishouAppPackageController {
     private IKuaishouAppPackageRelService kuaishouAppPackageRelService;
     @Autowired
     private IProjectService projectService;
+    @Autowired
+    private IKuaishouMaterialPoolOperationRecordService kuaishouMaterialPoolOperationRecordService;
 
     /**
      * 分页列表查询
@@ -239,7 +242,8 @@ public class KuaishouAppPackageController {
             if (Check.isNull(accountIds)) {
                 return Result.error("请选择推送账户");
             }
-            return kuaishouAppPackageService.pushAppPackage(id, accountIds);
+            Result<Object> result = kuaishouAppPackageService.pushAppPackage(id, accountIds, requestJson);
+            return result;
         } catch (Exception e) {
             log.error("推送应用异常", e);
         }
@@ -359,7 +363,12 @@ public class KuaishouAppPackageController {
             }
             kuaishouAppPackage.setImageMd5(LoadFileUtil.getMD5(newFileUrl));
             kuaishouAppPackage.setDataStatus(1);//有效
+            String type = "update";
+            if (Check.isNull(kuaishouAppPackage.getId())) {
+                type = "add";
+            }
             kuaishouAppPackageService.saveOrUpdate(kuaishouAppPackage);
+            kuaishouMaterialPoolOperationRecordService.addRecord(JSONObject.parseObject(JSONObject.toJSONString(kuaishouAppPackage)).toJavaObject(JSONObject.class), "/fillInLink", 3, type);
             return Result.ok("操作成功!");
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -411,6 +420,10 @@ public class KuaishouAppPackageController {
             kuaishouAppPackage.setDataStatus(0);
             boolean ok = kuaishouAppPackageService.updateById(kuaishouAppPackage);
             if (ok) {
+                JSONObject data = new JSONObject();
+                data.put("id", kuaishouAppPackage.getId());
+                data.put("projectId", kuaishouAppPackageEntity.getProjectId());
+                kuaishouMaterialPoolOperationRecordService.addRecord(data, "/kuaishouAppPackage/delete", 3, "delete");
                 result.success("刪除成功!");
             }
         }

+ 39 - 16
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouDirectionalPackageController.java

@@ -6,6 +6,7 @@ import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.QueryGenerator;
 import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouDirectionalPackage;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouDirectionalPackageService;
+import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouMaterialPoolOperationRecordService;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -14,6 +15,7 @@ import com.github.pagehelper.PageHelper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.C;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
@@ -60,6 +62,9 @@ public class KuaishouDirectionalPackageController {
     private IKuaishouDirectionalPackageService kuaishouDirectionalPackageService;
 
     @Autowired
+    private IKuaishouMaterialPoolOperationRecordService kuaishouMaterialPoolOperationRecordService;
+
+    @Autowired
     private ICtopOauthTokenService oauthTokenService;
 
     /**
@@ -84,36 +89,33 @@ public class KuaishouDirectionalPackageController {
     }
 
     @GetMapping(value = "/getProjectTarget")
-    public Result<Object> getProjectTarget(Long projectId,String templateName,
+    public Result<Object> getProjectTarget(Long projectId, String templateName,
                                            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
         try {
-            if(Check.isNull(projectId)){
-                return  Result.error("缺少参数");
+            if (Check.isNull(projectId)) {
+                return Result.error("缺少参数");
             }
-            return kuaishouDirectionalPackageService.getProjectTarget(projectId,templateName, pageNo, pageSize);
+            return kuaishouDirectionalPackageService.getProjectTarget(projectId, templateName, pageNo, pageSize);
         } catch (Exception e) {
             log.error("查询异常,", e);
             return Result.error("查询失败," + e.getMessage());
         }
     }
+
     @PostMapping(value = "/getProjectTargetByIds")
     public Result<Object> getProjectTargetByIds(@RequestBody JSONObject data) {
         try {
             JSONArray ids = data.getJSONArray("ids");
-            if(Check.isNull(ids)){
-                return  Result.error("缺少参数");
+            if (Check.isNull(ids)) {
+                return Result.error("缺少参数");
             }
             List<String> list = JSONObject.parseObject(JSONObject.toJSONString(ids), List.class);
-            if(Check.isNull(list)){
+            if (Check.isNull(list)) {
                 return Result.error("缺少参数");
             }
 
 
-
-
-
-
             List<KuaishouDirectionalPackage> targets = kuaishouDirectionalPackageService.getProjectTargetByIds(list);
             return Result.ok(targets);
         } catch (Exception e) {
@@ -171,7 +173,11 @@ public class KuaishouDirectionalPackageController {
             if (Check.isNull(requestJson.getString("templateName"))) {
                 return Result.error("未获取到定向包名称");
             }
-            return kuaishouDirectionalPackageService.editPopulation(requestJson);
+            Result<Object> result = kuaishouDirectionalPackageService.editPopulation(requestJson);
+            if (result.getCode() == 200) {
+                kuaishouMaterialPoolOperationRecordService.addRecord(requestJson, "/editPopulation", 1, "update");
+            }
+            return result;
         } catch (Exception e) {
             log.error("查询异常,", e.getMessage());
             e.printStackTrace();
@@ -215,7 +221,6 @@ public class KuaishouDirectionalPackageController {
      */
     @PostMapping(value = "/createDirectionalPackage")
     public Result<Object> createDirectionalPackage(@RequestBody JSONObject requestJson) {
-        Result<JSONObject> result = new Result<>();
         try {
             if (Check.isNull(requestJson.getString("templateName"))) {
                 return Result.error("定向模板名称为必传项");
@@ -224,7 +229,11 @@ public class KuaishouDirectionalPackageController {
             if (Check.isNull(accountId)) {
                 return Result.error("请选择账户id");
             }
-            return kuaishouDirectionalPackageService.createDirectionalPackage(requestJson);
+            Result<Object> result = kuaishouDirectionalPackageService.createDirectionalPackage(requestJson);
+            if (result.getCode() == 200) {
+                kuaishouMaterialPoolOperationRecordService.addRecord(requestJson, "/createDirectionalPackage", 1, "add");
+            }
+            return result;
         } catch (Exception e) {
             log.error("创建定向包失败", e);
             return Result.error("创建失败" + e.getMessage());
@@ -247,7 +256,11 @@ public class KuaishouDirectionalPackageController {
             if (Check.isNull(requestJson.getString("projectId"))) {
                 return Result.error("请选择项目");
             }
-            return kuaishouDirectionalPackageService.updateDirectionalPackage(requestJson);
+            Result<Object> result1 = kuaishouDirectionalPackageService.updateDirectionalPackage(requestJson);
+            if (result1.getCode() == 200) {
+                kuaishouMaterialPoolOperationRecordService.addRecord(requestJson, "/updateDirectionalPackage", 1, "update");
+            }
+            return result1;
         } catch (Exception e) {
             result.setSuccess(false);
             result.setMessage(e.getMessage());
@@ -272,7 +285,8 @@ public class KuaishouDirectionalPackageController {
             if (Check.isNull(datas)) {
                 return Result.error("请选择推送账户");
             }
-            return kuaishouDirectionalPackageService.pushDirectionalPackage(id, datas);
+            Result<Object> result = kuaishouDirectionalPackageService.pushDirectionalPackage(id, datas, requestJson);
+            return result;
         } catch (Exception e) {
             log.error("推送定向包异常", e);
         }
@@ -320,8 +334,17 @@ public class KuaishouDirectionalPackageController {
     @GetMapping(value = "/delete")
     public Result<Object> delete(String id) {
         try {
+
+            KuaishouDirectionalPackage directionalPackage = kuaishouDirectionalPackageService.getById(id);
+            if (Check.isNull(directionalPackage)) {
+                return Result.error("未查到实体");
+            }
             boolean b = kuaishouDirectionalPackageService.removeById(id);
             if (b) {
+                JSONObject data = new JSONObject();
+                data.put("id", id);
+                data.put("projectId", directionalPackage.getProjectId());
+                kuaishouMaterialPoolOperationRecordService.addRecord(data, "/kuaishouDirectionalPackage/delete", 1, "delete");
                 return Result.ok("删除成功");
             }
         } catch (Exception e) {

+ 24 - 11
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouPopulationPackageController.java

@@ -3,13 +3,13 @@ package cn.com.ctop.kuaishou.modules.ai.controller;
 import cn.com.ctop.common.module.utils.Check;
 import cn.com.ctop.common.module.utils.QueryGenerator;
 import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouPopulationPackage;
+import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouMaterialPoolOperationRecordService;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouPopulationPackageService;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -56,6 +56,8 @@ import java.util.Map;
 public class KuaishouPopulationPackageController {
     @Autowired
     private IKuaishouPopulationPackageService kuaishouPopulationPackageService;
+    @Autowired
+    private IKuaishouMaterialPoolOperationRecordService kuaishouMaterialPoolOperationRecordService;
 
     /**
      * 分页列表查询
@@ -161,18 +163,19 @@ public class KuaishouPopulationPackageController {
      * @author ZHAOXA
      */
     @GetMapping(value = "/getRelatedGroups")
-    public Result<Object> getRelatedGroups(Long id,Long accountId, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+    public Result<Object> getRelatedGroups(Long id, Long accountId, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
         try {
             if (Check.isNull(id)) {
                 return Result.error("缺少参数");
             }
             PageHelper.startPage(pageNo, pageSize);
-            return kuaishouPopulationPackageService.getRelatedGroups(id,accountId);
+            return kuaishouPopulationPackageService.getRelatedGroups(id, accountId);
         } catch (Exception e) {
             log.error("查询异常", e);
         }
         return Result.error("查询失败");
     }
+
     /**
      * 查询项目下有效账户
      *
@@ -216,13 +219,14 @@ public class KuaishouPopulationPackageController {
     @RequestMapping(value = "/checkPopulationPackage")
     public Result<Object> checkPopulationPackage(String signature) {
         try {
-           return kuaishouPopulationPackageService.checkPopulationPackage(signature);
+            return kuaishouPopulationPackageService.checkPopulationPackage(signature);
         } catch (Exception e) {
             log.error("查询异常,", e.getMessage());
             e.printStackTrace();
         }
         return Result.error("查询失败");
     }
+
     /**
      * 添加
      *
@@ -232,7 +236,6 @@ public class KuaishouPopulationPackageController {
     @ApiOperation(value = "项目绑定的人群包模板-添加", notes = "项目绑定的人群包模板-添加")
     @PostMapping(value = "/add")
     public Result<Object> add(@RequestBody KuaishouPopulationPackage kuaishouPopulationPackage) {
-        Result<KuaishouPopulationPackage> result = new Result<>();
         try {
             if (Check.isNull(kuaishouPopulationPackage.getType())) {
                 return Result.error("请选择匹配类型");
@@ -246,12 +249,15 @@ public class KuaishouPopulationPackageController {
             if (Check.isNull(kuaishouPopulationPackage.getProjectId())) {
                 return Result.error("请选择项目");
             }
-            return kuaishouPopulationPackageService.createEntity(kuaishouPopulationPackage);
+            Result<Object> result = kuaishouPopulationPackageService.createEntity(kuaishouPopulationPackage);
+            if (result.getCode() == 200) {
+                kuaishouMaterialPoolOperationRecordService.addRecord(JSONObject.parseObject(JSONObject.toJSONString(kuaishouPopulationPackage)).toJavaObject(JSONObject.class), "/kuaishouPopulationPackage/add", 2, "add");
+            }
+            return result;
         } catch (Exception e) {
             log.error(e.getMessage(), e);
-            result.error500("上传异常");
+            return Result.error("上传异常");
         }
-        return Result.error("上传失败");
     }
 
     /**
@@ -269,7 +275,8 @@ public class KuaishouPopulationPackageController {
             if (Check.isNull(accountIds) || Check.isNull(id)) {
                 return Result.error("缺少参数");
             }
-            return kuaishouPopulationPackageService.push(accountIds, id);
+            Result<Object> result = kuaishouPopulationPackageService.push(accountIds, id, request);
+            return result;
         } catch (Exception e) {
             log.error("查询异常,", e.getMessage());
             e.printStackTrace();
@@ -290,11 +297,17 @@ public class KuaishouPopulationPackageController {
             if (Check.isNull(id)) {
                 return Result.error("参数为空");
             }
-            KuaishouPopulationPackage populationPackage = new KuaishouPopulationPackage();
-            populationPackage.setId(id);
+            KuaishouPopulationPackage populationPackage = kuaishouPopulationPackageService.getById(id);
+            if (Check.isNull(populationPackage)) {
+                return Result.error("未查到实体");
+            }
             populationPackage.setDataStatus(0);//逻辑删除
             boolean b = kuaishouPopulationPackageService.updateById(populationPackage);
             if (b) {
+                JSONObject data = new JSONObject();
+                data.put("id", id);
+                data.put("projectId", populationPackage.getProjectId());
+                kuaishouMaterialPoolOperationRecordService.addRecord(data, "/kuaishouPopulationPackage/delete", 2, "delete");
                 return Result.ok("删除成功!");
             }
         } catch (Exception e) {

+ 77 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/KuaishouMaterialPoolOperationRecord.java

@@ -0,0 +1,77 @@
+package cn.com.ctop.kuaishou.modules.ai.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.util.Date;
+
+/**
+ * 物料池操作记录表
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2021-07-19
+ */
+@Data
+@TableName("ctop_kuaishou_material_pool_operation_record")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "ctop_kuaishou_material_pool_operation_record对象", description = "物料池操作记录表")
+public class KuaishouMaterialPoolOperationRecord {
+
+    /**
+     * id
+     */
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+    private Long id;
+    /**
+     * 项目ID
+     */
+    @Excel(name = "项目ID", width = 15)
+    @ApiModelProperty(value = "项目ID")
+    private Long projectId;
+    /**
+     * 操作人
+     */
+    @Excel(name = "操作人", width = 15)
+    @ApiModelProperty(value = "操作人")
+    private String userId;
+    /**
+     * 物料类型,1-定向,2-人群,3-应用
+     */
+    @Excel(name = "物料类型,1-定向,2-人群,3-应用", width = 15)
+    @ApiModelProperty(value = "物料类型,1-定向,2-人群,3-应用")
+    private Integer materialType;
+    /**
+     * 操作类型,add,update,delete
+     */
+    @Excel(name = "操作类型,add,update,delete", width = 15)
+    @ApiModelProperty(value = "操作类型,add,update,delete")
+    private String type;
+    /**
+     * 操作数据JSON
+     */
+    @Excel(name = "操作数据JSON", width = 15)
+    @ApiModelProperty(value = "操作数据JSON")
+    private String data;
+    //方法名
+    private String method_name;
+    /**
+     * 创建时间
+     */
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+    /**
+     * updateTime
+     */
+    @ApiModelProperty(value = "updateTime")
+    private Date updateTime;
+}

+ 17 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouMaterialPoolOperationRecordMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.kuaishou.modules.ai.mapper;
+
+import java.util.List;
+
+import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouMaterialPoolOperationRecord;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 物料池操作记录表
+ * @author jeecg-boot
+ * 2021-07-19
+ * @version V1.0
+ */
+public interface KuaishouMaterialPoolOperationRecordMapper extends BaseMapper<KuaishouMaterialPoolOperationRecord> {
+
+}

+ 5 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouMaterialPoolOperationRecordMapper.xml

@@ -0,0 +1,5 @@
+<?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="cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouMaterialPoolOperationRecordMapper">
+
+</mapper>

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouAppPackageService.java

@@ -19,7 +19,7 @@ public interface IKuaishouAppPackageService extends IService<KuaishouAppPackage>
 
     Result<Object> importExcel(MultipartFile file, Long projectId, Integer platform, String imageUrl) throws Exception;
 
-    Result<Object> pushAppPackage(Long id, JSONArray accountIds);
+    Result<Object> pushAppPackage(Long id, JSONArray accountIds,JSONObject requestJson);
 
     Result<Object> queryPushResults(String id, JSONArray accountIds, String status);
 

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouDirectionalPackageService.java

@@ -24,7 +24,7 @@ public interface IKuaishouDirectionalPackageService extends IService<KuaishouDir
 
     Result<Object> getRelatedAccountGroup(String id, Integer type,Long accountId, Integer pageNo, Integer pageSize);
 
-    Result<Object> pushDirectionalPackage(String id, JSONArray datas);
+    Result<Object> pushDirectionalPackage(String id, JSONArray datas,JSONObject requestJson);
 
     void createDirectionalPackage2(JSONObject data, JSONObject request);
 

+ 18 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouMaterialPoolOperationRecordService.java

@@ -0,0 +1,18 @@
+package cn.com.ctop.kuaishou.modules.ai.service;
+
+import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouMaterialPoolOperationRecord;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 物料池操作记录表
+ *
+ * @author jeecg-boot
+ * 2021-07-19
+ * @version V1.0
+ */
+public interface IKuaishouMaterialPoolOperationRecordService extends IService<KuaishouMaterialPoolOperationRecord> {
+
+    void addRecord(JSONObject data, String methodName, Integer materialType, String type);
+
+}

+ 1 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouPopulationPackageService.java

@@ -17,7 +17,7 @@ public interface IKuaishouPopulationPackageService extends IService<KuaishouPopu
 
     Result<Object> createEntity(KuaishouPopulationPackage kuaishouPopulationPackage);
 
-    Result<Object> push(JSONArray accountIds, Long id);
+    Result<Object> push(JSONArray accountIds, Long id,JSONObject request);
 
     Result<Object> queryPageList(KuaishouPopulationPackage kuaishouPopulationPackage, Integer pageNo, Integer pageSize);
 

+ 10 - 3
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouAppPackageServiceImpl.java

@@ -13,6 +13,7 @@ import cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouAppGroupMapper;
 import cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouAppPackageMapper;
 import cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouAppPackageRelMapper;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouAppPackageService;
+import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouMaterialPoolOperationRecordService;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouImageGet;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouImageGetService;
 import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouMaterialUploadService;
@@ -66,7 +67,8 @@ public class KuaishouAppPackageServiceImpl extends ServiceImpl<KuaishouAppPackag
     private ISysRoleExtService sysRoleService;
     @Autowired
     private KuaishouAppPackageRelMapper relMapper;
-
+    @Autowired
+    private IKuaishouMaterialPoolOperationRecordService kuaishouMaterialPoolOperationRecordService;
     @Autowired
     private KuaishouAppGroupMapper appGroupMapper;
 
@@ -168,6 +170,7 @@ public class KuaishouAppPackageServiceImpl extends ServiceImpl<KuaishouAppPackag
             return Result.error("数据异常,重复的应用标记:" + errVersion.substring(0, errVersion.length() - 1));
         }
         appPackageMapper.replaceBatch(appList);
+        kuaishouMaterialPoolOperationRecordService.addRecord(JSONObject.parseObject(JSONObject.toJSONString(appList)).toJavaObject(JSONObject.class), "/importAppExcel", 3, "add");
         return Result.ok("文件导入成功");
     }
 
@@ -188,7 +191,7 @@ public class KuaishouAppPackageServiceImpl extends ServiceImpl<KuaishouAppPackag
 
     @Override
     public Result<Object> getAppsDetail(List<Long> ids) {
-        List<JSONObject> list =  relMapper.getAppsDetail(ids);
+        List<JSONObject> list = relMapper.getAppsDetail(ids);
         return Result.ok(list);
     }
 
@@ -239,7 +242,7 @@ public class KuaishouAppPackageServiceImpl extends ServiceImpl<KuaishouAppPackag
     }
 
     @Override
-    public Result<Object> pushAppPackage(Long id, JSONArray accountIds) {
+    public Result<Object> pushAppPackage(Long id, JSONArray accountIds, JSONObject object) {
         KuaishouAppPackage appPackage = appPackageMapper.selectById(id);
         if (Check.isNull(appPackage)) {
             return Result.error("未获取到应用信息");
@@ -309,6 +312,10 @@ public class KuaishouAppPackageServiceImpl extends ServiceImpl<KuaishouAppPackag
         if (!list.isEmpty()) {
             relMapper.replaceBatch(list);
         }
+        if (!Check.isNull(object)) {
+            object.put("projectId", appPackage.getProjectId());
+            kuaishouMaterialPoolOperationRecordService.addRecord(object, "/pushAppPackage", 3, "push");
+        }
         return Result.ok("推送完成");
     }
 

+ 10 - 2
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouDirectionalPackageServiceImpl.java

@@ -13,6 +13,7 @@ import cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouDirectionalPackageMapper;
 import cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouDirectionalPckageRelMapper;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouDirectionalPackageService;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouDirectionalPckageRelService;
+import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouMaterialPoolOperationRecordService;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouGroup;
 import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouTemplateTarget;
 import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouGroupMapper;
@@ -74,6 +75,8 @@ public class KuaishouDirectionalPackageServiceImpl extends ServiceImpl<KuaishouD
     @Autowired
     private IKuaiShouGroupTemplateService groupTemplateService;
     static ExecutorService executorService = null;
+    @Autowired
+    private IKuaishouMaterialPoolOperationRecordService kuaishouMaterialPoolOperationRecordService;
 
     @Override
     public Result<Object> createDirectionalPackage(JSONObject requestJson) {
@@ -374,8 +377,12 @@ public class KuaishouDirectionalPackageServiceImpl extends ServiceImpl<KuaishouD
     }
 
     @Override
-    public Result<Object> pushDirectionalPackage(String id, JSONArray datas) {
+    public Result<Object> pushDirectionalPackage(String id, JSONArray datas, JSONObject requestJson) {
         KuaishouDirectionalPackage directionalPackage = packageMapper.selectById(id);
+        if (Check.isNull(directionalPackage)) {
+            return Result.error("未获取到定向信息");
+        }
+        requestJson.put("projectId", directionalPackage.getProjectId());
         JSONObject data = JSONObject.parseObject(JSONObject.toJSONString(directionalPackage)).toJavaObject(JSONObject.class);
         if (Check.isNull(data)) {
             return Result.error("未找到定向包");
@@ -384,6 +391,7 @@ public class KuaishouDirectionalPackageServiceImpl extends ServiceImpl<KuaishouD
             JSONObject request = datas.getJSONObject(i);
             createDirectionalPackage2(data, request);
         }
+        kuaishouMaterialPoolOperationRecordService.addRecord(requestJson, "/pushDirectionalPackage", 1, "push");
         return Result.ok("推送完成");
     }
 
@@ -679,7 +687,7 @@ public class KuaishouDirectionalPackageServiceImpl extends ServiceImpl<KuaishouD
     @Override
     public Result<Object> getProjectTarget(Long projectId, String templateName, Integer pageNo, Integer pageSize) {
         PageHelper.startPage(pageNo, pageSize);
-        List<KuaishouDirectionalPackage> list = packageMapper.queryListByProjectId(projectId,templateName);
+        List<KuaishouDirectionalPackage> list = packageMapper.queryListByProjectId(projectId, templateName);
         return Result.ok(new PageInfo(list));
     }
 

+ 68 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouMaterialPoolOperationRecordServiceImpl.java

@@ -0,0 +1,68 @@
+package cn.com.ctop.kuaishou.modules.ai.service.impl;
+
+import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouMaterialPoolOperationRecord;
+import cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouMaterialPoolOperationRecordMapper;
+import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouMaterialPoolOperationRecordService;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * 物料池操作记录表
+ *
+ * @author jeecg-boot
+ * 2021-07-19
+ * @version V1.0
+ */
+@Slf4j
+@Service
+public class KuaishouMaterialPoolOperationRecordServiceImpl extends ServiceImpl<KuaishouMaterialPoolOperationRecordMapper, KuaishouMaterialPoolOperationRecord> implements IKuaishouMaterialPoolOperationRecordService {
+
+    @Autowired
+    private KuaishouMaterialPoolOperationRecordMapper operationRecordMapper;
+
+    static ExecutorService executorService = Executors.newFixedThreadPool(3);
+
+    @Override
+    public void addRecord(JSONObject data, String methodName, Integer materialType, String type) {
+        Thread thread = new Thread() {
+            @Override
+            public void run() {
+                executorService.submit(new Runnable() {
+                    @Override
+                    public void run() {
+                        try {
+                            insertInfo(data, methodName, materialType, type);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+                log.info("添加物料池操作记录完成");
+            }
+        };
+        thread.start();
+    }
+
+    private void insertInfo(JSONObject data, String methodName, Integer materialType, String type) {
+        KuaishouMaterialPoolOperationRecord record = new KuaishouMaterialPoolOperationRecord();
+        record.setData(JSONObject.toJSONString(data));
+        record.setMethod_name(methodName);
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (!Check.isNull(user)) {
+            record.setUserId(user.getId());
+        }
+        record.setProjectId(data.getLong("projectId"));
+        record.setMaterialType(materialType);
+        record.setType(type);
+        operationRecordMapper.insert(record);
+    }
+}

+ 6 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouPopulationPackageServiceImpl.java

@@ -10,6 +10,7 @@ import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouPopulationPackage;
 import cn.com.ctop.kuaishou.modules.ai.entity.KuaishouPopulationPackageRel;
 import cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouPopulationPackageMapper;
 import cn.com.ctop.kuaishou.modules.ai.mapper.KuaishouPopulationPackageRelMapper;
+import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouMaterialPoolOperationRecordService;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouPopulationGroupService;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouPopulationPackageRelService;
 import cn.com.ctop.kuaishou.modules.ai.service.IKuaishouPopulationPackageService;
@@ -61,6 +62,8 @@ public class KuaishouPopulationPackageServiceImpl extends ServiceImpl<KuaishouPo
     private IKuaishouPopulationGroupService populationGroupService;
     @Autowired
     private ISysRoleExtService sysRoleService;
+    @Autowired
+    private IKuaishouMaterialPoolOperationRecordService kuaishouMaterialPoolOperationRecordService;
 
     @Value("${zip.local.download-path}")
     private String downloadPath;
@@ -119,7 +122,7 @@ public class KuaishouPopulationPackageServiceImpl extends ServiceImpl<KuaishouPo
     }
 
     @Override
-    public Result<Object> push(JSONArray accountIds, Long id) {
+    public Result<Object> push(JSONArray accountIds, Long id, JSONObject request) {
         KuaishouPopulationPackage pPackage = kuaishouPopulationPackageMapper.selectById(id);
         if (Check.isNull(pPackage)) {
             return Result.error("没有获取到人群包");
@@ -128,6 +131,7 @@ public class KuaishouPopulationPackageServiceImpl extends ServiceImpl<KuaishouPo
         if (Check.isNull(newFileUrl)) {
             return Result.error("本地下载文件失败,路径:" + pPackage.getUrl());
         }
+        request.put("projectId",pPackage.getProjectId());
         for (Object account : accountIds) {
             Long accountId = Long.valueOf(String.valueOf(account));
             KuaishouPopulationPackageRel relEntity = relMapper.queryEntity(accountId, pPackage.getId());
@@ -144,6 +148,7 @@ public class KuaishouPopulationPackageServiceImpl extends ServiceImpl<KuaishouPo
                 }
             }
         }
+        kuaishouMaterialPoolOperationRecordService.addRecord(request, "/kuaishouPopulationPackage/push", 2, "push");
         LoadFileUtil.delFile(newFileUrl);
         return Result.ok("推送结束");
     }