|
@@ -3,10 +3,12 @@ package cn.com.ctop.kuaishou.modules.batch.service.impl;
|
|
|
import cn.com.ctop.common.module.enums.SceneIdEnum;
|
|
|
import cn.com.ctop.common.module.utils.Check;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouAppList;
|
|
|
+import cn.com.ctop.kuaishou.modules.batch.entity.KuaiShouCampaign;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouBatchCampaignPreview;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouBatchCreativePreview;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouBatchGroupPreview;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.entity.KuaishouTemplate;
|
|
|
+import cn.com.ctop.kuaishou.modules.batch.mapper.KuaiShouCampaignMapper;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.mapper.KuaishouBatchCampaignPreviewMapper;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.mapper.KuaishouBatchCreativePreviewMapper;
|
|
|
import cn.com.ctop.kuaishou.modules.batch.mapper.KuaishouBatchGroupPreviewMapper;
|
|
@@ -51,6 +53,8 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
private IKuaishouTemplateService kuaishouTemplateService;
|
|
|
@Autowired
|
|
|
private IKuaiShouAppListService kuaiShouAppListService;
|
|
|
+ @Autowired
|
|
|
+ private KuaiShouCampaignMapper kuaiShouCampaignMapper;
|
|
|
|
|
|
@Override
|
|
|
public JSONObject queryByBatchId(String batchId, String accountId) {
|
|
@@ -137,7 +141,6 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
if (Check.isNull(campaignJson)) {
|
|
|
throw new Exception("数据异常,未获取到广告计划数据");
|
|
|
}
|
|
|
- KuaishouBatchCampaignPreview campaignPreview = commonCampaign(campaignJson, batchId);
|
|
|
//组
|
|
|
JSONObject groupJson = data.getJSONObject("unitJson");
|
|
|
if (Check.isNull(groupJson)) {
|
|
@@ -170,11 +173,44 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
if (Check.isNull(targetIds)) {
|
|
|
throw new Exception("数据异常,未获取到应用数据");
|
|
|
}
|
|
|
- //分组规则 1 定向 2 创意 3 落地页
|
|
|
- Integer type = campaignJson.getInteger("groupRule");
|
|
|
- insertCampaignsAndGroups(type, data, campaignPreview, groupPreview, creativePreview);
|
|
|
+ Long campaignId = campaignJson.getLong("campaignId");
|
|
|
+ if (Check.isNull(campaignId)) {
|
|
|
+ //分组规则 1 定向 2 创意 3 落地页
|
|
|
+ Integer type = campaignJson.getInteger("groupRule");
|
|
|
+ KuaishouBatchCampaignPreview campaignPreview = commonCampaign(campaignJson, batchId);
|
|
|
+ insertCampaignsAndGroups(type, campaignId, data, campaignPreview, groupPreview, creativePreview);
|
|
|
+ } else {
|
|
|
+ KuaishouBatchCampaignPreview campaignPreview = getOldCampaign(campaignId, batchId);
|
|
|
+ insertCampaignsAndGroups(1, campaignId, data, campaignPreview, groupPreview, creativePreview);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 给已有计划添加数据
|
|
|
+ *
|
|
|
+ * @param
|
|
|
+ * @return void
|
|
|
+ * @throws
|
|
|
+ * @author ZHAOXA
|
|
|
+ */
|
|
|
+ private KuaishouBatchCampaignPreview getOldCampaign(Long campaignId, String batchId) throws Exception {
|
|
|
+ QueryWrapper<KuaiShouCampaign> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("campaign_id", campaignId);
|
|
|
+ KuaiShouCampaign kuaiShouCampaign = kuaiShouCampaignMapper.selectOne(queryWrapper);
|
|
|
+ KuaishouBatchCampaignPreview campaignPreview = new KuaishouBatchCampaignPreview();
|
|
|
+ campaignPreview.setAccountId(kuaiShouCampaign.getAccountId());
|
|
|
+ campaignPreview.setCampaignName(kuaiShouCampaign.getCampaignName());
|
|
|
+ campaignPreview.setCampaignId(campaignId);
|
|
|
+ campaignPreview.setCampaignType(kuaiShouCampaign.getCampaignType());
|
|
|
+ campaignPreview.setPutStatus(kuaiShouCampaign.getPutStatus());
|
|
|
+ campaignPreview.setDayBudget(kuaiShouCampaign.getDayBudget());
|
|
|
+ campaignPreview.setDayBudgetSchedule(kuaiShouCampaign.getDayBudgetSchedule());
|
|
|
+ campaignPreview.setIsTime(2);
|
|
|
+ campaignPreview.setBatchId(batchId);
|
|
|
+ return campaignPreview;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 插入预览信息
|
|
@@ -184,7 +220,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
* @throws
|
|
|
* @author ZHAOXA
|
|
|
*/
|
|
|
- private void insertCampaignsAndGroups(Integer type, JSONObject data, KuaishouBatchCampaignPreview campaignPreview, KuaishouBatchGroupPreview groupPreview, KuaishouBatchCreativePreview creativePreview) throws Exception {
|
|
|
+ private void insertCampaignsAndGroups(Integer type, Long campaignId, JSONObject data, KuaishouBatchCampaignPreview campaignPreview, KuaishouBatchGroupPreview groupPreview, KuaishouBatchCreativePreview creativePreview) throws Exception {
|
|
|
//定向包
|
|
|
JSONArray targetIds = data.getJSONArray("targetIds");
|
|
|
//应用数据
|
|
@@ -244,6 +280,10 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
int count = targetIds.size() * materialList.size();
|
|
|
int appCount = targetIds.size() * materialList.size();
|
|
|
if (NoEn.NO1.valueInt() == type) {
|
|
|
+ //添加已有计划预览数据
|
|
|
+ if (!Check.isNull(campaignId)) {
|
|
|
+ campaignPreviewMapper.insert(campaignPreview);
|
|
|
+ }
|
|
|
/**
|
|
|
*按照 定向包 分组
|
|
|
* 计划总数 = 定向包数(targetIds)
|
|
@@ -267,9 +307,11 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
actionbarClickUrl = actionbarClickUrlList.getString(i);
|
|
|
}
|
|
|
}
|
|
|
- campaignPreview.setId(null);
|
|
|
- campaignPreview.setCampaignName(getName(campaignPreview.getCampaignNameFormat(), null, null, appId, null) + i);
|
|
|
- campaignPreviewMapper.insert(campaignPreview);
|
|
|
+ if (Check.isNull(campaignId)) {
|
|
|
+ campaignPreview.setId(null);
|
|
|
+ campaignPreview.setCampaignName(getName(campaignPreview.getCampaignNameFormat(), null, null, appId, null) + i);
|
|
|
+ campaignPreviewMapper.insert(campaignPreview);
|
|
|
+ }
|
|
|
for (int j = 0; j < materialList.size(); j++) {
|
|
|
if (appAllocation == 3) {
|
|
|
appCount--;
|
|
@@ -412,6 +454,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -467,7 +510,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
campaignPreview.setCampaignNameFormat(campaignJson.getString("campaignName"));
|
|
|
campaignPreview.setCampaignType(campaignJson.getInteger("campaignType"));
|
|
|
campaignPreview.setPutStatus(campaignJson.getInteger("campaignStatus"));
|
|
|
- campaignPreview.setDayBudget(campaignJson.getInteger("dayBudget"));
|
|
|
+ campaignPreview.setDayBudget(campaignJson.getLong("dayBudget"));
|
|
|
campaignPreview.setDayBudgetSchedule(campaignJson.getString("dayBudgetSchedule"));
|
|
|
campaignPreview.setTimeStart(campaignJson.getString("timeStart"));
|
|
|
campaignPreview.setIsTime(campaignJson.getInteger("isTime"));
|
|
@@ -488,7 +531,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
|
groupPreview.setAccountId(groupJson.getLong("accountId"));
|
|
|
groupPreview.setUnitName(groupJson.getString("unitName"));
|
|
|
groupPreview.setUnitNameFormat(groupJson.getString("unitName"));
|
|
|
- groupPreview.setPutStatus(campaignJson.getInteger("unitStatus") == 2 ? 2 : null);
|
|
|
+ groupPreview.setPutStatus(Check.isNull(campaignJson.getInteger("unitStatus")) || campaignJson.getInteger("unitStatus") == 2 ? 2 : null);
|
|
|
groupPreview.setBidType(groupJson.getInteger("bidType"));
|
|
|
if (groupJson.getInteger("bidType") == 2) {
|
|
|
int bid = getRandom(groupJson.getInteger("bidMax"), groupJson.getInteger("bidMin"));
|