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