diff --git a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java b/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java index fd9bbe3a..b8c97954 100644 --- a/buyer-api/src/main/java/cn/lili/controller/other/distribution/DistributionBuyerController.java +++ b/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 applyDistribution(@RequestParam String name, @RequestParam String idNumber) { - return ResultUtil.data(distributionService.applyDistribution(name, idNumber)); + public ResultMessage applyDistribution(DistributionApplyDTO distributionApplyDTO) { + return ResultUtil.data(distributionService.applyDistribution(distributionApplyDTO)); } @ApiOperation(value = "获取分销员分页订单列表") diff --git a/framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java b/framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java index 2b21b32c..bdcc2d70 100644 --- a/framework/src/main/java/cn/lili/common/validation/impl/MobileValidator.java +++ b/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 { @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) { diff --git a/framework/src/main/java/cn/lili/modules/distribution/entity/dos/Distribution.java b/framework/src/main/java/cn/lili/modules/distribution/entity/dos/Distribution.java index ce31ee33..7615e194 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/entity/dos/Distribution.java +++ b/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; + } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/distribution/entity/dto/DistributionApplyDTO.java b/framework/src/main/java/cn/lili/modules/distribution/entity/dto/DistributionApplyDTO.java new file mode 100644 index 00000000..b98026de --- /dev/null +++ b/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; +} diff --git a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionService.java b/framework/src/main/java/cn/lili/modules/distribution/service/DistributionService.java index 536617ae..cbb91aa9 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/service/DistributionService.java +++ b/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 { * * @return */ - Distribution applyDistribution(String name, String idNumber); + Distribution applyDistribution(DistributionApplyDTO distributionApplyDTO); /** * 审核分销申请 diff --git a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionServiceImpl.java b/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionServiceImpl.java index 70d60870..f3c329ee 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/serviceimpl/DistributionServiceImpl.java +++ b/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