|
@@ -292,9 +292,7 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
|
|
ocpxMap.put(obj.getString("ocpxCode"), obj.getString("maxValue"));
|
|
ocpxMap.put(obj.getString("ocpxCode"), obj.getString("maxValue"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (ocpxMap.isEmpty()) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
//深度转化目标map
|
|
//深度转化目标map
|
|
Map<String, String> deepMap = new HashMap<>();
|
|
Map<String, String> deepMap = new HashMap<>();
|
|
String deepTypeStr = json.getString("deepConversionType");
|
|
String deepTypeStr = json.getString("deepConversionType");
|
|
@@ -338,50 +336,60 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
|
|
Boolean bidFalg = true;
|
|
Boolean bidFalg = true;
|
|
//转化目标
|
|
//转化目标
|
|
if (!Check.isNull(ocpxActionType)) {
|
|
if (!Check.isNull(ocpxActionType)) {
|
|
- //转化出价
|
|
|
|
- String ocpxBid = ocpxMap.get(ocpxActionType);
|
|
|
|
- //通过转化目标没有查询到转化出价,判断为转化目标不一致,触发关停
|
|
|
|
- if (Check.isNull(ocpxBid)) {
|
|
|
|
|
|
+ if (ocpxMap.isEmpty()) {
|
|
typeFalg = false;
|
|
typeFalg = false;
|
|
String msg = Check.isNull(textMap.get(ocpxActionType)) ? ocpxActionType : textMap.get(ocpxActionType);
|
|
String msg = Check.isNull(textMap.get(ocpxActionType)) ? ocpxActionType : textMap.get(ocpxActionType);
|
|
- msgType = "计划转化:" + msg;
|
|
|
|
|
|
+ msgType = "项目未设转化,但计划转化:" + msg;
|
|
} else {
|
|
} else {
|
|
- //未查询到转化出价,说明出价不一致,触发出价关停。
|
|
|
|
- if (Check.isNull(cpaBid)) {
|
|
|
|
- bidFalg = false;
|
|
|
|
- msgBid = "计划出价为空";
|
|
|
|
|
|
+ //转化出价
|
|
|
|
+ String ocpxBid = ocpxMap.get(ocpxActionType);
|
|
|
|
+ //通过转化目标没有查询到转化出价,判断为转化目标不一致,触发关停
|
|
|
|
+ if (Check.isNull(ocpxBid)) {
|
|
|
|
+ typeFalg = false;
|
|
|
|
+ String msg = Check.isNull(textMap.get(ocpxActionType)) ? ocpxActionType : textMap.get(ocpxActionType);
|
|
|
|
+ msgType = "计划转化:" + msg;
|
|
} else {
|
|
} else {
|
|
- BigDecimal cpa = new BigDecimal(cpaBid).multiply(new BigDecimal("1000"));
|
|
|
|
- BigDecimal ocpx = new BigDecimal(ocpxBid);
|
|
|
|
- if (cpa.compareTo(ocpx) == 1) {
|
|
|
|
- //计划转化出价cpa 大于 项目设置最大转化出价,则关停
|
|
|
|
|
|
+ //未查询到转化出价,说明出价不一致,触发出价关停。
|
|
|
|
+ if (Check.isNull(cpaBid)) {
|
|
bidFalg = false;
|
|
bidFalg = false;
|
|
- msgBid = "计划出价:" + cpaBid;
|
|
|
|
|
|
+ msgBid = "计划出价为空";
|
|
|
|
+ } else {
|
|
|
|
+ BigDecimal cpa = new BigDecimal(cpaBid).multiply(new BigDecimal("1000"));
|
|
|
|
+ BigDecimal ocpx = new BigDecimal(ocpxBid);
|
|
|
|
+ if (cpa.compareTo(ocpx) == 1) {
|
|
|
|
+ //计划转化出价cpa 大于 项目设置最大转化出价,则关停
|
|
|
|
+ bidFalg = false;
|
|
|
|
+ msgBid = "计划出价:" + cpaBid;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//深度转化目标
|
|
//深度转化目标
|
|
if (typeFalg && bidFalg) {
|
|
if (typeFalg && bidFalg) {
|
|
- if (!Check.isNull(deepConversionType) && !deepMap.isEmpty()) {
|
|
|
|
|
|
+ if (!Check.isNull(deepConversionType) && deepMap.isEmpty()) {
|
|
|
|
+ typeFalg = false;
|
|
|
|
+ String msg = Check.isNull(textMap.get(deepConversionType)) ? deepConversionType : textMap.get(deepConversionType);
|
|
|
|
+ msgType = "项目未设深度转化,但计划深度转化:" + msg;
|
|
|
|
+ } else if (!Check.isNull(deepConversionType)) {
|
|
String deepBid = deepMap.get(deepConversionType);
|
|
String deepBid = deepMap.get(deepConversionType);
|
|
if (Check.isNull(deepBid)) {
|
|
if (Check.isNull(deepBid)) {
|
|
//通过key未获取值,说明不包含该目标,进行关停
|
|
//通过key未获取值,说明不包含该目标,进行关停
|
|
typeFalg = false;
|
|
typeFalg = false;
|
|
String msg = Check.isNull(textMap.get(deepConversionType)) ? deepConversionType : textMap.get(deepConversionType);
|
|
String msg = Check.isNull(textMap.get(deepConversionType)) ? deepConversionType : textMap.get(deepConversionType);
|
|
- msgType = "计划(深度)转化:" + msg;
|
|
|
|
|
|
+ msgType = "计划深度转化:" + msg;
|
|
} else {
|
|
} else {
|
|
//未查询到转化出价,说明出价不一致,触发出价关停。
|
|
//未查询到转化出价,说明出价不一致,触发出价关停。
|
|
if (Check.isNull(deepConversionBid)) {
|
|
if (Check.isNull(deepConversionBid)) {
|
|
bidFalg = false;
|
|
bidFalg = false;
|
|
- msgBid = "计划(深度)出价为空";
|
|
|
|
|
|
+ msgBid = "计划深度出价为空";
|
|
} else {
|
|
} else {
|
|
BigDecimal cpa = new BigDecimal(deepConversionBid).multiply(new BigDecimal("1000"));
|
|
BigDecimal cpa = new BigDecimal(deepConversionBid).multiply(new BigDecimal("1000"));
|
|
BigDecimal ocpx = new BigDecimal(deepBid);
|
|
BigDecimal ocpx = new BigDecimal(deepBid);
|
|
if (cpa.compareTo(ocpx) == 1) {
|
|
if (cpa.compareTo(ocpx) == 1) {
|
|
//计划转化出价cpa 大于 项目设置最大转化出价,则关停
|
|
//计划转化出价cpa 大于 项目设置最大转化出价,则关停
|
|
bidFalg = false;
|
|
bidFalg = false;
|
|
- msgBid = "计划(深度)出价:" + deepConversionBid;
|
|
|
|
|
|
+ msgBid = "计划深度出价:" + deepConversionBid;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -390,12 +398,12 @@ public class ByteDanceAdvertiserDataServiceImpl implements IByteDanceAdvertiserD
|
|
if (!typeFalg) { // 出价方式设置非法
|
|
if (!typeFalg) { // 出价方式设置非法
|
|
String text = getBidTypeText(json.getString("projectName"), accountId, planId, planName, msgType);
|
|
String text = getBidTypeText(json.getString("projectName"), accountId, planId, planName, msgType);
|
|
sendMsg(accountId, planId, text);
|
|
sendMsg(accountId, planId, text);
|
|
- detail.put("opt_status","opt_AD_STATUS_DISABLE");
|
|
|
|
|
|
+ detail.put("opt_status", "opt_AD_STATUS_DISABLE");
|
|
}
|
|
}
|
|
if (!bidFalg) {
|
|
if (!bidFalg) {
|
|
String text = getOverBidMessage(json.getString("projectName"), accountId, planId, planName, msgBid);
|
|
String text = getOverBidMessage(json.getString("projectName"), accountId, planId, planName, msgBid);
|
|
sendMsg(accountId, planId, text);
|
|
sendMsg(accountId, planId, text);
|
|
- detail.put("opt_status","opt_AD_STATUS_DISABLE");
|
|
|
|
|
|
+ detail.put("opt_status", "opt_AD_STATUS_DISABLE");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|