فهرست منبع

游戏回传策略更新

wcc 1 سال پیش
والد
کامیت
3d71966357

+ 13 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/controller/BackPolicyController.java

@@ -5,6 +5,7 @@ import com.zanxiang.erp.security.annotation.PreAuthorize;
 import com.zanxiang.game.back.serve.pojo.dto.*;
 import com.zanxiang.game.back.serve.pojo.vo.*;
 import com.zanxiang.game.back.serve.service.*;
+import com.zanxiang.module.util.exception.BaseException;
 import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -12,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 @RestController
@@ -39,6 +41,7 @@ public class BackPolicyController {
     @PostMapping("/add")
     @ApiOperation(value = "创建回传策略")
     public ResultVO<Boolean> createPolicy(@Validated @RequestBody GameBackPolicyDTO dto) {
+        checkDTO(dto);
         return ResultVO.ok(gameBackPolicyService.createPolicy(dto));
     }
 
@@ -46,6 +49,7 @@ public class BackPolicyController {
     @PostMapping("/modify/{policyId}")
     @ApiOperation(value = "修改回传策略")
     public ResultVO<Boolean> updatePolicy(@PathVariable("policyId") Long policyId, @Validated @RequestBody GameBackPolicyDTO dto) {
+        checkDTO(dto);
         return ResultVO.ok(gameBackPolicyService.updatePolicy(policyId, dto));
     }
 
@@ -55,4 +59,13 @@ public class BackPolicyController {
     public ResultVO<Boolean> deletePolicy(@PathVariable("ids") List<Long> ids) {
         return ResultVO.ok(gameBackPolicyService.deletePolicy(ids));
     }
+
+    private void checkDTO(GameBackPolicyDTO dto) {
+        if (dto.getFirstMinMoney().compareTo(dto.getFirstMaxMoney()) >= 0) {
+            throw new BaseException("首充的大额金额必须大于小额金额");
+        }
+        if (dto.getRechargeMinMoney().compareTo(dto.getRechargeMaxMoney()) >= 0) {
+            throw new BaseException("此单的大额金额必须大于小额金额");
+        }
+    }
 }

+ 20 - 0
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/pojo/dto/GameBackPolicyDTO.java

@@ -9,6 +9,8 @@ import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
@@ -29,108 +31,126 @@ public class GameBackPolicyDTO implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @NotBlank(message = "回传策略名称不能为空")
     @ApiModelProperty("回传策略名")
     private String backPolicyName;
 
     /**
      * 首充-小额判定金额(小于等于)
      */
+    @NotNull
     @ApiModelProperty("首充-小额判定金额(小于等于)")
     private BigDecimal firstMinMoney;
 
     /**
      * 首充-小额回传方式(概率/比例)
      */
+    @NotNull
     @ApiModelProperty("首充-小额回传方式(概率/比例)")
     private Integer firstMinMoneyType;
 
     /**
      * 首充-小额回传概率/比例
      */
+    @NotBlank
     @ApiModelProperty("首充-小额回传概率/比例")
     private String firstMinMoneyRate;
 
     /**
      * 首充-大额判定金额(大于等于)
      */
+    @NotNull
     @ApiModelProperty("首充-大额判定金额(大于等于)")
     private BigDecimal firstMaxMoney;
 
     /**
      * 首充-大额回传方式(概率/比例)
      */
+    @NotNull
     @ApiModelProperty("首充-大额回传方式(概率/比例)")
     private Integer firstMaxMoneyType;
 
     /**
      * 首充-大额回传概率/比例
      */
+    @NotBlank
     @ApiModelProperty("首充-大额回传概率/比例")
     private String firstMaxMoneyRate;
 
     /**
      * 首充-其它金额回传方式(概率/比例)
      */
+    @NotNull
     @ApiModelProperty("首充-其它金额回传方式(概率/比例)")
     private Integer firstOtherMoneyType;
 
     /**
      * 首充-其它金额回传概率/比例
      */
+    @NotBlank
     @ApiModelProperty("首充-其它金额回传概率/比例")
     private String firstOtherMoneyRate;
 
     /**
      * 次单-小额判定金额(小于等于)
      */
+    @NotNull
     @ApiModelProperty("次单-小额判定金额(小于等于)")
     private BigDecimal rechargeMinMoney;
 
     /**
      * 次单-小额回传方式(概率/比例)
      */
+    @NotNull
     @ApiModelProperty("次单-小额回传方式(概率/比例)")
     private Integer rechargeMinMoneyType;
 
     /**
      * 次单-小额回传概率/比例
      */
+    @NotBlank
     @ApiModelProperty("次单-小额回传概率/比例")
     private String rechargeMinMoneyRate;
 
     /**
      * 次单-大额判定金额(大于等于)
      */
+    @NotNull
     @ApiModelProperty("次单-大额判定金额(大于等于)")
     private BigDecimal rechargeMaxMoney;
 
     /**
      * 次单-大额回传方式(概率/比例)
      */
+    @NotNull
     @ApiModelProperty("次单-大额回传方式(概率/比例)")
     private Integer rechargeMaxMoneyType;
 
     /**
      * 次单-大额回传概率/比例
      */
+    @NotBlank
     @ApiModelProperty("次单-大额回传概率/比例")
     private String rechargeMaxMoneyRate;
 
     /**
      * 次单-其它金额回传方式(概率/比例)
      */
+    @NotNull
     @ApiModelProperty("次单-其它金额回传方式(概率/比例)")
     private Integer rechargeOtherMoneyType;
 
     /**
      * 次单-其它金额回传概率/比例
      */
+    @NotBlank
     @ApiModelProperty("次单-其它金额回传概率/比例")
     private String rechargeOtherMoneyRate;
 
     /**
      * 降档级别
      */
+    @NotNull
     @ApiModelProperty("降档级别")
     private Integer levelDown;