From 3365d126c0b46f25e6cb290b7ab0f935e3bed44c Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Mon, 20 Feb 2023 17:44:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=85=E9=98=85=E5=B7=B2=E9=98=85=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/messagelist/MessageListFeign.java | 8 +- .../messagelist/MessageListFeignFallback.java | 7 ++ .../biz/messagelist/MessageListMapper.java | 5 +- .../biz/messagelist/MessageListMapper.xml | 23 ++++++ .../biz/messagelist/MessageListService.java | 82 +++++++++++++------ 5 files changed, 94 insertions(+), 31 deletions(-) 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 d57fb07..e6ccc79 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 @@ -4,9 +4,7 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.messagecenter.api.message.Message; -import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery; -import com.yxt.messagecenter.api.messagelist.app.AppMessageListVo; -import com.yxt.messagecenter.api.messagelist.app.AppMsgMainVo; +import com.yxt.messagecenter.api.messagelist.app.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -109,4 +107,8 @@ public interface MessageListFeign { public ResultBean updateAppReadByType(@RequestParam("msgTypeSid") String msgTypeSid, @RequestParam("userSid") String userSid); /****************************************************************************************************************************/ + + @ApiOperation("手机端待阅已阅") + @PostMapping("/getAppReadListByUserSid") + public ResultBean> getAppReadListByUserSid(@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 92e118d..1e12e83 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 @@ -6,6 +6,8 @@ import com.yxt.common.core.vo.PagerVo; import com.yxt.messagecenter.api.message.Message; import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery; import com.yxt.messagecenter.api.messagelist.app.AppMsgMainVo; +import com.yxt.messagecenter.api.messagelist.app.MessageReadListQuery; +import com.yxt.messagecenter.api.messagelist.app.MessageReadListVo; import org.springframework.stereotype.Component; import java.util.List; @@ -113,4 +115,9 @@ public class MessageListFeignFallback implements MessageListFeign { ResultBean rb = ResultBean.fireFail(); return rb.setMsg("接口message-center/messagelist/updateAppReadByType无法访问"); } + + @Override + public ResultBean> getAppReadListByUserSid(PagerQuery pq) { + return null; + } } \ No newline at end of file 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 ce7883f..e1acad8 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,9 +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.app.AppLastMsgVo; -import com.yxt.messagecenter.api.messagelist.app.AppMessageListQuery; -import com.yxt.messagecenter.api.messagelist.app.AppMessageListVo; +import com.yxt.messagecenter.api.messagelist.app.*; import com.yxt.messagecenter.api.messagelist.wx.WxMessageListQuery; import com.yxt.messagecenter.api.messagelist.wx.WxMessageListVo; import org.apache.ibatis.annotations.Mapper; @@ -85,6 +83,7 @@ public interface MessageListMapper extends BaseMapper { AppLastMsgVo selectLastMsg(@Param("userSid") String userSid, @Param("msgTypeSid") String msgTypeSid); IPage getAppMsgListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage getAppReadListByUserSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); int updateAppReadByType(@Param("msgTypeSid") String msgTypeSid, @Param("userSid") String userSid); 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 5e65660..b8ae5bf 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 @@ -213,4 +213,27 @@ from message_list where msgSid = #{s} + + \ No newline at end of file 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 a7c07a8..7bd28f8 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 @@ -308,9 +308,6 @@ public class MessageListService extends MybatisBaseService qw = new QueryWrapper<>(); qw.eq("ml.receiverSid", pq.getParams().getUserSid()); qw.eq("m.msgTypeSid", pq.getParams().getMsgTypeSid()); -// if(StringUtils.isNotBlank(pq.getParams().getOrgPath())){ -// qw.and(wrapper -> wrapper.isNull("ml.receiverDeptSid").or().eq("ml.receiverDeptSid",pq.getParams().getOrgPath()).or().eq("ml.receiverDeptSid", "")); -// } IPage iPage = PagerUtil.queryToPage(pq); IPage page = baseMapper.getAppMsgListByUserSid(iPage, qw); PagerVo pagerVo = PagerUtil.pageToVo(page, null); @@ -351,28 +348,6 @@ public class MessageListService extends MybatisBaseService { - vo.setPath(fileUploadComponent.getUploadPath()+vo.getPath()); - if (vo.getType().equals("2")) { - //插件 - List integers = appVer.get(vo.getModuleSid()); - if (integers == null) { - integers = new ArrayList<>(); - } - integers.add(i); - appVer.put(appSid2, integers); - AppSubsetVersionVo subsetVersionVo = appSubsetVersionFeign.getLastByAppSid(vo.getModuleSid()).getData(); - vo.setPath(subsetVersionVo.getUpdateUrl()); - vo.setModulePluginName(subsetVersionVo.getModulePluginName()); - if (StringUtils.isNotBlank(subsetVersionVo.getVersionName())) { - vo.setModuleVersion(subsetVersionVo.getVersionCode()); - } - } - if (StringUtils.isBlank(vo.getJson())) { - vo.setJson("{}"); - } - });*/ pagerVo.setMsg("共查询出" + pagerVo.getTotal() + "条消息"); return pagerVo; } @@ -390,4 +365,61 @@ public class MessageListService extends MybatisBaseService selectByMsgSid(String s) { return baseMapper.selectByMsgSid(s); } + + public PagerVo getAppReadListByUserSid(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(messageReadListQuery.getState() == 0){//待阅 + qw.eq("ml.state",0); + }else{//已阅 + qw.eq("ml.state",1); + } + IPage iPage = PagerUtil.queryToPage(pq); + IPage page = baseMapper.getAppReadListByUserSid(iPage, qw); + PagerVo pagerVo = PagerUtil.pageToVo(page, null); + //定义的app的sid的index集合 + Map> appVer = new HashMap<>(); + List records = page.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (int i = 0; i < records.size(); i++) { + MessageReadListVo vo = records.get(i); + if (vo.getType().equals("2")) { + //插件 + if(StringUtils.isNotBlank(vo.getModuleSid())){ + List integers = appVer.get(vo.getModuleSid()); + if (integers == null) { + integers = new ArrayList<>(); + } + integers.add(i); + appVer.put(vo.getModuleSid(), integers); + } + } + if (StringUtils.isBlank(vo.getJson())) { + vo.setJson("{}"); + } + } + // 循环取map:若为同一个app版本,则只查询一次 + for (String key : appVer.keySet()) { + AppSubsetVersionVo appSubsetVersions = appSubsetVersionFeign.getLastByAppSid(key).getData(); + if (appSubsetVersions != null) { + List integers = appVer.get(key); + for (int i = 0; i < integers.size(); i++) { + Integer integer = integers.get(i); + String path = fileUploadComponent.getUrlPrefix(); + records.get(integer).setPath(path + appSubsetVersions.getUpdateUrl()); + records.get(integer).setModuleVersion(appSubsetVersions.getVersionCode()); + records.get(integer).setModulePluginName(appSubsetVersions.getModulePluginName()); + } + } + } + } + pagerVo.setMsg("共查询出" + pagerVo.getTotal() + "条消息"); + return pagerVo; + } } \ No newline at end of file