add code add 230614 v2

dev
hehang 2 years ago
parent d0b1752603
commit cca3ed1b45
  1. 82
      cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingComplaintEvaluationServiceImpl.java
  2. 47
      cjy-project/src/main/java/com/cjy/marketingdata/service/impl/MarketingWechatMicroblogInfoServiceImpl.java
  3. 2
      cjy-project/src/main/resources/mapper/marketingdata/MarketingComplaintInfoMapper.xml
  4. 4
      cjy-project/src/main/resources/mapper/marketingdata/MarketingEvaluationInfoMapper.xml
  5. 28
      ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
  6. 4
      ruoyi-ui/vue.config.js

@ -8,14 +8,12 @@ import com.cjy.marketingdata.service.IMarketingComplaintInfoService;
import com.cjy.marketingdata.service.IMarketingEvaluationInfoService; import com.cjy.marketingdata.service.IMarketingEvaluationInfoService;
import com.cjy.marketingdata.service.MarketingComplaintEvaluationService; import com.cjy.marketingdata.service.MarketingComplaintEvaluationService;
import com.cjy.parkinglotdataanalysis.vo.ReturnVO; import com.cjy.parkinglotdataanalysis.vo.ReturnVO;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -59,7 +57,7 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
List<AlarmStatisticsVO> voList = new ArrayList<>(); List<AlarmStatisticsVO> voList = new ArrayList<>();
if (!CollectionUtils.isEmpty(dataList)) { if (!CollectionUtils.isEmpty(dataList)) {
for (int i = 5; i >= 0; i--) { for (int i = 5; i >= 0; i--) {
String month = getTimeToString(-i); String month = DateUtils.getMonthTimeToString(-i);
List<AlarmStatisticsVO> add = dataList.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList()); List<AlarmStatisticsVO> add = dataList.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(add)) { if (!CollectionUtils.isEmpty(add)) {
voList.addAll(add); voList.addAll(add);
@ -71,16 +69,9 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
voList.add(alarmStatisticsVO); 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<LineVO> list = new ArrayList<>();
list.add(lineVO);
returnVO.setSeriesData(list);
} else { } else {
for (int i = 5; i >= 0; i--) { for (int i = 5; i >= 0; i--) {
String month = getTimeToString(-i); String month = DateUtils.getMonthTimeToString(-i);
AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO(); AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO();
alarmStatisticsVO.setName(month); alarmStatisticsVO.setName(month);
alarmStatisticsVO.setValue(0L); alarmStatisticsVO.setValue(0L);
@ -88,6 +79,13 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
voList.add(alarmStatisticsVO); 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<LineVO> list = new ArrayList<>();
list.add(lineVO);
returnVO.setSeriesData(list);
returnVO.setName("投诉数量趋势统计"); returnVO.setName("投诉数量趋势统计");
return returnVO; return returnVO;
} }
@ -124,7 +122,7 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
List<AlarmStatisticsVO> voList = new ArrayList<>(); List<AlarmStatisticsVO> voList = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
for (int i = 5; i >= 0; i--) { for (int i = 5; i >= 0; i--) {
String month = getTimeToString(-i); String month = DateUtils.getMonthTimeToString(-i);
List<AlarmStatisticsVO> filterList = list.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList()); List<AlarmStatisticsVO> filterList = list.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(filterList)) { if (!CollectionUtils.isEmpty(filterList)) {
voList.add(filterList.get(0)); voList.add(filterList.get(0));
@ -136,20 +134,9 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
voList.add(alarmStatisticsVO); 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 { } else {
for (int i = 5; i >= 0; i--) { for (int i = 5; i >= 0; i--) {
String month = getTimeToString(-i); String month = DateUtils.getMonthTimeToString(-i);
AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO(); AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO();
alarmStatisticsVO.setName(month); alarmStatisticsVO.setName(month);
alarmStatisticsVO.setValue(0L); alarmStatisticsVO.setValue(0L);
@ -157,20 +144,19 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
voList.add(alarmStatisticsVO); 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; 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 @Override
public ReturnVO statisticsEvaluationPraise(Long organCode) { public ReturnVO statisticsEvaluationPraise(Long organCode) {
List<AlarmStatisticsVO> list = marketingEvaluationInfoService.statisticsEvaluationPraise(organCode); List<AlarmStatisticsVO> list = marketingEvaluationInfoService.statisticsEvaluationPraise(organCode);
@ -180,7 +166,7 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
List<LineVO> series = new ArrayList<>(); List<LineVO> series = new ArrayList<>();
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
for (int i = 5; i >= 0; i--) { for (int i = 5; i >= 0; i--) {
String month = getTimeToString(-i); String month = DateUtils.getMonthTimeToString(-i);
List<AlarmStatisticsVO> filterList = list.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList()); List<AlarmStatisticsVO> filterList = list.stream().filter(r -> r.getName().equals(month)).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(filterList)) { if (!CollectionUtils.isEmpty(filterList)) {
voList.add(filterList.get(0)); voList.add(filterList.get(0));
@ -192,19 +178,9 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
voList.add(alarmStatisticsVO); 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 { } else {
for (int i = 5; i >= 0; i--) { for (int i = 5; i >= 0; i--) {
String month = getTimeToString(-i); String month = DateUtils.getMonthTimeToString(-i);
AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO(); AlarmStatisticsVO alarmStatisticsVO = new AlarmStatisticsVO();
alarmStatisticsVO.setName(month); alarmStatisticsVO.setName(month);
alarmStatisticsVO.setValue(0L); alarmStatisticsVO.setValue(0L);
@ -212,6 +188,16 @@ public class MarketingComplaintEvaluationServiceImpl implements MarketingComplai
voList.add(alarmStatisticsVO); 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; return returnVO;
} }

@ -129,22 +129,43 @@ public class MarketingWechatMicroblogInfoServiceImpl implements IMarketingWechat
@Override @Override
public ReturnVO readStatistics(MarketingWechatMicroblogInfo marketingWechatMicroblogInfo) { public ReturnVO readStatistics(MarketingWechatMicroblogInfo marketingWechatMicroblogInfo) {
List<MarketingWechatMicroblogInfo> infoList = marketingWechatMicroblogInfoMapper.readStatistics(marketingWechatMicroblogInfo.getOrganCode(), marketingWechatMicroblogInfo.getType()); List<MarketingWechatMicroblogInfo> dataList = marketingWechatMicroblogInfoMapper.readStatistics(marketingWechatMicroblogInfo.getOrganCode(), marketingWechatMicroblogInfo.getType());
List<MarketingWechatMicroblogInfo> infoList = new ArrayList<>();
ReturnVO returnVO = new ReturnVO(); ReturnVO returnVO = new ReturnVO();
if (!CollectionUtils.isEmpty(infoList)) { String name = "微博内容阅读量分析";
String name = "微博内容阅读量分析"; if (marketingWechatMicroblogInfo.getType().equals("1")) {
if (marketingWechatMicroblogInfo.getType().equals("1")) { name = "微信内容阅读量分析";
name = "微信内容阅读量分析"; }
if (!CollectionUtils.isEmpty(dataList)) {
for (int i = 5; i >= 0; i--) {
String days = DateUtils.getDaysTimeToString(-i);
List<MarketingWechatMicroblogInfo> 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<LineVO> 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<LineVO> 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; return returnVO;
} }

@ -139,7 +139,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="statisticsTime" resultType="com.cjy.emergencycommand.domain.vo.AlarmStatisticsVO"> <select id="statisticsTime" resultType="com.cjy.emergencycommand.domain.vo.AlarmStatisticsVO">
SELECT DATE_FORMAT(t1.complaint_time,'%Y-%m') as name ,COUNT(t1.id) as value FROM md_marketing_complaint_info t1 SELECT DATE_FORMAT(t1.complaint_time,'%Y-%m') as name ,COUNT(t1.id) as value FROM md_marketing_complaint_info t1
WHERE t1.del_flag !=2 AND t1.complaint_time > DATE_ADD(CURRENT_DATE,INTERVAL -5 MONTH) AND t1.organ_code =#{organCode} WHERE t1.del_flag !=2 AND t1.complaint_time > DATE_FORMAT(DATE_ADD(CURRENT_DATE,INTERVAL -5 MONTH),'%Y-%m-01') AND t1.organ_code =#{organCode}
GROUP BY DATE_FORMAT(t1.complaint_time,'%Y-%m') GROUP BY DATE_FORMAT(t1.complaint_time,'%Y-%m')
ORDER BY DATE_FORMAT(t1.complaint_time,'%Y-%m') ORDER BY DATE_FORMAT(t1.complaint_time,'%Y-%m')
</select> </select>

@ -98,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="statisticsEvaluationTrend" resultType="com.cjy.emergencycommand.domain.vo.AlarmStatisticsVO"> <select id="statisticsEvaluationTrend" resultType="com.cjy.emergencycommand.domain.vo.AlarmStatisticsVO">
SELECT DATE_FORMAT(t1.online_evaluation_time,'%Y-%m') as name,COUNT(t1.id) as value, SELECT DATE_FORMAT(t1.online_evaluation_time,'%Y-%m') as name,COUNT(t1.id) as value,
round(AVG(t1.evaluation_score),2) as otherValue FROM md_marketing_evaluation_info t1 round(AVG(t1.evaluation_score),2) as otherValue FROM md_marketing_evaluation_info t1
WHERE t1.del_flag !=2 AND t1.online_evaluation_time > DATE_ADD(CURRENT_DATE,INTERVAL -6 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') GROUP BY DATE_FORMAT(t1.online_evaluation_time,'%Y-%m')
ORDER BY DATE_FORMAT(t1.online_evaluation_time,'%Y-%m') ORDER BY DATE_FORMAT(t1.online_evaluation_time,'%Y-%m')
</select> </select>
@ -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 , 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 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 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') GROUP BY DATE_FORMAT(t1.online_evaluation_time,'%Y-%m')
ORDER BY DATE_FORMAT(t1.online_evaluation_time,'%Y-%m') ORDER BY DATE_FORMAT(t1.online_evaluation_time,'%Y-%m')
</select> </select>

@ -1,16 +1,13 @@
package com.ruoyi.common.utils; package com.ruoyi.common.utils;
import org.apache.commons.lang3.time.DateFormatUtils;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.*;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; 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; 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;
}
} }

@ -35,8 +35,8 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
//target: `http://localhost:8080/`,//用户名:admin 密码CJYjqgk@2023! target: `http://localhost:8080/`,//用户名:admin 密码CJYjqgk@2023!
target: `http://39.105.17.128:8096/`,//用户名:cjyadmin/密码:CJYjqgk@2023! // target: `http://39.105.17.128:8096/`,//用户名:cjyadmin/密码:CJYjqgk@2023!
// target: `http://192.168.130.102:8080/`,//用户名:admin 密码Cjy@123abc // target: `http://192.168.130.102:8080/`,//用户名:admin 密码Cjy@123abc
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {

Loading…
Cancel
Save