站内信消息列表查询实现
This commit is contained in:
parent
782c64c886
commit
7ff9d43e58
@ -0,0 +1,49 @@
|
||||
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.request.CmsMsgListReq;
|
||||
import cn.axzo.msg.center.api.request.CmsMsgQueryReq;
|
||||
import cn.axzo.msg.center.api.request.MessageNewRes;
|
||||
import cn.axzo.msg.center.inside.notices.service.MessageModuleService;
|
||||
import cn.axzo.msg.center.inside.notices.service.MessageRecordService;
|
||||
import cn.axzo.msg.center.inside.notices.service.MessageRouterService;
|
||||
import cn.axzo.msg.center.notices.service.api.MessageService;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
public class InsideMessageRecordApiImpl implements InsideMessageRecordApi {
|
||||
|
||||
@Resource
|
||||
private MessageRecordService messageRecordService;
|
||||
|
||||
@Resource
|
||||
private MessageService messageService;
|
||||
|
||||
@Resource
|
||||
private MessageModuleService messageModuleService;
|
||||
|
||||
@Resource
|
||||
private MessageRouterService messageRouterService;
|
||||
|
||||
@PostMapping("webApi/wx/message/list")
|
||||
@Override
|
||||
public CommonResponse<PageResult<MessageNewRes>> listMsgInfo4Trade(CmsMsgListReq req) {
|
||||
CmsMsgQueryReq request=new CmsMsgQueryReq();
|
||||
BeanUtils.copyProperties(req,request);
|
||||
PageResult<MessageNewRes> pageResult = messageRecordService.pageMsgInfo4WechatAndTrade(
|
||||
request, req.getPersonId());
|
||||
return CommonResponse.success(pageResult);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.msg.center.api;
|
||||
|
||||
import cn.axzo.core.domain.PageResult;
|
||||
import cn.axzo.msg.center.api.fallback.InsideMessageRecordApiFallBack;
|
||||
import cn.axzo.msg.center.api.request.CmsMsgListReq;
|
||||
import cn.axzo.msg.center.api.request.MessageNewRes;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@FeignClient(name = "msg-center", url = "http://127.0.0.1:10086", fallback = InsideMessageRecordApiFallBack.class)
|
||||
@Component
|
||||
public interface InsideMessageRecordApi {
|
||||
|
||||
/**
|
||||
* 消息列表
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
CommonResponse<PageResult<MessageNewRes>> listMsgInfo4Trade(CmsMsgListReq req);
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
package cn.axzo.msg.center.api;
|
||||
|
||||
public class InsideMessageTemplateApi {
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.msg.center.api.fallback;
|
||||
|
||||
import cn.axzo.core.domain.PageResult;
|
||||
import cn.axzo.msg.center.api.InsideMessageRecordApi;
|
||||
import cn.axzo.msg.center.api.request.CmsMsgListReq;
|
||||
import cn.axzo.msg.center.api.request.MessageNewRes;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class InsideMessageRecordApiFallBack implements InsideMessageRecordApi {
|
||||
|
||||
@Override
|
||||
public CommonResponse<PageResult<MessageNewRes>> listMsgInfo4Trade(CmsMsgListReq req) {
|
||||
log.warn("查询消息列表超时,req={}", JSONUtil.toJsonStr(req));
|
||||
return CommonResponse.fail("查询消息列表超时");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package cn.axzo.msg.center.api.request;
|
||||
|
||||
import cn.axzo.basics.common.page.PageRequest;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class CmsMsgListReq extends PageRequest {
|
||||
|
||||
/**
|
||||
* 关键字
|
||||
*/
|
||||
private String searchKey;
|
||||
|
||||
|
||||
/**
|
||||
* 消息类型 1:普通消息 2:待办
|
||||
*/
|
||||
@NotNull(message = "消息类型必传")
|
||||
private Integer msgType;
|
||||
|
||||
|
||||
/**
|
||||
* 消息状态
|
||||
* 0:消息中心-全部 1:消息中心-未读
|
||||
* <p
|
||||
* 1:待办-待处理 2:待办-已完成
|
||||
*/
|
||||
private int msgStatus;
|
||||
|
||||
|
||||
/**
|
||||
* 待办、消息模块类型Id - 针对待办使用
|
||||
*/
|
||||
private Long moduleId;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@NotNull(message = "自然人id不能为空")
|
||||
private Long personId;
|
||||
/**
|
||||
* @see MsgRouteTypeEnum
|
||||
* 消息路由地址类型
|
||||
*/
|
||||
@NotNull(message = "msgRouteType不能为空")
|
||||
private Integer msgRouteType;
|
||||
}
|
||||
@ -0,0 +1,96 @@
|
||||
package cn.axzo.msg.center.domain.request.inside;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @ClassName MessageDto
|
||||
* @Description 每次只拿模块内最新一条通知消息(第一条已读,第二条未读,也存在小红点)
|
||||
* @Author zhangran
|
||||
* @Date 2022/3/21 14:50
|
||||
**/
|
||||
@Data
|
||||
public class MessageNewRes {
|
||||
|
||||
/**
|
||||
* 消息Id
|
||||
*/
|
||||
private Long msgId;
|
||||
/**
|
||||
* 模块图标
|
||||
*/
|
||||
private String msgIcon;
|
||||
/**
|
||||
* 模块名称
|
||||
*/
|
||||
private String msgName;
|
||||
/**
|
||||
* 消息标题
|
||||
*/
|
||||
private String msgTitle;
|
||||
/**
|
||||
* 消息内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 接收人类型
|
||||
*/
|
||||
private Integer receiveType;
|
||||
|
||||
/**
|
||||
* 消息所属标识类型 1:项目 2:企业
|
||||
*/
|
||||
private Integer terminalType;
|
||||
/**
|
||||
* 项目Id/企业Id 用于跳转
|
||||
*/
|
||||
private Long terminalId;
|
||||
/**
|
||||
* 项目名称/企业名称 有则展示
|
||||
*/
|
||||
private String terminalName;
|
||||
/**
|
||||
* 普通消息状态 1.未读 2.已读
|
||||
* <p>
|
||||
* 待办消息状态 1:待处理 2:已完成
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
/**
|
||||
* 消息时间
|
||||
*/
|
||||
private Date msgDate;
|
||||
|
||||
/**
|
||||
* 扩展参数 JsonString
|
||||
*/
|
||||
private String ext;
|
||||
/**
|
||||
* 路由类型(0=null 1=uniapp 2=native 3=H5 4=web 5=WeChat_MP)", example = "1
|
||||
*/
|
||||
private Integer routerType;
|
||||
|
||||
/**
|
||||
* 路由地址
|
||||
*/
|
||||
private String router;
|
||||
|
||||
/**
|
||||
* 路由参数 JsonString
|
||||
*/
|
||||
private String routerParam;
|
||||
|
||||
/**
|
||||
* 关联Id
|
||||
*/
|
||||
private Long relationId;
|
||||
|
||||
/**
|
||||
* 原typeId
|
||||
*/
|
||||
private Integer oldTypeId;
|
||||
|
||||
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package cn.axzo.msg.center.notices.service.api;
|
||||
|
||||
import cn.axzo.msg.center.notices.manager.api.dto.request.SendBatchMessageRequestDto;
|
||||
import cn.axzo.msg.center.notices.manager.api.dto.request.MnsRequestDto;
|
||||
import cn.axzo.msg.center.notices.manager.api.dto.request.SendBatchMessageRequestDto;
|
||||
|
||||
/**
|
||||
* 消息服务
|
||||
@ -23,4 +23,5 @@ public interface MessageService {
|
||||
*/
|
||||
void sendBatchMessage(SendBatchMessageRequestDto request);
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user