查询未读数据

This commit is contained in:
刘才福 2023-08-09 09:43:15 +08:00
parent 72edf6c3b8
commit e9ca1f2e8d
7 changed files with 115 additions and 14 deletions

View File

@ -60,6 +60,8 @@ public interface MessageRecordService {
Boolean changeHasRead(UpdateReadDTO request);
PageResult<MessageRecordRes> queryUnReadList(QueryMessageRecordReq request);
IPage<MessageRecordRes> queryUnReadList(QueryMessageRecordReq request);
IPage<MessageRecordRes> querySent(QueryMessageRecordReq request);
}

View File

@ -10,6 +10,7 @@ import cn.axzo.msg.center.common.utils.BeanConvertUtils;
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 com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.RestController;
@ -33,14 +34,14 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi {
}
@Override
public CommonResponse<PageResult<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request) {
public CommonResponse<IPage<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request) {
return null;
}
@Override
public CommonResponse<Boolean> changeHasRead(UpdateReadReq request) {
if(request.getToId() == null & request.getFromId() == null){
if(request.getToId() == null && request.getFromId() == null){
throw new ServiceException("发送人id和接收人id不能同时为空");
}
UpdateReadDTO updateReadDTO = BeanConvertUtils.copyBean(request, UpdateReadDTO.class);
@ -49,19 +50,20 @@ public class InsideMessageRecordApiImpl implements InsideMessageRecordApi {
}
@Override
public CommonResponse<PageResult<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request) {
PageResult<MessageRecordRes> result=messageRecordService.queryUnReadList(request);
return null;
public CommonResponse<IPage<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request) {
IPage<MessageRecordRes> result=messageRecordService.queryUnReadList(request);
return CommonResponse.success(result);
}
@Override
public CommonResponse<PageResult<MessageRecordRes>> querySent(QueryMessageRecordReq request) {
return null;
public CommonResponse<IPage<MessageRecordRes>> querySent(QueryMessageRecordReq request) {
IPage<MessageRecordRes> result=messageRecordService.querySent(request);
return CommonResponse.success(result);
}
@Override
public CommonResponse<Integer> unReadStatistics(MessageStatisticsReq request) {
return null;
}

View File

@ -11,6 +11,7 @@ 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.api.response.MessageTotalRes;
import cn.axzo.msg.center.api.response.MyPage;
import cn.axzo.msg.center.common.enums.IdentityType;
import cn.axzo.msg.center.common.exception.ServiceException;
import cn.axzo.msg.center.common.model.ProfileIdRepair;
@ -553,7 +554,23 @@ public class MessageRecordServiceImpl implements MessageRecordService {
@Override
public PageResult<MessageRecordRes> queryUnReadList(QueryMessageRecordReq request) {
return null;
public IPage<MessageRecordRes> queryUnReadList(QueryMessageRecordReq request) {
IPage<MessageNewResDTO> newResDTOIPage = messageRecordDao.queryUnReadList(request);
if(newResDTOIPage == null || newResDTOIPage.getTotal()==0){
return null;
}
IPage<MessageRecordRes> resultList=new MyPage<>();
List<MessageRecordRes> messageList=new ArrayList<>();
for (MessageNewResDTO record : newResDTOIPage.getRecords()) {
MessageRecordRes item = BeanConvertUtils.copyBean(record, MessageRecordRes.class);
messageList.add(item);
}
resultList.setRecords(messageList);
return resultList;
}
@Override
public IPage<MessageRecordRes> querySent(QueryMessageRecordReq request) {
return messageRecordDao.querySent(request);
}
}

View File

@ -6,6 +6,7 @@ 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.azxo.framework.common.model.CommonResponse;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
@ -31,7 +32,7 @@ public interface InsideMessageRecordApi {
* @return
*/
@PostMapping("msg/record/list")
CommonResponse<PageResult<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request);
CommonResponse<IPage<MessageRecordRes>> queryMessageRecordList(MessageRecordReq request);
/**
* 修改成已读
@ -47,7 +48,7 @@ public interface InsideMessageRecordApi {
* @return
*/
@PostMapping("msg/record/unread/list")
CommonResponse<PageResult<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request);
CommonResponse<IPage<MessageRecordRes>> queryUnReadList(QueryMessageRecordReq request);
/**
* 查询已发送列表
@ -55,7 +56,7 @@ public interface InsideMessageRecordApi {
* @return
*/
@PostMapping("msg/record/sent/list")
CommonResponse<PageResult<MessageRecordRes>> querySent(QueryMessageRecordReq request);
CommonResponse<IPage<MessageRecordRes>> querySent(QueryMessageRecordReq request);
/**
* 统计未读数量

View File

@ -5,6 +5,8 @@ import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
import cn.axzo.msg.center.api.enums.MsgStateEnum;
import cn.axzo.msg.center.api.enums.MsgTypeEnum;
import cn.axzo.msg.center.api.enums.ReceiveTypeEnum;
import cn.axzo.msg.center.api.request.QueryMessageRecordReq;
import cn.axzo.msg.center.api.response.MessageRecordRes;
import cn.axzo.msg.center.dal.mapper.MessageRecordMapper;
import cn.axzo.msg.center.domain.dto.CmsMsgQueryReqDTO;
import cn.axzo.msg.center.domain.dto.MessageNewResDTO;
@ -119,5 +121,12 @@ public class MessageRecordDao extends
return baseMapper.updateHasRead(request);
}
public IPage<MessageNewResDTO> queryUnReadList(QueryMessageRecordReq request){
return baseMapper.queryUnReadList(request,request.toPage());
}
public IPage<MessageRecordRes> querySent(QueryMessageRecordReq request){
return baseMapper.querySent(request);
}
}

View File

@ -1,6 +1,8 @@
package cn.axzo.msg.center.dal.mapper;
import cn.axzo.msg.center.api.request.QueryMessageRecordReq;
import cn.axzo.msg.center.api.response.MessageRecordRes;
import cn.axzo.msg.center.domain.dto.CmsMsgQueryReqDTO;
import cn.axzo.msg.center.domain.dto.MessageNewResDTO;
import cn.axzo.msg.center.domain.dto.MsgStatisticsDTO;
@ -44,5 +46,8 @@ public interface MessageRecordMapper extends BaseMapper<MessageRecord>{
void readAllMsg(@Param("ids") List<Long> collect);
int updateHasRead(@Param("req") UpdateReadDTO request);
IPage<MessageNewResDTO> queryUnReadList(@Param("req") QueryMessageRecordReq req, IPage page);
IPage<MessageRecordRes> querySent(QueryMessageRecordReq request);
}

View File

@ -162,6 +162,7 @@
and record.create_at > DATE_FORMAT((CURDATE() - INTERVAL 3 YEAR),'%Y-%m-%d')
order by record.create_at desc,record.id desc
</select>
<update id="readAllMsg" >
update message_record set state = 4
where id in
@ -183,6 +184,70 @@
AND from_id=#{req.fromId}
</if>
</update>
<!--查询未读消息-->
<select id="queryUnReadList" resultType="cn.axzo.msg.center.domain.dto.MessageNewResDTO">
select record.id msgId,
record.title as msgTitle,
record.content as content,
record.receive_type as receiveType,
record.terminal_id as terminalId,
record.terminal_type as terminalType,
record.terminal_name as terminalName,
record.state,
record.create_at as msgDate,
record.extra as ext,
record.router_params as routerParam,
record.relation_id as relationId,
record.old_type_id as oldTypeId
from message_record
where to_id={req.toId}
<if test="req.msgType != null and req.msgType > 0">
type = #{req.msgType}
</if>
<if test="req.fromId != null and req.fromId > 0">
from_id = #{req.fromId}
</if>
<if test="req.tenantId != null and req.tenantId > 0">
tenant_id = #{req.tenantId}
</if>
and module_id = #{req.moduleId}
and state in (2,3)
and is_delete = 0
order by create_at desc,id desc
</select>
<!--查询已发送消息-->
<select id="querySent" resultType="cn.axzo.msg.center.api.response.MessageRecordRes"
parameterType="cn.axzo.msg.center.api.request.QueryMessageRecordReq">
select record.id msgId,
record.title as msgTitle,
record.content as content,
record.receive_type as receiveType,
record.terminal_id as terminalId,
record.terminal_type as terminalType,
record.terminal_name as terminalName,
record.state,
record.create_at as msgDate,
record.extra as ext,
record.router_params as routerParam,
record.relation_id as relationId,
record.old_type_id as oldTypeId
from message_record
where to_id={req.toId}
<if test="req.msgType != null and req.msgType > 0">
type = #{req.msgType}
</if>
<if test="req.fromId != null and req.fromId > 0">
from_id = #{req.fromId}
</if>
<if test="req.tenantId != null and req.tenantId > 0">
tenant_id = #{req.tenantId}
</if>
and module_id = #{req.moduleId}
and state=2
and is_delete = 0
order by create_at desc,id desc
</select>
</mapper>