|
@@ -8,12 +8,7 @@ import cn.com.ctop.common.module.utils.Check;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouGroup;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouCampaignCopyData;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.mapper.KuaishouCampaignCopyDataMapper;
|
|
|
-import cn.com.ctop.kuaishou.modules.batch.service.IBatchService;
|
|
|
-import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouCreativeService;
|
|
|
-import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouGroupService;
|
|
|
-import cn.com.ctop.kuaishou.modules.batch.service.IKuaiShouGroupTargetService;
|
|
|
-import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouCampaignCopyDataService;
|
|
|
-import cn.com.ctop.kuaishou.modules.batch.service.IKuaishouInterfaceService;
|
|
|
+import cn.com.ctop.kuaishou.modules.batch.service.*;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -23,7 +18,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -38,9 +32,6 @@ import static java.lang.Integer.valueOf;
|
|
|
*/
|
|
|
@Service
|
|
|
public class KuaishouCampaignCopyDataServiceImpl extends ServiceImpl<KuaishouCampaignCopyDataMapper, KuaishouCampaignCopyData> implements IKuaishouCampaignCopyDataService {
|
|
|
-
|
|
|
- @Autowired
|
|
|
- private KuaishouCampaignCopyDataMapper kuaishouCampaignCopyDataMapper;
|
|
|
@Autowired
|
|
|
private IBatchService batchService;
|
|
|
@Autowired
|
|
@@ -57,6 +48,8 @@ public class KuaishouCampaignCopyDataServiceImpl extends ServiceImpl<KuaishouCam
|
|
|
private ISendMessageService sendMessageService;
|
|
|
@Autowired
|
|
|
private IMessageTemplate messageTemplate;
|
|
|
+ @Autowired
|
|
|
+ private IKuaiShouGroupTemplateService groupTemplateService;
|
|
|
|
|
|
/**
|
|
|
* 批量复制计划
|
|
@@ -67,32 +60,30 @@ public class KuaishouCampaignCopyDataServiceImpl extends ServiceImpl<KuaishouCam
|
|
|
* @author ZHAOXA
|
|
|
*/
|
|
|
@Override
|
|
|
- public void batchCopyCampaign() {
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- //'状态:1待复制,2成功,3失败'
|
|
|
- map.put("state", NoEn.NO1.valueInt());
|
|
|
- List<KuaishouCampaignCopyData> kuaishouCampaignCopyData = kuaishouCampaignCopyDataMapper.selectByMap(map);
|
|
|
- for (KuaishouCampaignCopyData copyData : kuaishouCampaignCopyData) {
|
|
|
- try {
|
|
|
- CtopOauthToken token = tokenService.getTokenByAccountId(copyData.getAccountId());
|
|
|
- //执行删除被复制的计划组+创意
|
|
|
- delOldCampaigns(copyData.getAccountId(), copyData.getOldCampaignId());
|
|
|
- //获取当前最新广告计划组、创意数据并入库
|
|
|
- JSONObject data = getNewCampaigns(token.getAccessToken(), copyData);
|
|
|
- data.put("copyData", copyData);
|
|
|
- //根据被复制的组数据和模板、预算和排期数据调用快手创建组接口
|
|
|
- boolean isSuccess = createCopyUnits(token, data);
|
|
|
- //更新成功,修改状态并发送通知
|
|
|
- if (isSuccess) {
|
|
|
- sendNotification(copyData.getId(), copyData.getOldCampaignName(), copyData.getCreaterId(), NoEn.NO2.valueStr(), "复制成功");
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- log.error("复制广告计划异常", e);
|
|
|
- //复制过程中失败,更新状态并发送预警
|
|
|
- sendNotification(copyData.getId(), copyData.getOldCampaignName(), copyData.getCreaterId(), NoEn.NO3.valueStr(), e.getMessage());
|
|
|
- }
|
|
|
+ public void batchCopyCampaign(KuaishouCampaignCopyData copyData) {
|
|
|
|
|
|
|
|
|
+ try {
|
|
|
+ CtopOauthToken token = tokenService.getTokenByAccountId(copyData.getAccountId());
|
|
|
+ if (Check.isNull(token)) {
|
|
|
+ throw new Exception("token未获取");
|
|
|
+
|
|
|
+ }
|
|
|
+ //执行删除被复制的计划组+创意
|
|
|
+ delOldCampaigns(copyData.getAccountId(), copyData.getOldCampaignId());
|
|
|
+ //获取当前最新广告计划组、创意数据并入库
|
|
|
+ JSONObject data = getNewCampaigns(token.getAccessToken(), copyData);
|
|
|
+ data.put("copyData", copyData);
|
|
|
+ //根据被复制的组数据和模板、预算和排期数据调用快手创建组接口
|
|
|
+ boolean isSuccess = createCopyUnits(token, data);
|
|
|
+ //更新成功,修改状态并发送通知
|
|
|
+ if (isSuccess) {
|
|
|
+ sendNotification(copyData.getId(), copyData.getOldCampaignName(), copyData.getCreaterId(), NoEn.NO2.valueStr(), "复制成功");
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("复制广告计划异常", e);
|
|
|
+ //复制过程中失败,更新状态并发送预警
|
|
|
+ sendNotification(copyData.getId(), copyData.getOldCampaignName(), copyData.getCreaterId(), NoEn.NO3.valueStr(), e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -248,9 +239,21 @@ public class KuaishouCampaignCopyDataServiceImpl extends ServiceImpl<KuaishouCam
|
|
|
unitJson.put("speed", speed);
|
|
|
}
|
|
|
|
|
|
- String templateId = copyData.getString("templateId");
|
|
|
+ Integer sceneId = valueOf(scene_id.get(0).toString());
|
|
|
+ Long templateId = copyData.getLong("templateId");
|
|
|
if (!Check.isNull(templateId)) {
|
|
|
- unitJson.put("template_id", templateId);
|
|
|
+ if (sceneId != 5) {
|
|
|
+ unitJson.put("template_id", templateId);
|
|
|
+ } else {
|
|
|
+ JSONObject unionJson = groupTemplateService.getUnionJson(templateId);
|
|
|
+ Integer code = unionJson.getInteger("code");
|
|
|
+ if (code == 0) {
|
|
|
+ JSONObject target = unionJson.getJSONObject("target");
|
|
|
+ unitJson.put("target", target);
|
|
|
+ } else {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
/*----------------用户定向-----------*/
|
|
|
JSONObject target = group.getJSONObject("target");
|
|
@@ -318,7 +321,7 @@ public class KuaishouCampaignCopyDataServiceImpl extends ServiceImpl<KuaishouCam
|
|
|
if (!Check.isNull(target.getJSONArray("thirdPlatformCode"))) {
|
|
|
targetJson.put("third_platform_code", target.getJSONArray("thirdPlatformCode"));
|
|
|
}
|
|
|
- Integer sceneId = valueOf(scene_id.get(0).toString());
|
|
|
+
|
|
|
if (sceneId != 5) {
|
|
|
//过滤已转化人群纬度
|
|
|
if (!Check.isNull(target.getInteger("filterConvertedLevel"))) {
|