From eef6d2bcdb29348efe4ef17bc45a4c6886b487b1 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期四, 11 七月 2024 18:16:26 +0800
Subject: [PATCH] 花城 【小程序】统计排行添加是否是问题清单标识5

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java |   45 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
index b009883..dec89f4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActDiscussServiceImpl.java
@@ -302,9 +302,21 @@
         BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
         comActDiscussVO.setSignNum(comActDiscussDO.getFabulousNum());
         Integer type = comActDiscussVO.getType();
+        Integer num=comActDiscussDAO.getCommentNum(id+"");
+        comActDiscussVO.setCommentNum(num);
         if (type.equals(ComActDiscussVO.type.tp)) {
             //查询选项列表
             List<ComActDiscussOptionVO> comActDiscussOptionList = comActDiscussOptionDAO.getDiscussOptionList(id);
+            comActDiscussOptionList.forEach(option -> {
+                if (option.getAllNum() ==null || option.getAllNum() == 0) {
+                    option.setPercent(new BigDecimal(0));
+                } else {
+                    //占比
+                    BigDecimal percent = BigDecimal.valueOf(option.getNum()).divide(BigDecimal.valueOf(option.getAllNum()), 2, RoundingMode.HALF_UP)
+                            .multiply(BigDecimal.valueOf(100)).setScale(0);
+                    option.setPercent(percent);
+                }
+            });
             comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionList);
         }
         Long userId = comActDiscussDO.getUserId();
@@ -316,7 +328,8 @@
         //分页查询评论列表
         PageComActDiscussCommentDTO pageComActDiscussCommentDTO = new PageComActDiscussCommentDTO();
         BeanUtils.copyProperties(discussDetailDTO, pageComActDiscussCommentDTO);
-        IPage<ComActDiscussCommentVO> discussComments = comActDiscussDAO.pageDiscussCommentAdmin(new Page<>(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO);
+        IPage<ComActDiscussCommentVO> discussComments = comActDiscussDAO.pageDiscussCommentAdmin(new Page<>(pageComActDiscussCommentDTO.getPageNum(),
+                pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO);
         discussComments.getRecords().forEach(comment -> {
             if (comment.getReplyNum() > 0) {
                 List<ComActDiscussCommentVO> childList = comActDiscussDAO.getDiscussCommentReplyList(comment.getId());
@@ -351,9 +364,21 @@
         BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
         comActDiscussVO.setSignNum(comActDiscussDO.getFabulousNum());
         Integer type = comActDiscussVO.getType();
+        Integer num=comActDiscussDAO.getCommentNum(id+"");
+        comActDiscussVO.setCommentNum(num);
         if (type.equals(ComActDiscussVO.type.tp)) {
             //查询选项列表
             List<ComActDiscussOptionVO> comActDiscussOptionList = comActDiscussOptionDAO.getDiscussOptionList(id);
+            comActDiscussOptionList.forEach(option -> {
+                if (option.getAllNum() ==null || option.getAllNum() == 0) {
+                    option.setPercent(new BigDecimal(0));
+                } else {
+                    //占比
+                    BigDecimal percent = BigDecimal.valueOf(option.getNum()).divide(BigDecimal.valueOf(option.getAllNum()), 2, RoundingMode.HALF_UP)
+                            .multiply(BigDecimal.valueOf(100)).setScale(0);
+                    option.setPercent(percent);
+                }
+            });
             comActDiscussVO.setComActDiscussOptionVOS(comActDiscussOptionList);
         }
         Long userId = comActDiscussDO.getUserId();
@@ -395,6 +420,7 @@
         comActDiscussDO.setId(id);
         comActDiscussDO.setIsDel(ComActDiscussDO.isOk.yes);
         if (comActDiscussDAO.updateById(comActDiscussDO) > 0) {
+            comActDiscussDAO.incrCommentAndJoinNumById(id, false,false);
             return R.ok();
         }
         return R.fail();
@@ -430,9 +456,9 @@
             //评论成功,评论总数+1
             //若首次参与评论,参与讨论人数+1
             if (currentUserCommentCount > 0) {
-                comActDiscussDAO.incrCommentAndJoinNumById(discussId, false);
+                comActDiscussDAO.incrCommentAndJoinNumById(discussId, false,true);
             } else {
-                comActDiscussDAO.incrCommentAndJoinNumById(discussId, true);
+                comActDiscussDAO.incrCommentAndJoinNumById(discussId, true,true);
             }
             return R.ok();
         }
@@ -620,9 +646,9 @@
             //回复成功,评论总数+1
             //若首次参与评论,参与讨论人数+1
             if (currentUserCommentCount > 0) {
-                comActDiscussDAO.incrCommentAndJoinNumById(discussId, false);
+                comActDiscussDAO.incrCommentAndJoinNumById(discussId, false,true);
             } else {
-                comActDiscussDAO.incrCommentAndJoinNumById(discussId, true);
+                comActDiscussDAO.incrCommentAndJoinNumById(discussId, true,true);
             }
             return R.ok();
         }
@@ -651,6 +677,11 @@
     public R pageDiscussCommentAdmin(PageComActDiscussCommentDTO pageComActDiscussCommentDTO) {
         IPage<ComActDiscussCommentVO> iPage = comActDiscussDAO.pageDiscussCommentAdmin(new Page<>(pageComActDiscussCommentDTO.getPageNum(), pageComActDiscussCommentDTO.getPageSize()), pageComActDiscussCommentDTO);
         return R.ok(iPage);
+    }
+
+    @Override
+    public R deleteId(String id) {
+        return R.ok(comActDiscussDAO.deleteId(id));
     }
 
     /**
@@ -1113,6 +1144,8 @@
         BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
         comActDiscussVO.setSignNum(comActDiscussDO.getFabulousNum());
         Integer type = comActDiscussVO.getType();
+        Integer num=comActDiscussDAO.getCommentNum(id+"");
+        comActDiscussVO.setCommentNum(num);
         if (type.equals(2)) {
             List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
                     new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));
@@ -1209,6 +1242,8 @@
         BeanUtils.copyProperties(comActDiscussDO, comActDiscussVO);
         comActDiscussVO.setSignNum(comActDiscussDO.getFabulousNum());
         Integer type = comActDiscussVO.getType();
+        Integer num=comActDiscussDAO.getCommentNum(id+"");
+        comActDiscussVO.setCommentNum(num);
         if (type.equals(2)) {
             List<ComActDiscussOptionDO> comActDiscussOptionDOS = comActDiscussOptionDAO.selectList(
                     new QueryWrapper<ComActDiscussOptionDO>().lambda().eq(ComActDiscussOptionDO::getDiscussId, id));

--
Gitblit v1.7.1