Przeglądaj źródła

回传逻辑变更

wcc 1 rok temu
rodzic
commit
f73958492a

+ 23 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/AgentController.java

@@ -2,12 +2,16 @@ package com.zanxiang.game.module.manage.controller;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.erp.security.annotation.PreAuthorize;
+import com.zanxiang.game.module.manage.pojo.enums.AccountTypeEnum;
 import com.zanxiang.game.module.manage.pojo.params.AgentAddParam;
 import com.zanxiang.game.module.manage.pojo.params.AgentAddParam;
 import com.zanxiang.game.module.manage.pojo.params.AgentListParam;
 import com.zanxiang.game.module.manage.pojo.params.AgentListParam;
 import com.zanxiang.game.module.manage.pojo.vo.AgentVO;
 import com.zanxiang.game.module.manage.pojo.vo.AgentVO;
 import com.zanxiang.game.module.manage.service.IAgentService;
 import com.zanxiang.game.module.manage.service.IAgentService;
+import com.zanxiang.game.module.mybatis.entity.Agent;
+import com.zanxiang.module.util.exception.BaseException;
 import com.zanxiang.module.util.pojo.ResultVO;
 import com.zanxiang.module.util.pojo.ResultVO;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -36,6 +40,25 @@ public class AgentController {
     @PreAuthorize(permissionKey = "sdk:agent:add")
     @PreAuthorize(permissionKey = "sdk:agent:add")
     @PostMapping
     @PostMapping
     public ResultVO<Boolean> add(AgentAddParam dto) {
     public ResultVO<Boolean> add(AgentAddParam dto) {
+        dto.setAgentName(dto.getAgentName().trim());
+        AccountTypeEnum accountType = AccountTypeEnum.getByValue(dto.getAccountType());
+        if (accountType == null) {
+            throw new BaseException("错误的账号类型:" + dto.getAccountType());
+        }
+        if (accountType == AccountTypeEnum.TENCENT) {
+            if (dto.getUserActionSetId() == null) {
+                throw new BaseException("腾讯广告账号必须选回传的数据源");
+            }
+        } else if (accountType == AccountTypeEnum.BYTE) {
+            if (StringUtils.isBlank(dto.getReportToken()) || StringUtils.isBlank(dto.getReportUrl())) {
+                throw new BaseException("头条广告账号必须填入回传的 token 和 url");
+            }
+            dto.setReportToken(dto.getReportToken().trim());
+            dto.setReportUrl(dto.getReportUrl());
+        }
+        if (dto.getPutStatus() == null) {
+            dto.setPutStatus(Agent.PUT_STATUS_ING);
+        }
         return ResultVO.ok(agentService.add(dto));
         return ResultVO.ok(agentService.add(dto));
     }
     }
 
 

+ 18 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/AgentAddParam.java

@@ -3,6 +3,9 @@ package com.zanxiang.game.module.manage.pojo.params;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
 /**
  * @author : lingfeng
  * @author : lingfeng
  * @time : 2023-06-09
  * @time : 2023-06-09
@@ -15,24 +18,28 @@ public class AgentAddParam {
      * 渠道名称
      * 渠道名称
      */
      */
     @ApiModelProperty(notes = "渠道名称")
     @ApiModelProperty(notes = "渠道名称")
+    @NotBlank(message = "渠道名称不能为空")
     private String agentName;
     private String agentName;
 
 
     /**
     /**
      * 推广账号类型(1:腾讯、2:头条)
      * 推广账号类型(1:腾讯、2:头条)
      */
      */
     @ApiModelProperty(notes = "推广账号类型(1:腾讯、2:头条)")
     @ApiModelProperty(notes = "推广账号类型(1:腾讯、2:头条)")
+    @NotNull(message = "渠道类型不能为空")
     private Integer accountType;
     private Integer accountType;
 
 
     /**
     /**
      * 账号类型
      * 账号类型
      */
      */
-    @ApiModelProperty(notes = "账号类型")
+    @ApiModelProperty(notes = "账号Id")
+    @NotNull(message = "账号不能为空")
     private Long accountId;
     private Long accountId;
 
 
     /**
     /**
      * 游戏id
      * 游戏id
      */
      */
     @ApiModelProperty(notes = "游戏id")
     @ApiModelProperty(notes = "游戏id")
+    @NotNull(message = "投放游戏不能为空")
     private Long gameId;
     private Long gameId;
 
 
     /**
     /**
@@ -46,6 +53,16 @@ public class AgentAddParam {
      */
      */
     @ApiModelProperty(notes = "回传策略 id")
     @ApiModelProperty(notes = "回传策略 id")
     private Long backPolicyId;
     private Long backPolicyId;
+    /**
+     * 头条回传 token
+     */
+    @ApiModelProperty(notes = "头条回传 token")
+    private String reportToken;
+    /**
+     * 头条回传 url
+     */
+    @ApiModelProperty(notes = "头条回传 url")
+    private String reportUrl;
 
 
     /**
     /**
      * 投放状态
      * 投放状态

+ 1 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/AgentListParam.java

@@ -5,6 +5,7 @@ import com.zanxiang.module.web.pojo.BaseListDTO;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
+import javax.validation.constraints.NotBlank;
 import java.time.LocalDate;
 import java.time.LocalDate;
 
 
 /**
 /**

+ 8 - 0
game-module/game-module-mybatis/src/main/java/com/zanxiang/game/module/mybatis/entity/Agent.java

@@ -55,6 +55,14 @@ public class Agent implements Serializable {
      * 回传策略 id
      * 回传策略 id
      */
      */
     private Long backPolicyId;
     private Long backPolicyId;
+    /**
+     * 头条回传 token
+     */
+    private String reportToken;
+    /**
+     * 头条回传 url
+     */
+    private String reportUrl;
     /**
     /**
      * 投放状态
      * 投放状态
      */
      */