From 734168f0693b0f7c373a002bf868aceb560215e0 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 13 Oct 2021 16:13:56 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bug=2040551=20=E4=BC=9A=E8=AE=AE=E8=AF=A6?= =?UTF-8?q?=E6=83=85--=E6=96=B0=E5=A2=9E-=E6=98=AF=E5=90=A6=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E9=80=81=E7=AB=99=E9=80=89=E6=8B=A9=E6=98=AF=E5=90=8E?= =?UTF-8?q?,=E6=96=B0=E5=87=BA=E7=8E=B0=E7=9A=84=E4=B8=89=E4=B8=AA?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=9C=89=E4=BB=A5=E4=B8=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jero/common/util/ValidUtil.java | 14 +++++--------- .../impl/PayMeetingSituationServiceImpl.java | 17 ++++++++++------- .../jero/meeting/vo/InternationalGuestVO.java | 2 ++ .../system/controller/SysDepartController.java | 6 +++--- .../system/controller/SysUserController.java | 6 +++--- 5 files changed, 23 insertions(+), 22 deletions(-) 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 4615839a..4e09654f 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 @@ -7,7 +7,6 @@ import org.apache.commons.lang3.StringUtils; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; -import javax.validation.groups.Default; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -47,7 +46,7 @@ public class ValidUtil { msg.append(constraintViolation.getMessage()).append(","); } if (StringUtils.isNotBlank(msg)) { - throw new JeroBootException(msg.toString()); + throw new JeroBootException(msg.substring(0,msg.length()-1)); } } @@ -58,16 +57,13 @@ public class ValidUtil { * @param groups 待校验的组 * @return errorList */ - public static String validateReturnList(Object object, Class... groups){ - StringBuilder msg = new StringBuilder(); + public static List validateReturnList(Object object, Class... groups){ + List list = new ArrayList<>(); Set> set = validator.validate(object, groups); for (ConstraintViolation constraintViolation : set) { - msg.append(constraintViolation.getMessage()).append(","); + list.add(constraintViolation.getMessage()); } - if (msg.length()>0){ - return msg.substring(0,msg.length()-1); - } - return msg.toString(); + return list; } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index b4616f25..3a5068b6 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -790,34 +790,37 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl validateReturnList = ValidUtil.validateReturnList(internationalGuestVO); //用餐 Integer haveMeals = internationalGuestVO.getHaveMeals(); if (haveMeals.equals(MeetingSubitemCommon.HAVE_MEALS)) { - ValidUtil.validate(internationalGuestVO, HaveMeals.class); + validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, HaveMeals.class)); } //接站 Integer pickUp = internationalGuestVO.getPickUp(); if (pickUp.equals(MeetingSubitemCommon.PICK_UP)) { - ValidUtil.validate(internationalGuestVO, PickUp.class); + validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, PickUp.class)); } //送站 Integer deliveryStation = internationalGuestVO.getDeliveryStation(); if (deliveryStation.equals(MeetingSubitemCommon.DELIVERY_STATION)) { - ValidUtil.validate(internationalGuestVO, DeliveryStation.class); + validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, DeliveryStation.class)); } //校验VIP,演讲嘉宾的公共字段 if (!guestType.equals(MeetingSubitemCommon.GUEST)) { - ValidUtil.validate(internationalGuestVO, Guest.class); + validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, Guest.class)); //校验VIP if (guestType.equals(MeetingSubitemCommon.VIP)) { - ValidUtil.validate(internationalGuestVO, VIP.class); + validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, VIP.class)); Integer checkInHotel = internationalGuestVO.getCheckInHotel(); if (checkInHotel.equals(MeetingSubitemCommon.CHECK_IN_HOTEL)) { - ValidUtil.validate(internationalGuestVO, CheckInHotel.class); + validateReturnList.addAll(ValidUtil.validateReturnList(internationalGuestVO, CheckInHotel.class)); } } } + if (!validateReturnList.isEmpty()){ + throw new JeroBootException(StringUtils.strip(validateReturnList.toString(),"[]")); + } } BeanUtils.copyProperties(internationalGuestVO, payMeetingSituation1); // 参会人 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/InternationalGuestVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/InternationalGuestVO.java index 0e008a7f..1ab335b4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/InternationalGuestVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/InternationalGuestVO.java @@ -140,12 +140,14 @@ public class InternationalGuestVO { @Excel(name = "离开站", width = 15) @ApiModelProperty(value = "离开站") @Size(max = 50,message = "离开站最大为50字符",groups = DeliveryStation.class) + @NotBlank(message = "离开站不能为空",groups = DeliveryStation.class) private String departureStation; /**离开班次*/ @Excel(name = "离开班次", width = 15) @ApiModelProperty(value = "离开班次") @Size(max = 50,message = "离开班次最大为50字符",groups = DeliveryStation.class) + @NotBlank(message = "离开班次不能为空",groups = DeliveryStation.class) private String departureShift; /**同行人*/ diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java index fee4c9fc..b78d396f 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java @@ -417,9 +417,9 @@ public class SysDepartController { sysDepart.setDelFlag(CommonConstant.DEL_FLAG_0.toString()); int lineNumber = num +1; try { - String error = ValidUtil.validateReturnList(sysDepart); - if (StringUtils.isNotBlank(error)){ - errorMessage.add("第 " + lineNumber + " 行:"+ error); + List errorList = ValidUtil.validateReturnList(sysDepart); + if (!errorList.isEmpty()){ + errorMessage.add("第 " + lineNumber + " 行:"+ StringUtils.strip(errorList.toString(),"[]")); } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysDepart::getDepartName,sysDepart.getDepartName()); diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 2ec0170e..de00c0e4 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -762,10 +762,10 @@ public class SysUserController { sysUser.setDelFlag(0); sysUser.setStatus(1); try { - String error = ValidUtil.validateReturnList(sysUser); - if (StringUtils.isNotBlank(error)){ + List errorList = ValidUtil.validateReturnList(sysUser); + if (!errorList.isEmpty()){ errorLines++; - errorMessage.add("第 " + lineNumber + " 行:"+ error); + errorMessage.add("第 " + lineNumber + " 行:"+ StringUtils.strip(errorList.toString(),"[]")); } //处理邮箱和手机号的加密 UserUtil.encryptUser(sysUser);