From 7cefb28c727b62cc1dfe46950925ec319a94949b Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Tue, 28 Feb 2023 15:44:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/message/MessageFlowableDto.java | 3 ++ .../api/message/MessageJsonDto.java | 2 + .../api/messagelist/MessageListFeign.java | 6 +++ .../messagelist/MessageListFeignFallback.java | 5 ++ .../api/messagelist/MessageReadListPCVo.java | 46 +++++++++++++++++++ .../messagelist/app/MessageReadListQuery.java | 6 ++- .../biz/message/MessageService.java | 6 +++ .../biz/messagelist/MessageListMapper.java | 3 ++ .../biz/messagelist/MessageListMapper.xml | 22 ++++++++- .../biz/messagelist/MessageListRest.java | 28 +++++++++++ .../biz/messagelist/MessageListService.java | 25 ++++++++++ 11 files changed, 150 insertions(+), 2 deletions(-) create mode 100644 message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageReadListPCVo.java diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java index 243f482..33f8d2a 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFlowableDto.java @@ -36,6 +36,9 @@ public class MessageFlowableDto implements Dto { @ApiModelProperty("具体页面的url") private String moduleAction; + @ApiModelProperty("PC具体页面的url") + private String moduleAction2; + @ApiModelProperty("业务sid") private String businessSid; diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageJsonDto.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageJsonDto.java index cabd8a9..1887e1f 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageJsonDto.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageJsonDto.java @@ -25,6 +25,8 @@ public class MessageJsonDto implements Dto { private String procInsId; @ApiModelProperty("节点id") private String taskDefKey; + @ApiModelProperty("流程定义id") + private String deployId; @ApiModelProperty("app中特殊参数") private Map appMap = new HashMap<>(); diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java index e6ccc79..9af6687 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeign.java @@ -1,5 +1,6 @@ package com.yxt.messagecenter.api.messagelist; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -8,6 +9,7 @@ import com.yxt.messagecenter.api.messagelist.app.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; @@ -111,4 +113,8 @@ public interface MessageListFeign { @ApiOperation("手机端待阅已阅") @PostMapping("/getAppReadListByUserSid") public ResultBean> getAppReadListByUserSid(@RequestBody PagerQuery pq); + + @ApiOperation("PC端待阅已阅列表") + @PostMapping("/todoAllReadList") + public ResultBean> todoAllReadList(@RequestBody PagerQuery pq); } \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java index 1e12e83..2064cda 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageListFeignFallback.java @@ -120,4 +120,9 @@ public class MessageListFeignFallback implements MessageListFeign { public ResultBean> getAppReadListByUserSid(PagerQuery pq) { return null; } + + @Override + public ResultBean> todoAllReadList(PagerQuery pq) { + return null; + } } \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageReadListPCVo.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageReadListPCVo.java new file mode 100644 index 0000000..d0580fe --- /dev/null +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/MessageReadListPCVo.java @@ -0,0 +1,46 @@ +package com.yxt.messagecenter.api.messagelist; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/2/20 16:35 + * @Description + */ +@Data +public class MessageReadListPCVo implements Vo { + private static final long serialVersionUID = -6064144224800959448L; + + @ApiModelProperty("消息列表sid") + private String sid; + @ApiModelProperty("消息体sid") + private String msgSid; + @ApiModelProperty("消息标题") + private String msgTitle; + @ApiModelProperty("发送时间") + private String sendTime; + //发送人 + private String senderName; + //发送人部门 + private String senderDeptName; + //来源 + private String msgSource; + //消息类别Sid + private String msgTypeSid; + + private String taskDefKey; + + private String procInsId; + + private String taskName; + + private String taskId; + + private String procDefId; + + private String businessSid; + + private String argsJson; +} diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/MessageReadListQuery.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/MessageReadListQuery.java index f9f0313..83b26b4 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/MessageReadListQuery.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/messagelist/app/MessageReadListQuery.java @@ -19,6 +19,10 @@ public class MessageReadListQuery implements Query { private String orgPath; @ApiModelProperty("0 待阅 1 已阅") private String state; - + @ApiModelProperty("工作名称") private String names; + @ApiModelProperty("发起开始日期") + private String createStartTime; + @ApiModelProperty("发起结束日期") + private String createEndTime; } diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java index 9754c0f..c016846 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java @@ -333,6 +333,7 @@ public class MessageService extends MybatisBaseService { jsonMap.putAll(dto.getJson().getAppMap()); messageDto.setArgs_json(JSONObject.toJSONString(jsonMap)); messageDto.setMsgTargetUri(dto.getModuleAction()); + messageDto.setModuleAction(dto.getModuleAction2()); messageDto.setSenderName("系统"); String msgSid = saveOrUpdateAppMessage(messageDto).getData(); String msgTypeSid = messageDto.getMsgTypeSid(); @@ -468,10 +469,15 @@ public class MessageService extends MybatisBaseService { } else { messageFlowableDto.setModuleAction(sysProUrlVo.getUrl()); } + //PC取前端页面 + ResultBean selectUrlByPCKey = sysProUrlFeign.selectUrlByKey(procDefId, ufVo.getTaskDefKey(), "2", "1"); + SysProUrlVo sysProUrlPCVo = selectUrlByPCKey.getData(); + messageFlowableDto.setModuleAction2(sysProUrlPCVo.getUrl()); messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0)); messageJsonDto.setTaskName(ufVo.getNodeState()); messageJsonDto.setProcInsId(ufVo.getProcInsId()); messageJsonDto.setAppMap(appMap); + messageJsonDto.setDeployId(procDefId); messageFlowableDto.setJson(messageJsonDto); messageFlowableDto.setList(receiveSidList); messageFlowableDto.setReceiveIdList(reveiveIdList); diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java index e1acad8..fb4a870 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.messagecenter.api.messagelist.MessageList; import com.yxt.messagecenter.api.messagelist.MessageListJoinMsgVo; import com.yxt.messagecenter.api.messagelist.MessageListVo; +import com.yxt.messagecenter.api.messagelist.MessageReadListPCVo; import com.yxt.messagecenter.api.messagelist.app.*; import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery; import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo; @@ -88,4 +89,6 @@ public interface MessageListMapper extends BaseMapper { int updateAppReadByType(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid); List selectByMsgSid(String s); + + IPage todoAllReadList(IPage iPage,@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml index b8ae5bf..f6e8d07 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListMapper.xml @@ -202,7 +202,7 @@ UPDATE message_list ml,message m - set ml.state=1 + set ml.state=1,modifyTime = NOW() WHERE ml.msgSid = m.sid AND ml.receiverSid = #{userSid} AND m.msgTypeSid = #{msgTypeSid} @@ -236,4 +236,24 @@ ORDER BY ml.id DESC + + \ No newline at end of file diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java index 759786d..220745d 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListRest.java @@ -1,7 +1,10 @@ package com.yxt.messagecenter.biz.messagelist; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.auth0.jwt.JWT; import com.auth0.jwt.interfaces.DecodedJWT; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yxt.common.base.utils.JWTUtil; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; @@ -15,10 +18,13 @@ import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.spring.web.json.Json; import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.Optional; /** * Project: message-center(消息中心)
@@ -227,4 +233,26 @@ public class MessageListRest implements MessageListFeign { PagerVo pagerVo = messageListService.getAppReadListByUserSid(pq); return new ResultBean>().success().setData(pagerVo); } + + @Override + public ResultBean> todoAllReadList(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + if (StringUtils.isBlank(pq.getParams().getUserSid())) { + return rb.setMsg("用户sid不能为空"); + } + if(StringUtils.isBlank(pq.getParams().getState())){ + return rb.setMsg("参数错误:state"); + } + PagerVo pagerVo = messageListService.todoAllReadList(pq); + for (MessageReadListPCVo record : pagerVo.getRecords()) { + String argsJson = record.getArgsJson(); + Map map = JSON.parseObject(argsJson); + record.setTaskId((String) map.get("taskId")); + record.setTaskName((String) map.get("taskName")); + record.setProcInsId((String) map.get("procInsId")); + record.setTaskDefKey((String) map.get("taskDefKey")); + record.setProcDefId((String) map.get("deployId")); + } + return new ResultBean>().success().setData(pagerVo); + } } diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java index 5624154..8e2fd9a 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/messagelist/MessageListService.java @@ -422,4 +422,29 @@ public class MessageListService extends MybatisBaseService todoAllReadList(PagerQuery pq) { + QueryWrapper qw = new QueryWrapper<>(); + MessageReadListQuery messageReadListQuery = pq.getParams(); + qw.eq("ml.receiverSid", pq.getParams().getUserSid()); + qw.eq("m.msgTypeSid","bc59c198-2d52-bb54-e4106aa38821a9ec");//阅读类 + if(StringUtils.isNotBlank(messageReadListQuery.getNames())){ + qw.like("m.msgTitle",messageReadListQuery.getNames()); + } + if("0".equals(messageReadListQuery.getState())){//待阅 + qw.eq("ml.state",0); + }else{//已阅 + qw.eq("ml.state",1); + } + String createStartTime = messageReadListQuery.getCreateStartTime(); + String createEndTime = messageReadListQuery.getCreateEndTime(); + qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (m.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createEndTime), "date_format (m.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + IPage iPage = PagerUtil.queryToPage(pq); + IPage page = baseMapper.todoAllReadList(iPage, qw); + PagerVo pagerVo = PagerUtil.pageToVo(page, null); + pagerVo.setMsg("共查询出" + pagerVo.getTotal() + "条消息"); + return pagerVo; + } } \ No newline at end of file