Преглед изворни кода

Merge remote-tracking branch 'origin/kuaishou-ai-advertising' into kuaishou-ai-advertising

zhaoxian пре 4 година
родитељ
комит
4af14e659d
36 измењених фајлова са 517 додато и 88 уклоњено
  1. 0 35
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategy.java
  2. 13 10
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyMapCreative.java
  3. 31 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyMiddle.java
  4. 36 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyTargetBase.java
  5. 31 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyTargetUnion.java
  6. 39 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyTemplate.java
  7. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyMapCreativeMapper.java
  8. 0 14
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyMapper.java
  9. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyMiddleMapper.java
  10. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyTargetBaseMapper.java
  11. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyTargetUnionMapper.java
  12. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyTemplateMapper.java
  13. 1 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyMapCreativeMapper.xml
  14. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyMapper.xml
  15. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyTargetBaseMapper.xml
  16. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyTargetUnionMapper.xml
  17. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyTemplateMapper.xml
  18. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyMapCreativeService.java
  19. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyMiddleService.java
  20. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyService.java
  21. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyTargetBaseService.java
  22. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyTargetUnionService.java
  23. 14 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyTemplateService.java
  24. 5 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/Test.java
  25. 2 2
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyMapCreativeServiceImpl.java
  26. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyMiddleServiceImpl.java
  27. 0 18
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyServiceImpl.java
  28. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyTargetBaseServiceImpl.java
  29. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyTargetUnionServiceImpl.java
  30. 18 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyTemplateServiceImpl.java
  31. 83 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/TestImpl.java
  32. 7 0
      jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java
  33. 4 0
      module-common/src/main/java/cn/com/ctop/common/module/mapper/CustomDataByAccountMapper.java
  34. 6 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/KuaiShouReportDailyMaterialMapper.java
  35. 26 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouReportDailyMaterialMapper.xml
  36. 26 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouVideoGetMapper.xml

+ 0 - 35
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategy.java

@@ -1,35 +0,0 @@
-package org.jeecg.modules.ads.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * 智能投放策略信息
- * @author jeecg-boot
- * @date   2020-12-10
- * @version V1.0
- */
-@Data
-@TableName("ctop_ai_kuaishou_strategy")
-public class AiKuaishouStrategy {
-
-	/**id*/
-	@TableId(type = IdType.AUTO)
-	private Long id;
-	/**账户id*/
-	private Integer accountId;
-	/**名称*/
-	private String strategyName;
-	/**素材选择方式*/
-	private String materialCombinationMode;
-	/**策略类型*/
-	private String strategyType;
-	/**状态1可用 0不可用*/
-	private Integer status;
-	private Date createTime;
-	private Date updateTime;
-}

+ 13 - 10
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyMapCreative.java

@@ -1,25 +1,22 @@
 package org.jeecg.modules.ads.entity;
 
+import java.util.Date;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
 
-import java.util.Date;
+import lombok.Data;
 
 /**
- * 智能投放快手定向策略详细信息
- * @author jeecg-boot
- * @date   2020-12-10
- * @version V1.0
+ * 策略创意表
  */
 @Data
 @TableName("ctop_ai_kuaishou_strategy_map_creative")
 public class AiKuaishouStrategyMapCreative {
-
+    
 	/**id*/
 	@TableId(type = IdType.AUTO)
-	private Long id;
+	private Integer id;
 	/**账户id*/
 	private Integer accountId;
 	/**计划id*/
@@ -28,12 +25,18 @@ public class AiKuaishouStrategyMapCreative {
 	private Integer unitId;
 	/**创意id*/
 	private Integer creativeId;
-	/**定向id*/
-	private Integer targetId;
+	/**策略_定向关联id*/
+	private Integer strategyTargetUnionId;
+	/**定向id target_base_id*/
+	private Integer targetBaseId;
+	/**策略id*/
+	private Integer strategyId;
 	/**是否创建成功*/
 	private Integer createSuccess;
 	/**失败原因*/
 	private String detail;
+	/**createTime*/
 	private Date createTime;
+	/**updateTime*/
 	private Date updateTime;
 }

+ 31 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyMiddle.java

@@ -0,0 +1,31 @@
+package org.jeecg.modules.ads.entity;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 策略_策略模板中间表
+ */
+@Data
+@TableName("ctop_ai_kuaishou_strategy_middle")
+public class AiKuaishouStrategyMiddle {
+    
+	/**middle_id*/
+	@TableId(type = IdType.AUTO)
+	private Integer id;
+	/**策略id*/
+	private Integer strategyId;
+	/**策略模板id*/
+	private Integer strategyTemplateId;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 36 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyTargetBase.java

@@ -0,0 +1,36 @@
+package org.jeecg.modules.ads.entity;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 定向基础表
+ * @author jeecg-boot
+ * @date   2020-12-15
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_ai_kuaishou_strategy_target_base")
+public class AiKuaishouStrategyTargetBase {
+    
+	/**target_base_id*/
+	@TableId(type = IdType.AUTO)
+	private Integer id;
+	/**定向类型:age|devices|用户行为|行业偏好等*/
+	private String targetType;
+	/**定向内容: 24-30|31-40|41-49 等*/
+	private String targetContent;
+	/**状态1可用 0不可用*/
+	private Integer status;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 31 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyTargetUnion.java

@@ -0,0 +1,31 @@
+package org.jeecg.modules.ads.entity;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 策略_定向中间表
+ */
+@Data
+@TableName("ctop_ai_kuaishou_strategy_target_union")
+public class AiKuaishouStrategyTargetUnion {
+    
+	/**strategy_target_union_id*/
+	@TableId(type = IdType.AUTO)
+	private Integer id;
+	/**middle_id*/
+	private Integer strategyMiddleId;
+	/**定向id*/
+	private Integer strategyTargetId;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 39 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/entity/AiKuaishouStrategyTemplate.java

@@ -0,0 +1,39 @@
+package org.jeecg.modules.ads.entity;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 策略模板表
+ */
+@Data
+@TableName("ctop_ai_kuaishou_strategy_template")
+public class AiKuaishouStrategyTemplate {
+    
+	/**策略模板id*/
+	@TableId(type = IdType.AUTO)
+	private Integer id;
+	/**账户id*/
+	private Integer accountId;
+	/**策略模板名称*/
+	private String templateName;
+	/**策略类型 1:素材+定向  2:时间+出价 3:素材+出价*/
+	private Integer templateType;
+	/**测试方向*/
+	private String testDirection;
+	/**素材选择方式*/
+	private String materialSelectMethod;
+	/**状态1可用 0不可用*/
+	private Integer status;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyMapCreativeMapper.java

@@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.jeecg.modules.ads.entity.AiKuaishouStrategyMapCreative;
 
 /**
- * 智能投放快手定向策略详细信息
+ * 策略创意表
  * @author: jeecg-boot
- * @date:   2020-12-10
+ * @date:   2020-12-15
  * @cersion: V1.0
  */
 public interface AiKuaishouStrategyMapCreativeMapper extends BaseMapper<AiKuaishouStrategyMapCreative> {

+ 0 - 14
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyMapper.java

@@ -1,14 +0,0 @@
-package org.jeecg.modules.ads.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.jeecg.modules.ads.entity.AiKuaishouStrategy;
-
-/**
- * 智能投放策略信息
- * @author: jeecg-boot
- * @date:   2020-12-10
- * @cersion: V1.0
- */
-public interface AiKuaishouStrategyMapper extends BaseMapper<AiKuaishouStrategy> {
-
-}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyMiddleMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ads.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyMiddle;
+
+/**
+ * 策略_策略模板中间表
+ * @author: jeecg-boot
+ * @date:   2020-12-15
+ * @cersion: V1.0
+ */
+public interface AiKuaishouStrategyMiddleMapper extends BaseMapper<AiKuaishouStrategyMiddle> {
+
+}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyTargetBaseMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ads.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTargetBase;
+
+/**
+ * 定向基础表
+ * @author: jeecg-boot
+ * @date:   2020-12-15
+ * @cersion: V1.0
+ */
+public interface AiKuaishouStrategyTargetBaseMapper extends BaseMapper<AiKuaishouStrategyTargetBase> {
+
+}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyTargetUnionMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ads.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTargetUnion;
+
+/**
+ * 策略_定向中间表
+ * @author: jeecg-boot
+ * @date:   2020-12-15
+ * @cersion: V1.0
+ */
+public interface AiKuaishouStrategyTargetUnionMapper extends BaseMapper<AiKuaishouStrategyTargetUnion> {
+
+}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/AiKuaishouStrategyTemplateMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ads.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTemplate;
+
+/**
+ * 策略模板表
+ * @author: jeecg-boot
+ * @date:   2020-12-15
+ * @cersion: V1.0
+ */
+public interface AiKuaishouStrategyTemplateMapper extends BaseMapper<AiKuaishouStrategyTemplate> {
+
+}

+ 1 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyMapCreativeMapper.xml

@@ -2,4 +2,4 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.ads.mapper.AiKuaishouStrategyMapCreativeMapper">
 
-</mapper>
+</mapper>

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyMapper.xml

@@ -1,5 +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="org.jeecg.modules.ads.mapper.AiKuaishouStrategyMapper">
+<mapper namespace="org.jeecg.modules.ads.mapper.AiKuaishouStrategyMiddleMapper">
 
-</mapper>
+</mapper>

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyTargetBaseMapper.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="org.jeecg.modules.ads.mapper.AiKuaishouStrategyTargetBaseMapper">
+
+</mapper>

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyTargetUnionMapper.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="org.jeecg.modules.ads.mapper.AiKuaishouStrategyTargetUnionMapper">
+
+</mapper>

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/mapper/xml/AiKuaishouStrategyTemplateMapper.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="org.jeecg.modules.ads.mapper.AiKuaishouStrategyTemplateMapper">
+
+</mapper>

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyMapCreativeService.java

@@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.ads.entity.AiKuaishouStrategyMapCreative;
 
 /**
- * @Description: 智能投放快手定向策略详细信息
+ * @Description: 策略创意表
  * @Author: jeecg-boot
- * @Date:   2020-12-10
+ * @Date:   2020-12-15
  * @Version: V1.0
  */
 public interface IAiKuaishouStrategyMapCreativeService extends IService<AiKuaishouStrategyMapCreative> {

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyMiddleService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ads.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyMiddle;
+
+/**
+ * @Description: 策略_策略模板中间表
+ * @Author: jeecg-boot
+ * @Date:   2020-12-15
+ * @Version: V1.0
+ */
+public interface IAiKuaishouStrategyMiddleService extends IService<AiKuaishouStrategyMiddle> {
+
+}

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyService.java

@@ -1,7 +1,7 @@
 package org.jeecg.modules.ads.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.ads.entity.AiKuaishouStrategy;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTemplate;
 
 /**
  * @Description: 智能投放策略信息
@@ -9,6 +9,6 @@ import org.jeecg.modules.ads.entity.AiKuaishouStrategy;
  * @Date:   2020-12-10
  * @Version: V1.0
  */
-public interface IAiKuaishouStrategyService extends IService<AiKuaishouStrategy> {
+public interface IAiKuaishouStrategyService extends IService<AiKuaishouStrategyTemplate> {
 
 }

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyTargetBaseService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ads.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTargetBase;
+
+/**
+ * @Description: 定向基础表
+ * @Author: jeecg-boot
+ * @Date:   2020-12-15
+ * @Version: V1.0
+ */
+public interface IAiKuaishouStrategyTargetBaseService extends IService<AiKuaishouStrategyTargetBase> {
+
+}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyTargetUnionService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ads.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTargetUnion;
+
+/**
+ * @Description: 策略_定向中间表
+ * @Author: jeecg-boot
+ * @Date:   2020-12-15
+ * @Version: V1.0
+ */
+public interface IAiKuaishouStrategyTargetUnionService extends IService<AiKuaishouStrategyTargetUnion> {
+
+}

+ 14 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/IAiKuaishouStrategyTemplateService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.ads.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTemplate;
+
+/**
+ * @Description: 策略模板表
+ * @Author: jeecg-boot
+ * @Date:   2020-12-15
+ * @Version: V1.0
+ */
+public interface IAiKuaishouStrategyTemplateService extends IService<AiKuaishouStrategyTemplate> {
+
+}

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/Test.java

@@ -0,0 +1,5 @@
+package org.jeecg.modules.ads.service;
+
+public interface Test {
+    int f();
+}

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyMapCreativeServiceImpl.java

@@ -7,9 +7,9 @@ import org.jeecg.modules.ads.service.IAiKuaishouStrategyMapCreativeService;
 import org.springframework.stereotype.Service;
 
 /**
- * 智能投放快手定向策略详细信息
+ * 策略创意表
  * @author jeecg-boot
- * @date   2020-12-10
+ * @date   2020-12-15
  * @version V1.0
  */
 @Service

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyMiddleServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.ads.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyMiddle;
+import org.jeecg.modules.ads.mapper.AiKuaishouStrategyMiddleMapper;
+import org.jeecg.modules.ads.service.IAiKuaishouStrategyMiddleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 策略_策略模板中间表
+ * @author jeecg-boot
+ * @date   2020-12-15
+ * @version V1.0
+ */
+@Service
+public class AiKuaishouStrategyMiddleServiceImpl extends ServiceImpl<AiKuaishouStrategyMiddleMapper, AiKuaishouStrategyMiddle> implements IAiKuaishouStrategyMiddleService {
+
+}

+ 0 - 18
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyServiceImpl.java

@@ -1,18 +0,0 @@
-package org.jeecg.modules.ads.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.ads.entity.AiKuaishouStrategy;
-import org.jeecg.modules.ads.mapper.AiKuaishouStrategyMapper;
-import org.jeecg.modules.ads.service.IAiKuaishouStrategyService;
-import org.springframework.stereotype.Service;
-
-/**
- * 智能投放策略信息
- * @author jeecg-boot
- * @date   2020-12-10
- * @version V1.0
- */
-@Service
-public class AiKuaishouStrategyServiceImpl extends ServiceImpl<AiKuaishouStrategyMapper, AiKuaishouStrategy> implements IAiKuaishouStrategyService {
-
-}

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyTargetBaseServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.ads.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTargetBase;
+import org.jeecg.modules.ads.mapper.AiKuaishouStrategyTargetBaseMapper;
+import org.jeecg.modules.ads.service.IAiKuaishouStrategyTargetBaseService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 定向基础表
+ * @author jeecg-boot
+ * @date   2020-12-15
+ * @version V1.0
+ */
+@Service
+public class AiKuaishouStrategyTargetBaseServiceImpl extends ServiceImpl<AiKuaishouStrategyTargetBaseMapper, AiKuaishouStrategyTargetBase> implements IAiKuaishouStrategyTargetBaseService {
+
+}

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyTargetUnionServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.ads.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTargetUnion;
+import org.jeecg.modules.ads.mapper.AiKuaishouStrategyTargetUnionMapper;
+import org.jeecg.modules.ads.service.IAiKuaishouStrategyTargetUnionService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 策略_定向中间表
+ * @author jeecg-boot
+ * @date   2020-12-15
+ * @version V1.0
+ */
+@Service
+public class AiKuaishouStrategyTargetUnionServiceImpl extends ServiceImpl<AiKuaishouStrategyTargetUnionMapper, AiKuaishouStrategyTargetUnion> implements IAiKuaishouStrategyTargetUnionService {
+
+}

+ 18 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/AiKuaishouStrategyTemplateServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.ads.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTemplate;
+import org.jeecg.modules.ads.mapper.AiKuaishouStrategyTemplateMapper;
+import org.jeecg.modules.ads.service.IAiKuaishouStrategyTemplateService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 策略模板表
+ * @author jeecg-boot
+ * @date   2020-12-15
+ * @version V1.0
+ */
+@Service
+public class AiKuaishouStrategyTemplateServiceImpl extends ServiceImpl<AiKuaishouStrategyTemplateMapper, AiKuaishouStrategyTemplate> implements IAiKuaishouStrategyTemplateService {
+
+}

+ 83 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ads/service/impl/TestImpl.java

@@ -0,0 +1,83 @@
+package org.jeecg.modules.ads.service.impl;
+
+import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouReportDailyMaterialMapper;
+import cn.com.ctop.kuaishou.modules.report.entity.KuaiShouReportDailyMaterial;
+import cn.hutool.json.JSON;
+import com.alibaba.fastjson.JSONObject;
+import io.swagger.models.auth.In;
+//import jdk.nashorn.internal.parser.JSONParser;
+import org.jeecg.modules.ads.entity.AiKuaishouStrategyTemplate;
+import org.jeecg.modules.ads.mapper.AiKuaishouStrategyTemplateMapper;
+import org.jeecg.modules.ads.service.Test;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class TestImpl implements Test {
+
+    private KuaiShouReportDailyMaterialMapper dailyMaterialMapper;
+    private AiKuaishouStrategyTemplateMapper strategyTemplateMapper;
+    @Override
+    public int f() {
+        return 123;
+    }
+
+    private static int printInt(int a){
+        System.out.println(a);
+        return a;
+    }
+
+    public static String getStrategy(){
+
+
+       /* String materialCombinationMode = "{'highQualityMaterial':{'intervalDays':7, 'highQualityMaterialNum':5}, 'newMaterialNum':5}";
+        JSONObject jsonObject = JSONObject.parseObject(materialCombinationMode);
+
+        int intervalDays = (int) jsonObject.getJSONObject("highQualityMaterial").get("intervalDays");
+        int highQualityMaterialNum = (int) jsonObject.getJSONObject("highQualityMaterial").get("highQualityMaterialNum");
+        int newQualityMaterialNum = (int) jsonObject.get("newMaterialNum");*/
+
+        return "213";
+
+
+    }
+
+    public List<String> getMaterialId(){
+        // 获取素材组合方式
+        // 下面这三个字段从前端传给的JSON数据进行解析得到
+        Long accountId = 7087890L;
+        Integer strategyType = 1;
+        List<AiKuaishouStrategyTemplate> StrategyTemplate =
+                strategyTemplateMapper.getStrategyTemplate(accountId,strategyType);
+
+        String materialCombinationMode = StrategyTemplate.get(0).getMaterialCombinationMode();
+        JSONObject JsonObject = JSONObject.parseObject(materialCombinationMode);
+        Integer intervalDays = (Integer) JsonObject.getJSONObject("highQualityMaterial").get("intervalDays");
+        Integer highQualityMaterialNum = (Integer) JsonObject.getJSONObject("highQualityMaterial").get("highQualityMaterialNum");
+        Integer newQualityMaterialNum = (Integer) JsonObject.get("newMaterialNum");
+
+        // 获取优质素材的签名
+        List<String> materialIds = new ArrayList<>();
+        List<KuaiShouReportDailyMaterial> highQualityMaterialIds =
+                        dailyMaterialMapper.getHighQualityMaterialId(accountId,intervalDays,highQualityMaterialNum);
+        for (KuaiShouReportDailyMaterial item: highQualityMaterialIds){
+            materialIds.add(item.getSignature());
+        }
+
+        // 获取最新上线素材的签名
+
+
+
+        return materialIds;
+
+    }
+
+    public static void main(String[] args) {
+        int getNum = 123;
+        int num = printInt(getNum);
+        System.out.println(num++);
+    }
+
+}

+ 7 - 0
jeecg-boot-module-system/src/test/java/org/jeecg/SampleTest.java

@@ -375,6 +375,13 @@ public class SampleTest {
             videoReportDailyService.videoInfoList(date, date);
         }
     }
+    @Autowired
+    private org.jeecg.modules.ads.service.Test test;
+
+    @Test
+    public void test(){
+        test.f();
+    }
 
     @Autowired
     private IRuleKuaiShouPlanService ruleKuaiShouPlanService;

+ 4 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/CustomDataByAccountMapper.java

@@ -14,6 +14,10 @@ public interface CustomDataByAccountMapper {
     //快手查询账户日报数据
     JSONObject queryKsAccountData(@Param("accountId") Long accountId,@Param("date") String date);
 
+
+    //快手查询物料日报数据
+    JSONObject queryKsMaterialData(@Param("accountId") Long accountId,@Param("days") Integer days);
+
     //头条查询广告组日报数据
     JSONObject queryByCampaignData(@Param("accountId") Long accountId,@Param("date") String date);
 

+ 6 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/KuaiShouReportDailyMaterialMapper.java

@@ -29,4 +29,10 @@ public interface KuaiShouReportDailyMaterialMapper extends BaseMapper<KuaiShouRe
     List<KuaiShouVideoGetVo> getVideoList(Map<String, Object> requestMap);
 
     void batchReplace(@Param("addList") List<KuaiShouReportDailyMaterial> addList);
+
+
+    List<KuaiShouReportDailyMaterial> getHighQualityMaterialId(@Param(value = "accountId") Long accountId,
+                                                               @Param(value = "days") Integer days,
+                                                               @Param(value = "highQualityNum") Integer highQualityNum);
+
 }

+ 26 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouReportDailyMaterialMapper.xml

@@ -318,4 +318,30 @@
     </select>
 
 
+
+    <select id="getHighQualityMaterialId" resultType="com.xxl.job.executor.report.entity.KuaiShouReportDailyMaterial">
+    /*
+    根据account_id,获取project_id
+    得到该项目下,近 days 内,素材消耗排名前 num 的素材签名
+    */
+        select
+        material.signature
+        from
+        ctop_kuaishou_report_daily_material material
+        left join
+        ctop_user_allocation allocation
+        on material.account_id = allocation.account_id
+        where  allocation.project_id in
+               (select project_id from ctop_user_allocation where 1=1
+                                                              <if test="accountId!=null">
+                                                              and account_id = #{accountId}
+                                                              </if>)
+        and  to_days(now()) - to_days(material.stat_date) &lt;=  #{days}
+        and material.signature is not null
+        GROUP BY material.signature
+        order by sum_charge desc
+        limit #{highQualityNum}
+    </select>
+
+
 </mapper>

+ 26 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/mapper/xml/KuaiShouVideoGetMapper.xml

@@ -57,4 +57,30 @@
         order by stat_date desc
     </select>
 
+
+
+    <select id="getNewMaterialSignature" parameterType="java.util.Map"
+            resultType="cn.com.ctop.kuaishou.modules.batch.entity.vo.KuaiShouVideoGetVo">
+        select
+        stat_date as 'statDate',
+        photo_id as 'photoId',
+        url as 'url',
+        cover_url as 'coverUrl',
+        signature as 'signature',
+        material_type as 'materialType'
+        from ctop_kuaishou_video_get
+        where account_id = #{accountId}
+        and channel_type = #{channelType}
+        and material_type = #{materialType}
+        and status = 0
+        <if test="startDate != null and startDate != '' ">
+            and stat_date &gt;= #{startDate}
+        </if>
+        <if test="endDate != null and endDate != '' ">
+            and stat_date &lt;= #{endDate}
+        </if>
+        group by signature
+        order by stat_date desc
+    </select>
+
 </mapper>