From 1ebf69fac2c6a600e1b3151e57bf889ed5d4a2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=87=E4=BD=B3?= Date: Thu, 9 Sep 2021 13:56:35 +0800 Subject: [PATCH] =?UTF-8?q?Vo=E5=8F=82=E6=95=B0=E6=A0=A1=E9=AA=8C=EF=BC=8C?= =?UTF-8?q?SysNotificationMapper.xml=E4=BB=A3=E7=A0=81=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/utils/ValidatorUtils.java | 24 +++++++++ .../dao/entity/vo/NewSysNotificationVo.java | 25 +++++---- .../entity/vo/UpdateNotificationStatusVo.java | 4 ++ .../notification/SysNotificationMapper.xml | 12 ++++- .../controller/NotificationController.java | 53 +++++++++++++++++-- 5 files changed, 103 insertions(+), 15 deletions(-) create mode 100644 common/src/main/java/cn/org/gitlink/notification/common/utils/ValidatorUtils.java diff --git a/common/src/main/java/cn/org/gitlink/notification/common/utils/ValidatorUtils.java b/common/src/main/java/cn/org/gitlink/notification/common/utils/ValidatorUtils.java new file mode 100644 index 0000000..ac8e6ad --- /dev/null +++ b/common/src/main/java/cn/org/gitlink/notification/common/utils/ValidatorUtils.java @@ -0,0 +1,24 @@ +package cn.org.gitlink.notification.common.utils; + +import org.springframework.validation.BindingResult; +import org.springframework.validation.FieldError; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @description: Validator工具类 + * @author: wanjia + * @time: 2021/9/9 + */ +public class ValidatorUtils { + public static Map buildValidationErrorMessageMap(BindingResult bindingResult) { + Map errorMessageMap = new HashMap<>(); + List errList = bindingResult.getFieldErrors(); + for (FieldError error : errList) { + errorMessageMap.put(error.getField(), error.getDefaultMessage()); + } + return errorMessageMap; + } +} diff --git a/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/vo/NewSysNotificationVo.java b/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/vo/NewSysNotificationVo.java index 45da142..faa8d6e 100644 --- a/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/vo/NewSysNotificationVo.java +++ b/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/vo/NewSysNotificationVo.java @@ -1,33 +1,40 @@ package cn.org.gitlink.notification.model.dao.entity.vo; import io.swagger.annotations.ApiModelProperty; +import org.hibernate.validator.constraints.Range; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; +import javax.validation.constraints.Size; public class NewSysNotificationVo { @ApiModelProperty(value = "平台编码", required = true) - @NotBlank + @NotBlank(message = "平台编码不能为空") private String platform; @ApiModelProperty(value = "消息发送者", required = true) - @NotNull - private long sender; + @NotNull(message = "消息发送者不能为空") + @Range(min = Long.MIN_VALUE, max = Long.MAX_VALUE) + private Long sender; - @ApiModelProperty(value = "消息接受者", required = true) - @NotBlank + @ApiModelProperty(value = "消息接收者", required = true) + @Pattern(regexp = "^\\d+(,\\d+)*$", message = "接收者id串非法") + @NotBlank(message = "消息接收者不能为空") private String receivers; @ApiModelProperty(value = "消息内容", required = true) - @NotBlank + @NotBlank(message = "消息内容不能为空") private String content; @ApiModelProperty(value = "消息跳转链接") + @Size(max = 2000, message = "消息跳转链接长度在0~2000") private String notification_url; @ApiModelProperty(value = "消息类型 1-系统消息 2-@我", required = true) - @NotNull + @Range(min = 1, max = 2) + @NotNull(message = "消息类型不能为空") private Integer type; @ApiModelProperty(value = "消息来源") @@ -60,11 +67,11 @@ public class NewSysNotificationVo { this.platform = platform; } - public long getSender() { + public Long getSender() { return sender; } - public void setSender(long sender) { + public void setSender(Long sender) { this.sender = sender; } diff --git a/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/vo/UpdateNotificationStatusVo.java b/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/vo/UpdateNotificationStatusVo.java index 5500f24..1a1870b 100644 --- a/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/vo/UpdateNotificationStatusVo.java +++ b/model/src/main/java/cn/org/gitlink/notification/model/dao/entity/vo/UpdateNotificationStatusVo.java @@ -1,9 +1,11 @@ package cn.org.gitlink.notification.model.dao.entity.vo; import io.swagger.annotations.ApiModelProperty; +import org.hibernate.validator.constraints.Range; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Pattern; public class UpdateNotificationStatusVo { @ApiModelProperty(value = "平台编号", required = true) @@ -12,10 +14,12 @@ public class UpdateNotificationStatusVo { @ApiModelProperty(value = "消息ids", required = true) @NotBlank + @Pattern(regexp = "^\\d+(,\\d+)*$", message = "消息id串非法") private String notificationIds; @ApiModelProperty(value = "已读状态: 1未读,2已读", required = true) @NotNull + @Range(min = 1, max = 2) private Integer status; public String getPlatform() { diff --git a/model/src/main/resources/mapper/notification/SysNotificationMapper.xml b/model/src/main/resources/mapper/notification/SysNotificationMapper.xml index a974ebd..8374dd5 100644 --- a/model/src/main/resources/mapper/notification/SysNotificationMapper.xml +++ b/model/src/main/resources/mapper/notification/SysNotificationMapper.xml @@ -11,9 +11,11 @@ + + - id, sender, receiver, content, notification_url, created_at, status, type, is_delete, status, extra + id, sender, receiver, content, notification_url, created_at, status, type, is_delete, source, extra