From c1bb616b3eacf61f326e78754aba02dfb33962a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=87=E4=BD=B3?= Date: Wed, 8 Sep 2021 16:49:24 +0800 Subject: [PATCH 1/2] =?UTF-8?q?writer=E4=B8=ADsendNotification=E5=92=8Ccha?= =?UTF-8?q?ngeNotificationStatus=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 11 +++ writer/pom.xml | 12 +++ .../SysNotificationController.java | 40 +++++++++ .../vo/NewSysNotificationVo.java | 82 +++++++++++++++++++ .../vo/UpdateNotificationStatusVo.java | 44 ++++++++++ 5 files changed, 189 insertions(+) create mode 100644 writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/SysNotificationController.java create mode 100644 writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/NewSysNotificationVo.java create mode 100644 writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/UpdateNotificationStatusVo.java diff --git a/pom.xml b/pom.xml index 32a8eb8..0501762 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,17 @@ commons-lang3 3.10 + + + com.google.guava + guava + 20.0 + + + org.springframework.boot + spring-boot-starter-validation + ${springboot.version} + \ No newline at end of file diff --git a/writer/pom.xml b/writer/pom.xml index c0584e4..386307e 100644 --- a/writer/pom.xml +++ b/writer/pom.xml @@ -26,6 +26,18 @@ gns-common 1.0.0 + + cn.org.gitlink.notification + gns-model + 1.0.0 + compile + + + cn.org.gitlink.notification + gns-model + 1.0.0 + compile + diff --git a/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/SysNotificationController.java b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/SysNotificationController.java new file mode 100644 index 0000000..5094d4f --- /dev/null +++ b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/SysNotificationController.java @@ -0,0 +1,40 @@ +package cn.org.gitlink.notification.writer.controller.sysNotification; + +import cn.org.gitlink.notification.common.response.DataPacketUtil; +import cn.org.gitlink.notification.common.response.ResponseData; +import cn.org.gitlink.notification.common.utils.KafkaUtil; +import cn.org.gitlink.notification.model.service.notification.SysNotificationService; +import cn.org.gitlink.notification.writer.controller.sysNotification.vo.NewSysNotificationVo; +import cn.org.gitlink.notification.writer.controller.sysNotification.vo.UpdateNotificationStatusVo; +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping(value = "/gns/notification") +public class SysNotificationController { + + @Autowired + private KafkaUtil kafkaUtil; + + @Autowired + private SysNotificationService sysNotificationService; + + @ApiOperation("添加系统消息") + @RequestMapping(path = "/", method = RequestMethod.POST) + @ResponseBody + public ResponseData sendNotification(@Validated @RequestBody NewSysNotificationVo newSysNotificationVo) { + kafkaUtil.sendMessage("gitlink_notification", JSONObject.toJSONString(newSysNotificationVo)); + return DataPacketUtil.jsonSuccessResult(); + } + + @ApiOperation("改变系统消息状态") + @RequestMapping(path = "/", method = RequestMethod.PUT) + @ResponseBody + public ResponseData changeNotificationStatus(@RequestBody UpdateNotificationStatusVo updateNotificationStatusVo) { + int i = sysNotificationService.markNotificationAs(updateNotificationStatusVo.getPlatform(), updateNotificationStatusVo.getNotificationIds(), updateNotificationStatusVo.getStatus()); + return i > 0 ? DataPacketUtil.jsonSuccessResult() : DataPacketUtil.jsonFailResult(); + } +} diff --git a/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/NewSysNotificationVo.java b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/NewSysNotificationVo.java new file mode 100644 index 0000000..8f9975d --- /dev/null +++ b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/NewSysNotificationVo.java @@ -0,0 +1,82 @@ +package cn.org.gitlink.notification.writer.controller.sysNotification.vo; + +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +public class NewSysNotificationVo { + + @ApiModelProperty(value = "平台编码", required = true) + @NotBlank + private String platform; + + @ApiModelProperty(value = "消息发送者", required = true) + @NotNull + private long sender; + + @ApiModelProperty(value = "消息接受者", required = true) + @NotBlank + private String receivers; + + @ApiModelProperty(value = "消息内容", required = true) + @NotBlank + private String content; + + @ApiModelProperty(value = "消息跳转链接", required = true) + @NotBlank + private String notification_url; + + @ApiModelProperty(value = "消息类型 1-系统消息 2-@我", required = true) + @NotNull + private Integer type; + + public String getPlatform() { + return platform; + } + + public void setPlatform(String platform) { + this.platform = platform; + } + + public long getSender() { + return sender; + } + + public void setSender(long sender) { + this.sender = sender; + } + + public String getReceivers() { + return receivers; + } + + public void setReceivers(String receivers) { + this.receivers = receivers; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getNotification_url() { + return notification_url; + } + + public void setNotification_url(String notification_url) { + this.notification_url = notification_url; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } +} diff --git a/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/UpdateNotificationStatusVo.java b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/UpdateNotificationStatusVo.java new file mode 100644 index 0000000..9bbee0e --- /dev/null +++ b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/UpdateNotificationStatusVo.java @@ -0,0 +1,44 @@ +package cn.org.gitlink.notification.writer.controller.sysNotification.vo; + +import io.swagger.annotations.ApiModelProperty; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +public class UpdateNotificationStatusVo { + @ApiModelProperty(value = "平台编号", required = true) + @NotBlank + private String platform; + + @ApiModelProperty(value = "消息ids", required = true) + @NotBlank + private String notificationIds; + + @ApiModelProperty(value = "已读状态: 1未读,2已读", required = true) + @NotNull + private Integer status; + + public String getPlatform() { + return platform; + } + + public void setPlatform(String platform) { + this.platform = platform; + } + + public String getNotificationIds() { + return notificationIds; + } + + public void setNotificationIds(String notificationIds) { + this.notificationIds = notificationIds; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } +} -- 2.34.1 From 64fc2982ba37d6358feb3b5c68c6d3c07c9aed60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=87=E4=BD=B3?= Date: Wed, 8 Sep 2021 16:57:27 +0800 Subject: [PATCH 2/2] =?UTF-8?q?json=E6=A0=A1=E9=AA=8C=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/sysNotification/SysNotificationController.java | 2 +- .../controller/sysNotification/vo/NewSysNotificationVo.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/SysNotificationController.java b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/SysNotificationController.java index 5094d4f..3ba6f7a 100644 --- a/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/SysNotificationController.java +++ b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/SysNotificationController.java @@ -33,7 +33,7 @@ public class SysNotificationController { @ApiOperation("改变系统消息状态") @RequestMapping(path = "/", method = RequestMethod.PUT) @ResponseBody - public ResponseData changeNotificationStatus(@RequestBody UpdateNotificationStatusVo updateNotificationStatusVo) { + public ResponseData changeNotificationStatus(@Validated @RequestBody UpdateNotificationStatusVo updateNotificationStatusVo) { int i = sysNotificationService.markNotificationAs(updateNotificationStatusVo.getPlatform(), updateNotificationStatusVo.getNotificationIds(), updateNotificationStatusVo.getStatus()); return i > 0 ? DataPacketUtil.jsonSuccessResult() : DataPacketUtil.jsonFailResult(); } diff --git a/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/NewSysNotificationVo.java b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/NewSysNotificationVo.java index 8f9975d..85fb8f9 100644 --- a/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/NewSysNotificationVo.java +++ b/writer/src/main/java/cn/org/gitlink/notification/writer/controller/sysNotification/vo/NewSysNotificationVo.java @@ -24,8 +24,7 @@ public class NewSysNotificationVo { @NotBlank private String content; - @ApiModelProperty(value = "消息跳转链接", required = true) - @NotBlank + @ApiModelProperty(value = "消息跳转链接") private String notification_url; @ApiModelProperty(value = "消息类型 1-系统消息 2-@我", required = true) -- 2.34.1