From 94546c44e348286069e041d291a895e76b8cecd2 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Wed, 17 Aug 2022 10:05:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=AE=BE=E7=BD=AE=E4=B8=BA?= =?UTF-8?q?=E5=B7=B2=E8=AF=BB=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9=EF=BC=9A?= =?UTF-8?q?=E8=8B=A5=E4=B8=BA=E5=AE=A1=E6=89=B9=E4=B8=AD=E5=BF=83=EF=BC=8C?= =?UTF-8?q?=E5=88=99=E6=A0=B9=E6=8D=AEmsgSid=E6=9B=B4=E6=96=B0=E6=B6=88?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E8=8B=A5=E4=B8=8D=E6=98=AF=E5=88=99=E6=A0=B9?= =?UTF-8?q?=E6=8D=AEmessage=5Flist=E7=9A=84sid=E6=9B=B4=E6=96=B0=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/messagelist/MessageListMapper.java | 2 + .../biz/messagelist/MessageListMapper.xml | 120 +++++++++++------- .../biz/messagelist/MessageListRest.java | 52 +++++++- .../biz/messagelist/MessageListService.java | 4 + 4 files changed, 126 insertions(+), 52 deletions(-) diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java index cdb6d90..ce7883f 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java @@ -87,4 +87,6 @@ public interface MessageListMapper extends BaseMapper { IPage getAppMsgListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); int updateAppReadByType(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid); + + List selectByMsgSid(String s); } \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml index cb99b49..ddf7076 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml @@ -27,8 +27,8 @@ m.msgSource, ml.state FROM message_list ml - LEFT JOIN message m - ON m.sid = ml.msgSid + LEFT JOIN message m + ON m.sid = ml.msgSid ${ew.sqlSegment} @@ -45,12 +45,12 @@ m.msgSource, ml.receiverSid FROM message_list ml - LEFT JOIN message m - ON m.sid = ml.msgSid + LEFT JOIN message m + ON m.sid = ml.msgSid ${ew.sqlSegment} - and ml.state = 0 - and ml.rDelStatus = 0 + and ml.state = 0 + and ml.rDelStatus = 0 @@ -65,12 +65,12 @@ m.msgSource, ml.receiverSid FROM message_list ml - LEFT JOIN message m - ON m.sid = ml.msgSid + LEFT JOIN message m + ON m.sid = ml.msgSid ${ew.sqlSegment} - and ml.state = 0 - and ml.rDelStatus = 0 + and ml.state = 0 + and ml.rDelStatus = 0 @@ -83,9 +83,9 @@ mt.crossIconUrl iconImage, DATE_FORMAT(m.createTime, '%Y-%m-%d') AS createTime FROM message_list ml - LEFT JOIN message m ON m.sid = ml.msgSid - left join message_type mt ON mt.sid = m.msgTypeSid - ${ew.customSqlSegment} + LEFT JOIN message m ON m.sid = ml.msgSid + left join message_type mt ON mt.sid = m.msgTypeSid + ${ew.customSqlSegment} @@ -98,7 +98,7 @@ update message_list set state=1 - WHERE sid IN + WHERE sid IN #{item} @@ -108,7 +108,7 @@ update message_list set state=0 - WHERE sid IN + WHERE sid IN #{item} @@ -118,24 +118,24 @@ @@ -143,48 +143,74 @@ - UPDATE message_list ml,message m set ml.state=1 - WHERE ml.msgSid=m.sid AND ml.receiverSid=#{userSid} AND m.msgTypeSid=#{msgTypeSid} + UPDATE message_list ml,message m + set ml.state=1 + WHERE ml.msgSid = m.sid + AND ml.receiverSid = #{userSid} + AND m.msgTypeSid = #{msgTypeSid} + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java index 6648fcd..53e5103 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java @@ -12,6 +12,7 @@ import com.yxt.messagecenter.api.messagelist.*; import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery; import com.yxt.messagecenter.api.messagelist.app.AppMessageListVo; import com.yxt.messagecenter.api.messagelist.app.AppMsgMainVo; +import com.yxt.messagecenter.biz.message.MessageService; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; @@ -44,6 +45,8 @@ public class MessageListRest implements MessageListFeign { @Autowired private HttpServletRequest request; + @Autowired + private MessageService messageService; @Override public ResultBean> noreadListPage(PagerQuery pq) { @@ -52,7 +55,7 @@ public class MessageListRest implements MessageListFeign { DecodedJWT decodedJWT = JWT.decode(token); String userSid = JWTUtil.getUserSid(decodedJWT); ResultBean rb = ResultBean.fireFail(); - PagerVo pv = messageListService.noreadListPage(pq,userSid); + PagerVo pv = messageListService.noreadListPage(pq, userSid); return rb.success().setData(pv); } @@ -63,7 +66,7 @@ public class MessageListRest implements MessageListFeign { DecodedJWT decodedJWT = JWT.decode(token); String userSid = JWTUtil.getUserSid(decodedJWT); ResultBean rb = ResultBean.fireFail(); - PagerVo pv = messageListService.readListPage(pq,userSid); + PagerVo pv = messageListService.readListPage(pq, userSid); return rb.success().setData(pv); } @@ -110,19 +113,58 @@ public class MessageListRest implements MessageListFeign { DecodedJWT decodedJWT = JWT.decode(token); String receiverSid = JWTUtil.getUserSid(decodedJWT); Integer count = messageListService.fetchByReceiverSid(receiverSid); - if (count == 0){ + if (count == 0) { return rb.success().setMessage("该用户下暂无未读消息"); - }else { + } else { int num = messageListService.updateByReceiverSid(receiverSid); } return rb.success().setMessage("操作成功"); } + /** + * 2022-08-17修整已读:若为审批中心,则根据msgSid更新消息,若不是则根据message_list的sid更新消息 + * + * @param sids + * @return + */ @Override public ResultBean changeRead(String sids) { ResultBean rb = ResultBean.fireFail(); List sidList = Arrays.asList(sids.split(",")); - int count = messageListService.changeRead(sidList); + if (sidList.size() == 1) { + //判断是否在消息列表中 + MessageList messageList = messageListService.fetchBySid(sidList.get(0)); + if (messageList == null) { + //查询是否在消息体中 + Message message = messageService.fetchBySid(sidList.get(0)); + if (message != null) { + //查询是否是审批中心 + if ("审批中心".equals(message.getMsgType())) { + //更新所有的已读 + List stringList = messageListService.selectByMsgSid(sidList.get(0)); + int count = messageListService.changeRead(stringList); + } + } + } else { + Message message = messageService.fetchBySid(messageList.getMsgSid()); + if (message != null) { + //查询是否是审批中心 + if ("审批中心".equals(message.getMsgType())) { + //更新所有的已读 + List stringList = messageListService.selectByMsgSid(sidList.get(0)); + int count = messageListService.changeRead(stringList); + }else{ + int count = messageListService.changeRead(sidList); + } + }else{ + int count = messageListService.changeRead(sidList); + } + + } + } else { + int count = messageListService.changeRead(sidList); + } + return rb.success().setMessage("操作成功"); } diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java index 49574e0..8e0be8c 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java @@ -338,4 +338,8 @@ public class MessageListService extends MybatisBaseService selectByMsgSid(String s) { + return baseMapper.selectByMsgSid(s); + } } \ No newline at end of file