From cca3ed1b450c409366fe5d3c310fddee2e060522 Mon Sep 17 00:00:00 2001 From: hehang <1165868871@qq.com> Date: Wed, 14 Jun 2023 15:42:09 +0800 Subject: [PATCH] add code add 230614 v2 --- ...rketingComplaintEvaluationServiceImpl.java | 82 ++++++++----------- ...rketingWechatMicroblogInfoServiceImpl.java | 47 ++++++++--- .../MarketingComplaintInfoMapper.xml | 2 +- .../MarketingEvaluationInfoMapper.xml | 4 +- .../com/ruoyi/common/utils/DateUtils.java | 28 +++++-- ruoyi-ui/vue.config.js | 4 +- 6 files changed, 94 insertions(+), 73 deletions(-) diff --git a/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingComplaintEvaluationServiceImpl.java b/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingComplaintEvaluationServiceImpl.java index 78414313..f496081e 100644 --- a/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingComplaintEvaluationServiceImpl.java +++ b/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingComplaintEvaluationServiceImpl.java @@ -8,14 +8,12 @@ import com.cjy.marketingdata.service.IMarketingComplaintInfoService; import com.cjy.marketingdata.service.IMarketingEvaluationInfoService; import com.cjy.marketingdata.service.MarketingComplaintEvaluationService; import com.cjy.parkinglotdataanalysis.vo.ReturnVO; +import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -59,7 +57,7 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai List voList = new ArrayList<>(); if (!CollectionUtils.isEmpty(dataList)) { for (int i = 5; i >= 0; i--) { - String month = getTimeToString(-i); + String month = DateUtils.getMonthTimeToString(-i); List add = dataList.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(add)) { voList.addAll(add); @@ -71,16 +69,9 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai voList.add(alarmStatisticsVO); } } - returnVO.setCategories(voList.stream().map(AlarmStatisticsVO::getName).collect(Collectors.toList())); - LineVO lineVO = new LineVO(); - lineVO.setName("数量"); - lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getValue).collect(Collectors.toList())); - List list = new ArrayList<>(); - list.add(lineVO); - returnVO.setSeriesData(list); } else { for (int i = 5; i >= 0; i--) { - String month = getTimeToString(-i); + String month = DateUtils.getMonthTimeToString(-i); AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO(); alarmStatisticsVO.setName(month); alarmStatisticsVO.setValue(0L); @@ -88,6 +79,13 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai voList.add(alarmStatisticsVO); } } + returnVO.setCategories(voList.stream().map(AlarmStatisticsVO::getName).collect(Collectors.toList())); + LineVO lineVO = new LineVO(); + lineVO.setName("数量"); + lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getValue).collect(Collectors.toList())); + List list = new ArrayList<>(); + list.add(lineVO); + returnVO.setSeriesData(list); returnVO.setName("投诉数量趋势统计"); return returnVO; } @@ -124,7 +122,7 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai List voList = new ArrayList<>(); if (!CollectionUtils.isEmpty(list)) { for (int i = 5; i >= 0; i--) { - String month = getTimeToString(-i); + String month = DateUtils.getMonthTimeToString(-i); List filterList = list.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(filterList)) { voList.add(filterList.get(0)); @@ -136,20 +134,9 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai voList.add(alarmStatisticsVO); } } - - returnVO.setCategories(voList.stream().map(AlarmStatisticsVO::getName).collect(Collectors.toList())); - LineVO lineVO = new LineVO(); - lineVO.setName("数量"); - lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getValue).collect(Collectors.toList())); - series.add(lineVO); - lineVO = new LineVO(); - lineVO.setName("平均分"); - lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getOtherValue).collect(Collectors.toList())); - series.add(lineVO); - returnVO.setSeriesData(series); } else { for (int i = 5; i >= 0; i--) { - String month = getTimeToString(-i); + String month = DateUtils.getMonthTimeToString(-i); AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO(); alarmStatisticsVO.setName(month); alarmStatisticsVO.setValue(0L); @@ -157,20 +144,19 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai voList.add(alarmStatisticsVO); } } + returnVO.setCategories(voList.stream().map(AlarmStatisticsVO::getName).collect(Collectors.toList())); + LineVO lineVO = new LineVO(); + lineVO.setName("数量"); + lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getValue).collect(Collectors.toList())); + series.add(lineVO); + lineVO = new LineVO(); + lineVO.setName("平均分"); + lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getOtherValue).collect(Collectors.toList())); + series.add(lineVO); + returnVO.setSeriesData(series); return returnVO; } - - public static String getTimeToString(int month) { - Date date = new Date(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - calendar.add(Calendar.MONTH, month); - date = calendar.getTime(); - String defaultStartDate = new SimpleDateFormat("yyyy-MM").format(date); - return defaultStartDate; - } - @Override public ReturnVO statisticsEvaluationPraise(Long organCode) { List list = marketingEvaluationInfoService.statisticsEvaluationPraise(organCode); @@ -180,7 +166,7 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai List series = new ArrayList<>(); if (!CollectionUtils.isEmpty(list)) { for (int i = 5; i >= 0; i--) { - String month = getTimeToString(-i); + String month = DateUtils.getMonthTimeToString(-i); List filterList = list.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(filterList)) { voList.add(filterList.get(0)); @@ -192,19 +178,9 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai voList.add(alarmStatisticsVO); } } - returnVO.setCategories(voList.stream().map(AlarmStatisticsVO::getName).collect(Collectors.toList())); - LineVO lineVO = new LineVO(); - lineVO.setName("数量"); - lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getValue).collect(Collectors.toList())); - series.add(lineVO); - lineVO = new LineVO(); - lineVO.setName("满意度"); - lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getOtherValue).collect(Collectors.toList())); - series.add(lineVO); - returnVO.setSeriesData(series); } else { for (int i = 5; i >= 0; i--) { - String month = getTimeToString(-i); + String month = DateUtils.getMonthTimeToString(-i); AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO(); alarmStatisticsVO.setName(month); alarmStatisticsVO.setValue(0L); @@ -212,6 +188,16 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai voList.add(alarmStatisticsVO); } } + returnVO.setCategories(voList.stream().map(AlarmStatisticsVO::getName).collect(Collectors.toList())); + LineVO lineVO = new LineVO(); + lineVO.setName("数量"); + lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getValue).collect(Collectors.toList())); + series.add(lineVO); + lineVO = new LineVO(); + lineVO.setName("满意度"); + lineVO.setValue(voList.stream().map(AlarmStatisticsVO::getOtherValue).collect(Collectors.toList())); + series.add(lineVO); + returnVO.setSeriesData(series); return returnVO; } diff --git a/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingWechatMicroblogInfoServiceImpl.java b/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingWechatMicroblogInfoServiceImpl.java index da8b6726..449a3d39 100644 --- a/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingWechatMicroblogInfoServiceImpl.java +++ b/cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingWechatMicroblogInfoServiceImpl.java @@ -129,22 +129,43 @@ public class MarketingWechatMicroblogInfoServiceImpl implements IMarketingWechat @Override public ReturnVO readStatistics(MarketingWechatMicroblogInfo marketingWechatMicroblogInfo) { - List infoList = marketingWechatMicroblogInfoMapper.readStatistics(marketingWechatMicroblogInfo.getOrganCode(), marketingWechatMicroblogInfo.getType()); + List dataList = marketingWechatMicroblogInfoMapper.readStatistics(marketingWechatMicroblogInfo.getOrganCode(), marketingWechatMicroblogInfo.getType()); + List infoList = new ArrayList<>(); ReturnVO returnVO = new ReturnVO(); - if (!CollectionUtils.isEmpty(infoList)) { - String name = "微博内容阅读量分析"; - if (marketingWechatMicroblogInfo.getType().equals("1")) { - name = "微信内容阅读量分析"; + String name = "微博内容阅读量分析"; + if (marketingWechatMicroblogInfo.getType().equals("1")) { + name = "微信内容阅读量分析"; + } + if (!CollectionUtils.isEmpty(dataList)) { + for (int i = 5; i >= 0; i--) { + String days = DateUtils.getDaysTimeToString(-i); + List filterList = dataList.stream().filter(r -> r.getTime().equals(days)).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(filterList)) { + infoList.add(filterList.get(0)); + } else { + MarketingWechatMicroblogInfo marketingWechatMicroblogInfo1 = new MarketingWechatMicroblogInfo(); + marketingWechatMicroblogInfo1.setTime(days); + marketingWechatMicroblogInfo1.setReadNumber(0L); + infoList.add(marketingWechatMicroblogInfo1); + } + } + } else { + for (int i = 5; i >= 0; i--) { + String days = DateUtils.getDaysTimeToString(-i); + MarketingWechatMicroblogInfo marketingWechatMicroblogInfo1 = new MarketingWechatMicroblogInfo(); + marketingWechatMicroblogInfo1.setTime(days); + marketingWechatMicroblogInfo1.setReadNumber(0L); + infoList.add(marketingWechatMicroblogInfo1); } - List list = new ArrayList<>(); - returnVO.setName(name); - returnVO.setCategories(infoList.stream().map(MarketingWechatMicroblogInfo::getTime).collect(Collectors.toList())); - LineVO lineVO = new LineVO(); - lineVO.setName("数量"); - lineVO.setValue(infoList.stream().map(MarketingWechatMicroblogInfo::getReadNumber).collect(Collectors.toList())); - list.add(lineVO); - returnVO.setSeriesData(list); } + List list = new ArrayList<>(); + returnVO.setName(name); + returnVO.setCategories(infoList.stream().map(MarketingWechatMicroblogInfo::getTime).collect(Collectors.toList())); + LineVO lineVO = new LineVO(); + lineVO.setName("数量"); + lineVO.setValue(infoList.stream().map(MarketingWechatMicroblogInfo::getReadNumber).collect(Collectors.toList())); + list.add(lineVO); + returnVO.setSeriesData(list); return returnVO; } diff --git a/cjy-project/src/main/resources/mapper/marketingdata/MarketingComplaintInfoMapper.xml b/cjy-project/src/main/resources/mapper/marketingdata/MarketingComplaintInfoMapper.xml index d6967003..075ad99d 100644 --- a/cjy-project/src/main/resources/mapper/marketingdata/MarketingComplaintInfoMapper.xml +++ b/cjy-project/src/main/resources/mapper/marketingdata/MarketingComplaintInfoMapper.xml @@ -139,7 +139,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/cjy-project/src/main/resources/mapper/marketingdata/MarketingEvaluationInfoMapper.xml b/cjy-project/src/main/resources/mapper/marketingdata/MarketingEvaluationInfoMapper.xml index 86307d2d..53928455 100644 --- a/cjy-project/src/main/resources/mapper/marketingdata/MarketingEvaluationInfoMapper.xml +++ b/cjy-project/src/main/resources/mapper/marketingdata/MarketingEvaluationInfoMapper.xml @@ -98,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -107,7 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SUM(case WHEN t1.evaluation_type =1 THEN 1 ELSE 0 END ) as value , ROUND(SUM(case WHEN t1.evaluation_type =1 THEN 1 ELSE 0 END )/COUNT(t1.id)*100,2) as otherValue FROM md_marketing_evaluation_info t1 - WHERE t1.del_flag !=2 AND t1.online_evaluation_time > DATE_ADD(CURRENT_DATE,INTERVAL -5 MONTH) and t1.organ_code = #{organCode} + WHERE t1.del_flag !=2 AND t1.online_evaluation_time > DATE_FORMAT(DATE_ADD(CURRENT_DATE,INTERVAL -5 MONTH),'%Y-%m-01') and t1.organ_code = #{organCode} GROUP BY DATE_FORMAT(t1.online_evaluation_time,'%Y-%m') ORDER BY DATE_FORMAT(t1.online_evaluation_time,'%Y-%m') diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java index 8b63e9bd..6ca48d38 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java @@ -1,16 +1,13 @@ package com.ruoyi.common.utils; +import org.apache.commons.lang3.time.DateFormatUtils; + import java.lang.management.ManagementFactory; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; +import java.time.*; import java.util.Calendar; import java.util.Date; -import org.apache.commons.lang3.time.DateFormatUtils; /** * 时间工具类 @@ -283,6 +280,23 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils return 0L; } } - + public static String getMonthTimeToString(int month) { + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.MONTH, month); + date = calendar.getTime(); + String defaultStartDate = new SimpleDateFormat("yyyy-MM").format(date); + return defaultStartDate; + } + public static String getDaysTimeToString(int day) { + Date date = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.DATE, day); + date = calendar.getTime(); + String defaultStartDate = new SimpleDateFormat("yyyy-MM-dd").format(date); + return defaultStartDate; + } } diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js index 079209e8..bab736dc 100644 --- a/ruoyi-ui/vue.config.js +++ b/ruoyi-ui/vue.config.js @@ -35,8 +35,8 @@ module.exports = { proxy: { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { - //target: `http://localhost:8080/`,//用户名:admin 密码CJYjqgk@2023! - target: `http://39.105.17.128:8096/`,//用户名:cjyadmin/密码:CJYjqgk@2023! + target: `http://localhost:8080/`,//用户名:admin 密码CJYjqgk@2023! + // target: `http://39.105.17.128:8096/`,//用户名:cjyadmin/密码:CJYjqgk@2023! // target: `http://192.168.130.102:8080/`,//用户名:admin 密码Cjy@123abc changeOrigin: true, pathRewrite: {