From 21488a55ba76ae4f1296b608fbcdf1f06036db64 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 15 五月 2025 22:19:25 +0800
Subject: [PATCH] 用户端统计分析接口

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java  |    2 
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/StaticsController.java      |   14 +++++++
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java |    8 ++--
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java         |    8 ++-
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/StaticsService.java       |   35 ++++++++++++++---
 5 files changed, 53 insertions(+), 14 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java
index 6287912..e024aa4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/AnalyticStatisticsController.java
@@ -171,7 +171,7 @@
         List<AnalyticStatisticsTwoVo> analyticStatisticsTwoVos =complaintService.analyticStatisticsTwo(query.getTime(),complaints,simpleDateFormat);
 
         // 第三部分数据
-        List<AnalyticStatisticsThreeVo> analyticStatisticsThreeVos =complaintService.analyticStatisticsThree(query,complaints);
+        List<AnalyticStatisticsThreeVo> analyticStatisticsThreeVos =complaintService.analyticStatisticsThree(query.getRank(), complaints);
 
         // 第四部分数据
         AnalyticStatisticsFourVo analyticStatisticsFourVos =complaintService.analyticStatisticsFour(complaints);
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/StaticsController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/StaticsController.java
index cd6558c..1eacf74 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/StaticsController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/StaticsController.java
@@ -8,7 +8,9 @@
 import com.panzhihua.sangeshenbian.model.entity.ComAct;
 import com.panzhihua.sangeshenbian.model.query.AnalyticStatisticsQuery;
 import com.panzhihua.sangeshenbian.model.query.AppStaticsQuery;
+import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsFourVo;
 import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsOneVo;
+import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsThreeVo;
 import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsTwoVo;
 import com.panzhihua.sangeshenbian.model.vo.RegionVO;
 import com.panzhihua.sangeshenbian.service.IdentityInformationService;
@@ -56,4 +58,16 @@
         LoginUserInfoVO loginUserInfo = getLoginUserInfo();
         return R.ok(staticsService.queryStaticsPartTwo(query,loginUserInfo));
     }
+    @PostMapping("/part-three")
+    @ApiOperation("获取统计分析-第三部分(问题类型排名)")
+    public R<List<AnalyticStatisticsThreeVo>> queryStaticsPartThree(@RequestBody AppStaticsQuery query) {
+        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+        return R.ok(staticsService.queryStaticsPartThree(query,loginUserInfo));
+    }
+    @PostMapping("/part-four")
+    @ApiOperation("获取统计分析-第四部分(评价占比)")
+    public R<AnalyticStatisticsFourVo> queryStaticsPartFour(@RequestBody AppStaticsQuery query) {
+        LoginUserInfoVO loginUserInfo = getLoginUserInfo();
+        return R.ok(staticsService.queryStaticsPartFour(query,loginUserInfo));
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java
index e337d79..c1e0872 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/IComplaintService.java
@@ -196,13 +196,15 @@
     List<AnalyticStatisticsTwoVo> analyticStatisticsTwo(String time, List<Complaint> complaints, SimpleDateFormat simpleDateFormat);
 
 
-    /**+
+    /**
+     * +
      * 数据统计第三部分
-     * @param query
+     *
+     * @param rank
      * @param complaints
      * @return
      */
-    List<AnalyticStatisticsThreeVo> analyticStatisticsThree(@Valid AnalyticStatisticsQuery query, List<Complaint> complaints);
+    List<AnalyticStatisticsThreeVo> analyticStatisticsThree(Integer rank, List<Complaint> complaints);
 
     /**
      * 数据统计第四部分
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
index 6446212..171c4ec 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java
@@ -1617,7 +1617,7 @@
     }
 
     @Override
-    public List<AnalyticStatisticsThreeVo> analyticStatisticsThree(AnalyticStatisticsQuery query, List<Complaint> complaints) {
+    public List<AnalyticStatisticsThreeVo> analyticStatisticsThree(Integer rank, List<Complaint> complaints) {
         Map<String, List<Complaint>> groupedByProblemType = complaints.stream()
                 .collect(Collectors.groupingBy(Complaint::getProblemType));
         List<AnalyticStatisticsThreeVo> analyticStatisticsThreeVos = groupedByProblemType.entrySet().stream()
@@ -1629,11 +1629,11 @@
                 })
                 .collect(Collectors.toList());
         analyticStatisticsThreeVos = analyticStatisticsThreeVos.stream().sorted(Comparator.comparing(AnalyticStatisticsThreeVo::getAllTotal).reversed()).collect(Collectors.toList());
-        if (query.getRank() == null) {
+        if (rank == null) {
             return analyticStatisticsThreeVos;
-        } else if (query.getRank() == 5) {
+        } else if (rank == 5) {
             return analyticStatisticsThreeVos.stream().limit(5).collect(Collectors.toList());
-        } else if (query.getRank() == 10) {
+        } else if (rank == 10) {
             return analyticStatisticsThreeVos.stream().limit(10).collect(Collectors.toList());
         }
         return Collections.emptyList();
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/StaticsService.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/StaticsService.java
index e8450f8..0d41c72 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/StaticsService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/StaticsService.java
@@ -1,20 +1,17 @@
 package com.panzhihua.sangeshenbian.service.impl;
 
-import cn.hutool.core.date.DateUtil;
-import com.beust.jcommander.internal.Lists;
-import com.fasterxml.jackson.databind.ser.std.ObjectArraySerializer;
 import com.panzhihua.common.exceptions.ServiceException;
 import com.panzhihua.common.model.vos.LoginUserInfoVO;
 import com.panzhihua.common.utlis.DateUtils;
-import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.sangeshenbian.dao.SystemUserMapper;
 import com.panzhihua.sangeshenbian.model.entity.ComAct;
 import com.panzhihua.sangeshenbian.model.entity.ComStreet;
 import com.panzhihua.sangeshenbian.model.entity.Complaint;
-import com.panzhihua.sangeshenbian.model.entity.PartyMember;
 import com.panzhihua.sangeshenbian.model.entity.SystemUserLevel;
 import com.panzhihua.sangeshenbian.model.query.AppStaticsQuery;
+import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsFourVo;
 import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsOneVo;
+import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsThreeVo;
 import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsTwoVo;
 import com.panzhihua.sangeshenbian.model.vo.RegionVO;
 import com.panzhihua.sangeshenbian.service.IBcRegionService;
@@ -28,7 +25,6 @@
 import org.springframework.stereotype.Service;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
@@ -146,6 +142,12 @@
         return  complaintService.analyticStatisticsOne(null, complaints, simpleDateFormat);
     }
 
+    /**
+     *获取统计分析-第二部分(诉求单量统计柱状图)
+     * @param query
+     * @param loginUserInfo
+     * @return
+     */
     public List<AnalyticStatisticsTwoVo> queryStaticsPartTwo(AppStaticsQuery query, LoginUserInfoVO loginUserInfo) {
         List<Complaint> complaints = complaintService.queryCompliantList(query,loginUserInfo);
         //时间范围
@@ -172,4 +174,25 @@
         return complaintService.analyticStatisticsTwo(time, complaints, simpleDateFormat);
     }
 
+    /**
+     *获取统计分析-第三部分(问题类型排名)
+     * @param query
+     * @param loginUserInfo
+     * @return
+     */
+    public List<AnalyticStatisticsThreeVo> queryStaticsPartThree(AppStaticsQuery query, LoginUserInfoVO loginUserInfo) {
+        List<Complaint> complaints = complaintService.queryCompliantList(query,loginUserInfo);
+        return complaintService.analyticStatisticsThree(query.getRank(), complaints);
+    }
+
+    /**
+     * 获取统计分析-第四部分(评价占比)
+     * @param query
+     * @param loginUserInfo
+     * @return
+     */
+    public AnalyticStatisticsFourVo queryStaticsPartFour(AppStaticsQuery query, LoginUserInfoVO loginUserInfo) {
+        List<Complaint> complaints = complaintService.queryCompliantList(query,loginUserInfo);
+        return complaintService.analyticStatisticsFour(complaints);
+    }
 }

--
Gitblit v1.7.1