From e17e57b6874ce000f2cfa1dd09a51eeb4132cc61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=B5=B7=E6=B4=8B?= Date: Fri, 18 Aug 2023 14:43:12 +0800 Subject: [PATCH 01/23] add-unread-statistics api --- .../notices/service/MessageRecordService.java | 2 ++ .../impl/InsideMessageRecordApiImpl.java | 11 +++++-- .../impl/MessageRecordServiceImpl.java | 11 +++++++ .../src/test/resources/message.http | 30 +++++++++++++++++++ 4 files changed, 52 insertions(+), 2 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java index 33898472..d325b4f5 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java @@ -64,4 +64,6 @@ public interface MessageRecordService { IPage querySent(QueryMessageRecordReq request); + Integer unReadStatistics(MessageStatisticsReq request); + } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java index a4ee8347..79f86014 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java @@ -2,12 +2,16 @@ package cn.axzo.msg.center.inside.notices.service.impl; import cn.axzo.core.domain.PageResult; import cn.axzo.msg.center.api.InsideMessageRecordApi; +import cn.axzo.msg.center.api.enums.MsgTypeEnum; import cn.axzo.msg.center.api.request.*; import cn.axzo.msg.center.api.response.MessageNewRes; import cn.axzo.msg.center.api.response.MessageRecordRes; import cn.axzo.msg.center.common.exception.ServiceException; import cn.axzo.msg.center.common.utils.BeanConvertUtils; +import cn.axzo.msg.center.dal.MessageRecordDao; +import cn.axzo.msg.center.dal.MessageRouterDao; import cn.axzo.msg.center.domain.dto.UpdateReadDTO; +import cn.axzo.msg.center.domain.entity.MessageRecord; import cn.axzo.msg.center.inside.notices.service.MessageRecordService; import cn.azxo.framework.common.model.CommonResponse; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -16,6 +20,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.Objects; @Slf4j @RestController @@ -24,6 +29,9 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi { @Resource private MessageRecordService messageRecordService; + @Resource + private MessageRecordDao messageRecordDao; + @Override public CommonResponse> listMsgInfo4Trade(CmsMsgListReq req) { CmsMsgQueryReq request=new CmsMsgQueryReq(); @@ -63,8 +71,7 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi { @Override public CommonResponse unReadStatistics(MessageStatisticsReq request) { - - return null; + return CommonResponse.success(messageRecordService.unReadStatistics(request)); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java index 96802ac3..3af2203f 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java @@ -579,4 +579,15 @@ public class MessageRecordServiceImpl implements MessageRecordService { public IPage querySent(QueryMessageRecordReq request) { return messageRecordDao.querySent(request); } + + @Override + public Integer unReadStatistics(MessageStatisticsReq request) { + return messageRecordDao.lambdaQuery() + .eq(Objects.nonNull(request.getFromId()), MessageRecord::getFromId, request.getFromId()) + .eq(Objects.nonNull(request.getModuleId()), MessageRecord::getModuleId, request.getFromId()) + .eq(Objects.nonNull(request.getMsgType()), MessageRecord::getType, MsgTypeEnum.valueOf(request.getMsgType())) + .eq(Objects.nonNull(request.getToId()), MessageRecord::getToId, request.getToId()) + .eq(Objects.nonNull(request.getTenantId()), MessageRecord::getTenantId, request.getTenantId() + ).count(); + } } diff --git a/integration-test/src/test/resources/message.http b/integration-test/src/test/resources/message.http index cf061b42..7658dcdf 100644 --- a/integration-test/src/test/resources/message.http +++ b/integration-test/src/test/resources/message.http @@ -28,3 +28,33 @@ Content-Type: application/json > reponse-check.js + +### +POST {{host}}/msg/record/unread/statistics +Accept: application/json +Content-Type: application/json + +{ + "msgType": 1 +} + +> reponse-check.js + + +### +POST {{host}}/webApi/wx/message/list +Accept: application/json +Content-Type: application/json + +{ + "msgType": 1, + "personId": 1, + "msgRouteType": 1, + "page": 1, + "pageSize": 10 +} + +> reponse-check.js + + + From 0be519a0b841f2236cbac4871991b83ad37f62d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=91=E6=B5=B7=E6=B4=8B?= Date: Mon, 21 Aug 2023 12:51:21 +0800 Subject: [PATCH 02/23] =?UTF-8?q?add=20queryMessageRecordList=20=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notices/service/MessageRecordService.java | 2 ++ .../impl/InsideMessageRecordApiImpl.java | 3 +-- .../impl/MessageRecordServiceImpl.java | 19 +++++++++++++++++++ .../src/test/resources/message.http | 15 +++++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java index d325b4f5..cfbf306e 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java @@ -66,4 +66,6 @@ public interface MessageRecordService { Integer unReadStatistics(MessageStatisticsReq request); + IPage queryMessageRecordList(MessageRecordReq request); + } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java index 79f86014..732fed90 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java @@ -43,8 +43,7 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi { @Override public CommonResponse> queryMessageRecordList(MessageRecordReq request) { - - return null; + return CommonResponse.success(messageRecordService.queryMessageRecordList(request)); } @Override diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java index 3af2203f..a07211ed 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java @@ -39,12 +39,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.text.StrSubstitutor; +import org.apache.logging.log4j.util.Strings; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import javax.annotation.Resource; import java.util.*; @@ -590,4 +592,21 @@ public class MessageRecordServiceImpl implements MessageRecordService { .eq(Objects.nonNull(request.getTenantId()), MessageRecord::getTenantId, request.getTenantId() ).count(); } + + @Override + public IPage queryMessageRecordList(MessageRecordReq request) { + + IPage result = messageRecordDao.lambdaQuery() + .eq(Objects.nonNull(request.getMsgType()), MessageRecord::getType, MsgTypeEnum.valueOf(request.getMsgType())) + .eq(Objects.nonNull(request.getFromId()), MessageRecord::getFromId, request.getFromId()) + .eq(Objects.nonNull(request.getTenantId()), MessageRecord::getTenantId, request.getTenantId()) + .like(Strings.isNotBlank(request.getSearchContent()), MessageRecord::getContent, request.getSearchContent()) + .eq(Objects.nonNull(request.getToId()), MessageRecord::getToId, request.getToId()) + .in(Objects.nonNull(request.getMsgStatus()), MessageRecord::getState, request.getMsgStatus()) + .eq(Objects.nonNull(request.getModuleId()), MessageRecord::getModuleId, request.getModuleId()) + .page(request.toPage()); + + return result.convert(r -> BeanConvertUtils.copyBean(r, MessageRecordRes.class)); + } + } diff --git a/integration-test/src/test/resources/message.http b/integration-test/src/test/resources/message.http index 7658dcdf..34472d60 100644 --- a/integration-test/src/test/resources/message.http +++ b/integration-test/src/test/resources/message.http @@ -56,5 +56,20 @@ Content-Type: application/json > reponse-check.js +### +POST {{host}}/msg/record/list +Accept: application/json +Content-Type: application/json + +{ + "msgType": 1, + "toId": 1, + "msgRouteType": 1, + "page": 1, + "pageSize": 10 +} + +> reponse-check.js + From 8994044f71100ca1311f5a2994e45fd67df9fdc5 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 22 Aug 2023 16:55:10 +0800 Subject: [PATCH 03/23] =?UTF-8?q?refactor(linkzo):=20=E5=B0=81=E8=A3=85?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InsideMessageRecordApiImpl.java | 14 ++++++++------ .../msg/center/api/InsideMessageRecordApi.java | 6 +++--- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java index 732fed90..7c6b10ac 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java @@ -42,8 +42,10 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi { } @Override - public CommonResponse> queryMessageRecordList(MessageRecordReq request) { - return CommonResponse.success(messageRecordService.queryMessageRecordList(request)); + public CommonResponse> queryMessageRecordList(MessageRecordReq request) { + IPage queryPage = messageRecordService.queryMessageRecordList(request); + PageResult result = new PageResult<>(queryPage.getRecords(), queryPage.getTotal()); + return CommonResponse.success(result); } @Override @@ -57,15 +59,15 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi { } @Override - public CommonResponse> queryUnReadList(QueryMessageRecordReq request) { + public CommonResponse> queryUnReadList(QueryMessageRecordReq request) { IPage result=messageRecordService.queryUnReadList(request); - return CommonResponse.success(result); + return CommonResponse.success(new PageResult<>(result.getRecords(), result.getTotal())); } @Override - public CommonResponse> querySent(QueryMessageRecordReq request) { + public CommonResponse> querySent(QueryMessageRecordReq request) { IPage result=messageRecordService.querySent(request); - return CommonResponse.success(result); + return CommonResponse.success(new PageResult<>(result.getRecords(), result.getTotal())); } @Override diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java index 926f9ef1..dcfa81dc 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java @@ -32,7 +32,7 @@ public interface InsideMessageRecordApi { * @return */ @PostMapping("msg/record/list") - CommonResponse> queryMessageRecordList(MessageRecordReq request); + CommonResponse> queryMessageRecordList(MessageRecordReq request); /** * 修改成已读 @@ -48,7 +48,7 @@ public interface InsideMessageRecordApi { * @return */ @PostMapping("msg/record/unread/list") - CommonResponse> queryUnReadList(QueryMessageRecordReq request); + CommonResponse> queryUnReadList(QueryMessageRecordReq request); /** * 查询已发送列表 @@ -56,7 +56,7 @@ public interface InsideMessageRecordApi { * @return */ @PostMapping("msg/record/sent/list") - CommonResponse> querySent(QueryMessageRecordReq request); + CommonResponse> querySent(QueryMessageRecordReq request); /** * 统计未读数量 From 02242b02326854aca9276b1692b985ce8b6ebfbd Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 22 Aug 2023 16:59:11 +0800 Subject: [PATCH 04/23] =?UTF-8?q?refactor(linkzo):=20=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../center/api/fallback/InsideMessageRecordApiFallBack.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java index 1e2746bb..d28d5ee5 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java @@ -22,7 +22,7 @@ public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi { } @Override - public CommonResponse> queryMessageRecordList(MessageRecordReq request) { + public CommonResponse> queryMessageRecordList(MessageRecordReq request) { log.warn("查询消息记录列表超时,req={}", JSONUtil.toJsonStr(request)); return CommonResponse.fail("查询消息记录列表超时"); } @@ -33,12 +33,12 @@ public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi { } @Override - public CommonResponse> queryUnReadList(QueryMessageRecordReq request) { + public CommonResponse> queryUnReadList(QueryMessageRecordReq request) { return null; } @Override - public CommonResponse> querySent(QueryMessageRecordReq request) { + public CommonResponse> querySent(QueryMessageRecordReq request) { return null; } From c53dacc54dd7a7102507f5ef299f7e433c150db8 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 22 Aug 2023 17:09:41 +0800 Subject: [PATCH 05/23] =?UTF-8?q?fix(linkzo):=20SQL=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/MessageRecordMapper.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index 15aaab1d..92a83480 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -199,8 +199,8 @@ record.router_params as routerParam, record.relation_id as relationId, record.old_type_id as oldTypeId - from message_record - where to_id={req.toId} + from message_record AS record + where to_id=#{req.toId} type = #{req.msgType} @@ -231,8 +231,8 @@ record.router_params as routerParam, record.relation_id as relationId, record.old_type_id as oldTypeId - from message_record - where to_id={req.toId} + from message_record AS record + where to_id=#{req.toId} type = #{req.msgType} From fb9318bd15de4f94255809129775e1e106463204 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 22 Aug 2023 17:15:12 +0800 Subject: [PATCH 06/23] =?UTF-8?q?fix(linkzo):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notices/service/impl/MessageRecordServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java index a07211ed..a343ebd9 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java @@ -563,11 +563,12 @@ public class MessageRecordServiceImpl implements MessageRecordService { @Override public IPage queryUnReadList(QueryMessageRecordReq request) { + IPage resultList=new MyPage<>(); + IPage newResDTOIPage = messageRecordDao.queryUnReadList(request); if(newResDTOIPage == null || newResDTOIPage.getTotal()==0){ - return null; + return resultList; } - IPage resultList=new MyPage<>(); List messageList=new ArrayList<>(); for (MessageNewResDTO record : newResDTOIPage.getRecords()) { MessageRecordRes item = BeanConvertUtils.copyBean(record, MessageRecordRes.class); From aeee4325a1d2a7055d963f6fb9795f6d5357dd83 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 22 Aug 2023 17:48:41 +0800 Subject: [PATCH 07/23] =?UTF-8?q?debug(linkzo):=20=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notices/service/impl/MessageRecordServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java index a343ebd9..a71284a4 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java @@ -585,13 +585,15 @@ public class MessageRecordServiceImpl implements MessageRecordService { @Override public Integer unReadStatistics(MessageStatisticsReq request) { + log.info("statistics reqeust:{},condition:{}", JSON.toJSONString(request), + Objects.nonNull(request.getMsgType())); return messageRecordDao.lambdaQuery() .eq(Objects.nonNull(request.getFromId()), MessageRecord::getFromId, request.getFromId()) .eq(Objects.nonNull(request.getModuleId()), MessageRecord::getModuleId, request.getFromId()) .eq(Objects.nonNull(request.getMsgType()), MessageRecord::getType, MsgTypeEnum.valueOf(request.getMsgType())) .eq(Objects.nonNull(request.getToId()), MessageRecord::getToId, request.getToId()) - .eq(Objects.nonNull(request.getTenantId()), MessageRecord::getTenantId, request.getTenantId() - ).count(); + .eq(Objects.nonNull(request.getTenantId()), MessageRecord::getTenantId, request.getTenantId()) + .count(); } @Override From 2d8ad4c22787afac6ec2c4a09b6cf5be38df8f75 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 22 Aug 2023 17:59:09 +0800 Subject: [PATCH 08/23] =?UTF-8?q?refactor(linkzo):=20=20=20=E6=94=B9?= =?UTF-8?q?=E4=B8=BAbody=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/msg/center/api/InsideMessageRecordApi.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java index dcfa81dc..4f547d5f 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java @@ -32,7 +32,7 @@ public interface InsideMessageRecordApi { * @return */ @PostMapping("msg/record/list") - CommonResponse> queryMessageRecordList(MessageRecordReq request); + CommonResponse> queryMessageRecordList(@RequestBody MessageRecordReq request); /** * 修改成已读 @@ -48,7 +48,7 @@ public interface InsideMessageRecordApi { * @return */ @PostMapping("msg/record/unread/list") - CommonResponse> queryUnReadList(QueryMessageRecordReq request); + CommonResponse> queryUnReadList(@RequestBody QueryMessageRecordReq request); /** * 查询已发送列表 @@ -56,7 +56,7 @@ public interface InsideMessageRecordApi { * @return */ @PostMapping("msg/record/sent/list") - CommonResponse> querySent(QueryMessageRecordReq request); + CommonResponse> querySent(@RequestBody QueryMessageRecordReq request); /** * 统计未读数量 @@ -64,5 +64,5 @@ public interface InsideMessageRecordApi { * @return */ @PostMapping("msg/record/unread/statistics") - CommonResponse unReadStatistics(MessageStatisticsReq request); + CommonResponse unReadStatistics(@RequestBody MessageStatisticsReq request); } From 3622afdec670e26fa75415496a6a8a89a3f593d0 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 22 Aug 2023 18:28:48 +0800 Subject: [PATCH 09/23] =?UTF-8?q?fix(linkzo):=20=20=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=96=B0send=E6=9F=A5=E8=AF=A2=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inside/notices/service/impl/MessageRecordServiceImpl.java | 1 + .../main/java/cn/axzo/msg/center/dal/MessageRecordDao.java | 4 +++- .../cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java | 2 +- .../src/main/resources/mapper/MessageRecordMapper.xml | 4 +++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java index a71284a4..8a9ff6d2 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java @@ -593,6 +593,7 @@ public class MessageRecordServiceImpl implements MessageRecordService { .eq(Objects.nonNull(request.getMsgType()), MessageRecord::getType, MsgTypeEnum.valueOf(request.getMsgType())) .eq(Objects.nonNull(request.getToId()), MessageRecord::getToId, request.getToId()) .eq(Objects.nonNull(request.getTenantId()), MessageRecord::getTenantId, request.getTenantId()) + .in(MessageRecord::getState, MsgStateEnum.HAS_BEEN_SENT, MsgStateEnum.RECEIVED) .count(); } diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/MessageRecordDao.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/MessageRecordDao.java index d6a0b748..9d585948 100644 --- a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/MessageRecordDao.java +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/MessageRecordDao.java @@ -17,6 +17,7 @@ import cn.axzo.msg.center.domain.enums.ModuleBizTypeEnum; import cn.axzo.msg.center.domain.persistence.BaseEntity; import cn.axzo.msg.center.domain.request.InsideCmsReadMsgReq; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -126,7 +127,8 @@ public class MessageRecordDao extends } public IPage querySent(QueryMessageRecordReq request){ - return baseMapper.querySent(request); + IPage page = new Page<>(request.getPage(), request.getPageSize()); + return baseMapper.querySent(page,request); } } diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java index 4586dfb5..5477f574 100644 --- a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java @@ -48,6 +48,6 @@ public interface MessageRecordMapper extends BaseMapper{ int updateHasRead(@Param("req") UpdateReadDTO request); IPage queryUnReadList(@Param("req") QueryMessageRecordReq req, IPage page); - IPage querySent(QueryMessageRecordReq request); + IPage querySent(IPage page, QueryMessageRecordReq request); } diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index 92a83480..4aab8319 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -242,7 +242,9 @@ tenant_id = #{req.tenantId} - and module_id = #{req.moduleId} + + module_id = #{req.moduleId} + and state=2 and is_delete = 0 order by create_at desc,id desc From d77c5b79ec892a127c51b9bb3898c645dd745f86 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Tue, 22 Aug 2023 19:03:56 +0800 Subject: [PATCH 10/23] =?UTF-8?q?feature(linkzo):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=A0=87=E8=AE=B0=E6=B6=88=E6=81=AF=E4=B8=BA?= =?UTF-8?q?=E5=B7=B2=E6=8E=A5=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notices/service/MessageRecordService.java | 1 + .../impl/InsideMessageRecordApiImpl.java | 18 ++++++++++++------ .../service/impl/MessageRecordServiceImpl.java | 12 ++++++++++++ .../msg/center/api/InsideMessageRecordApi.java | 9 +++++++++ .../InsideMessageRecordApiFallBack.java | 7 +++++++ .../center/api/response/MessageRecordRes.java | 2 ++ 6 files changed, 43 insertions(+), 6 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java index cfbf306e..8ad9e030 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java @@ -68,4 +68,5 @@ public interface MessageRecordService { IPage queryMessageRecordList(MessageRecordReq request); + void updateStateReceive(List msgIdList); } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java index 7c6b10ac..19789f3a 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java @@ -2,16 +2,18 @@ package cn.axzo.msg.center.inside.notices.service.impl; import cn.axzo.core.domain.PageResult; import cn.axzo.msg.center.api.InsideMessageRecordApi; -import cn.axzo.msg.center.api.enums.MsgTypeEnum; -import cn.axzo.msg.center.api.request.*; +import cn.axzo.msg.center.api.request.CmsMsgListReq; +import cn.axzo.msg.center.api.request.CmsMsgQueryReq; +import cn.axzo.msg.center.api.request.MessageRecordReq; +import cn.axzo.msg.center.api.request.MessageStatisticsReq; +import cn.axzo.msg.center.api.request.QueryMessageRecordReq; +import cn.axzo.msg.center.api.request.UpdateReadReq; import cn.axzo.msg.center.api.response.MessageNewRes; import cn.axzo.msg.center.api.response.MessageRecordRes; import cn.axzo.msg.center.common.exception.ServiceException; import cn.axzo.msg.center.common.utils.BeanConvertUtils; import cn.axzo.msg.center.dal.MessageRecordDao; -import cn.axzo.msg.center.dal.MessageRouterDao; import cn.axzo.msg.center.domain.dto.UpdateReadDTO; -import cn.axzo.msg.center.domain.entity.MessageRecord; import cn.axzo.msg.center.inside.notices.service.MessageRecordService; import cn.azxo.framework.common.model.CommonResponse; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -20,7 +22,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Objects; +import java.util.List; @Slf4j @RestController @@ -75,5 +77,9 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi { return CommonResponse.success(messageRecordService.unReadStatistics(request)); } - + @Override + public CommonResponse markReceived(List msgIdList) { + messageRecordService.updateStateReceive(msgIdList); + return CommonResponse.success(); + } } diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java index 8a9ff6d2..389c6a9d 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java @@ -32,9 +32,12 @@ import cn.azxo.framework.common.utils.LogUtil; import cn.azxo.framework.common.utils.LogUtil.ErrorLevel; import cn.azxo.framework.common.utils.LogUtil.ErrorType; import cn.azxo.framework.common.utils.StringUtils; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.map.MapUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; @@ -613,4 +616,13 @@ public class MessageRecordServiceImpl implements MessageRecordService { return result.convert(r -> BeanConvertUtils.copyBean(r, MessageRecordRes.class)); } + @Override + public void updateStateReceive(List msgIdList) { + if (CollectionUtil.isEmpty(msgIdList)) { + return; + } + messageRecordDao.lambdaUpdate() + .set(MessageRecord::getState, MsgStateEnum.RECEIVED) + .in(MessageRecord::getId, msgIdList).update(); + } } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java index 4f547d5f..e0c8f1f9 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import javax.validation.Valid; +import java.util.List; @FeignClient(name = "msg-center", url = "${server.serviceUrl}", fallback = InsideMessageRecordApiFallBack.class) @Component @@ -65,4 +66,12 @@ public interface InsideMessageRecordApi { */ @PostMapping("msg/record/unread/statistics") CommonResponse unReadStatistics(@RequestBody MessageStatisticsReq request); + + /** + * 标记为已经接收 + * @param msgIdList + * @return + */ + @PostMapping("msg/record/markReceived") + CommonResponse markReceived(@RequestBody List msgIdList); } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java index d28d5ee5..1e648642 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java @@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.List; + @Component @Slf4j public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi { @@ -46,4 +48,9 @@ public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi { public CommonResponse unReadStatistics(MessageStatisticsReq request) { return null; } + + @Override + public CommonResponse markReceived(List msgIdList) { + return CommonResponse.fail("更新消息状态异常"); + } } diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/response/MessageRecordRes.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/response/MessageRecordRes.java index 7305eb7f..52437f7d 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/response/MessageRecordRes.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/response/MessageRecordRes.java @@ -9,6 +9,8 @@ import lombok.Data; @Data public class MessageRecordRes { + private Long msgId; + /** * 发送者ID */ From a69ef41d3353a781e7ed62b353e89f02febb9b14 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 10:15:44 +0800 Subject: [PATCH 11/23] =?UTF-8?q?fix(linkzo):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java index 5477f574..fa4e2a5a 100644 --- a/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java +++ b/msg-center-dal/src/main/java/cn/axzo/msg/center/dal/mapper/MessageRecordMapper.java @@ -48,6 +48,6 @@ public interface MessageRecordMapper extends BaseMapper{ int updateHasRead(@Param("req") UpdateReadDTO request); IPage queryUnReadList(@Param("req") QueryMessageRecordReq req, IPage page); - IPage querySent(IPage page, QueryMessageRecordReq request); + IPage querySent(IPage page, @Param("req") QueryMessageRecordReq request); } From 807308647d26713f516f8d736c8a2ecc0e363959 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 10:21:46 +0800 Subject: [PATCH 12/23] =?UTF-8?q?fix(linkzo):=20=E4=BF=AE=E5=A4=8DSQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/MessageRecordMapper.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index 4aab8319..1b840737 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -202,13 +202,13 @@ from message_record AS record where to_id=#{req.toId} - type = #{req.msgType} + AND type = #{req.msgType} - from_id = #{req.fromId} + AND from_id = #{req.fromId} - tenant_id = #{req.tenantId} + AND tenant_id = #{req.tenantId} and module_id = #{req.moduleId} and state in (2,3) @@ -234,16 +234,16 @@ from message_record AS record where to_id=#{req.toId} - type = #{req.msgType} + AND type = #{req.msgType} - from_id = #{req.fromId} + AND from_id = #{req.fromId} - tenant_id = #{req.tenantId} + AND tenant_id = #{req.tenantId} - module_id = #{req.moduleId} + AND module_id = #{req.moduleId} and state=2 and is_delete = 0 From 4450f923d19ef216016ca1ba855540af1860d5a0 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 10:33:22 +0800 Subject: [PATCH 13/23] =?UTF-8?q?fix(linkzo):=20=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/MessageRecordMapper.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index 1b840737..2785071b 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -230,7 +230,8 @@ record.extra as ext, record.router_params as routerParam, record.relation_id as relationId, - record.old_type_id as oldTypeId + record.old_type_id as oldTypeId, + record.tenant_id AS tenantId from message_record AS record where to_id=#{req.toId} From 3d23c8f28462ffe0a170623d5455af5e59916fac Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 10:37:37 +0800 Subject: [PATCH 14/23] =?UTF-8?q?fix(linkzo):=20=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/axzo/msg/center/api/response/MessageRecordRes.java | 5 +++++ .../src/main/resources/mapper/MessageRecordMapper.xml | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/response/MessageRecordRes.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/response/MessageRecordRes.java index 52437f7d..e6e7bb58 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/response/MessageRecordRes.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/response/MessageRecordRes.java @@ -6,6 +6,8 @@ import cn.axzo.msg.center.api.enums.MsgTypeEnum; import cn.axzo.msg.center.api.enums.ReceiveTypeEnum; import lombok.Data; +import java.util.Date; + @Data public class MessageRecordRes { @@ -102,4 +104,7 @@ public class MessageRecordRes { * 租户id,解决多个企业的问题 */ private Long tenantId; + + /** 创建时间 **/ + private Date createAt; } diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index 2785071b..ca6add58 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -231,7 +231,8 @@ record.router_params as routerParam, record.relation_id as relationId, record.old_type_id as oldTypeId, - record.tenant_id AS tenantId + record.tenant_id AS tenantId, + record.create_at AS createAt from message_record AS record where to_id=#{req.toId} From 27432804b5813ec0615f4b8192d739572f402aad Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 10:52:32 +0800 Subject: [PATCH 15/23] =?UTF-8?q?fix(linkzo):=20=E8=A1=A5=E5=85=85?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/MessageRecordMapper.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index ca6add58..ea8996f7 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -232,6 +232,8 @@ record.relation_id as relationId, record.old_type_id as oldTypeId, record.tenant_id AS tenantId, + record.from_id AS fromId, + record.to_id AS toId, record.create_at AS createAt from message_record AS record where to_id=#{req.toId} From 49ccf58dcc7df85a71ad9a8eacf971248fc128df Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 11:17:45 +0800 Subject: [PATCH 16/23] =?UTF-8?q?refacotr(linkzo):=20=E6=89=A9=E5=B1=95?= =?UTF-8?q?=E6=A0=87=E8=AE=B0=E5=B7=B2=E8=AF=BB=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/InsideMessageRecordApiImpl.java | 1 + .../msg/center/api/request/UpdateReadReq.java | 8 +++++--- .../main/resources/mapper/MessageRecordMapper.xml | 15 ++++++++++++++- .../axzo/msg/center/domain/dto/UpdateReadDTO.java | 5 +++++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java index 19789f3a..b7a44a83 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java @@ -16,6 +16,7 @@ import cn.axzo.msg.center.dal.MessageRecordDao; import cn.axzo.msg.center.domain.dto.UpdateReadDTO; import cn.axzo.msg.center.inside.notices.service.MessageRecordService; import cn.azxo.framework.common.model.CommonResponse; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/UpdateReadReq.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/UpdateReadReq.java index 5048ed3b..0494b2f5 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/UpdateReadReq.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/UpdateReadReq.java @@ -2,20 +2,22 @@ package cn.axzo.msg.center.api.request; import lombok.Data; -import javax.validation.constraints.NotNull; +import java.util.List; @Data public class UpdateReadReq { + + /** 消息ID **/ + private List msgIdList; + /** * 消息类型 1:普通消息 2:待办 */ - @NotNull(message = "消息类型不能为空") private Integer msgType; /** * 待办、消息模块类型Id - 针对待办使用 */ - @NotNull(message = "moduleId不能为空") private Long moduleId; /** * 发送人id diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index ea8996f7..93c720e4 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -173,7 +173,20 @@ - update message_record set state=4 where is_delete=0 AND module_id=#{req.moduleId} AND type=#{req.msgType} + update message_record set state=4 + where is_delete=0 + + AND id IN + + #{msgId} + + + + AND module_id = #{req.moduleId} + + + AND type = #{req.msgType} + AND tenant_id = #{req.tenantId} diff --git a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/dto/UpdateReadDTO.java b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/dto/UpdateReadDTO.java index 26cd2c11..e1acdb2c 100644 --- a/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/dto/UpdateReadDTO.java +++ b/msg-center-domain/src/main/java/cn/axzo/msg/center/domain/dto/UpdateReadDTO.java @@ -2,8 +2,13 @@ package cn.axzo.msg.center.domain.dto; import lombok.Data; +import java.util.List; + @Data public class UpdateReadDTO { + + /** 消息ID **/ + private List msgIdList; /** * 消息类型 1:普通消息 2:待办 */ From 646ae2eeaa97d8344655883ba722eb61ebce3086 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 11:24:03 +0800 Subject: [PATCH 17/23] =?UTF-8?q?fix(linkzo):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notices/service/impl/InsideMessageRecordApiImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java index b7a44a83..de39de96 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java @@ -53,8 +53,10 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi { @Override public CommonResponse changeHasRead(UpdateReadReq request) { - if(request.getToId() == null && request.getFromId() == null){ - throw new ServiceException("发送人id和接收人id不能同时为空"); + if(request.getToId() == null + && request.getFromId() == null + && CollectionUtil.isEmpty(request.getMsgIdList())){ + throw new ServiceException("发送人id、接收人id、消息ID列表不能同时为空"); } UpdateReadDTO updateReadDTO = BeanConvertUtils.copyBean(request, UpdateReadDTO.class); Boolean updateSuccess = messageRecordService.changeHasRead(updateReadDTO); From 4cca89c8f68ba35793f27b4f4416909862a82ea8 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 11:31:59 +0800 Subject: [PATCH 18/23] =?UTF-8?q?fix(query):=20SQL=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/MessageRecordMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index 93c720e4..3d2042c8 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -177,7 +177,7 @@ where is_delete=0 AND id IN - + #{msgId} From 36c5899b1a47c2278a4f3bfd143052fc190988b8 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 11:35:55 +0800 Subject: [PATCH 19/23] =?UTF-8?q?fix(query):=20SQL=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/MessageRecordMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml index 3d2042c8..5b2c07a5 100644 --- a/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml +++ b/msg-center-dal/src/main/resources/mapper/MessageRecordMapper.xml @@ -177,7 +177,7 @@ where is_delete=0 AND id IN - + #{msgId} From f8fd61d202413fe3e99cb2edd0bad08b41310d70 Mon Sep 17 00:00:00 2001 From: zhansihu Date: Wed, 23 Aug 2023 15:19:13 +0800 Subject: [PATCH 20/23] =?UTF-8?q?fix(query):=20=E8=BF=94=E5=9B=9E=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../notices/service/impl/MessageRecordServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java index 389c6a9d..9c5e9295 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java @@ -613,7 +613,11 @@ public class MessageRecordServiceImpl implements MessageRecordService { .eq(Objects.nonNull(request.getModuleId()), MessageRecord::getModuleId, request.getModuleId()) .page(request.toPage()); - return result.convert(r -> BeanConvertUtils.copyBean(r, MessageRecordRes.class)); + return result.convert(r -> { + MessageRecordRes messageRecordRes = BeanConvertUtils.copyBean(r, MessageRecordRes.class); + messageRecordRes.setMsgId(r.getId()); + return messageRecordRes; + }); } @Override From bc4624ebb085f8ad8b89f7e623a21f9f47369b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=86=9B?= <> Date: Mon, 23 Oct 2023 14:42:00 +0800 Subject: [PATCH 21/23] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E8=AE=B0=E5=BD=95sql=E5=A2=9E=E5=8A=A0=E6=8C=89=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E6=97=B6=E9=97=B4=E5=80=92=E5=BA=8F=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inside/notices/service/impl/MessageRecordServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java index 9c5e9295..291f1df1 100644 --- a/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java +++ b/inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java @@ -611,6 +611,7 @@ public class MessageRecordServiceImpl implements MessageRecordService { .eq(Objects.nonNull(request.getToId()), MessageRecord::getToId, request.getToId()) .in(Objects.nonNull(request.getMsgStatus()), MessageRecord::getState, request.getMsgStatus()) .eq(Objects.nonNull(request.getModuleId()), MessageRecord::getModuleId, request.getModuleId()) + .orderByDesc(MessageRecord::getCreateAt) .page(request.toPage()); return result.convert(r -> { From 051ed6065f56480ef571f4c4185332221d1e3bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=86=9B?= <> Date: Mon, 23 Oct 2023 15:11:51 +0800 Subject: [PATCH 22/23] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=85=A5=E5=8F=82=E6=A8=A1=E5=9E=8B=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=A7=A3=E5=86=B3=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E7=88=B6=E7=B1=BB=E5=B1=9E=E6=80=A7=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/msg/center/api/request/MessageRecordReq.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/MessageRecordReq.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/MessageRecordReq.java index cbef2f1e..563f7c16 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/MessageRecordReq.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/MessageRecordReq.java @@ -2,10 +2,14 @@ package cn.axzo.msg.center.api.request; import cn.axzo.basics.common.page.PageRequest; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; import java.util.List; @Data +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) public class MessageRecordReq extends PageRequest { /** From 00cbf016f1697aec93950a6fda9fec00efa4975d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=86=9B?= <> Date: Mon, 23 Oct 2023 15:38:33 +0800 Subject: [PATCH 23/23] =?UTF-8?q?=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/msg/center/api/request/MessageRecordReq.java | 1 - 1 file changed, 1 deletion(-) diff --git a/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/MessageRecordReq.java b/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/MessageRecordReq.java index 563f7c16..3943729d 100644 --- a/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/MessageRecordReq.java +++ b/msg-center-api/src/main/java/cn/axzo/msg/center/api/request/MessageRecordReq.java @@ -9,7 +9,6 @@ import java.util.List; @Data @ToString(callSuper = true) -@EqualsAndHashCode(callSuper = true) public class MessageRecordReq extends PageRequest { /**