|
@@ -25,11 +25,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
import com.xxl.job.core.enums.NoEn;
|
|
import com.xxl.job.core.enums.NoEn;
|
|
import org.jeecg.common.util.DateUtils;
|
|
import org.jeecg.common.util.DateUtils;
|
|
|
|
+import org.jeecg.common.util.RedisUtil;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -60,6 +62,8 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
private KuaiShouCampaignMapper kuaiShouCampaignMapper;
|
|
private KuaiShouCampaignMapper kuaiShouCampaignMapper;
|
|
@Autowired
|
|
@Autowired
|
|
private IKuaiShouVideoGetService videoGetService;
|
|
private IKuaiShouVideoGetService videoGetService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private RedisUtil redisUtil;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public JSONObject queryByBatchId(String batchId, String accountId) {
|
|
public JSONObject queryByBatchId(String batchId, String accountId) {
|
|
@@ -94,8 +98,13 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
for (KuaishouBatchCreativePreview creativePreview : kuaishouBatchCreativePreviews) {
|
|
for (KuaishouBatchCreativePreview creativePreview : kuaishouBatchCreativePreviews) {
|
|
if (groupPreview.getPlanId().equals(creativePreview.getPlanId()) && creativePreview.getGroupId().equals(groupPreview.getId())) {
|
|
if (groupPreview.getPlanId().equals(creativePreview.getPlanId()) && creativePreview.getGroupId().equals(groupPreview.getId())) {
|
|
JSONObject obj = new JSONObject();
|
|
JSONObject obj = new JSONObject();
|
|
- obj.put("photoId", creativePreview.getPhotoId());
|
|
|
|
- obj.put("imageUrl", creativePreview.getImageUrl());
|
|
|
|
|
|
+ if (!Check.isNull(creativePreview.getPhotoId())) {
|
|
|
|
+ obj.put("photoId", creativePreview.getPhotoId());
|
|
|
|
+ } else if (!Check.isNull(creativePreview.getSplashPhotoIds())) {
|
|
|
|
+ obj.put("photoIds", creativePreview.getSplashPhotoIds());
|
|
|
|
+ } else if (!Check.isNull(creativePreview.getSplashImageTokens())) {
|
|
|
|
+ obj.put("imageTokens", creativePreview.getSplashImageTokens());
|
|
|
|
+ }
|
|
materialArr.add(obj);
|
|
materialArr.add(obj);
|
|
descriptionArr.add(creativePreview.getDescription());
|
|
descriptionArr.add(creativePreview.getDescription());
|
|
groupPreview.setSiteId(creativePreview.getSiteId());
|
|
groupPreview.setSiteId(creativePreview.getSiteId());
|
|
@@ -341,7 +350,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
}
|
|
}
|
|
if (Check.isNull(campaignId)) {
|
|
if (Check.isNull(campaignId)) {
|
|
campaignPreview.setId(null);
|
|
campaignPreview.setId(null);
|
|
- campaignPreview.setCampaignName(getName(campaignPreview.getCampaignNameFormat(), targetIds.getLong(i), groupPreview.getSceneId(), appId, groupPreview.getUnitType(), i, getRandomFromArr(materialList.getJSONObject(0).getJSONArray("photoArr")), creativePreview.getCreativeCategory()));
|
|
|
|
|
|
+ campaignPreview.setCampaignName(getName(campaignPreview.getCampaignNameFormat(), targetIds.getLong(i), groupPreview.getSceneId(), appId, groupPreview.getUnitType(), i, getRandomFromArr(materialList.getJSONObject(0).getJSONArray("photoArr")), creativePreview.getCreativeCategory(), campaignPreview.getAccountId(), "campaign"));
|
|
campaignPreviewMapper.insert(campaignPreview);
|
|
campaignPreviewMapper.insert(campaignPreview);
|
|
}
|
|
}
|
|
for (int j = 0; j < materialList.size(); j++) {
|
|
for (int j = 0; j < materialList.size(); j++) {
|
|
@@ -378,7 +387,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
groupPreview.setAppId(appId);
|
|
groupPreview.setAppId(appId);
|
|
groupPreview.setPlanId(campaignPreview.getId());
|
|
groupPreview.setPlanId(campaignPreview.getId());
|
|
groupPreview.setTemplateId(targetIds.getLong(i));
|
|
groupPreview.setTemplateId(targetIds.getLong(i));
|
|
- groupPreview.setUnitName(getName(groupPreview.getUnitNameFormat(), targetIds.getLong(i), groupPreview.getSceneId(), appId, groupPreview.getUnitType(), j, getRandomFromArr(photoArr), creativePreview.getCreativeCategory()));
|
|
|
|
|
|
+ groupPreview.setUnitName(getName(groupPreview.getUnitNameFormat(), targetIds.getLong(i), groupPreview.getSceneId(), appId, groupPreview.getUnitType(), j, getRandomFromArr(photoArr), creativePreview.getCreativeCategory(), null, null));
|
|
groupPreview.setUrl(url);
|
|
groupPreview.setUrl(url);
|
|
groupPreview.setSchemaUri(schemaUri);
|
|
groupPreview.setSchemaUri(schemaUri);
|
|
if (!Check.isNull(groupPreview.getBidMax()) && !Check.isNull(groupPreview.getBidMin())) {
|
|
if (!Check.isNull(groupPreview.getBidMax()) && !Check.isNull(groupPreview.getBidMin())) {
|
|
@@ -466,7 +475,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
}
|
|
}
|
|
} else if (NoEn.NO2.valueInt() == type) {
|
|
} else if (NoEn.NO2.valueInt() == type) {
|
|
/**
|
|
/**
|
|
- *按照 创意组 分组
|
|
|
|
|
|
+ * 按照 创意组 分组
|
|
* 计划总数 = 创意组数
|
|
* 计划总数 = 创意组数
|
|
* 则同一广告计划内的创意完全相同,定向包不同
|
|
* 则同一广告计划内的创意完全相同,定向包不同
|
|
*/
|
|
*/
|
|
@@ -498,7 +507,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
JSONArray photoArr = material.getJSONArray("photoArr");
|
|
JSONArray photoArr = material.getJSONArray("photoArr");
|
|
|
|
|
|
campaignPreview.setId(null);
|
|
campaignPreview.setId(null);
|
|
- campaignPreview.setCampaignName(getName(campaignPreview.getCampaignNameFormat(), targetIds.getLong(new Random().nextInt(targetIds.size())), groupPreview.getSceneId(), appId, groupPreview.getUnitType(), i, getRandomFromArr(photoArr), creativePreview.getCreativeCategory()));
|
|
|
|
|
|
+ campaignPreview.setCampaignName(getName(campaignPreview.getCampaignNameFormat(), targetIds.getLong(new Random().nextInt(targetIds.size())), groupPreview.getSceneId(), appId, groupPreview.getUnitType(), i, getRandomFromArr(photoArr), creativePreview.getCreativeCategory(), campaignPreview.getAccountId(), "campaign"));
|
|
campaignPreviewMapper.insert(campaignPreview);
|
|
campaignPreviewMapper.insert(campaignPreview);
|
|
|
|
|
|
if (matchingMethod == 2) {
|
|
if (matchingMethod == 2) {
|
|
@@ -535,7 +544,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
groupPreview.setAppId(appId);
|
|
groupPreview.setAppId(appId);
|
|
groupPreview.setPlanId(campaignPreview.getId());
|
|
groupPreview.setPlanId(campaignPreview.getId());
|
|
groupPreview.setTemplateId(targetIds.getLong(j));
|
|
groupPreview.setTemplateId(targetIds.getLong(j));
|
|
- groupPreview.setUnitName(getName(groupPreview.getUnitNameFormat(), targetIds.getLong(j), groupPreview.getSceneId(), appId, groupPreview.getUnitType(), j, getRandomFromArr(photoArr), creativePreview.getCreativeCategory()));
|
|
|
|
|
|
+ groupPreview.setUnitName(getName(groupPreview.getUnitNameFormat(), targetIds.getLong(j), groupPreview.getSceneId(), appId, groupPreview.getUnitType(), j, getRandomFromArr(photoArr), creativePreview.getCreativeCategory(), null, null));
|
|
groupPreview.setUrl(url);
|
|
groupPreview.setUrl(url);
|
|
groupPreview.setSchemaUri(schemaUri);
|
|
groupPreview.setSchemaUri(schemaUri);
|
|
if (!Check.isNull(groupPreview.getBidMax()) && !Check.isNull(groupPreview.getBidMin())) {
|
|
if (!Check.isNull(groupPreview.getBidMax()) && !Check.isNull(groupPreview.getBidMin())) {
|
|
@@ -657,7 +666,15 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
if (num == 2) {
|
|
if (num == 2) {
|
|
return !CollectionUtils.isEmpty(arr) && !CollectionUtils.isEmpty(arr2);
|
|
return !CollectionUtils.isEmpty(arr) && !CollectionUtils.isEmpty(arr2);
|
|
} else {
|
|
} else {
|
|
- return !CollectionUtils.isEmpty(arr);
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(arr)) {
|
|
|
|
+ if (Check.isNull(arr.getString(0))) {
|
|
|
|
+ return false;
|
|
|
|
+ } else {
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -827,7 +844,7 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
private String getName(String content, Long templateId, String sceneId, Integer appId, Integer unitType
|
|
private String getName(String content, Long templateId, String sceneId, Integer appId, Integer unitType
|
|
- , Integer number, String photoId, Integer creativeCategory) {
|
|
|
|
|
|
+ , Integer number, String photoId, Integer creativeCategory, Long accountId, String type) {
|
|
String reg = "\\{\\{(.+?)\\}\\}";
|
|
String reg = "\\{\\{(.+?)\\}\\}";
|
|
List<String> params = getParams(reg, content);
|
|
List<String> params = getParams(reg, content);
|
|
if (Check.isNull(params)) {
|
|
if (Check.isNull(params)) {
|
|
@@ -877,7 +894,22 @@ public class KuaishouBatchCampaignPreviewServiceImpl extends ServiceImpl<Kuaisho
|
|
data.put(regName, unitType == 4 ? "自定义" : "程序化创意2.0");
|
|
data.put(regName, unitType == 4 ? "自定义" : "程序化创意2.0");
|
|
}
|
|
}
|
|
} else if ("序号".equals(regName)) {
|
|
} else if ("序号".equals(regName)) {
|
|
- data.put(regName, number + "");
|
|
|
|
|
|
+ if ("campaign".equals(type)) {
|
|
|
|
+ String nowDate = DateUtils.formatDate(new Date(), "yyMMdd");
|
|
|
|
+ String redisKey = accountId + "_batch_" + nowDate;
|
|
|
|
+ Integer cnt = null;
|
|
|
|
+ Integer redisCnt = (Integer) redisUtil.get(redisKey);
|
|
|
|
+ if (Check.isNull(redisCnt)) {
|
|
|
|
+ cnt = 1;
|
|
|
|
+ redisUtil.set(redisKey, cnt, 100000L);
|
|
|
|
+ } else {
|
|
|
|
+ cnt = redisCnt + 1;
|
|
|
|
+ redisUtil.set(redisKey, cnt, 100000L);
|
|
|
|
+ }
|
|
|
|
+ data.put(regName, cnt + "");
|
|
|
|
+ } else {
|
|
|
|
+ data.put(regName, number + "");
|
|
|
|
+ }
|
|
} else if ("素材命名".equals(regName)) {
|
|
} else if ("素材命名".equals(regName)) {
|
|
KuaiShouVideoGet video = videoGetService.getVideoByPhotoId(photoId);
|
|
KuaiShouVideoGet video = videoGetService.getVideoByPhotoId(photoId);
|
|
if (!Check.isNull(video)) {
|
|
if (!Check.isNull(video)) {
|