فهرست منبع

add amount max valid

Mr.qian 2 هفته پیش
والد
کامیت
c5028c62f4

+ 40 - 37
cif-service/src/main/java/com/txz/cif/core/ResultCode.java

@@ -10,10 +10,10 @@ public enum ResultCode {
     /**
      * 系统错误
      */
-    SUCCESS("200", "成功"),//成功
-    FAIL("400", "失败"),//失败
-    UNAUTHORIZED("401", "未认证(签名错误)"),//未认证(签名错误)
-    NOT_FOUND("404", "接口不存在"),//接口不存在
+    SUCCESS("200", "成功"),// 成功
+    FAIL("400", "失败"),// 失败
+    UNAUTHORIZED("401", "未认证(签名错误)"),// 未认证(签名错误)
+    NOT_FOUND("404", "接口不存在"),// 接口不存在
     INTERNAL_SERVER_ERROR("500", "服务器内部错误"),
     PERMISSION_NOT_HAS("409", "没有操作权限"),
     BACKSTAGE_IS_ERROR("501", "网关异常"),
@@ -38,67 +38,70 @@ public enum ResultCode {
     APPCODE_IS_NULL("1005", "应用编号不能为空"),
     STATUS_IS_NULL("1013", "状态异常"),
     ACCOUNT_IS_NULL("1051", "账号不能为空"),
-    HOSPITAL_IS_NULL("1052", "医院不能为空" ),
-    SETTLEPLANID_IS_NULL("1053", "请选择结算方案" ),
-    ALIASES_IS_HAVE("1054", "科目别名已存在" ),
+    HOSPITAL_IS_NULL("1052", "医院不能为空"),
+    SETTLEPLANID_IS_NULL("1053", "请选择结算方案"),
+    ALIASES_IS_HAVE("1054", "科目别名已存在"),
     SUBJECTTYPE_IS_ERROR("1055", "科目类型异常"),
     SETTLE_HAVE_DATA("1056", "已有结算数据,请联系管理员"),
-    AMOUNT_IS_INSUFFICIENT("1057", "账户金额不足,请联系管理员" ),
+    AMOUNT_IS_INSUFFICIENT("1057", "账户金额不足,请联系管理员"),
     ALIASES_IS_ERROR("1058", "您输入的科目别名有误,请输入非重复别名,例:109"),
-    ENDTIME_ERROR("1059", "您输入的结束时间不能大于昨天" ),
-    STARTTIME_ERROR("1060", "您输入的开始时间早于系统建立之初" ),
-    UNBINDING_NOT_SLEF("1061", "无法解绑群主"  ),
-    USER_STATUS_IS_ERROR("1062", "用户状态异常,请联系管理员"  ),
-    PAY_TYPE_IS_ERROR("1063", "未知的支付类型,请联系管理员"  ),
-    SIGN_ERROR("1064", "签名错误,请联系管理员" ),
-    HOSPITAL_DEVICE_IS_NULL("1065", "医院插件未安装,请联系管理员" ),
-    APPID_IS_NULL("1066", "该设备未配置商户appid,请联系管理员" ),
-
-    UKEY_IS_NULL("2000", "Ukey未找到,请联系管理员"  ),
-    UKEY_IS_SOLD("2001", "Ukey已售出,请联系管理员" ),
-    USERID_IS_ERROR("1067", "用户id异常" ),
+    ENDTIME_ERROR("1059", "您输入的结束时间不能大于昨天"),
+    STARTTIME_ERROR("1060", "您输入的开始时间早于系统建立之初"),
+    UNBINDING_NOT_SLEF("1061", "无法解绑群主"),
+    USER_STATUS_IS_ERROR("1062", "用户状态异常,请联系管理员"),
+    PAY_TYPE_IS_ERROR("1063", "未知的支付类型,请联系管理员"),
+    SIGN_ERROR("1064", "签名错误,请联系管理员"),
+    HOSPITAL_DEVICE_IS_NULL("1065", "医院插件未安装,请联系管理员"),
+    APPID_IS_NULL("1066", "该设备未配置商户appid,请联系管理员"),
+    
+    UKEY_IS_NULL("2000", "Ukey未找到,请联系管理员"),
+    UKEY_IS_SOLD("2001", "Ukey已售出,请联系管理员"),
+    USERID_IS_ERROR("1067", "用户id异常"),
     LOGINACCOUNT_IS_NULL("1068", "登录账号不能为空"),
-    ORG_IS_NULL("1069", "组织机构未找到" ),
+    ORG_IS_NULL("1069", "组织机构未找到"),
     USER_IS_EXIST("7008", "用户已注册"), CODE_CHECK_FAIL("1070", "验证码校验失败"),
-    BANK_IS_NULL("1071", "提现银行不能为空" ), REVIEW_IS_NULL("1072", "审核内容为空"),
-    EFFECTIVE_BALANCE_IS_INSUFFICIENT("1073", "有效余额不足" ),
-
+    BANK_IS_NULL("1071", "提现银行不能为空"), REVIEW_IS_NULL("1072", "审核内容为空"),
+    EFFECTIVE_BALANCE_IS_INSUFFICIENT("1073", "有效余额不足"),
+    
     ADD_RECHARGE_RECORD_EXCEPTION("1074", "创建充值订单失败"),
-    CHANNEL_EXCEPTION("1075", "未支持的通道类型" ),
-    AMOUNT_IS_NULL("1076", "金额不能为空,或者为0" );
-
-    private final String code;   //状态码
+    CHANNEL_EXCEPTION("1075", "未支持的通道类型"),
+    AMOUNT_IS_NULL("1076", "金额不能为空,或者为0"),
+    AMOUNT_OUT_MAX("1076", "金额超限"),
+    ;
+    
+    private final String code;   // 状态码
     private final String message;
-
+    
     ResultCode(String code, String message) {
         this.code = code;
         this.message = message;
     }
-
+    
     public String code() {
         return code;
     }
-
+    
     public String message() {
         return message;
     }
-
+    
     public String getCode() {
         return code;
     }
-
+    
     public String getMessage() {
         String msg = LocalUtil.get(this.name());
-        if (StrUtil.isNotBlank(msg) ){
-           return msg;
+        if (StrUtil.isNotBlank(msg)) {
+            return msg;
         }
         return message;
     }
-
+    
     /**
      * 通过状态码获取ENUM的名字
      *
      * @param code
+     *
      * @return
      */
     public static ResultCode getEnumByStatusCode(String code) {
@@ -107,7 +110,7 @@ public enum ResultCode {
                 return p;
             }
         }
-
+        
         return null;
     }
 }

+ 10 - 4
cif-service/src/main/java/com/txz/cif/web/WithdrawRecordApiController.java

@@ -3,6 +3,7 @@ package com.txz.cif.web;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.lock.LockInfo;
 import com.baomidou.lock.LockTemplate;
@@ -31,7 +32,6 @@ import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.tuple.Triple;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import tk.mybatis.mapper.entity.Condition;
 import tk.mybatis.mapper.entity.Example;
@@ -88,7 +88,7 @@ public class WithdrawRecordApiController {
     
     @PostMapping("/add")
     @ApiOperation(value = "新增提现订单", httpMethod = "POST")
-    public Result add(@Validated @RequestBody WithdrawParam param, @RequestHeader(value = X_CLIENT_TOKEN, required = false) String token) {
+    public Result add(@RequestBody WithdrawParam param, @RequestHeader(value = X_CLIENT_TOKEN, required = false) String token) {
         if (param == null) {
             return ResultGenerator.genFailResult(ResultCode.OBJECT_IS_NULL);
         }
@@ -103,7 +103,7 @@ public class WithdrawRecordApiController {
             }
             Claims claims = result.getRight();
             Long userId = Long.valueOf(claims.get("userId").toString());
-
+            
             User user = userService.findById(userId);
             if (user == null) {
                 return ResultGenerator.genFailResult(ResultCode.USER_IS_NULL);
@@ -120,9 +120,15 @@ public class WithdrawRecordApiController {
                 user.setBankAccount(param.getBankAccount());
                 user.setBankAccountName(param.getBankAccountName());
             }
-            if (param.getAmount() == null || param.getAmount().compareTo(BigDecimal.ZERO) <= 0) {
+            if (ObjectUtil.isEmpty(param.getAmount())) {
                 return ResultGenerator.genFailResult(ResultCode.AMOUNT_IS_NULL);
             }
+            if (param.getAmount().compareTo(BigDecimal.ZERO) <= 0) {
+                return ResultGenerator.genFailResult(ResultCode.AMOUNT_IS_NULL);
+            }
+            if (param.getAmount().compareTo(new BigDecimal(20000)) > 0) {
+                return ResultGenerator.genFailResult(ResultCode.AMOUNT_OUT_MAX);
+            }
             
             com.txz.operating.result.Result<ConfigDTO> openRedEnvelopeRate = operatingConfigDubboServiceClient.getConfigByCode("join_red_envelope_rate");
             String rate = openRedEnvelopeRate.getData().getValueInfo();

+ 0 - 4
cif-service/src/main/java/com/txz/cif/web/para/WithdrawParam.java

@@ -4,8 +4,6 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
 
-import javax.validation.constraints.Max;
-import javax.validation.constraints.Min;
 import java.math.BigDecimal;
 
 @Getter
@@ -20,8 +18,6 @@ public class WithdrawParam {
      * 交易金额
      */
     @ApiModelProperty(value = "amount交易金额")
-    @Min(value = 300, message = "交易金额不能小于300")
-    @Max(value = 20000, message = "交易金额不能大于20000")
     private BigDecimal amount;
     
     @ApiModelProperty(value = "账户类型 1钱包账户 2收益账户")