Преглед на файлове

1.分销员添加结算银行信息
2.电话校验支持手机号

lifenlong преди 4 години
родител
ревизия
800437473d

+ 3 - 6
buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java

@@ -5,6 +5,7 @@ import cn.lili.common.security.context.UserContext;
 import cn.lili.common.vo.ResultMessage;
 import cn.lili.modules.distribution.entity.dos.Distribution;
 import cn.lili.modules.distribution.entity.dos.DistributionOrder;
+import cn.lili.modules.distribution.entity.dto.DistributionApplyDTO;
 import cn.lili.modules.distribution.entity.vos.DistributionOrderSearchParams;
 import cn.lili.modules.distribution.service.DistributionOrderService;
 import cn.lili.modules.distribution.service.DistributionService;
@@ -41,13 +42,9 @@ public class DistributionBuyerController {
 
     //申请分销员
     @ApiOperation(value = "申请分销员")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "name", value = "姓名", required = true, paramType = "query", dataType = "String"),
-            @ApiImplicitParam(name = "idNumber", value = "身份证号", required = true, paramType = "query", dataType = "String")
-    })
     @PostMapping
-    public ResultMessage<Object> applyDistribution(@RequestParam String name, @RequestParam String idNumber) {
-        return ResultUtil.data(distributionService.applyDistribution(name, idNumber));
+    public ResultMessage<Object> applyDistribution(DistributionApplyDTO distributionApplyDTO) {
+        return ResultUtil.data(distributionService.applyDistribution(distributionApplyDTO));
     }
 
     @ApiOperation(value = "获取分销员分页订单列表")

+ 14 - 10
framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java

@@ -8,26 +8,30 @@ import javax.validation.ConstraintValidatorContext;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-
+/**
+ * 电话校验
+ * 支持手机号+电话同时校验
+ */
 public class MobileValidator implements ConstraintValidator<Mobile, String> {
 
     @Override
     public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
-        Pattern p1 = null,p2 = null;
+        Pattern p1 = null, p2 = null, p3 = null;
         Matcher m = null;
-        boolean b = false;
-        p1 = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$");  // 验证带区号的
+        p1 = Pattern.compile("0\\d{2,3}[-]?\\d{7,8}|0\\d{2,3}\\s?\\d{7,8}|13[0-9]\\d{8}|15[1089]\\d{8}");  // 验证带区号的
         p2 = Pattern.compile("^[1-9]{1}[0-9]{5,8}$");         // 验证没有区号的
-        if(value.length() >9)
-        {   m = p1.matcher(value);
-            b = m.matches();
-        }else{
+        p3 = Pattern.compile("^0?(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])[0-9]{8}$");// 验证手机号
+        if (value.length() == 11) {
+            m = p3.matcher(value);
+        } else if (value.length() > 9) {
+            m = p1.matcher(value);
+        } else {
             m = p2.matcher(value);
-            b = m.matches();
         }
-        return b;
+        return m.matches();
     }
 
+
     @Override
     public void initialize(Mobile constraintAnnotation) {
 

+ 21 - 3
framework/src/main/java/cn/lili/modules/distribution/entity/dos/Distribution.java

@@ -1,6 +1,8 @@
 package cn.lili.modules.distribution.entity.dos;
 
 import cn.lili.base.BaseEntity;
+import cn.lili.common.utils.BeanUtil;
+import cn.lili.modules.distribution.entity.dto.DistributionApplyDTO;
 import cn.lili.modules.distribution.entity.enums.DistributionStatusEnum;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
@@ -10,6 +12,8 @@ import lombok.NoArgsConstructor;
 
 import javax.persistence.Entity;
 import javax.persistence.Table;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
 
 /**
  * 分销员对象
@@ -28,13 +32,12 @@ public class Distribution extends BaseEntity {
 
     private static final long serialVersionUID = -4878132663540847325L;
 
-    public Distribution(String memberId, String memberName, String name, String idNumber) {
+    public Distribution(String memberId, String memberName, DistributionApplyDTO distributionApplyDTO) {
         this.memberId = memberId;
         this.memberName = memberName;
-        this.name = name;
-        this.idNumber = idNumber;
         distributionOrderCount=0;
         this.distributionStatus = DistributionStatusEnum.APPLY.name();
+        BeanUtil.copyProperties(distributionApplyDTO, this);
     }
 
     @ApiModelProperty(value = "会员id")
@@ -67,4 +70,19 @@ public class Distribution extends BaseEntity {
     @ApiModelProperty(value = "分销员状态", required = true)
     private String distributionStatus;
 
+    @Size(min = 1, max = 200, message = "结算银行开户行名称长度为1-200位")
+    @NotBlank(message = "结算银行开户行名称不能为空")
+    @ApiModelProperty(value = "结算银行开户行名称")
+    private String settlementBankAccountName;
+
+    @Size(min = 1, max = 200, message = "结算银行开户账号长度为1-200位")
+    @NotBlank(message = "结算银行开户账号不能为空")
+    @ApiModelProperty(value = "结算银行开户账号")
+    private String settlementBankAccountNum;
+
+    @Size(min = 1, max = 200, message = "结算银行开户支行名称长度为1-200位")
+    @NotBlank(message = "结算银行开户支行名称不能为空")
+    @ApiModelProperty(value = "结算银行开户支行名称")
+    private String settlementBankBranchName;
+
 }

+ 40 - 0
framework/src/main/java/cn/lili/modules/distribution/entity/dto/DistributionApplyDTO.java

@@ -0,0 +1,40 @@
+package cn.lili.modules.distribution.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.Size;
+
+/**
+ * 分销员申请DTO
+ * @author Bulbasaur
+ * @date: 2021/6/30 11:07 上午
+ *
+ */
+@Data
+public class DistributionApplyDTO {
+
+    @NotBlank(message = "姓名不能为空")
+    @ApiModelProperty(value = "会员姓名")
+    private String name;
+
+    @NotBlank(message = "身份证号不能为空")
+    @ApiModelProperty(value = "身份证号")
+    private String idNumber;
+
+    @Size(min = 1, max = 200, message = "结算银行开户行名称长度为1-200位")
+    @NotBlank(message = "结算银行开户行名称不能为空")
+    @ApiModelProperty(value = "结算银行开户行名称")
+    private String settlementBankAccountName;
+
+    @Size(min = 1, max = 200, message = "结算银行开户账号长度为1-200位")
+    @NotBlank(message = "结算银行开户账号不能为空")
+    @ApiModelProperty(value = "结算银行开户账号")
+    private String settlementBankAccountNum;
+
+    @Size(min = 1, max = 200, message = "结算银行开户支行名称长度为1-200位")
+    @NotBlank(message = "结算银行开户支行名称不能为空")
+    @ApiModelProperty(value = "结算银行开户支行名称")
+    private String settlementBankBranchName;
+}

+ 2 - 1
framework/src/main/java/cn/lili/modules/distribution/service/DistributionService.java

@@ -2,6 +2,7 @@ package cn.lili.modules.distribution.service;
 
 import cn.lili.common.vo.PageVO;
 import cn.lili.modules.distribution.entity.dos.Distribution;
+import cn.lili.modules.distribution.entity.dto.DistributionApplyDTO;
 import cn.lili.modules.distribution.entity.dto.DistributionSearchParams;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -36,7 +37,7 @@ public interface DistributionService extends IService<Distribution> {
      *
      * @return
      */
-    Distribution applyDistribution(String name, String idNumber);
+    Distribution applyDistribution(DistributionApplyDTO distributionApplyDTO);
 
     /**
      * 审核分销申请

+ 5 - 4
framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionServiceImpl.java

@@ -6,9 +6,11 @@ import cn.lili.common.cache.CachePrefix;
 import cn.lili.common.enums.ResultCode;
 import cn.lili.common.exception.ServiceException;
 import cn.lili.common.security.context.UserContext;
+import cn.lili.common.utils.BeanUtil;
 import cn.lili.common.utils.PageUtil;
 import cn.lili.common.vo.PageVO;
 import cn.lili.modules.distribution.entity.dos.Distribution;
+import cn.lili.modules.distribution.entity.dto.DistributionApplyDTO;
 import cn.lili.modules.distribution.entity.dto.DistributionSearchParams;
 import cn.lili.modules.distribution.entity.enums.DistributionStatusEnum;
 import cn.lili.modules.distribution.mapper.DistributionMapper;
@@ -64,7 +66,7 @@ public class DistributionServiceImpl extends ServiceImpl<DistributionMapper, Dis
     }
 
     @Override
-    public Distribution applyDistribution(String name, String idNumber) {
+    public Distribution applyDistribution(DistributionApplyDTO distributionApplyDTO) {
 
         //检查分销开关
         checkDistributionSetting();
@@ -78,8 +80,7 @@ public class DistributionServiceImpl extends ServiceImpl<DistributionMapper, Dis
                 throw new ServiceException(ResultCode.DISTRIBUTION_IS_APPLY);
             }else if(distribution.getDistributionStatus().equals(DistributionStatusEnum.REFUSE.name())){
                 distribution.setDistributionStatus(DistributionStatusEnum.APPLY.name());
-                distribution.setName(name);
-                distribution.setIdNumber(idNumber);
+                BeanUtil.copyProperties(distributionApplyDTO,distribution);
                 this.updateById(distribution);
                 return distribution;
             }
@@ -88,7 +89,7 @@ public class DistributionServiceImpl extends ServiceImpl<DistributionMapper, Dis
         //获取当前登录用户
         Member member = memberService.getUserInfo();
         //新建分销员
-        distribution = new Distribution(member.getId(), member.getUsername(), name, idNumber);
+        distribution = new Distribution(member.getId(), member.getNickName(), distributionApplyDTO);
         //添加分销员
         this.save(distribution);
 

+ 4 - 0
update-sql/version4.1to4.2.sql

@@ -0,0 +1,4 @@
+/** 添加分销员结算信息**/
+ALTER TABLE li_distribution ADD settlement_bank_account_name varchar ( 200 );
+ALTER TABLE li_distribution ADD settlement_bank_account_num varchar ( 200 );
+ALTER TABLE li_distribution ADD settlement_bank_branch_name varchar ( 200 );