From 53d08825c45bfc86c0a560b9eaef627c37163b16 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 14 五月 2025 15:46:23 +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/resources/mapper/ComplaintMapper.xml | 13 ++++++ springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/StaticsController.java | 10 ++++- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintServiceImpl.java | 13 ++++-- 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 | 33 ++++++++++++++++ 6 files changed, 68 insertions(+), 11 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 6b38359..6287912 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 @@ -168,7 +168,7 @@ AnalyticStatisticsOneVo analyticStatisticsOneVo = complaintService.analyticStatisticsOne(query,complaints,simpleDateFormat); // 第二部分数据 - List<AnalyticStatisticsTwoVo> analyticStatisticsTwoVos =complaintService.analyticStatisticsTwo(query,complaints,simpleDateFormat); + List<AnalyticStatisticsTwoVo> analyticStatisticsTwoVos =complaintService.analyticStatisticsTwo(query.getTime(),complaints,simpleDateFormat); // 第三部分数据 List<AnalyticStatisticsThreeVo> analyticStatisticsThreeVos =complaintService.analyticStatisticsThree(query,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 9ba9a84..cd6558c 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 @@ -9,6 +9,7 @@ import com.panzhihua.sangeshenbian.model.query.AnalyticStatisticsQuery; import com.panzhihua.sangeshenbian.model.query.AppStaticsQuery; import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsOneVo; +import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsTwoVo; import com.panzhihua.sangeshenbian.model.vo.RegionVO; import com.panzhihua.sangeshenbian.service.IdentityInformationService; import com.panzhihua.sangeshenbian.service.impl.StaticsService; @@ -36,7 +37,6 @@ @RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class StaticsController extends BaseController { private final StaticsService staticsService; - private final IdentityInformationService identityInformationService; @GetMapping("/region-tree") @ApiOperation("获取区域树") @@ -45,9 +45,15 @@ return R.ok(staticsService.queryRegionTree(loginUserInfo)); } @PostMapping("/part-one") - @ApiOperation("获取统计分析-第一部分") + @ApiOperation("获取统计分析-第一部分(处理满意率+诉求单量统计上面部分)") public R<AnalyticStatisticsOneVo> queryStaticsPartOne(@RequestBody AppStaticsQuery query) { LoginUserInfoVO loginUserInfo = getLoginUserInfo(); return R.ok(staticsService.queryStaticsPartOne(query,loginUserInfo)); } + @PostMapping("/part-two") + @ApiOperation("获取统计分析-第二部分(诉求单量统计柱状图)") + public R<List<AnalyticStatisticsTwoVo>> queryStaticsPartTwo(@RequestBody AppStaticsQuery query) { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + return R.ok(staticsService.queryStaticsPartTwo(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 56e4035..e337d79 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 @@ -187,12 +187,13 @@ /** * 数据统计第二部分 - * @param query + * + * @param time * @param complaints * @param simpleDateFormat * @return */ - List<AnalyticStatisticsTwoVo> analyticStatisticsTwo(@Valid AnalyticStatisticsQuery query, List<Complaint> complaints, SimpleDateFormat simpleDateFormat); + List<AnalyticStatisticsTwoVo> analyticStatisticsTwo(String time, List<Complaint> complaints, SimpleDateFormat simpleDateFormat); /**+ @@ -212,8 +213,7 @@ /** * 查询党员或上级对应的诉求列表 - * @param targetId - * @param accountLevel + * @param query * @param loginUserInfo * @return */ 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 599e05a..6446212 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 @@ -1551,12 +1551,17 @@ return vo; } + public static void main(String[] args) { + String time = "2022-02-02 - 2023-02-02"; + String[] split = time.split(" - "); + System.out.println(split[0]); + } @Override - public List<AnalyticStatisticsTwoVo> analyticStatisticsTwo(AnalyticStatisticsQuery query, List<Complaint> complaints, SimpleDateFormat simpleDateFormat) { + public List<AnalyticStatisticsTwoVo> analyticStatisticsTwo(String time, List<Complaint> complaints, SimpleDateFormat simpleDateFormat) { ArrayList<AnalyticStatisticsTwoVo> list = new ArrayList<>(); try { - if (StringUtils.isNotEmpty(query.getTime())) { - String[] split = query.getTime().split(" - "); + if (StringUtils.isNotEmpty(time)) { + String[] split = time.split(" - "); Date parse = simpleDateFormat.parse(split[0] + " 00:00:00"); Date parse1 = simpleDateFormat.parse(split[1] + " 23:59:59"); complaints = complaints.stream().filter(e -> e.getCreateTime().getTime() <= parse1.getTime() && e.getCreateTime().getTime() >= parse.getTime()).collect(Collectors.toList()); @@ -1587,7 +1592,7 @@ } } else { - String time = DateUtils.getBeforeDay(6) + " 00:00:00"; + time = DateUtils.getBeforeDay(6) + " 00:00:00"; Date parse = simpleDateFormat.parse(time); // 近7天数据 complaints = complaints.stream().filter(e -> e.getCreateTime().getTime() <= new Date().getTime() && e.getCreateTime().getTime() >= parse.getTime()).collect(Collectors.toList()); 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 9feb7bb..e8450f8 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,8 +1,11 @@ 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; @@ -12,6 +15,7 @@ import com.panzhihua.sangeshenbian.model.entity.SystemUserLevel; import com.panzhihua.sangeshenbian.model.query.AppStaticsQuery; import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsOneVo; +import com.panzhihua.sangeshenbian.model.vo.AnalyticStatisticsTwoVo; import com.panzhihua.sangeshenbian.model.vo.RegionVO; import com.panzhihua.sangeshenbian.service.IBcRegionService; import com.panzhihua.sangeshenbian.service.IComActService; @@ -26,7 +30,9 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * @author mitao @@ -139,4 +145,31 @@ List<Complaint> complaints = complaintService.queryCompliantList(query,loginUserInfo); return complaintService.analyticStatisticsOne(null, complaints, simpleDateFormat); } + + public List<AnalyticStatisticsTwoVo> queryStaticsPartTwo(AppStaticsQuery query, LoginUserInfoVO loginUserInfo) { + List<Complaint> complaints = complaintService.queryCompliantList(query,loginUserInfo); + //时间范围 + String time = ""; + if (Objects.nonNull(query.getTimeType())) { + Date now = new Date(); + Date start = null; + switch (query.getTimeType()) { + case 2: + start = DateUtils.addDay(now, -15); + break; + case 3: + start = DateUtils.addDay(now, -30); + break; + default: + start = DateUtils.addDay(now, -7); + break; + } + //格式化 + String startStr = DateUtils.format(start, DateUtils.yyyyMMdd_format); + String endStr = DateUtils.format(now, DateUtils.yyyyMMdd_format); + time = startStr + " - " + endStr; + } + return complaintService.analyticStatisticsTwo(time, complaints, simpleDateFormat); + } + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml index 7b584c7..ce5d6c6 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/ComplaintMapper.xml @@ -720,6 +720,19 @@ <if test="5 == accountLevel"> and (sc.party_member_id = #{targetId} || sc.id in (select complaint_id from sgsb_complaint_audit_record where audit_type = 3 and audit_status = 1 and report_type = #{accountLevel} and superior_id = #{targetId})) </if> + <if test="query.timeType !=null"> + <choose> + <when test="query.timeType == 1"> + and date_sub(curdate(), INTERVAL 7 DAY) <= date(sc.create_time) + </when> + <when test="query.timeType == 2"> + and date_sub(curdate(), INTERVAL 15 DAY) <= date(sc.create_time) + </when> + <when test="query.timeType == 3"> + and date_sub(curdate(), INTERVAL 30 DAY) <= date(sc.create_time) + </when> + </choose> + </if> </where> ORDER BY sc.create_time DESC </select> -- Gitblit v1.7.1