Selaa lähdekoodia

头条项目出价预警BUG修复

zxa 3 vuotta sitten
vanhempi
commit
404240981e

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

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