Sfoglia il codice sorgente

查询项目维度定向

zhaoxian 4 anni fa
parent
commit
7a4671c221
12 ha cambiato i file con 280 aggiunte e 101 eliminazioni
  1. 3 0
      module-common/src/main/java/cn/com/ctop/common/module/service/IUserAllocationService.java
  2. 26 2
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/controller/KuaishouDirectionalPackageController.java
  3. 85 41
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouCampaignLevelOperationRecord.java
  4. 4 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouCreativeLevelOperationRecord.java
  5. 107 52
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouProgramCreativeLevelOperationRecord.java
  6. 5 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouUnitLevelOperationRecord.java
  7. 3 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouDirectionalPackageMapper.java
  8. 2 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouDirectionalPckageRelMapper.java
  9. 13 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouDirectionalPackageMapper.xml
  10. 8 0
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/xml/KuaishouDirectionalPckageRelMapper.xml
  11. 9 1
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/IKuaishouDirectionalPackageService.java
  12. 15 4
      module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/service/impl/KuaishouDirectionalPackageServiceImpl.java

+ 3 - 0
module-common/src/main/java/cn/com/ctop/common/module/service/IUserAllocationService.java

@@ -58,4 +58,7 @@ public interface IUserAllocationService extends IService<UserAllocation> {
      */
     List<Long> getValidProjectIds(Integer mediaId);
 
+    boolean updateProjectStrategyStatus(Long accountId, Integer projectStrategy);
+
+    List<Long> queryAutomaticAccounts(Long projectId);
 }

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

@@ -84,14 +84,38 @@ public class KuaishouDirectionalPackageController {
     }
 
     @GetMapping(value = "/getProjectTarget")
-    public Result<Object> getProjectTarget(Long projectId,
+    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("缺少参数");
             }
-            return kuaishouDirectionalPackageService.getProjectTarget(projectId, 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("缺少参数");
+            }
+            List<String> list = JSONObject.parseObject(JSONObject.toJSONString(ids), List.class);
+            if(Check.isNull(list)){
+                return Result.error("缺少参数");
+            }
+
+
+
+
+
+
+            List<KuaishouDirectionalPackage> targets = kuaishouDirectionalPackageService.getProjectTargetByIds(list);
+            return Result.ok(targets);
         } catch (Exception e) {
             log.error("查询异常,", e);
             return Result.error("查询失败," + e.getMessage());

+ 85 - 41
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouCampaignLevelOperationRecord.java

@@ -9,53 +9,97 @@ import java.util.Date;
 
 /**
  * 计划创建记录
+ *
  * @author jeecg-boot
- * @date   2021-04-12
  * @version V1.0
+ * @date 2021-04-12
  */
 @Data
 @TableName("ctop_ai_kuaishou_campaign_level_operation_record")
 public class AiKuaishouCampaignLevelOperationRecord {
 
-	/**计划操作表uuid*/
-	@TableId(type = IdType.ASSIGN_UUID)
-	private String campaignUuid;
-	/**AI策略ID*/
-	private String aiStrategyUuid;
-	/**账户ID*/
-	private Long accountId;
-	/**广告计划ID*/
-	private Long campaignId;
-	/**广告计划名称*/
-	private String campaignName;
-	/**计划类型 2-提升应用安装 3-获取电商下单 4-推广品牌活动 5-收集销售线索 7-提高应用活跃*/
-	private Integer campaignType;
-	/**单日预算*/
-	private Long dayBudget;
-	/**分日预算*/
-	private String dayBudgetSchedule;
-	/**操作类型 1-新增 2-修改*/
-	private Integer operationType;
-	/**计划创建时间*/
-	private Date campaignCreateTime;
-	/**计划更新时间*/
-	private Date campaignUpdateTime;
-	/**创建时间*/
-	private Date createTime;
-	/**状态*/
-	private Integer status;
-	/**状态详情*/
-	private String message;
+    /**
+     * 计划操作表uuid
+     */
+    @TableId(type = IdType.ASSIGN_UUID)
+    private String campaignUuid;
+    /**
+     * AI策略ID
+     */
+    private String aiStrategyUuid;
+    /**
+     * 账户ID
+     */
+    private Long accountId;
+    /**
+     * 广告计划ID
+     */
+    private Long campaignId;
+    /**
+     * 广告计划名称
+     */
+    private String campaignName;
+    /**
+     * 计划类型 2-提升应用安装 3-获取电商下单 4-推广品牌活动 5-收集销售线索 7-提高应用活跃
+     */
+    private Integer campaignType;
+    /**
+     * 单日预算
+     */
+    private Long dayBudget;
+    /**
+     * 分日预算
+     */
+    private String dayBudgetSchedule;
+    /**
+     * 操作类型 1-新增 2-修改
+     */
+    private Integer operationType;
+    /**
+     * 计划创建时间
+     */
+    private Date campaignCreateTime;
+    /**
+     * 计划更新时间
+     */
+    private Date campaignUpdateTime;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 状态
+     */
+    private Integer status;
+    /**
+     * 状态详情
+     */
+    private String message;
+    /**
+     * 1:账户自动投放 2:项目自动投放
+     */
+    private Integer createType;
 
-	public AiKuaishouCampaignLevelOperationRecord(AiKuaishouAdvertiserStrategy strategy, Long campaignId, Integer code, String message) {
-		this.accountId = strategy.getAccountId();
-		this.dayBudget = strategy.getCampaignDayBudget();
-		this.dayBudgetSchedule = strategy.getCampaignDayBudgetSchedule();
-		this.campaignType = strategy.getCampaignType();
-		this.campaignId = campaignId;
-		this.status = code;
-		this.message = message;
-		this.operationType = 1;
-		this.createTime = new Date();
-	}
+    public AiKuaishouCampaignLevelOperationRecord(AiKuaishouAdvertiserStrategy strategy, Long campaignId, Integer code, String message) {
+        this.accountId = strategy.getAccountId();
+        this.dayBudget = strategy.getCampaignDayBudget();
+        this.dayBudgetSchedule = strategy.getCampaignDayBudgetSchedule();
+        this.campaignType = strategy.getCampaignType();
+        this.campaignId = campaignId;
+        this.status = code;
+        this.message = message;
+        this.operationType = 1;
+        this.createTime = new Date();
+    }
+
+    public AiKuaishouCampaignLevelOperationRecord(KuaishouProjectStrategy strategy, Long campaignId, Integer code, String message) {
+        this.accountId = strategy.getAccountId();
+        this.dayBudget = strategy.getCampaignDayBudget();
+        this.campaignType = strategy.getCampaignType();
+        this.campaignId = campaignId;
+        this.status = code;
+        this.message = message;
+        this.operationType = 1;
+        this.createTime = new Date();
+    }
 }

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

@@ -151,4 +151,8 @@ public class AiKuaishouCreativeLevelOperationRecord {
      * 状态详情
      */
     private String message;
+    /**
+     * 1:账户自动投放 2:项目自动投放
+     */
+    private Integer createType;
 }

+ 107 - 52
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/entity/AiKuaishouProgramCreativeLevelOperationRecord.java

@@ -9,63 +9,118 @@ import java.util.Date;
 
 /**
  * 程序换创意创建记录
+ *
  * @author jeecg-boot
- * @date   2021-04-12
  * @version V1.0
+ * @date 2021-04-12
  */
 @Data
 @TableName("ctop_ai_kuaishou_program_creative_level_operation_record")
 public class AiKuaishouProgramCreativeLevelOperationRecord {
 
-	/**程序化创意操作表uuid*/
-	@TableId(type = IdType.ASSIGN_UUID)
-	private String creativeUuid;
-	/**AI策略ID*/
-	private String aiStrategyUuid;
-	/**账户ID*/
-	private Integer accountId;
-	/**广告计划ID*/
-	private Integer campaignId;
-	/**广告组ID*/
-	private Integer unitId;
-	/**是否为便利贴,默认为0*/
-	private Integer isSticky;
-	/**程序化创意名称*/
-	private String packageName;
-	/**横版视频ID list*/
-	private String horizontalPhotoIds;
-	/**竖版视频ID list*/
-	private String verticalPhotoIds;
-	/**封面list image_token*/
-	private String coverImageTokens;
-	/**落地页ID*/
-	private Integer siteId;
-	/**封面贴纸*/
-	private String stickerStyles;
-	/**封面广告语*/
-	private String coverSlogans;
-	/**行动号召按钮*/
-	private String actionBar;
-	/**作品广告语*/
-	private String captions;
-	/**第三方点击检测链接*/
-	private String clickUrl;
-	/**第三方点击检测链接*/
-	private String actionbarClickUrl;
-	/**创意分类*/
-	private Integer creativeCategory;
-	/**创意标签*/
-	private String creativeTag;
-	/**状态值 1-已提交等待回调 0-创建成功 */
-	private Integer status;
-	/**状态详情*/
-	private String message;
-	/**操作类型 1-新增 2-修改*/
-	private Integer operationType;
-	/**创意创建时间*/
-	private Date creativeCreateTime;
-	/**创意更新时间*/
-	private Date creativeUpdateTime;
-	/**创建时间*/
-	private Date createTime;
+    /**
+     * 程序化创意操作表uuid
+     */
+    @TableId(type = IdType.ASSIGN_UUID)
+    private String creativeUuid;
+    /**
+     * AI策略ID
+     */
+    private String aiStrategyUuid;
+    /**
+     * 账户ID
+     */
+    private Integer accountId;
+    /**
+     * 广告计划ID
+     */
+    private Integer campaignId;
+    /**
+     * 广告组ID
+     */
+    private Integer unitId;
+    /**
+     * 是否为便利贴,默认为0
+     */
+    private Integer isSticky;
+    /**
+     * 程序化创意名称
+     */
+    private String packageName;
+    /**
+     * 横版视频ID list
+     */
+    private String horizontalPhotoIds;
+    /**
+     * 竖版视频ID list
+     */
+    private String verticalPhotoIds;
+    /**
+     * 封面list image_token
+     */
+    private String coverImageTokens;
+    /**
+     * 落地页ID
+     */
+    private Integer siteId;
+    /**
+     * 封面贴纸
+     */
+    private String stickerStyles;
+    /**
+     * 封面广告语
+     */
+    private String coverSlogans;
+    /**
+     * 行动号召按钮
+     */
+    private String actionBar;
+    /**
+     * 作品广告语
+     */
+    private String captions;
+    /**
+     * 第三方点击检测链接
+     */
+    private String clickUrl;
+    /**
+     * 第三方点击检测链接
+     */
+    private String actionbarClickUrl;
+    /**
+     * 创意分类
+     */
+    private Integer creativeCategory;
+    /**
+     * 创意标签
+     */
+    private String creativeTag;
+    /**
+     * 状态值 1-已提交等待回调 0-创建成功
+     */
+    private Integer status;
+    /**
+     * 状态详情
+     */
+    private String message;
+    /**
+     * 操作类型 1-新增 2-修改
+     */
+    private Integer operationType;
+    /**
+     * 创意创建时间
+     */
+    private Date creativeCreateTime;
+    /**
+     * 创意更新时间
+     */
+    private Date creativeUpdateTime;
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+    /**
+     * 1:账户自动投放 2:项目自动投放
+     */
+    private Integer createType;
 }

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

@@ -192,6 +192,11 @@ public class AiKuaishouUnitLevelOperationRecord {
      */
     private Integer gender;
     /**
+     * 创建类型
+     * 1:账户自动投放 2:项目自动投放
+     */
+    private Integer createType;
+    /**
      * 操作系统
      */
     private Integer platformOs;

+ 3 - 1
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/ai/mapper/KuaishouDirectionalPackageMapper.java

@@ -26,5 +26,7 @@ public interface KuaishouDirectionalPackageMapper extends BaseMapper<KuaishouDir
 
     List getRelatedGroup(@Param("id") String id, @Param("accountId") Long accountId);
 
-    List<KuaishouDirectionalPackage> queryListByProjectId(Long projectId);
+    List<KuaishouDirectionalPackage> queryListByProjectId(@Param("projectId") Long projectId, @Param("templateName") String templateName);
+
+    List<KuaishouDirectionalPackage> getProjectTargetByIds(@Param("ids") List<String> ids);
 }

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

@@ -28,4 +28,6 @@ public interface KuaishouDirectionalPckageRelMapper extends BaseMapper<KuaishouD
     List<JSONObject> queryUnitIdByAccountId(@Param("id") String id, @Param("accountId") Long accountId);
 
     void updateTemName(@Param("id") String id, @Param("templateName") String templateName);
+
+    Long selectTemplateId(@Param("dirId") String id,@Param("accountId")Long accountId);
 }

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

@@ -115,5 +115,18 @@
         FROM ctop_kuaishou_directional_package
         WHERE data_status = 1
         and project_id = #{projectId}
+        <if test="templateName !=null">
+            and template_name like concat('%',#{templateName},'%')
+        </if>
+    </select>
+
+    <select id="getProjectTargetByIds" resultType="cn.com.ctop.kuaishou.modules.ai.entity.KuaishouDirectionalPackage">
+        SELECT *
+        FROM ctop_kuaishou_directional_package
+        WHERE data_status = 1
+        and id in
+        <foreach collection="ids" item="ids" separator="," open="(" close=")">
+            #{ids}
+        </foreach>
     </select>
 </mapper>

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

@@ -93,6 +93,14 @@
           AND t2.dir_id = #{id}
     </select>
 
+    <select id="selectTemplateId" resultType="java.lang.Long">
+        SELECT template_id
+        FROM ctop_kuaishou_directional_package_rel
+        WHERE rel_type = 'account'
+        AND dir_id = #{dirId}
+        AND rel_id =#{accountId}
+    </select>
+
     <update id="updateTemName">
         update
             ctop_kuaishou_directional_package_rel

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

@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.common.api.vo.Result;
 
+import java.util.List;
+
 /**
  * @Description: 自动投放-定向包详情
  * @Author: jeecg-boot
@@ -24,6 +26,8 @@ public interface IKuaishouDirectionalPackageService extends IService<KuaishouDir
 
     Result<Object> pushDirectionalPackage(String id, JSONArray datas);
 
+    void createDirectionalPackage2(JSONObject data, JSONObject request);
+
     Result<Object> queryPushResults(String id, JSONArray accountIds,String status);
 
     Result<Object> editPopulation(JSONObject requestJson);
@@ -46,5 +50,9 @@ public interface IKuaishouDirectionalPackageService extends IService<KuaishouDir
 
     Result<Object> queryPopulationById(Long templateId, Long accountId);
 
-    Result<Object> getProjectTarget(Long projectId, Integer pageNo, Integer pageSize);
+    Result<Object> getProjectTarget(Long projectId, String templateName,Integer pageNo, Integer pageSize);
+
+    List<KuaishouDirectionalPackage> getProjectTargetByIds(List<String> list);
+
+    Long selectTemplateId(String id, Long accountId);
 }

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

@@ -382,12 +382,13 @@ public class KuaishouDirectionalPackageServiceImpl extends ServiceImpl<KuaishouD
         }
         for (int i = 0; i < datas.size(); i++) {
             JSONObject request = datas.getJSONObject(i);
-            createDirectionalPackage(data, request);
+            createDirectionalPackage2(data, request);
         }
         return Result.ok("推送完成");
     }
 
-    private void createDirectionalPackage(JSONObject data, JSONObject request) {
+    @Override
+    public void createDirectionalPackage2(JSONObject data, JSONObject request) {
         Long accountId = request.getLong("accountId");
         CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
         String message = "";
@@ -676,10 +677,20 @@ public class KuaishouDirectionalPackageServiceImpl extends ServiceImpl<KuaishouD
     }
 
     @Override
-    public Result<Object> getProjectTarget(Long projectId, Integer pageNo, Integer pageSize) {
+    public Result<Object> getProjectTarget(Long projectId, String templateName, Integer pageNo, Integer pageSize) {
         PageHelper.startPage(pageNo, pageSize);
-        List<KuaishouDirectionalPackage> list = packageMapper.queryListByProjectId(projectId);
+        List<KuaishouDirectionalPackage> list = packageMapper.queryListByProjectId(projectId,templateName);
         return Result.ok(new PageInfo(list));
     }
 
+    @Override
+    public List<KuaishouDirectionalPackage> getProjectTargetByIds(List<String> ids) {
+        return packageMapper.getProjectTargetByIds(ids);
+    }
+
+    @Override
+    public Long selectTemplateId(String id, Long accountId) {
+        return relMapper.selectTemplateId(id, accountId);
+    }
+
 }