Browse Source

账户配置新增/修改账户预算 同步至头条

yangzian 4 years ago
parent
commit
d17ef6f07f

+ 2 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/dockapi/MarketingService.java

@@ -9,13 +9,14 @@ import org.jeecg.modules.bytedance.advertise.vo.ByteDanceSearchVo;
 import org.jeecg.modules.bytedance.advertise.vo.PlanSearchVo;
 import org.jeecg.modules.bytedance.common.entity.CtopOauthToken;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
 public interface MarketingService {
     Result getBudget(CtopOauthToken token, List<Long> advertiser_ids);
 
-    Result updateBudget(CtopOauthToken token, String budgetMode, String budget);
+    Result updateBudget(CtopOauthToken token, String budgetMode, BigDecimal budget);
 
     Result selectCustomAudience(CtopOauthToken token);
 

+ 5 - 4
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/dockapi/MarketingServiceImpl.java

@@ -28,6 +28,7 @@ import org.springframework.stereotype.Service;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.math.BigDecimal;
 import java.net.URI;
 import java.util.HashMap;
 import java.util.List;
@@ -83,7 +84,7 @@ public class MarketingServiceImpl implements MarketingService{
      * @return: java.util.Map<java.lang.String,java.lang.Object>
      */
     @Override
-    public Result updateBudget(CtopOauthToken token, String budgetMode, String budget) {
+    public Result updateBudget(CtopOauthToken token, String budgetMode, BigDecimal budget) {
         JSONObject params = new JSONObject();
         //广告主ID
         params.put("advertiser_id", token.getAccountId());
@@ -102,7 +103,7 @@ public class MarketingServiceImpl implements MarketingService{
             log.info("修改计划预算接口异常==》accountId:{},message:{}", token.getAccountId(), jsonObject.getString("message"));
             return Result.error(jsonObject.getString("message"));
         }
-        return Result.successMsg("修改计划预算成功",null);
+        return Result.successMsg("修改账户预算成功",null);
     }
 
 
@@ -891,12 +892,12 @@ public class MarketingServiceImpl implements MarketingService{
         String message = jsonObject.getString("message");
         if (null == code || !code.equals(0)) {
             log.info("获取行业类别信息接口异常==》accountId:{},message:{}", token.getAccountId(), message);
-            return Result.errorMsg(message);
+            return Result.error(message);
         }
         JSONArray data = jsonObject.getJSONObject("data").getJSONArray("list");
         if (null == data || data.isEmpty()) {
             log.info("行业类别信息不存在==》accountId:{},message:{}", token.getAccountId(), message);
-            return Result.errorMsg("行业类别信息不存在");
+            return Result.error("行业类别信息不存在");
         }
 
         return Result.successMsg("行业类别信息获取成功",data);

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

@@ -381,6 +381,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
             params.put("action_text",actionText);
         }
 
+        //搭配试玩素材url
         String playableUrl = strategy.getCreativePlayableUrl();
         if(!Check.isNull(playableUrl)){
             params.put("playable_url",playableUrl);
@@ -1328,7 +1329,9 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
      * @author zianY
      */
     @Override
+    @Transactional
     public Result addBytedanceStrategy(AiBytedanceAdvertiserStrategy aiBytedanceAdvertiserStrategy) {
+        CtopOauthToken token = tokenService.getOauthTokenByAccountId(String.valueOf(aiBytedanceAdvertiserStrategy.getAccountId()));
         //预算金额不能低于当前已消费金额的105%
         QueryWrapper<RuleDataAccount> ruleDataAccountQueryWrapper = new QueryWrapper<>();
         ruleDataAccountQueryWrapper.eq("account_id",aiBytedanceAdvertiserStrategy.getAccountId());
@@ -1344,7 +1347,6 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
             }
         }
 
-
         // 数据入库 string[] 转 string
         //商品卖点
         aiBytedanceAdvertiserStrategy.setCreativeProductSellingPoints(org.apache.commons.lang3.StringUtils.join(aiBytedanceAdvertiserStrategy.getProductSellingPoints(), ","));
@@ -1370,6 +1372,15 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
 
         aiBytedanceAdvertiserStrategyMapper.insert(aiBytedanceAdvertiserStrategy);
 
+
+        //账户预算 同步 头条
+        //BUDGET_MODE_DAY-日预算
+        // BUDGET_MODE_INFINITE-不限
+        String accountBudgetMode = aiBytedanceAdvertiserStrategy.getAccountBudgetMode().equals("1") ? "BUDGET_MODE_INFINITE" : "BUDGET_MODE_DAY";
+        Result resultBudget = marketingService.updateBudget(token,accountBudgetMode,aiBytedanceAdvertiserStrategy.getAccountBudget());
+        if (!resultBudget.isSuccess()){
+            return Result.error(resultBudget.getMessage());
+        }
         return Result.successMsg("新增成功。",aiBytedanceAdvertiserStrategy);
     }
 

+ 10 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/bytedance/advertise/controller/AiBytedanceAdvertiserStrategyController.java

@@ -140,6 +140,7 @@ public class AiBytedanceAdvertiserStrategyController {
 	@ApiOperation(value="头条智能投放账户配置信息表-编辑", notes="头条智能投放账户配置信息表-编辑")
 	@PutMapping(value = "/edit")
 	public Result<AiBytedanceAdvertiserStrategy> edit(@RequestBody AiBytedanceAdvertiserStrategy aiBytedanceAdvertiserStrategy) {
+		CtopOauthToken token = tokenService.getOauthTokenByAccountId(String.valueOf(aiBytedanceAdvertiserStrategy.getAccountId()));
 		//修改后预算金额不能低于当前已消费金额的105%
 		QueryWrapper<RuleDataAccount> ruleDataAccountQueryWrapper = new QueryWrapper<>();
 		ruleDataAccountQueryWrapper.eq("account_id",aiBytedanceAdvertiserStrategy.getAccountId());
@@ -176,6 +177,15 @@ public class AiBytedanceAdvertiserStrategyController {
 			if (!ok) {
 				return Result.errorMsg("修改失败!");
 			}
+			//账户预算 同步 头条
+			//BUDGET_MODE_DAY-日预算
+			// BUDGET_MODE_INFINITE-不限
+			String accountBudgetMode = aiBytedanceAdvertiserStrategy.getAccountBudgetMode().equals("1") ? "BUDGET_MODE_INFINITE" : "BUDGET_MODE_DAY";
+			Result resultBudget = marketingService.updateBudget(token,accountBudgetMode,aiBytedanceAdvertiserStrategy.getAccountBudget());
+			if (!resultBudget.isSuccess()){
+				return Result.errorMsg("同步更新头条预算失败。");
+			}
+
 		}
 		return Result.successMsg("修改成功!", null);