From b2419e63b56fe329c21bcd0ff02d01a428439a88 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 18 May 2020 09:31:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BF=E5=BA=9C=E6=AE=B5=E6=88=91=E7=9A=84?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/StaffMessageCommonFormDTO.java | 29 ++++++ .../epmet/dto/form/StaffMessageFormDTO.java | 39 ++++++++ .../dto/result/StaffMessageResultDTO.java | 39 ++++++++ .../dto/result/StaffUnReadMsgResultDTO.java | 19 ++++ .../controller/UserMessageController.java | 19 ++++ .../java/com/epmet/dao/UserMessageDao.java | 34 +++++-- .../com/epmet/service/UserMessageService.java | 8 ++ .../service/impl/UserMessageServiceImpl.java | 34 +++++++ .../main/resources/mapper/UserMessageDao.xml | 31 +++++- .../epmet/dto/form/StaffReadMsgFormDTO.java | 19 ++++ epmet-module/gov-mine/gov-mine-server/pom.xml | 6 ++ .../controller/StaffMessageController.java | 98 +++++++++++++++++++ .../epmet/feign/EpmetMessageFeignClient.java | 64 ++++++++++++ .../EpmetMessageFeignClientFallBack.java | 44 +++++++++ .../epmet/service/StaffMessageService.java | 52 ++++++++++ .../service/impl/StaffMessageServiceImpl.java | 73 ++++++++++++++ 16 files changed, 601 insertions(+), 7 deletions(-) create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/StaffMessageCommonFormDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/StaffMessageFormDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/StaffMessageResultDTO.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/StaffUnReadMsgResultDTO.java create mode 100644 epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/form/StaffReadMsgFormDTO.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffMessageController.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/EpmetMessageFeignClient.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/EpmetMessageFeignClientFallBack.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffMessageService.java create mode 100644 epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffMessageServiceImpl.java diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/StaffMessageCommonFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/StaffMessageCommonFormDTO.java new file mode 100644 index 0000000000..7ef66067c3 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/StaffMessageCommonFormDTO.java @@ -0,0 +1,29 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 政府端wxmp-未读消息查询入参 + * @Author yinzuomei + * @Date 2020/5/17 14:17 + */ +@Data +public class StaffMessageCommonFormDTO implements Serializable { + private static final long serialVersionUID = 6926536123515417293L; + + /** + * 当前登录的工作人员,从token中获取 + */ + @NotBlank(message="用户id不能为空") + private String userId; + + /** + * 用户当前访问的网格对应的客户id + */ + @NotBlank(message="客户id不能为空") + private String customerId; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/StaffMessageFormDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/StaffMessageFormDTO.java new file mode 100644 index 0000000000..a808702d1f --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/form/StaffMessageFormDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 政府端wxmp-查询我的消息 + * @Author yinzuomei + * @Date 2020/5/17 14:50 + */ +@Data +public class StaffMessageFormDTO implements Serializable { + /** + * 当前登录的工作人员,从token中获取 + */ + @NotBlank(message="用户id不能为空") + private String userId; + + /** + * 用户当前访问的网格对应的客户id + */ + @NotBlank(message="客户id不能为空") + private String customerId; + + /** + * 页码 + */ + @Min(1) + private Integer pageNo; + + /** + * 每页显示条数 + */ + private Integer pageSize = 20; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/StaffMessageResultDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/StaffMessageResultDTO.java new file mode 100644 index 0000000000..43a31a5e00 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/StaffMessageResultDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 政府端wxmp-查询我的消息返参 + * @Author yinzuomei + * @Date 2020/5/17 14:52 + */ +@Data +public class StaffMessageResultDTO implements Serializable { + /** + * 消息id + */ + private String id; + + /** + * 消息标题 + */ + private String title; + + /** + * 消息内容 + */ + private String messageContent; + + /** + * read已读、unread未读 + */ + private String readFlag; + + /** + * 通知时间 + */ + private Long createdTime; +} + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/StaffUnReadMsgResultDTO.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/StaffUnReadMsgResultDTO.java new file mode 100644 index 0000000000..24bef36b88 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/dto/result/StaffUnReadMsgResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 政府端wxmp-未读消息查询返参 + * @Author yinzuomei + * @Date 2020/5/17 14:19 + */ +@Data +public class StaffUnReadMsgResultDTO implements Serializable { + /** + * 未读消息总数 + */ + private Integer unReadCount; +} + diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/UserMessageController.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/UserMessageController.java index 9f2ca4aea9..82cc047ea8 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/UserMessageController.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/controller/UserMessageController.java @@ -17,6 +17,7 @@ package com.epmet.controller; +import com.baomidou.mybatisplus.extension.api.R; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; @@ -27,7 +28,11 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.UserMessageDTO; import com.epmet.dto.form.MymessageFormDTO; +import com.epmet.dto.form.StaffMessageCommonFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; import com.epmet.dto.form.UserMessageFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; +import com.epmet.dto.result.StaffUnReadMsgResultDTO; import com.epmet.excel.UserMessageExcel; import com.epmet.service.UserMessageService; import org.springframework.beans.factory.annotation.Autowired; @@ -143,4 +148,18 @@ public class UserMessageController { public Result saveUserMessageList(@RequestBody List msgList) { return userMessageService.saveUserMessageList(msgList); } + + @PostMapping("staff/queryunreadmsg") + public Result queryUnReadMsg(@RequestBody StaffMessageCommonFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + StaffUnReadMsgResultDTO staffUnReadMsgResultDTO = userMessageService.queryUnReadMsg(formDTO); + return new Result().ok(staffUnReadMsgResultDTO); + } + + @PostMapping("staff/querystaffmessage") + public Result> queryStaffMessage(@RequestBody StaffMessageFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + List list = userMessageService.queryStaffMessage(formDTO); + return new Result>().ok(list); + } } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/UserMessageDao.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/UserMessageDao.java index db8cc78e3c..bc89c54224 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/UserMessageDao.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/dao/UserMessageDao.java @@ -19,8 +19,11 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.MymessageFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; import com.epmet.entity.UserMessageEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -33,11 +36,30 @@ import java.util.List; @Mapper public interface UserMessageDao extends BaseDao { - /** - * 获取消息分页 - * @param messageFromDTO - * @return - */ - List selectMyMessageList(MymessageFormDTO messageFromDTO); + /** + * 获取消息分页 + * + * @param messageFromDTO + * @return + */ + List selectMyMessageList(MymessageFormDTO messageFromDTO); + /** + * @param userId + * @param customerId + * @return java.lang.Integer + * @Author yinzuomei + * @Description 根据用户id、客户id统计用户未读消息总数 + * @Date 2020/5/17 16:47 + **/ + Integer queryUnReadMsg(@Param("userId") String userId, @Param("customerId") String customerId); + + /** + * @param formDTO + * @return java.util.List + * @Author yinzuomei + * @Description 查询政府端工作人员我的消息列表 + * @Date 2020/5/17 16:47 + **/ + List queryStaffMessage(StaffMessageFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/UserMessageService.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/UserMessageService.java index ebb6141067..cdc41470c8 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/UserMessageService.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/UserMessageService.java @@ -22,7 +22,11 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.UserMessageDTO; import com.epmet.dto.form.MymessageFormDTO; +import com.epmet.dto.form.StaffMessageCommonFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; import com.epmet.dto.form.UserMessageFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; +import com.epmet.dto.result.StaffUnReadMsgResultDTO; import com.epmet.entity.UserMessageEntity; import java.util.List; import java.util.Map; @@ -134,4 +138,8 @@ public interface UserMessageService extends BaseService { * @Description 批量插入未读消息 **/ Result saveUserMessageList(List msgList); + + StaffUnReadMsgResultDTO queryUnReadMsg(StaffMessageCommonFormDTO formDTO); + + List queryStaffMessage(StaffMessageFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/UserMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/UserMessageServiceImpl.java index 1e5cc4e52e..f54f420294 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/UserMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/UserMessageServiceImpl.java @@ -29,7 +29,11 @@ import com.epmet.constant.UserMessageConstans; import com.epmet.dao.UserMessageDao; import com.epmet.dto.UserMessageDTO; import com.epmet.dto.form.MymessageFormDTO; +import com.epmet.dto.form.StaffMessageCommonFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; import com.epmet.dto.form.UserMessageFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; +import com.epmet.dto.result.StaffUnReadMsgResultDTO; import com.epmet.entity.UserMessageEntity; import com.epmet.redis.UserMessageRedis; import com.epmet.service.UserMessageService; @@ -174,4 +178,34 @@ public class UserMessageServiceImpl extends BaseServiceImpl + * @param formDTO + * @Author yinzuomei + * @Description 查询政府端工作人员我的消息列表 + * @Date 2020/5/17 16:43 + **/ + @Override + public List queryStaffMessage(StaffMessageFormDTO formDTO) { + int pageIndex = (formDTO.getPageNo() - NumConstant.ONE) * formDTO.getPageSize(); + formDTO.setPageNo(pageIndex); + List list = baseDao.queryStaffMessage(formDTO); + return list; + } } \ No newline at end of file diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/UserMessageDao.xml b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/UserMessageDao.xml index 0b00512305..e10f36499c 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/UserMessageDao.xml +++ b/epmet-module/epmet-message/epmet-message-server/src/main/resources/mapper/UserMessageDao.xml @@ -49,5 +49,34 @@ LIMIT #{pageNo}, #{pageSize} - + + + + \ No newline at end of file diff --git a/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/form/StaffReadMsgFormDTO.java b/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/form/StaffReadMsgFormDTO.java new file mode 100644 index 0000000000..446d9d3953 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-client/src/main/java/com/epmet/dto/form/StaffReadMsgFormDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description 单条消息标记为已读入参 + * @Author yinzuomei + * @Date 2020/5/17 15:56 + */ +@Data +public class StaffReadMsgFormDTO implements Serializable { + @NotBlank(message = "消息id不能为空") + private String messageId; + +} + diff --git a/epmet-module/gov-mine/gov-mine-server/pom.xml b/epmet-module/gov-mine/gov-mine-server/pom.xml index ec553d4044..8abf376389 100644 --- a/epmet-module/gov-mine/gov-mine-server/pom.xml +++ b/epmet-module/gov-mine/gov-mine-server/pom.xml @@ -84,6 +84,12 @@ 2.0.0 compile + + com.epmet + epmet-message-client + 2.0.0 + compile + diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffMessageController.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffMessageController.java new file mode 100644 index 0000000000..f5654d6c6e --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/controller/StaffMessageController.java @@ -0,0 +1,98 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.StaffMessageCommonFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; +import com.epmet.dto.form.StaffReadMsgFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; +import com.epmet.dto.result.StaffUnReadMsgResultDTO; +import com.epmet.service.StaffMessageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @Description 政府端小程序首页,我的消息 + * @Author yinzuomei + * @Date 2020/5/17 14:11 + */ +@RestController +@RequestMapping("message") +public class StaffMessageController { + + @Autowired + private StaffMessageService staffMessageService; + + /** + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 未读消息查询 + * @Date 2020/5/17 15:48 + **/ + @PostMapping("unreadmsg") + public Result unReadMsg(@LoginUser TokenDto tokenDto, + @RequestBody StaffMessageCommonFormDTO formDTO) { + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO); + StaffUnReadMsgResultDTO staffUnReadMsgResultDTO = staffMessageService.queryUnReadMsg(formDTO); + return new Result().ok(staffUnReadMsgResultDTO); + } + + /** + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询我的消息 + * @Date 2020/5/17 15:48 + **/ + @PostMapping("mymessage") + public Result> myMessage(@LoginUser TokenDto tokenDto, + @RequestBody StaffMessageFormDTO formDTO) { + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO); + List staffMessageResultDTO = staffMessageService.queryStaffMessage(formDTO); + return new Result>().ok(staffMessageResultDTO); + } + + /** + * @param tokenDto + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 全部已读(清楚未读) + * @Date 2020/5/17 15:52 + **/ + @PostMapping("readall") + public Result readAll(@LoginUser TokenDto tokenDto, + @RequestBody StaffMessageCommonFormDTO formDTO) { + formDTO.setUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO); + staffMessageService.readAllMessage(formDTO); + return new Result(); + } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 单条消息标记为已读 + * @Date 2020/5/17 15:57 + **/ + @PostMapping("readmsg") + public Result readMessage(@RequestBody StaffReadMsgFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + staffMessageService.readMessage(formDTO); + return new Result(); + } +} + diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/EpmetMessageFeignClient.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/EpmetMessageFeignClient.java new file mode 100644 index 0000000000..3b613a5c18 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/EpmetMessageFeignClient.java @@ -0,0 +1,64 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.UserMessageDTO; +import com.epmet.dto.form.StaffMessageCommonFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; +import com.epmet.dto.result.StaffUnReadMsgResultDTO; +import com.epmet.feign.fallback.EpmetMessageFeignClientFallBack; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/4/7 14:55 + */ +@FeignClient(name = ServiceConstant.EPMET_MESSAGE_SERVER, fallback = EpmetMessageFeignClientFallBack.class) +public interface EpmetMessageFeignClient { + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @Author yinzuomei + * @Description 查询未读消息 + * @Date 2020/5/17 16:10 + **/ + @PostMapping("/message/usermessage/staff/queryunreadmsg") + Result queryUnReadMsg(@RequestBody StaffMessageCommonFormDTO formDTO); + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @Author yinzuomei + * @Description 查询我的消息列表 + * @Date 2020/5/17 16:10 + **/ + @PostMapping("/message/usermessage/staff/querystaffmessage") + Result> queryStaffMessage(@RequestBody StaffMessageFormDTO formDTO); + + /** + * 单条消息已读 + * + * @param messageDTO 参数 + * @return Result + */ + @PostMapping("/message/usermessage/readmsg") + Result readMessage(@RequestBody UserMessageDTO messageDTO); + + /** + * 消息全部已读 + * + * @param messageDTO 参数 + * @return Result + */ + @PostMapping("/message/usermessage/readall") + Result readAllMessage(@RequestBody UserMessageDTO messageDTO); + + +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/EpmetMessageFeignClientFallBack.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/EpmetMessageFeignClientFallBack.java new file mode 100644 index 0000000000..6cb4cf0a2c --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/feign/fallback/EpmetMessageFeignClientFallBack.java @@ -0,0 +1,44 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.UserMessageDTO; +import com.epmet.dto.form.StaffMessageCommonFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; +import com.epmet.dto.result.StaffUnReadMsgResultDTO; +import com.epmet.feign.EpmetMessageFeignClient; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/4/7 14:58 + */ +@Component +public class EpmetMessageFeignClientFallBack implements EpmetMessageFeignClient { + + @Override + public Result queryUnReadMsg(StaffMessageCommonFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "queryUnReadMsg", formDTO); + } + + @Override + public Result> queryStaffMessage(StaffMessageFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "queryStaffMessage", formDTO); + } + + @Override + public Result readMessage(UserMessageDTO messageDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "readMessage", messageDTO); + } + + @Override + public Result readAllMessage(UserMessageDTO messageDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_MESSAGE_SERVER, "allRead", messageDTO); + } + +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffMessageService.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffMessageService.java new file mode 100644 index 0000000000..9dfdab16e4 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/StaffMessageService.java @@ -0,0 +1,52 @@ +package com.epmet.service; + +import com.epmet.dto.form.StaffMessageCommonFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; +import com.epmet.dto.form.StaffReadMsgFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; +import com.epmet.dto.result.StaffUnReadMsgResultDTO; + +import java.util.List; + +/** + * @Description 政府端小程序首页,我的消息 + * @Author yinzuomei + * @Date 2020/5/17 14:12 + */ +public interface StaffMessageService { + /** + * @param formDTO + * @return com.epmet.dto.result.StaffUnReadMsgResultDTO + * @Author yinzuomei + * @Description 查询未读消息 + * @Date 2020/5/17 15:58 + **/ + StaffUnReadMsgResultDTO queryUnReadMsg(StaffMessageCommonFormDTO formDTO); + + /** + * @param formDTO + * @return com.epmet.dto.result.StaffMessageResultDTO + * @Author yinzuomei + * @Description 查询我的消息 + * @Date 2020/5/17 15:58 + **/ + List queryStaffMessage(StaffMessageFormDTO formDTO); + + /** + * @param formDTO + * @return void + * @Author yinzuomei + * @Description 清除未读 + * @Date 2020/5/17 15:58 + **/ + void readAllMessage(StaffMessageCommonFormDTO formDTO); + + /** + * @param formDTO + * @return void + * @Author yinzuomei + * @Description 单条已读 + * @Date 2020/5/17 15:58 + **/ + void readMessage(StaffReadMsgFormDTO formDTO); +} diff --git a/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffMessageServiceImpl.java b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffMessageServiceImpl.java new file mode 100644 index 0000000000..3d3c541217 --- /dev/null +++ b/epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffMessageServiceImpl.java @@ -0,0 +1,73 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.UserMessageDTO; +import com.epmet.dto.form.StaffMessageCommonFormDTO; +import com.epmet.dto.form.StaffMessageFormDTO; +import com.epmet.dto.form.StaffReadMsgFormDTO; +import com.epmet.dto.result.StaffMessageResultDTO; +import com.epmet.dto.result.StaffUnReadMsgResultDTO; +import com.epmet.feign.EpmetMessageFeignClient; +import com.epmet.service.StaffMessageService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Description 政府端小程序首页,我的消息 + * @Author yinzuomei + * @Date 2020/5/17 14:12 + */ +@Service +public class StaffMessageServiceImpl implements StaffMessageService { + private Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private EpmetMessageFeignClient epmetMessageFeignClient; + + + @Override + public StaffUnReadMsgResultDTO queryUnReadMsg(StaffMessageCommonFormDTO formDTO) { + StaffUnReadMsgResultDTO staffUnReadMsgResultDTO = new StaffUnReadMsgResultDTO(); + staffUnReadMsgResultDTO.setUnReadCount(0); + Result result = epmetMessageFeignClient.queryUnReadMsg(formDTO); + if (result.success() && null != result.getData()) { + return result.getData(); + } + return staffUnReadMsgResultDTO; + } + + @Override + public List queryStaffMessage(StaffMessageFormDTO formDTO) { + Result> result = epmetMessageFeignClient.queryStaffMessage(formDTO); + if (result.success() && null != result.getData() && result.getData().size() > 0) { + return result.getData(); + } + return new ArrayList<>(); + } + + @Override + public void readAllMessage(StaffMessageCommonFormDTO formDTO) { + UserMessageDTO userMessageDTO = new UserMessageDTO(); + userMessageDTO.setUserId(formDTO.getUserId()); + userMessageDTO.setCustomerId(formDTO.getCustomerId()); + Result result = epmetMessageFeignClient.readAllMessage(userMessageDTO); + if (result.success()) { + logger.info(String.format("客户id:%s,staffId:%s清除未读消息成功", formDTO.getCustomerId(), formDTO.getUserId())); + } + } + + @Override + public void readMessage(StaffReadMsgFormDTO formDTO) { + UserMessageDTO userMessageDTO = new UserMessageDTO(); + userMessageDTO.setId(formDTO.getMessageId()); + Result result = epmetMessageFeignClient.readMessage(userMessageDTO); + if (result.success()) { + logger.info(String.format("消息id:%s置为已读", formDTO.getMessageId())); + } + } +} +