diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java index b3f733c0..0eac59e2 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/util/ValidUtil.java @@ -47,6 +47,26 @@ public class ValidUtil { throw new JeroBootException(constraintViolation.getMessage()); } } + + /** + * @Description 校验全部数据格式 + * @Author lqt + * @Date 2021/8/26 + * @Param + * @Return + * @Exception + */ + public static StringBuilder validateAll(Object object,Class... groups){ + StringBuilder msg = new StringBuilder(); + Set> set = validatorAll.validate(object, Default.class); + if(set != null && set.size() >0 ){ + for(ConstraintViolation constraintViolation : set){ + // 这里循环获取错误信息,可以自定义格式 + msg.append(constraintViolation.getMessage()).append("
"); + } + } + return msg; + } /** * @Description 校验excel 每行数据格式 * @Author lqt diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java index a29b06c8..1c4ac34f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayCompanyManagementController.java @@ -5,6 +5,7 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -46,7 +47,7 @@ public class PayCompanyManagementController extends JeroController add(@RequestBody PayCompanyManagement payCompanyManagement) { - ValidUtil.validate(payCompanyManagement); + StringBuilder msg = ValidUtil.validateAll(payCompanyManagement); + if(!StringUtils.isBlank(msg)){ + return Result.error(msg.toString()); + } // 新增企业前在次校验企业名称是否存在 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName()); @@ -85,10 +89,11 @@ public class PayCompanyManagementController extends JeroController edit(@RequestBody PayCompanyManagement payCompanyManagement) { - ValidUtil.validate(payCompanyManagement); + StringBuilder msg = ValidUtil.validateAll(payCompanyManagement); + if(!StringUtils.isBlank(msg)){ + return Result.error(msg.toString()); + } // 编辑保存企业前再次校验企业名称是否存在 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayCompanyManagement::getCompanyName,payCompanyManagement.getCompanyName()); @@ -176,6 +184,7 @@ public class PayCompanyManagementController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayCompanyManagement::getCompanyName,companyName); + queryWrapper.eq(PayCompanyManagement::getDataSource,PayCompanyManagementCommon.DATA_SOURCE1); PayCompanyManagement payCompanyManagement = payCompanyManagementService.getOne(queryWrapper); if(Objects.isNull(payCompanyManagement)) { return Result.OK("没有该企业名称!"); @@ -254,21 +263,6 @@ public class PayCompanyManagementController extends JeroController{ int count = list.indexOf(p); - // 校验 表中是否存在企业名称 - if(!CollectionUtils.isEmpty(listAll)){ - List listCompanyEquals = listAll.stream().filter(p1->Objects.equals(p1.getCompanyName(),p.getCompanyName())).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listCompanyEquals)){ - // 已存在数据来源是报名,变更来源为管理端,替换掉数据 - if(!Objects.equals(listCompanyEquals.get(0).getDataSource(),PayCompanyManagementCommon.DATA_SOURCE2)){ - PayCompanyManagement payCompanyManagement = p; - payCompanyManagement.setId(listCompanyEquals.get(0).getId()); - payCompanyManagement.setDataSource(PayCompanyManagementCommon.DATA_SOURCE1); - listSigning.add(payCompanyManagement); - listRemove.add(p); - } - msg.append("第").append(count + 3).append("行:企业名称已经存在,请修改。
"); - } - } // 校验excel表中是否存在重复企业名称 if(listCompany.contains(p.getCompanyName())){ msg.append("第 ").append(count + 3).append(" 行:企业名称在excel中重复,请修改。
"); @@ -281,12 +275,29 @@ public class PayCompanyManagementController extends JeroController listCompanyEquals = listAll.stream().filter(p1->Objects.equals(p1.getCompanyName(),p.getCompanyName())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listCompanyEquals)){ + // 已存在数据来源是报名,变更来源为管理端,替换掉数据 + if(Objects.equals(listCompanyEquals.get(0).getDataSource(),PayCompanyManagementCommon.DATA_SOURCE2)){ + String str = JSON.toJSONString(p); + PayCompanyManagement payCompanyManagement = JSON.parseObject(str,PayCompanyManagement.class); + payCompanyManagement.setId(listCompanyEquals.get(0).getId()); + payCompanyManagement.setSigningUp(listCompanyEquals.get(0).getSigningUp()); + listSigning.add(payCompanyManagement); + listRemove.add(p); + return; + } + msg.append("第").append(count + 3).append("行:企业名称已经存在,请修改。
"); + } + } }); if(!StringUtils.isBlank(msg)){ return Result.error(msg.toString()); } // 去掉变更来源的数据 - if(CollectionUtils.isEmpty(list) && !CollectionUtils.isEmpty(listRemove)){ + if(!CollectionUtils.isEmpty(list) && !CollectionUtils.isEmpty(listRemove)){ list.removeAll(listRemove); } // 更新数据 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java index ba938b3c..597da68f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/controller/PayContactsManagementController.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -49,8 +50,10 @@ import io.swagger.annotations.ApiOperation; public class PayContactsManagementController extends JeroController { @Autowired private IPayContactsManagementService payContactsManagementService; - @Autowired - private IPayCompanyManagementService payCompanyManagementService; + @Autowired + private IPayCompanyManagementService payCompanyManagementService; + + // todo 缺少联系人加入到用户表,可以登录 /** * 分页列表查询 @@ -91,7 +94,10 @@ public class PayContactsManagementController extends JeroController add(@RequestBody PayContactsManagement payContactsManagement) { - ValidUtil.validate(payContactsManagement); + StringBuilder msg = ValidUtil.validateAll(payContactsManagement); + if(!StringUtils.isBlank(msg)){ + return Result.error(msg.toString()); + } // 新增企业前在次校验企业名称是否存在 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayContactsManagement::getPhone,payContactsManagement.getPhone()); @@ -99,10 +105,11 @@ public class PayContactsManagementController extends JeroController edit(@RequestBody PayContactsManagement payContactsManagement) { - ValidUtil.validate(payContactsManagement); + StringBuilder msg = ValidUtil.validateAll(payContactsManagement); + if(!StringUtils.isBlank(msg)){ + return Result.error(msg.toString()); + } // 编辑保存企业前再次校验企业名称是否存在 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayContactsManagement::getPhone,payContactsManagement.getPhone()); @@ -192,6 +202,7 @@ public class PayContactsManagementController extends JeroController queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(PayContactsManagement::getPhone,phone); + queryWrapper.eq(PayContactsManagement::getDataSource,PayContactsManagementCommon.DATA_SOURCE1); PayContactsManagement payContactsManagement = payContactsManagementService.getOne(queryWrapper); if(Objects.isNull(payContactsManagement)) { return Result.OK("没有该手机号!"); @@ -286,21 +297,6 @@ public class PayContactsManagementController extends JeroController{ int count = list.indexOf(p); - // 校验 表中是否存手机号 - if(!CollectionUtils.isEmpty(listContactsAll)){ - List listCompanyEquals = listContactsAll.stream().filter(p1->Objects.equals(p1.getPhone(),p.getPhone())).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(listCompanyEquals)){ - // 已存在数据来源是报名,变更来源为管理端,替换掉数据 - if(!Objects.equals(listCompanyEquals.get(0).getDataSource(),PayContactsManagementCommon.DATA_SOURCE2)){ - PayContactsManagement payContactsManagement = p; - payContactsManagement.setId(listCompanyEquals.get(0).getId()); - payContactsManagement.setDataSource(PayContactsManagementCommon.DATA_SOURCE1); - listSigning.add(payContactsManagement); - listRemove.add(p); - } - msg.append("第").append(count + 3).append("行:手机号已经存在,请修改。
"); - } - } // 校验excel表中是否存在重复手机号 if(listContacts.contains(p.getPhone())){ msg.append("第 ").append(count + 3).append(" 行:手机号在excel中重复,请修改。
"); @@ -322,12 +318,29 @@ public class PayContactsManagementController extends JeroController"); } } + // 校验 表中是否存手机号 + if(!CollectionUtils.isEmpty(listContactsAll)){ + List listCompanyEquals = listContactsAll.stream().filter(p1->Objects.equals(p1.getPhone(),p.getPhone())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listCompanyEquals)){ + // 已存在数据来源是报名,变更来源为管理端,替换掉数据 + if(Objects.equals(listCompanyEquals.get(0).getDataSource(),PayContactsManagementCommon.DATA_SOURCE2)){ + String str = JSON.toJSONString(p); + PayContactsManagement payContactsManagement = JSON.parseObject(str,PayContactsManagement.class); + payContactsManagement.setId(listCompanyEquals.get(0).getId()); + payContactsManagement.setSigningUp(listCompanyEquals.get(0).getSigningUp()); + listSigning.add(payContactsManagement); + listRemove.add(p); + return; + } + msg.append("第").append(count + 3).append("行:手机号已经存在,请修改。
"); + } + } }); if(!StringUtils.isBlank(msg)){ return Result.error(msg.toString()); } // 去掉变更来源的数据 - if(CollectionUtils.isEmpty(list) && !CollectionUtils.isEmpty(listRemove)){ + if(!CollectionUtils.isEmpty(list) && !CollectionUtils.isEmpty(listRemove)){ list.removeAll(listRemove); } // 更新数据 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyManagement.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyManagement.java index 1fe616cd..fab77d82 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyManagement.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayCompanyManagement.java @@ -48,13 +48,13 @@ public class PayCompanyManagement implements Serializable { @Excel(name = "公司电话", width = 15) @ApiModelProperty(value = "公司电话") @Size(max = 15, message = "公司电话长度应小于15个字符") - @Pattern(regexp = "^((0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$|(0\\d{10})$",message = "公司电话格式错误") + @Pattern(regexp = "^(([0-9]{3,4}-)?[0-9]{7,8})|(((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\\d{8})$",message = "公司电话格式错误") private String companyPhone; /**邮编*/ @Excel(name = "邮编", width = 15) @ApiModelProperty(value = "邮编") @Size(min=6,max = 6,message = "邮编长度必须为6个字符") - @Pattern(regexp = "^[0-9]{6}$",message = "邮编格式错误") + @Pattern(regexp = "^[0-9]\\d{5}$",message = "邮编格式错误") private String postalCode; /**银行户名*/ @Excel(name = "银行户名", width = 15) @@ -76,6 +76,7 @@ public class PayCompanyManagement implements Serializable { @Excel(name = "税号", width = 15) @ApiModelProperty(value = "税号") @Size(max = 50, message = "税号长度应小于50个字符") + @Pattern(regexp = "^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$",message = "税号格式错误") private String dutyCode; /**数据来源(1:管理端,2:报名)*/ @ApiModelProperty(value = "数据来源(1:管理端,2:报名)") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayContactsManagement.java b/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayContactsManagement.java index 1b265e98..555da0bc 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayContactsManagement.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/company/entity/PayContactsManagement.java @@ -67,12 +67,12 @@ public class PayContactsManagement implements Serializable { @Excel(name = "手机号", width = 15) @ApiModelProperty(value = "手机号") @NotEmpty(message = "手机号不能为空!") - @Pattern(regexp = "^1(3|4|5|7|8)\\d{9}$",message = "手机号码格式错误") + @Pattern(regexp = "^((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\\d{8}$",message = "手机号码格式错误") private String phone; /**邮箱*/ @Excel(name = "邮箱", width = 15) @ApiModelProperty(value = "邮箱") - @Email(message = "邮箱格式有误") + @Pattern(regexp = "^\\w[-\\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\\.)+[A-Za-z]{2,14}$",message = "邮箱格式有误") @NotEmpty(message = "邮箱不能为空!") private String email; /**通讯地址*/ @@ -85,7 +85,7 @@ public class PayContactsManagement implements Serializable { @Excel(name = "邮政编码", width = 15) @Size(min=6,max = 6,message = "邮政编码长度必须为6个字符") @ApiModelProperty(value = "邮政编码") - @Pattern(regexp = "^[0-9]{6}$",message = "邮编格式错误") + @Pattern(regexp = "^[0-9]\\d{5}$",message = "邮编格式错误") @NotEmpty(message = "邮政编码不能为空!") private String postalCode; /**数据来源(1:管理端,2:报名)*/