소스 검색

最高出价 不能大于 计划预算

yangzian 4 년 전
부모
커밋
2e8b981df7

+ 14 - 4
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceAdvertiserStrategyServiceImpl.java

@@ -1002,15 +1002,25 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
     public Result updStaOrCpaOrBudgetById(UpdAdStaOrCpaOrBudget updAdStaOrCpaOrBudget) {
         //1-修改出价
         if (BytedanceConstant.UPDTYPE_BID.equals(updAdStaOrCpaOrBudget.getType())) {
-            //出价不能大于计划预算
+            //查询计划预算
             QueryWrapper<AiBytedanceAdvertiserStrategy> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("id",updAdStaOrCpaOrBudget.getId());
             queryWrapper.last("limit 1");
             AiBytedanceAdvertiserStrategy strategyVo = aiBytedanceAdvertiserStrategyMapper.selectOne(queryWrapper);
-           int a = updAdStaOrCpaOrBudget.getAdCpaBid().compareTo(new BigDecimal(strategyVo.getAdBudget()));
-           // 出价 > 计划预算
+            //出价不能大于计划预算
+            int a = 0;
+            // 出价不为空 则 固定出价
+            if (!Check.isNull(updAdStaOrCpaOrBudget.getAdCpaBid())){
+                // 出价 > 计划预算
+                a = updAdStaOrCpaOrBudget.getAdCpaBid().compareTo(new BigDecimal(strategyVo.getAdBudget()));
+            //出价为空 则 随机出价 或者 阶梯出价
+            // 最高出价 不能大于 计划预算
+            }else {
+                // 最高出价 > 计划预算
+                a = updAdStaOrCpaOrBudget.getAdMaxBid().compareTo(new BigDecimal(strategyVo.getAdBudget()));
+            }
             if (a == 1){
-                return Result.errorMsg("出价不能大于计划预算。");
+                return Result.errorMsg("最高出价不能大于计划预算。");
             }
             aiBytedanceAdvertiserStrategyMapper.updCpaById(updAdStaOrCpaOrBudget);
         }