Jelajahi Sumber

代码合并

songyh 4 tahun lalu
induk
melakukan
3a72be50de
12 mengubah file dengan 221 tambahan dan 1 penghapusan
  1. 37 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/entity/AiBytedanceAdDplinkInfo.java
  2. 1 1
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/entity/AiBytedanceAdvertiserStrategy.java
  3. 41 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/entity/AiBytedanceCampaignDplinkInfo.java
  4. 14 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/AiBytedanceAdDplinkInfoMapper.java
  5. 14 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/AiBytedanceCampaignDplinkInfoMapper.java
  6. 5 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/xml/AiBytedanceAdDplinkInfoMapper.xml
  7. 5 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/xml/AiBytedanceCampaignDplinkInfoMapper.xml
  8. 15 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/IAiBytedanceAdDplinkInfoService.java
  9. 14 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/IAiBytedanceCampaignDplinkInfoService.java
  10. 34 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceAdDplinkInfoServiceImpl.java
  11. 23 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceAdvertiserStrategyServiceImpl.java
  12. 18 0
      jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceCampaignDplinkInfoServiceImpl.java

+ 37 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/entity/AiBytedanceAdDplinkInfo.java

@@ -0,0 +1,37 @@
+package org.jeecg.modules.bytedance.advertise.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;
+
+/**
+ * 头条计划dplink标识创建记录
+ * @author jeecg-boot
+ * @date   2021-04-26
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_ai_bytedance_ad_dplink_info")
+public class AiBytedanceAdDplinkInfo {
+    
+	/**id*/
+	@TableId(type = IdType.AUTO)
+	private Long id;
+	/**dpLinkIndex*/
+	private Long dpLinkIndex;
+	/**status*/
+	private Integer status;
+	/**计划id*/
+	private Long adId;
+	/**accountId*/
+	private Long accountId;
+	/**stratrgyId*/
+	private Long stratrgyId;
+	/**createTime*/
+	private Date createTime;
+	/**updateTime*/
+	private Date updateTime;
+}

+ 1 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/entity/AiBytedanceAdvertiserStrategy.java

@@ -46,7 +46,7 @@ public class AiBytedanceAdvertiserStrategy{
 	/**
 	 * 单个广告组下的计划最大创建数
 	 */
-	private Integer campaignAdCnt;
+	private Long campaignAdCnt;
 	/**广告类型*/
 	private String advertisingType;
 	/**账户预算类型*/

+ 41 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/entity/AiBytedanceCampaignDplinkInfo.java

@@ -0,0 +1,41 @@
+package org.jeecg.modules.bytedance.advertise.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;
+
+/**
+ * 头条组dplink标识创建记录
+ * @author jeecg-boot
+ * @date   2021-04-26
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_ai_bytedance_campaign_dplink_info")
+public class AiBytedanceCampaignDplinkInfo {
+    
+	/**id*/
+	@TableId(type = IdType.AUTO)
+	private Long id;
+	/**name*/
+	private String name;
+	/**startIndex*/
+	private Integer startIndex;
+	/**endIndex*/
+	private Integer endIndex;
+	/**status*/
+	private Integer status;
+	/**创建id*/
+	private Long campaignId;
+	/**createTime*/
+	private Date createTime;
+	/**updateTime*/
+	private Date updateTime;
+	/**accountId*/
+	private Long accountId;
+	/**stratrgyId*/
+	private Long stratrgyId;
+}

+ 14 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/AiBytedanceAdDplinkInfoMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.bytedance.advertise.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdDplinkInfo;
+
+/**
+ * 头条计划dplink标识创建记录
+ * @author jeecg-boot
+ * 2021-04-26
+ * @version V1.0
+ */
+public interface AiBytedanceAdDplinkInfoMapper extends BaseMapper<AiBytedanceAdDplinkInfo> {
+
+}

+ 14 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/AiBytedanceCampaignDplinkInfoMapper.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.bytedance.advertise.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceCampaignDplinkInfo;
+
+/**
+ * 头条组dplink标识创建记录
+ * @author jeecg-boot
+ * 2021-04-26
+ * @version V1.0
+ */
+public interface AiBytedanceCampaignDplinkInfoMapper extends BaseMapper<AiBytedanceCampaignDplinkInfo> {
+
+}

+ 5 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/xml/AiBytedanceAdDplinkInfoMapper.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.bytedance.advertise.mapper.AiBytedanceAdDplinkInfoMapper">
+
+</mapper>

+ 5 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/xml/AiBytedanceCampaignDplinkInfoMapper.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.bytedance.advertise.mapper.AiBytedanceCampaignDplinkInfoMapper">
+
+</mapper>

+ 15 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/IAiBytedanceAdDplinkInfoService.java

@@ -0,0 +1,15 @@
+package org.jeecg.modules.bytedance.advertise.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdDplinkInfo;
+
+/**
+ * 头条计划dplink标识创建记录
+ * @author jeecg-boot
+ * 2021-04-26
+ * @version V1.0
+ */
+public interface IAiBytedanceAdDplinkInfoService extends IService<AiBytedanceAdDplinkInfo> {
+
+    AiBytedanceAdDplinkInfo getlatestDpLinkInfo(Long strategyId, Long accountId, Integer status);
+}

+ 14 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/IAiBytedanceCampaignDplinkInfoService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.bytedance.advertise.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceCampaignDplinkInfo;
+
+/**
+ * 头条组dplink标识创建记录
+ * @author jeecg-boot
+ * 2021-04-26
+ * @version V1.0
+ */
+public interface IAiBytedanceCampaignDplinkInfoService extends IService<AiBytedanceCampaignDplinkInfo> {
+
+}

+ 34 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceAdDplinkInfoServiceImpl.java

@@ -0,0 +1,34 @@
+package org.jeecg.modules.bytedance.advertise.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdDplinkInfo;
+import org.jeecg.modules.bytedance.advertise.mapper.AiBytedanceAdDplinkInfoMapper;
+import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAdDplinkInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 头条计划dplink标识创建记录
+ * @author jeecg-boot
+ * 2021-04-26
+ * @version V1.0
+ */
+@Service
+public class AiBytedanceAdDplinkInfoServiceImpl extends ServiceImpl<AiBytedanceAdDplinkInfoMapper, AiBytedanceAdDplinkInfo> implements IAiBytedanceAdDplinkInfoService {
+
+    @Override
+    public AiBytedanceAdDplinkInfo getlatestDpLinkInfo(Long strategyId, Long accountId, Integer status) {
+        QueryWrapper<AiBytedanceAdDplinkInfo> queryWrapper = new QueryWrapper<>();
+        if(null!=strategyId&&strategyId!=0){
+            queryWrapper.eq("strategy_id",strategyId);
+        }
+        if(null!=accountId&&accountId!=0){
+            queryWrapper.eq("account_id",accountId);
+        }
+        if(null!=status){
+            queryWrapper.eq("status",status);
+        }
+        queryWrapper.orderByDesc("id").last("limit 1");
+        return this.getOne(queryWrapper);
+    }
+}

+ 23 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceAdvertiserStrategyServiceImpl.java

@@ -5,11 +5,13 @@ import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.bytedance.advertise.dockapi.marketing;
+import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdDplinkInfo;
 import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceAdvertiserStrategy;
 import org.jeecg.modules.bytedance.advertise.entity.ByteDanceVideoInfo;
 import org.jeecg.modules.bytedance.advertise.entity.UpdAdStaOrCpaOrBudget;
 import org.jeecg.modules.bytedance.advertise.enums.BytedanceCreativeMatTypeEnum;
 import org.jeecg.modules.bytedance.advertise.mapper.AiBytedanceAdvertiserStrategyMapper;
+import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAdDplinkInfoService;
 import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceAdvertiserStrategyService;
 import org.jeecg.modules.bytedance.advertise.service.IByteDanceVideoInfoService;
 import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
@@ -76,10 +78,31 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
          * 查询当前账户排列到的dp链接标识号
          *
          */
+        Long dpIndex ;
+        AiBytedanceAdDplinkInfo adDplinkInfo = adDplinkInfoService.getlatestDpLinkInfo(strategy.getId(),strategy.getAccountId(),1);
+        if(null == adDplinkInfo){
+            dpIndex = strategy.getDpLinkStartIndex();
+        }else{
+            dpIndex = adDplinkInfo.getDpLinkIndex()+1;
+        }
+        if(dpIndex>strategy.getDpLinkEndIndex()){
+            log.info("此账户策略创建结束=>账户id:{};策略id:{}", token.getAccountId(),strategy.getId());
+            return 0L;
+        }
+        //根据dpLink获取组名称
+        String campaignName = getCampaignName(dpIndex,strategy);
         //2:创建计划
         //3:创建创意
         return videoCnt;
     }
+
+    private String getCampaignName(Long dpIndex, AiBytedanceAdvertiserStrategy strategy) {
+        Long unitCreativeNum = strategy.getCampaignAdCnt();
+        return null;
+    }
+
+    @Autowired
+    private IAiBytedanceAdDplinkInfoService adDplinkInfoService;
     @Autowired
     private IByteDanceVideoInfoService videoInfoService;
     private List<ByteDanceVideoInfo> getVideoInfoByCreateType(Long projectId,AiBytedanceAdvertiserStrategy strategy, String startTime, String endTime, Integer createType, Long videoCnt) {

+ 18 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceCampaignDplinkInfoServiceImpl.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.bytedance.advertise.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.bytedance.advertise.entity.AiBytedanceCampaignDplinkInfo;
+import org.jeecg.modules.bytedance.advertise.mapper.AiBytedanceCampaignDplinkInfoMapper;
+import org.jeecg.modules.bytedance.advertise.service.IAiBytedanceCampaignDplinkInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 头条组dplink标识创建记录
+ * @author jeecg-boot
+ * 2021-04-26
+ * @version V1.0
+ */
+@Service
+public class AiBytedanceCampaignDplinkInfoServiceImpl extends ServiceImpl<AiBytedanceCampaignDplinkInfoMapper, AiBytedanceCampaignDplinkInfo> implements IAiBytedanceCampaignDplinkInfoService {
+
+}