Merge branch 'feature/sz-237' into release/20231106
# Conflicts: # inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/MessageRecordService.java # inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/InsideMessageRecordApiImpl.java # inside-notices/src/main/java/cn/axzo/msg/center/inside/notices/service/impl/MessageRecordServiceImpl.java # integration-test/src/test/resources/message.http # msg-center-api/src/main/java/cn/axzo/msg/center/api/InsideMessageRecordApi.java # msg-center-api/src/main/java/cn/axzo/msg/center/api/fallback/InsideMessageRecordApiFallBack.java
This commit is contained in:
commit
71f187b6f5
@ -77,4 +77,9 @@ public interface MessageRecordService {
|
|||||||
* @return 成功删除返回 {@code true},否则返回 {@code false}
|
* @return 成功删除返回 {@code true},否则返回 {@code false}
|
||||||
*/
|
*/
|
||||||
boolean deleteMessageRecords(MessageRecordDeleteReq request);
|
boolean deleteMessageRecords(MessageRecordDeleteReq request);
|
||||||
|
Integer unReadStatistics(MessageStatisticsReq request);
|
||||||
|
|
||||||
|
IPage<MessageRecordRes> queryMessageRecordList(MessageRecordReq request);
|
||||||
|
|
||||||
|
void updateStateReceive(List<Long> msgIdList);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,20 +2,28 @@ package cn.axzo.msg.center.inside.notices.service.impl;
|
|||||||
|
|
||||||
import cn.axzo.core.domain.PageResult;
|
import cn.axzo.core.domain.PageResult;
|
||||||
import cn.axzo.msg.center.api.InsideMessageRecordApi;
|
import cn.axzo.msg.center.api.InsideMessageRecordApi;
|
||||||
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.MessageNewRes;
|
||||||
import cn.axzo.msg.center.api.response.MessageRecordRes;
|
import cn.axzo.msg.center.api.response.MessageRecordRes;
|
||||||
import cn.axzo.msg.center.common.exception.ServiceException;
|
import cn.axzo.msg.center.common.exception.ServiceException;
|
||||||
import cn.axzo.msg.center.common.utils.BeanConvertUtils;
|
import cn.axzo.msg.center.common.utils.BeanConvertUtils;
|
||||||
|
import cn.axzo.msg.center.dal.MessageRecordDao;
|
||||||
import cn.axzo.msg.center.domain.dto.UpdateReadDTO;
|
import cn.axzo.msg.center.domain.dto.UpdateReadDTO;
|
||||||
import cn.axzo.msg.center.inside.notices.service.MessageRecordService;
|
import cn.axzo.msg.center.inside.notices.service.MessageRecordService;
|
||||||
import cn.azxo.framework.common.model.CommonResponse;
|
import cn.azxo.framework.common.model.CommonResponse;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@ -24,6 +32,9 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi {
|
|||||||
@Resource
|
@Resource
|
||||||
private MessageRecordService messageRecordService;
|
private MessageRecordService messageRecordService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MessageRecordDao messageRecordDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<PageResult<MessageNewRes>> listMsgInfo4Trade(CmsMsgListReq req) {
|
public CommonResponse<PageResult<MessageNewRes>> listMsgInfo4Trade(CmsMsgListReq req) {
|
||||||
CmsMsgQueryReq request=new CmsMsgQueryReq();
|
CmsMsgQueryReq request=new CmsMsgQueryReq();
|
||||||
@ -34,15 +45,18 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<IPage<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request) {
|
public CommonResponse<PageResult<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request) {
|
||||||
|
IPage<MessageRecordRes> queryPage = messageRecordService.queryMessageRecordList(request);
|
||||||
return null;
|
PageResult<MessageRecordRes> result = new PageResult<>(queryPage.getRecords(), queryPage.getTotal());
|
||||||
|
return CommonResponse.success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<Boolean> changeHasRead(UpdateReadReq request) {
|
public CommonResponse<Boolean> changeHasRead(UpdateReadReq request) {
|
||||||
if(request.getToId() == null && request.getFromId() == null){
|
if(request.getToId() == null
|
||||||
throw new ServiceException("发送人id和接收人id不能同时为空");
|
&& request.getFromId() == null
|
||||||
|
&& CollectionUtil.isEmpty(request.getMsgIdList())){
|
||||||
|
throw new ServiceException("发送人id、接收人id、消息ID列表不能同时为空");
|
||||||
}
|
}
|
||||||
UpdateReadDTO updateReadDTO = BeanConvertUtils.copyBean(request, UpdateReadDTO.class);
|
UpdateReadDTO updateReadDTO = BeanConvertUtils.copyBean(request, UpdateReadDTO.class);
|
||||||
Boolean updateSuccess = messageRecordService.changeHasRead(updateReadDTO);
|
Boolean updateSuccess = messageRecordService.changeHasRead(updateReadDTO);
|
||||||
@ -50,21 +64,20 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<IPage<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request) {
|
public CommonResponse<PageResult<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request) {
|
||||||
IPage<MessageRecordRes> result=messageRecordService.queryUnReadList(request);
|
IPage<MessageRecordRes> result=messageRecordService.queryUnReadList(request);
|
||||||
return CommonResponse.success(result);
|
return CommonResponse.success(new PageResult<>(result.getRecords(), result.getTotal()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<IPage<MessageRecordRes>> querySent(QueryMessageRecordReq request) {
|
public CommonResponse<PageResult<MessageRecordRes>> querySent(QueryMessageRecordReq request) {
|
||||||
IPage<MessageRecordRes> result=messageRecordService.querySent(request);
|
IPage<MessageRecordRes> result=messageRecordService.querySent(request);
|
||||||
return CommonResponse.success(result);
|
return CommonResponse.success(new PageResult<>(result.getRecords(), result.getTotal()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<Integer> unReadStatistics(MessageStatisticsReq request) {
|
public CommonResponse<Integer> unReadStatistics(MessageStatisticsReq request) {
|
||||||
|
return CommonResponse.success(messageRecordService.unReadStatistics(request));
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -72,4 +85,9 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi {
|
|||||||
return CommonResponse.success(messageRecordService.deleteMessageRecords(request));
|
return CommonResponse.success(messageRecordService.deleteMessageRecords(request));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResponse<Void> markReceived(List<Long> msgIdList) {
|
||||||
|
messageRecordService.updateStateReceive(msgIdList);
|
||||||
|
return CommonResponse.success();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,19 +32,24 @@ import cn.azxo.framework.common.utils.LogUtil;
|
|||||||
import cn.azxo.framework.common.utils.LogUtil.ErrorLevel;
|
import cn.azxo.framework.common.utils.LogUtil.ErrorLevel;
|
||||||
import cn.azxo.framework.common.utils.LogUtil.ErrorType;
|
import cn.azxo.framework.common.utils.LogUtil.ErrorType;
|
||||||
import cn.azxo.framework.common.utils.StringUtils;
|
import cn.azxo.framework.common.utils.StringUtils;
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.map.MapUtil;
|
import cn.hutool.core.map.MapUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
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.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.text.StrSubstitutor;
|
import org.apache.commons.lang3.text.StrSubstitutor;
|
||||||
|
import org.apache.logging.log4j.util.Strings;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@ -569,11 +574,12 @@ public class MessageRecordServiceImpl implements MessageRecordService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<MessageRecordRes> queryUnReadList(QueryMessageRecordReq request) {
|
public IPage<MessageRecordRes> queryUnReadList(QueryMessageRecordReq request) {
|
||||||
|
IPage<MessageRecordRes> resultList=new MyPage<>();
|
||||||
|
|
||||||
IPage<MessageNewResDTO> newResDTOIPage = messageRecordDao.queryUnReadList(request);
|
IPage<MessageNewResDTO> newResDTOIPage = messageRecordDao.queryUnReadList(request);
|
||||||
if(newResDTOIPage == null || newResDTOIPage.getTotal()==0){
|
if(newResDTOIPage == null || newResDTOIPage.getTotal()==0){
|
||||||
return null;
|
return resultList;
|
||||||
}
|
}
|
||||||
IPage<MessageRecordRes> resultList=new MyPage<>();
|
|
||||||
List<MessageRecordRes> messageList=new ArrayList<>();
|
List<MessageRecordRes> messageList=new ArrayList<>();
|
||||||
for (MessageNewResDTO record : newResDTOIPage.getRecords()) {
|
for (MessageNewResDTO record : newResDTOIPage.getRecords()) {
|
||||||
MessageRecordRes item = BeanConvertUtils.copyBean(record, MessageRecordRes.class);
|
MessageRecordRes item = BeanConvertUtils.copyBean(record, MessageRecordRes.class);
|
||||||
@ -610,4 +616,49 @@ public class MessageRecordServiceImpl implements MessageRecordService {
|
|||||||
.eq(MessageRecord::getIsDelete, YesNoEnum.NO.getCode())
|
.eq(MessageRecord::getIsDelete, YesNoEnum.NO.getCode())
|
||||||
.update();
|
.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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())
|
||||||
|
.in(MessageRecord::getState, MsgStateEnum.HAS_BEEN_SENT, MsgStateEnum.RECEIVED)
|
||||||
|
.count();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<MessageRecordRes> queryMessageRecordList(MessageRecordReq request) {
|
||||||
|
|
||||||
|
IPage<MessageRecord> 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())
|
||||||
|
.orderByDesc(MessageRecord::getCreateAt)
|
||||||
|
.page(request.toPage());
|
||||||
|
|
||||||
|
return result.convert(r -> {
|
||||||
|
MessageRecordRes messageRecordRes = BeanConvertUtils.copyBean(r, MessageRecordRes.class);
|
||||||
|
messageRecordRes.setMsgId(r.getId());
|
||||||
|
return messageRecordRes;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateStateReceive(List<Long> msgIdList) {
|
||||||
|
if (CollectionUtil.isEmpty(msgIdList)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
messageRecordDao.lambdaUpdate()
|
||||||
|
.set(MessageRecord::getState, MsgStateEnum.RECEIVED)
|
||||||
|
.in(MessageRecord::getId, msgIdList).update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,6 +29,18 @@ Content-Type: application/json
|
|||||||
> reponse-check.js
|
> 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
|
POST {{host}}/webApi/wx/message/list
|
||||||
Accept: application/json
|
Accept: application/json
|
||||||
@ -44,3 +56,18 @@ Content-Type: application/json
|
|||||||
|
|
||||||
> reponse-check.js
|
> 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
|
||||||
|
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@FeignClient(name = "msg-center", url = "${server.serviceUrl}", fallback = InsideMessageRecordApiFallBack.class)
|
@FeignClient(name = "msg-center", url = "${server.serviceUrl}", fallback = InsideMessageRecordApiFallBack.class)
|
||||||
@Component
|
@Component
|
||||||
@ -32,7 +33,7 @@ public interface InsideMessageRecordApi {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("msg/record/list")
|
@PostMapping("msg/record/list")
|
||||||
CommonResponse<IPage<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request);
|
CommonResponse<PageResult<MessageRecordRes>> queryMessageRecordList(@RequestBody MessageRecordReq request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改成已读
|
* 修改成已读
|
||||||
@ -48,7 +49,7 @@ public interface InsideMessageRecordApi {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("msg/record/unread/list")
|
@PostMapping("msg/record/unread/list")
|
||||||
CommonResponse<IPage<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request);
|
CommonResponse<PageResult<MessageRecordRes>> queryUnReadList(@RequestBody QueryMessageRecordReq request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询已发送列表
|
* 查询已发送列表
|
||||||
@ -56,7 +57,7 @@ public interface InsideMessageRecordApi {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("msg/record/sent/list")
|
@PostMapping("msg/record/sent/list")
|
||||||
CommonResponse<IPage<MessageRecordRes>> querySent(QueryMessageRecordReq request);
|
CommonResponse<PageResult<MessageRecordRes>> querySent(@RequestBody QueryMessageRecordReq request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 统计未读数量
|
* 统计未读数量
|
||||||
@ -64,7 +65,7 @@ public interface InsideMessageRecordApi {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("msg/record/unread/statistics")
|
@PostMapping("msg/record/unread/statistics")
|
||||||
CommonResponse<Integer> unReadStatistics(MessageStatisticsReq request);
|
CommonResponse<Integer> unReadStatistics(@RequestBody MessageStatisticsReq request);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除消息记录,支持以下两种方式
|
* 批量删除消息记录,支持以下两种方式
|
||||||
@ -79,4 +80,12 @@ public interface InsideMessageRecordApi {
|
|||||||
*/
|
*/
|
||||||
@PostMapping("msg/record/delete")
|
@PostMapping("msg/record/delete")
|
||||||
CommonResponse<Boolean> deleteMessageRecords(@RequestBody MessageRecordDeleteReq request);
|
CommonResponse<Boolean> deleteMessageRecords(@RequestBody MessageRecordDeleteReq request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记为已经接收
|
||||||
|
* @param msgIdList
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("msg/record/markReceived")
|
||||||
|
CommonResponse<Void> markReceived(@RequestBody List<Long> msgIdList);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi {
|
public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi {
|
||||||
@ -22,7 +24,7 @@ public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<IPage<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request) {
|
public CommonResponse<PageResult<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request) {
|
||||||
log.warn("查询消息记录列表超时,req={}", JSONUtil.toJsonStr(request));
|
log.warn("查询消息记录列表超时,req={}", JSONUtil.toJsonStr(request));
|
||||||
return CommonResponse.fail("查询消息记录列表超时");
|
return CommonResponse.fail("查询消息记录列表超时");
|
||||||
}
|
}
|
||||||
@ -33,12 +35,12 @@ public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<IPage<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request) {
|
public CommonResponse<PageResult<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CommonResponse<IPage<MessageRecordRes>> querySent(QueryMessageRecordReq request) {
|
public CommonResponse<PageResult<MessageRecordRes>> querySent(QueryMessageRecordReq request) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,4 +53,9 @@ public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi {
|
|||||||
public CommonResponse<Boolean> deleteMessageRecords(MessageRecordDeleteReq request) {
|
public CommonResponse<Boolean> deleteMessageRecords(MessageRecordDeleteReq request) {
|
||||||
return CommonResponse.success(false);
|
return CommonResponse.success(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public CommonResponse<Void> markReceived(List<Long> msgIdList) {
|
||||||
|
return CommonResponse.fail("更新消息状态异常");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,10 +2,13 @@ package cn.axzo.msg.center.api.request;
|
|||||||
|
|
||||||
import cn.axzo.basics.common.page.PageRequest;
|
import cn.axzo.basics.common.page.PageRequest;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@ToString(callSuper = true)
|
||||||
public class MessageRecordReq extends PageRequest {
|
public class MessageRecordReq extends PageRequest {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -2,20 +2,22 @@ package cn.axzo.msg.center.api.request;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class UpdateReadReq {
|
public class UpdateReadReq {
|
||||||
|
|
||||||
|
/** 消息ID **/
|
||||||
|
private List<Long> msgIdList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 消息类型 1:普通消息 2:待办
|
* 消息类型 1:普通消息 2:待办
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "消息类型不能为空")
|
|
||||||
private Integer msgType;
|
private Integer msgType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 待办、消息模块类型Id - 针对待办使用
|
* 待办、消息模块类型Id - 针对待办使用
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "moduleId不能为空")
|
|
||||||
private Long moduleId;
|
private Long moduleId;
|
||||||
/**
|
/**
|
||||||
* 发送人id
|
* 发送人id
|
||||||
|
|||||||
@ -6,9 +6,13 @@ import cn.axzo.msg.center.api.enums.MsgTypeEnum;
|
|||||||
import cn.axzo.msg.center.api.enums.ReceiveTypeEnum;
|
import cn.axzo.msg.center.api.enums.ReceiveTypeEnum;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class MessageRecordRes {
|
public class MessageRecordRes {
|
||||||
|
|
||||||
|
private Long msgId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 发送者ID
|
* 发送者ID
|
||||||
*/
|
*/
|
||||||
@ -100,4 +104,7 @@ public class MessageRecordRes {
|
|||||||
* 租户id,解决多个企业的问题
|
* 租户id,解决多个企业的问题
|
||||||
*/
|
*/
|
||||||
private Long tenantId;
|
private Long tenantId;
|
||||||
|
|
||||||
|
/** 创建时间 **/
|
||||||
|
private Date createAt;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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.persistence.BaseEntity;
|
||||||
import cn.axzo.msg.center.domain.request.InsideCmsReadMsgReq;
|
import cn.axzo.msg.center.domain.request.InsideCmsReadMsgReq;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -126,7 +127,8 @@ public class MessageRecordDao extends
|
|||||||
}
|
}
|
||||||
|
|
||||||
public IPage<MessageRecordRes> querySent(QueryMessageRecordReq request){
|
public IPage<MessageRecordRes> querySent(QueryMessageRecordReq request){
|
||||||
return baseMapper.querySent(request);
|
IPage<MessageRecordRes> page = new Page<>(request.getPage(), request.getPageSize());
|
||||||
|
return baseMapper.querySent(page,request);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -48,6 +48,6 @@ public interface MessageRecordMapper extends BaseMapper<MessageRecord>{
|
|||||||
int updateHasRead(@Param("req") UpdateReadDTO request);
|
int updateHasRead(@Param("req") UpdateReadDTO request);
|
||||||
|
|
||||||
IPage<MessageNewResDTO> queryUnReadList(@Param("req") QueryMessageRecordReq req, IPage page);
|
IPage<MessageNewResDTO> queryUnReadList(@Param("req") QueryMessageRecordReq req, IPage page);
|
||||||
IPage<MessageRecordRes> querySent(QueryMessageRecordReq request);
|
IPage<MessageRecordRes> querySent(IPage<MessageRecordRes> page, @Param("req") QueryMessageRecordReq request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -172,7 +172,20 @@
|
|||||||
|
|
||||||
<!---->
|
<!---->
|
||||||
<update id="updateHasRead" parameterType="cn.axzo.msg.center.domain.dto.UpdateReadDTO">
|
<update id="updateHasRead" parameterType="cn.axzo.msg.center.domain.dto.UpdateReadDTO">
|
||||||
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
|
||||||
|
<if test="req.msgIdList != null">
|
||||||
|
AND id IN
|
||||||
|
<foreach close=")" collection="req.msgIdList" item="msgId" open="(" separator=",">
|
||||||
|
#{msgId}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="req.moduleId != null">
|
||||||
|
AND module_id = #{req.moduleId}
|
||||||
|
</if>
|
||||||
|
<if test="req.msgType != null">
|
||||||
|
AND type = #{req.msgType}
|
||||||
|
</if>
|
||||||
<if test="req.tenantId != null">
|
<if test="req.tenantId != null">
|
||||||
AND tenant_id = #{req.tenantId}
|
AND tenant_id = #{req.tenantId}
|
||||||
</if>
|
</if>
|
||||||
@ -198,16 +211,16 @@
|
|||||||
record.router_params as routerParam,
|
record.router_params as routerParam,
|
||||||
record.relation_id as relationId,
|
record.relation_id as relationId,
|
||||||
record.old_type_id as oldTypeId
|
record.old_type_id as oldTypeId
|
||||||
from message_record
|
from message_record AS record
|
||||||
where to_id={req.toId}
|
where to_id=#{req.toId}
|
||||||
<if test="req.msgType != null and req.msgType > 0">
|
<if test="req.msgType != null and req.msgType > 0">
|
||||||
type = #{req.msgType}
|
AND type = #{req.msgType}
|
||||||
</if>
|
</if>
|
||||||
<if test="req.fromId != null and req.fromId > 0">
|
<if test="req.fromId != null and req.fromId > 0">
|
||||||
from_id = #{req.fromId}
|
AND from_id = #{req.fromId}
|
||||||
</if>
|
</if>
|
||||||
<if test="req.tenantId != null and req.tenantId > 0">
|
<if test="req.tenantId != null and req.tenantId > 0">
|
||||||
tenant_id = #{req.tenantId}
|
AND tenant_id = #{req.tenantId}
|
||||||
</if>
|
</if>
|
||||||
and module_id = #{req.moduleId}
|
and module_id = #{req.moduleId}
|
||||||
and state in (2,3)
|
and state in (2,3)
|
||||||
@ -229,19 +242,25 @@
|
|||||||
record.extra as ext,
|
record.extra as ext,
|
||||||
record.router_params as routerParam,
|
record.router_params as routerParam,
|
||||||
record.relation_id as relationId,
|
record.relation_id as relationId,
|
||||||
record.old_type_id as oldTypeId
|
record.old_type_id as oldTypeId,
|
||||||
from message_record
|
record.tenant_id AS tenantId,
|
||||||
where to_id={req.toId}
|
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}
|
||||||
<if test="req.msgType != null and req.msgType > 0">
|
<if test="req.msgType != null and req.msgType > 0">
|
||||||
type = #{req.msgType}
|
AND type = #{req.msgType}
|
||||||
</if>
|
</if>
|
||||||
<if test="req.fromId != null and req.fromId > 0">
|
<if test="req.fromId != null and req.fromId > 0">
|
||||||
from_id = #{req.fromId}
|
AND from_id = #{req.fromId}
|
||||||
</if>
|
</if>
|
||||||
<if test="req.tenantId != null and req.tenantId > 0">
|
<if test="req.tenantId != null and req.tenantId > 0">
|
||||||
tenant_id = #{req.tenantId}
|
AND tenant_id = #{req.tenantId}
|
||||||
|
</if>
|
||||||
|
<if test="req.moduleId != null and req.moduleId > 0">
|
||||||
|
AND module_id = #{req.moduleId}
|
||||||
</if>
|
</if>
|
||||||
and module_id = #{req.moduleId}
|
|
||||||
and state=2
|
and state=2
|
||||||
and is_delete = 0
|
and is_delete = 0
|
||||||
order by create_at desc,id desc
|
order by create_at desc,id desc
|
||||||
|
|||||||
@ -2,8 +2,13 @@ package cn.axzo.msg.center.domain.dto;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class UpdateReadDTO {
|
public class UpdateReadDTO {
|
||||||
|
|
||||||
|
/** 消息ID **/
|
||||||
|
private List<Long> msgIdList;
|
||||||
/**
|
/**
|
||||||
* 消息类型 1:普通消息 2:待办
|
* 消息类型 1:普通消息 2:待办
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user