瀏覽代碼

发布同步

谭斌 1 年之前
父節點
當前提交
197d05fcc5

+ 28 - 1
sys-api-service/src/main/java/com/xy/service/MsgUserMessageServiceImpl.java

@@ -101,12 +101,39 @@ public class MsgUserMessageServiceImpl extends ServiceImpl<MsgUserMessageMapper,
         return R.ok(Boolean.TRUE);
     }
 
+    @ApiOperation("我的未读消息统计")
+    @Override
+    public R<MsgUserMessageDto.PageCount> myMsgPageCount(MsgUserMessageDto.Page page) {
+        page.setReadState(MsgReadStatus.UN_READ.getCode().toString());
+        page.setType(null);
+        Integer allNum = getTotalMsgNum(myMsgPage(page));
+        //类型 1故障通知、2交易通知、3其他通知
+        page.setType("1");
+        Integer riskNum = getTotalMsgNum(myMsgPage(page));
+        page.setType("2");
+        Integer tradeNum = getTotalMsgNum(myMsgPage(page));
+        page.setType("3");
+        Integer otherNum = getTotalMsgNum(myMsgPage(page));
+        MsgUserMessageDto.PageCount pageCount = new MsgUserMessageDto.PageCount()
+                .setAllNum(allNum)
+                .setOtherNum(otherNum)
+                .setRiskNum(riskNum)
+                .setTradeNum(tradeNum);
+
+        return R.ok(pageCount);
+    }
+
+    private Integer getTotalMsgNum(R<PageBean<MsgUserMessageDto.PageVO>> pageBeanR) {
+        PageBean<MsgUserMessageDto.PageVO> pageBeanRData = pageBeanR.getData();
+        Long total = pageBeanRData.getTotal();
+        return total.intValue();
+    }
+
     @ApiOperation("我的消息")
     @Override
     public R<PageBean<MsgUserMessageDto.PageVO>> myMsgPage(MsgUserMessageDto.Page page) {
         //类型 1故障通知、2交易通知、3其他通知
         String type = page.getType();
-        Integer msgType = null;
         List<Integer> msgTypes = new ArrayList<>();
         List<Integer> msgTypesNotIn = new ArrayList<>();
         if ("1".equals(type)) {

+ 13 - 0
sys-api/src/main/java/com/xy/dto/MsgUserMessageDto.java

@@ -82,6 +82,19 @@ public class MsgUserMessageDto {
 
     }
 
+    @Data
+    @Accessors(chain = true)
+    public static class PageCount {
+        @ApiModelProperty(value = "全部未读数")
+        private Integer allNum;
+        @ApiModelProperty(value = "交易未读数")
+        private Integer tradeNum;
+        @ApiModelProperty(value = "故障未读数")
+        private Integer riskNum;
+        @ApiModelProperty(value = "其他未读数")
+        private Integer otherNum;
+    }
+
     @Data
     @Accessors(chain = true)
     public static class PageVO {

+ 3 - 0
sys-api/src/main/java/com/xy/service/MsgUserMessageService.java

@@ -31,6 +31,9 @@ public interface MsgUserMessageService {
     @PostMapping("myMsg")
     R<PageBean<MsgUserMessageDto.PageVO>> myMsgPage(@RequestBody MsgUserMessageDto.Page page);
 
+    @PostMapping("myMsgCount")
+    R<MsgUserMessageDto.PageCount> myMsgPageCount(@RequestBody MsgUserMessageDto.Page page);
+
     @PostMapping("save")
     R save(@RequestBody @Validated MsgUserMessageDto.Save save);