|
@@ -1,5 +1,6 @@
|
|
package cn.kdan.compdf.service.impl;
|
|
package cn.kdan.compdf.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.util.ObjectUtil;
|
|
import cn.kdan.compdf.config.ExcelWidthStyleStrategy;
|
|
import cn.kdan.compdf.config.ExcelWidthStyleStrategy;
|
|
import cn.kdan.compdf.config.RedisConstantServer;
|
|
import cn.kdan.compdf.config.RedisConstantServer;
|
|
import cn.kdan.compdf.dto.DashboardStatisticsDTO;
|
|
import cn.kdan.compdf.dto.DashboardStatisticsDTO;
|
|
@@ -14,6 +15,7 @@ import cn.kdan.compdf.exception.CommonException;
|
|
import cn.kdan.compdf.mapper.BackgroundConvertDataMapper;
|
|
import cn.kdan.compdf.mapper.BackgroundConvertDataMapper;
|
|
import cn.kdan.compdf.service.BackgroundConvertDataService;
|
|
import cn.kdan.compdf.service.BackgroundConvertDataService;
|
|
import cn.kdan.compdf.service.BackgroundUserService;
|
|
import cn.kdan.compdf.service.BackgroundUserService;
|
|
|
|
+import cn.kdan.compdf.utils.MyLocalDateUtil;
|
|
import com.alibaba.excel.EasyExcel;
|
|
import com.alibaba.excel.EasyExcel;
|
|
import com.alibaba.excel.util.MapUtils;
|
|
import com.alibaba.excel.util.MapUtils;
|
|
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
|
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
|
@@ -68,7 +70,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- @Cacheable(value = RedisConstantServer.DASHBOARD_ANALYSIS_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
|
|
|
|
+// @Cacheable(value = RedisConstantServer.DASHBOARD_ANALYSIS_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
public AnalysisDataDTO getAnalysisData(DashboardQueryDTO queryDTO) {
|
|
public AnalysisDataDTO getAnalysisData(DashboardQueryDTO queryDTO) {
|
|
// 获取一个查询query
|
|
// 获取一个查询query
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = getDashboardQueryWrapper(queryDTO);
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = getDashboardQueryWrapper(queryDTO);
|
|
@@ -110,7 +112,6 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
* ms-s-min-时间处理
|
|
* ms-s-min-时间处理
|
|
* @param time 毫秒时间
|
|
* @param time 毫秒时间
|
|
* @param type 指定转换类型1:s;2:min
|
|
* @param type 指定转换类型1:s;2:min
|
|
- * @return
|
|
|
|
*/
|
|
*/
|
|
private String TimeConvert(BigDecimal time, Integer type) {
|
|
private String TimeConvert(BigDecimal time, Integer type) {
|
|
BigDecimal convertTime = time;
|
|
BigDecimal convertTime = time;
|
|
@@ -139,7 +140,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- @Cacheable(value = RedisConstantServer.DASHBOARD_SUCCESS_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
|
|
|
|
+// @Cacheable(value = RedisConstantServer.DASHBOARD_SUCCESS_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
public List<DashboardDetailedDataDTO> getSuccessfulRequestDetailedData(DashboardQueryDTO queryDTO) {
|
|
public List<DashboardDetailedDataDTO> getSuccessfulRequestDetailedData(DashboardQueryDTO queryDTO) {
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = getDashboardQueryWrapper(queryDTO);
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = getDashboardQueryWrapper(queryDTO);
|
|
// 添加select 查询参数
|
|
// 添加select 查询参数
|
|
@@ -147,7 +148,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
// 查询数据
|
|
// 查询数据
|
|
List<BackgroundConvertData> backgroundConvertData = this.baseMapper.selectList(queryWrapper);
|
|
List<BackgroundConvertData> backgroundConvertData = this.baseMapper.selectList(queryWrapper);
|
|
|
|
|
|
- LocalDateTime nowTime = getLocalDataTime();
|
|
|
|
|
|
+ LocalDateTime nowTime = MyLocalDateUtil.getLocalDataTime();
|
|
// 返回数据集合
|
|
// 返回数据集合
|
|
List<DashboardDetailedDataDTO> dataDTOS = new ArrayList<>();
|
|
List<DashboardDetailedDataDTO> dataDTOS = new ArrayList<>();
|
|
|
|
|
|
@@ -159,20 +160,22 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
for (int i = 0; i < 24; i++) {
|
|
for (int i = 0; i < 24; i++) {
|
|
// 减去 i 小时时间
|
|
// 减去 i 小时时间
|
|
LocalDateTime minus = nowTime.minus(i, ChronoUnit.HOURS);
|
|
LocalDateTime minus = nowTime.minus(i, ChronoUnit.HOURS);
|
|
- successTotal = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusHours(1)))
|
|
|
|
|
|
+ successTotal = backgroundConvertData.stream().filter(convertData -> MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), minus.plusHours(1)))
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileSuccessTotal)).getSum();
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileSuccessTotal)).getSum();
|
|
|
|
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
- .xData(minus.toString())
|
|
|
|
|
|
+ .xData(MyLocalDateUtil.timeZoneConversion(minus, queryDTO.getTimeZone()).toString())
|
|
.yData(successTotal + "").build());
|
|
.yData(successTotal + "").build());
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
for (int i = 0; i < queryDTO.getDays(); i++) {
|
|
for (int i = 0; i < queryDTO.getDays(); i++) {
|
|
// 减去 i 天时间
|
|
// 减去 i 天时间
|
|
LocalDate minus = nowTime.minus(i, ChronoUnit.DAYS).toLocalDate();
|
|
LocalDate minus = nowTime.minus(i, ChronoUnit.DAYS).toLocalDate();
|
|
- successTotal = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus.atStartOfDay())
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusDays(1).atStartOfDay()))
|
|
|
|
|
|
+ successTotal = backgroundConvertData.stream()
|
|
|
|
+ .filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone())) &&
|
|
|
|
+ !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plusDays(1),-queryDTO.getTimeZone())))
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileSuccessTotal)).getSum();
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileSuccessTotal)).getSum();
|
|
|
|
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
@@ -190,8 +193,9 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
for (int i = 1; i <= 24; i++) {
|
|
for (int i = 1; i <= 24; i++) {
|
|
// 减去 i 小时时间
|
|
// 减去 i 小时时间
|
|
LocalDateTime minus = endDateTime.atStartOfDay().minus(i, ChronoUnit.HOURS);
|
|
LocalDateTime minus = endDateTime.atStartOfDay().minus(i, ChronoUnit.HOURS);
|
|
- successTotal = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plus(1L, ChronoUnit.HOURS)))
|
|
|
|
|
|
+ successTotal = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plus(1L, ChronoUnit.HOURS),-queryDTO.getTimeZone())))
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileSuccessTotal)).getSum();
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileSuccessTotal)).getSum();
|
|
|
|
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
@@ -202,8 +206,9 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
for (int i = 0; i < days; i++) {
|
|
for (int i = 0; i < days; i++) {
|
|
// 减去 i 天时间
|
|
// 减去 i 天时间
|
|
LocalDate minus = endDateTime.minus(i, ChronoUnit.DAYS);
|
|
LocalDate minus = endDateTime.minus(i, ChronoUnit.DAYS);
|
|
- successTotal = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus.atStartOfDay())
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusDays(1).atStartOfDay()))
|
|
|
|
|
|
+ successTotal = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plusDays(1),-queryDTO.getTimeZone())))
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileSuccessTotal)).getSum();
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileSuccessTotal)).getSum();
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
.xData(minus.toString())
|
|
.xData(minus.toString())
|
|
@@ -219,7 +224,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- @Cacheable(value = RedisConstantServer.DASHBOARD_FAIL_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
|
|
|
|
+// @Cacheable(value = RedisConstantServer.DASHBOARD_FAIL_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
public List<DashboardDetailedDataDTO> getErrorRequestDetailedData(DashboardQueryDTO queryDTO) {
|
|
public List<DashboardDetailedDataDTO> getErrorRequestDetailedData(DashboardQueryDTO queryDTO) {
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = getDashboardQueryWrapper(queryDTO);
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = getDashboardQueryWrapper(queryDTO);
|
|
// 添加select 查询参数
|
|
// 添加select 查询参数
|
|
@@ -227,7 +232,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
// 查询数据
|
|
// 查询数据
|
|
List<BackgroundConvertData> backgroundConvertData = this.baseMapper.selectList(queryWrapper);
|
|
List<BackgroundConvertData> backgroundConvertData = this.baseMapper.selectList(queryWrapper);
|
|
// 判断查询类型
|
|
// 判断查询类型
|
|
- LocalDateTime nowTime = getLocalDataTime();
|
|
|
|
|
|
+ LocalDateTime nowTime = MyLocalDateUtil.getLocalDataTime();
|
|
// 返回数据集合
|
|
// 返回数据集合
|
|
List<DashboardDetailedDataDTO> dataDTOS = new ArrayList<>();
|
|
List<DashboardDetailedDataDTO> dataDTOS = new ArrayList<>();
|
|
|
|
|
|
@@ -239,28 +244,28 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
// 减去 i 小时时间
|
|
// 减去 i 小时时间
|
|
LocalDateTime minus = nowTime.minus(i, ChronoUnit.HOURS);
|
|
LocalDateTime minus = nowTime.minus(i, ChronoUnit.HOURS);
|
|
|
|
|
|
- fileFailedTotal = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusHours(1)))
|
|
|
|
|
|
+ fileFailedTotal = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), minus.plusHours(1)))
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileFailedTotal)).getSum();
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileFailedTotal)).getSum();
|
|
|
|
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
- .xData(minus.toString())
|
|
|
|
|
|
+ .xData(MyLocalDateUtil.timeZoneConversion(minus, queryDTO.getTimeZone()).toString())
|
|
.yData(fileFailedTotal + "").build());
|
|
.yData(fileFailedTotal + "").build());
|
|
-// fileFailedTotal = 0;
|
|
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
for (int i = 0; i < queryDTO.getDays(); i++) {
|
|
for (int i = 0; i < queryDTO.getDays(); i++) {
|
|
// 减去 i 天时间
|
|
// 减去 i 天时间
|
|
LocalDate minus = nowTime.minus(i, ChronoUnit.DAYS).toLocalDate();
|
|
LocalDate minus = nowTime.minus(i, ChronoUnit.DAYS).toLocalDate();
|
|
|
|
|
|
- fileFailedTotal = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus.atStartOfDay())
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusDays(1).atStartOfDay()))
|
|
|
|
|
|
+ fileFailedTotal = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plusDays(1),-queryDTO.getTimeZone())))
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileFailedTotal)).getSum();
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileFailedTotal)).getSum();
|
|
|
|
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
.xData(minus.toString())
|
|
.xData(minus.toString())
|
|
.yData(fileFailedTotal + "").build());
|
|
.yData(fileFailedTotal + "").build());
|
|
-// fileFailedTotal = 0;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
@@ -272,28 +277,26 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
endDateTime = endDateTime.plusDays(1L);
|
|
endDateTime = endDateTime.plusDays(1L);
|
|
for (int i = 1; i <= 24; i++) {
|
|
for (int i = 1; i <= 24; i++) {
|
|
// 减去 i 小时时间
|
|
// 减去 i 小时时间
|
|
-
|
|
|
|
LocalDateTime minus = endDateTime.atStartOfDay().minus(i, ChronoUnit.HOURS);
|
|
LocalDateTime minus = endDateTime.atStartOfDay().minus(i, ChronoUnit.HOURS);
|
|
- fileFailedTotal = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plus(1L, ChronoUnit.HOURS)))
|
|
|
|
|
|
+ fileFailedTotal = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plus(1L, ChronoUnit.HOURS),-queryDTO.getTimeZone())))
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileFailedTotal)).getSum();
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileFailedTotal)).getSum();
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
.xData(minus.toString())
|
|
.xData(minus.toString())
|
|
.yData(fileFailedTotal + "").build());
|
|
.yData(fileFailedTotal + "").build());
|
|
-// fileFailedTotal = 0;
|
|
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
for (int i = 0; i < days; i++) {
|
|
for (int i = 0; i < days; i++) {
|
|
// 减去 i 天时间
|
|
// 减去 i 天时间
|
|
LocalDate minus = endDateTime.minus(i, ChronoUnit.DAYS);
|
|
LocalDate minus = endDateTime.minus(i, ChronoUnit.DAYS);
|
|
-
|
|
|
|
- fileFailedTotal = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus.atStartOfDay())
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusDays(1).atStartOfDay()))
|
|
|
|
|
|
+ fileFailedTotal = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plusDays(1),-queryDTO.getTimeZone())))
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileFailedTotal)).getSum();
|
|
.collect(Collectors.summarizingLong(BackgroundConvertData::getFileFailedTotal)).getSum();
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
.xData(minus.toString())
|
|
.xData(minus.toString())
|
|
.yData(fileFailedTotal + "").build());
|
|
.yData(fileFailedTotal + "").build());
|
|
-// fileFailedTotal = 0;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
@@ -305,7 +308,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- @Cacheable(value = RedisConstantServer.DASHBOARD_ERROR_RATIO_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
|
|
|
|
+// @Cacheable(value = RedisConstantServer.DASHBOARD_ERROR_RATIO_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
public List<DashboardDetailedDataDTO> getErrorRatioDetailedData(DashboardQueryDTO queryDTO) {
|
|
public List<DashboardDetailedDataDTO> getErrorRatioDetailedData(DashboardQueryDTO queryDTO) {
|
|
List<DashboardDetailedDataDTO> successfulRequestDetailedData = this.getSuccessfulRequestDetailedData(queryDTO);
|
|
List<DashboardDetailedDataDTO> successfulRequestDetailedData = this.getSuccessfulRequestDetailedData(queryDTO);
|
|
List<DashboardDetailedDataDTO> errorRequestDetailedData = this.getErrorRequestDetailedData(queryDTO);
|
|
List<DashboardDetailedDataDTO> errorRequestDetailedData = this.getErrorRequestDetailedData(queryDTO);
|
|
@@ -325,7 +328,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- @Cacheable(value = RedisConstantServer.DASHBOARD_AVERAGE_PROCESS_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
|
|
|
|
+// @Cacheable(value = RedisConstantServer.DASHBOARD_AVERAGE_PROCESS_DATA, cacheManager = "myCacheManager", key = "T(String).valueOf(#queryDTO.toString())", unless = "#result == null")
|
|
public List<DashboardDetailedDataDTO> getAverageProcessTimeDetailedData(DashboardQueryDTO queryDTO) {
|
|
public List<DashboardDetailedDataDTO> getAverageProcessTimeDetailedData(DashboardQueryDTO queryDTO) {
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = getDashboardQueryWrapper(queryDTO);
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = getDashboardQueryWrapper(queryDTO);
|
|
// 添加select 查询参数
|
|
// 添加select 查询参数
|
|
@@ -333,7 +336,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
// 查询数据
|
|
// 查询数据
|
|
List<BackgroundConvertData> backgroundConvertData = this.baseMapper.selectList(queryWrapper);
|
|
List<BackgroundConvertData> backgroundConvertData = this.baseMapper.selectList(queryWrapper);
|
|
// 判断查询类型
|
|
// 判断查询类型
|
|
- LocalDateTime nowTime = getLocalDataTime();
|
|
|
|
|
|
+ LocalDateTime nowTime = MyLocalDateUtil.getLocalDataTime();;
|
|
// 返回数据集合
|
|
// 返回数据集合
|
|
List<DashboardDetailedDataDTO> dataDTOS = new ArrayList<>();
|
|
List<DashboardDetailedDataDTO> dataDTOS = new ArrayList<>();
|
|
|
|
|
|
@@ -344,34 +347,39 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
for (int i = 0; i < 24; i++) {
|
|
for (int i = 0; i < 24; i++) {
|
|
// 减去 i 小时时间
|
|
// 减去 i 小时时间
|
|
LocalDateTime minus = nowTime.minus(i, ChronoUnit.HOURS);
|
|
LocalDateTime minus = nowTime.minus(i, ChronoUnit.HOURS);
|
|
- long count = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusHours(1)) && convertData.getFileConvertTime() != null &&
|
|
|
|
|
|
+ long count = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), minus.plusHours(1)) && convertData.getFileConvertTime() != null &&
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0).count();
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0).count();
|
|
if (count <= 0) {
|
|
if (count <= 0) {
|
|
convertTime = BigDecimal.ZERO;
|
|
convertTime = BigDecimal.ZERO;
|
|
} else {
|
|
} else {
|
|
- convertTime = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusHours(1)) && convertData.getFileConvertTime() != null &&
|
|
|
|
|
|
+ convertTime = backgroundConvertData.stream().filter(convertData -> MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), minus.plusHours(1)) && convertData.getFileConvertTime() != null &&
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0)
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0)
|
|
.map(BackgroundConvertData::getFileConvertTime).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
.map(BackgroundConvertData::getFileConvertTime).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP);
|
|
.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP);
|
|
}
|
|
}
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
dataDTOS.add(DashboardDetailedDataDTO.builder()
|
|
- .xData(minus.toString())
|
|
|
|
|
|
+ .xData(MyLocalDateUtil.timeZoneConversion(minus, queryDTO.getTimeZone()).toString())
|
|
.yData(convertTime.stripTrailingZeros().toPlainString()).build());
|
|
.yData(convertTime.stripTrailingZeros().toPlainString()).build());
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
for (int i = 0; i < queryDTO.getDays(); i++) {
|
|
for (int i = 0; i < queryDTO.getDays(); i++) {
|
|
// 减去 i 天时间
|
|
// 减去 i 天时间
|
|
LocalDate minus = nowTime.minus(i, ChronoUnit.DAYS).toLocalDate();
|
|
LocalDate minus = nowTime.minus(i, ChronoUnit.DAYS).toLocalDate();
|
|
- long count = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus.atStartOfDay())
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusDays(1).atStartOfDay()) && convertData.getFileConvertTime() != null &&
|
|
|
|
|
|
+ long count = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(),MyLocalDateUtil.timeZoneConversion(minus.plusDays(1),-queryDTO.getTimeZone()))
|
|
|
|
+ && convertData.getFileConvertTime() != null &&
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0).count();
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0).count();
|
|
if (count <= 0) {
|
|
if (count <= 0) {
|
|
convertTime = BigDecimal.ZERO;
|
|
convertTime = BigDecimal.ZERO;
|
|
} else {
|
|
} else {
|
|
- convertTime = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus.atStartOfDay())
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusDays(1).atStartOfDay()) && convertData.getFileConvertTime() != null &&
|
|
|
|
|
|
+ convertTime = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(),MyLocalDateUtil.timeZoneConversion(minus.plusDays(1),-queryDTO.getTimeZone()))
|
|
|
|
+ && convertData.getFileConvertTime() != null &&
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0)
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0)
|
|
.map(BackgroundConvertData::getFileConvertTime).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
.map(BackgroundConvertData::getFileConvertTime).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP);
|
|
.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -391,14 +399,18 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
for (int i = 1; i <= 24; i++) {
|
|
for (int i = 1; i <= 24; i++) {
|
|
// 减去 i 小时时间
|
|
// 减去 i 小时时间
|
|
LocalDateTime minus = endDateTime.atStartOfDay().minus(i, ChronoUnit.HOURS);
|
|
LocalDateTime minus = endDateTime.atStartOfDay().minus(i, ChronoUnit.HOURS);
|
|
- long count = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plus(1L, ChronoUnit.HOURS)) && convertData.getFileConvertTime() != null &&
|
|
|
|
|
|
+ long count = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plus(1L, ChronoUnit.HOURS),-queryDTO.getTimeZone()))
|
|
|
|
+ && convertData.getFileConvertTime() != null &&
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0).count();
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0).count();
|
|
if (count <= 0) {
|
|
if (count <= 0) {
|
|
convertTime = BigDecimal.ZERO;
|
|
convertTime = BigDecimal.ZERO;
|
|
} else {
|
|
} else {
|
|
- convertTime = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus)
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plus(1L, ChronoUnit.HOURS)) && convertData.getFileConvertTime() != null &&
|
|
|
|
|
|
+ convertTime = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plus(1L, ChronoUnit.HOURS),-queryDTO.getTimeZone()))
|
|
|
|
+ && convertData.getFileConvertTime() != null &&
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0)
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0)
|
|
.map(BackgroundConvertData::getFileConvertTime).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
.map(BackgroundConvertData::getFileConvertTime).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP);
|
|
.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -411,14 +423,18 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
for (int i = 0; i < days; i++) {
|
|
for (int i = 0; i < days; i++) {
|
|
// 减去 i 天时间
|
|
// 减去 i 天时间
|
|
LocalDate minus = endDateTime.minus(i, ChronoUnit.DAYS);
|
|
LocalDate minus = endDateTime.minus(i, ChronoUnit.DAYS);
|
|
- long count = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus.atStartOfDay())
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusDays(1).atStartOfDay()) && convertData.getFileConvertTime() != null &&
|
|
|
|
|
|
+ long count = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plusDays(1),-queryDTO.getTimeZone()))
|
|
|
|
+ && convertData.getFileConvertTime() != null &&
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0).count();
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0).count();
|
|
if (count <= 0) {
|
|
if (count <= 0) {
|
|
convertTime = BigDecimal.ZERO;
|
|
convertTime = BigDecimal.ZERO;
|
|
} else {
|
|
} else {
|
|
- convertTime = backgroundConvertData.stream().filter(convertData -> localDataCompareTo(convertData.getSyncTime(), minus.atStartOfDay())
|
|
|
|
- && !localDataCompareTo(convertData.getSyncTime(), minus.plusDays(1).atStartOfDay()) && convertData.getFileConvertTime() != null &&
|
|
|
|
|
|
+ convertTime = backgroundConvertData.stream().filter(convertData ->
|
|
|
|
+ MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus,-queryDTO.getTimeZone()))
|
|
|
|
+ && !MyLocalDateUtil.localDataCompareTo(convertData.getSyncTime(), MyLocalDateUtil.timeZoneConversion(minus.plusDays(1),-queryDTO.getTimeZone()))
|
|
|
|
+ && convertData.getFileConvertTime() != null &&
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0)
|
|
convertData.getFileConvertTime().compareTo(BigDecimal.ZERO) > 0)
|
|
.map(BackgroundConvertData::getFileConvertTime).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
.map(BackgroundConvertData::getFileConvertTime).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP);
|
|
.divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP);
|
|
@@ -586,6 +602,10 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<BackgroundConvertData> queryWrapper = new LambdaQueryWrapper<>();
|
|
// 查询类型
|
|
// 查询类型
|
|
Integer queryType = queryDTO.getQueryType();
|
|
Integer queryType = queryDTO.getQueryType();
|
|
|
|
+ // 如果时区未传,默认0时区
|
|
|
|
+ if (ObjectUtil.isEmpty(queryDTO.getTimeZone())){
|
|
|
|
+ queryDTO.setTimeZone(0);
|
|
|
|
+ }
|
|
log.info("本次查询AnalysisData参数:{}", queryDTO);
|
|
log.info("本次查询AnalysisData参数:{}", queryDTO);
|
|
/* 如果时间范围查询为系统定义 */
|
|
/* 如果时间范围查询为系统定义 */
|
|
if (queryType == 0) {
|
|
if (queryType == 0) {
|
|
@@ -599,7 +619,8 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
}
|
|
}
|
|
LocalDateTime nowDateTime = LocalDateTime.now();
|
|
LocalDateTime nowDateTime = LocalDateTime.now();
|
|
LocalDateTime minus = nowDateTime.minus(days, ChronoUnit.DAYS);
|
|
LocalDateTime minus = nowDateTime.minus(days, ChronoUnit.DAYS);
|
|
- queryWrapper.ge(BackgroundConvertData::getSyncTime, minus);
|
|
|
|
|
|
+ queryWrapper.ge(BackgroundConvertData::getSyncTime, minus)
|
|
|
|
+ .le(BackgroundConvertData::getSyncTime,nowDateTime);
|
|
} else if (queryType == 1) {
|
|
} else if (queryType == 1) {
|
|
LocalDate startDateTime = queryDTO.getStartDateTime();
|
|
LocalDate startDateTime = queryDTO.getStartDateTime();
|
|
LocalDate endDateTime = queryDTO.getEndDateTime();
|
|
LocalDate endDateTime = queryDTO.getEndDateTime();
|
|
@@ -607,7 +628,7 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
if (startDateTime.isAfter(endDateTime)) {
|
|
if (startDateTime.isAfter(endDateTime)) {
|
|
// 查询参数异常 开始时间大于结束时间
|
|
// 查询参数异常 开始时间大于结束时间
|
|
throw new CommonException(BackgroundErrorEnum.QUEUE_PARAMETER_ERROR);
|
|
throw new CommonException(BackgroundErrorEnum.QUEUE_PARAMETER_ERROR);
|
|
- } else if (endDateTime.isAfter(LocalDate.now())) {
|
|
|
|
|
|
+ } else if (endDateTime.isAfter(MyLocalDateUtil.timeZoneConversion(LocalDateTime.now(), queryDTO.getTimeZone()).toLocalDate())) {
|
|
throw new CommonException(BackgroundErrorEnum.QUEUE_PARAMETER_ERROR);
|
|
throw new CommonException(BackgroundErrorEnum.QUEUE_PARAMETER_ERROR);
|
|
} else if (startDateTime.equals(endDateTime)) {
|
|
} else if (startDateTime.equals(endDateTime)) {
|
|
// 开始时间等于结束时间
|
|
// 开始时间等于结束时间
|
|
@@ -617,8 +638,8 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
startDateTime = endDateTime.minus(30, ChronoUnit.DAYS);
|
|
startDateTime = endDateTime.minus(30, ChronoUnit.DAYS);
|
|
queryDTO.setStartDateTime(endDateTime.minus(30, ChronoUnit.DAYS));
|
|
queryDTO.setStartDateTime(endDateTime.minus(30, ChronoUnit.DAYS));
|
|
}
|
|
}
|
|
- queryWrapper.ge(BackgroundConvertData::getSyncTime, startDateTime)
|
|
|
|
- .le(BackgroundConvertData::getSyncTime, endDateTime);
|
|
|
|
|
|
+ queryWrapper.ge(BackgroundConvertData::getSyncTime, MyLocalDateUtil.timeZoneConversion(startDateTime, -queryDTO.getTimeZone()))
|
|
|
|
+ .le(BackgroundConvertData::getSyncTime, MyLocalDateUtil.timeZoneConversion(endDateTime, -queryDTO.getTimeZone()));
|
|
} else {
|
|
} else {
|
|
throw new CommonException(BackgroundErrorEnum.ERROR_INNER);
|
|
throw new CommonException(BackgroundErrorEnum.ERROR_INNER);
|
|
}
|
|
}
|
|
@@ -634,24 +655,6 @@ public class BackgroundConvertDataServiceImpl extends ServiceImpl<BackgroundConv
|
|
return queryWrapper;
|
|
return queryWrapper;
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 获取整数小时时间
|
|
|
|
- */
|
|
|
|
- private static LocalDateTime getLocalDataTime() {
|
|
|
|
- LocalDateTime nowTime = LocalDateTime.now();
|
|
|
|
- LocalDate nowData = LocalDate.now();
|
|
|
|
- return LocalDateTime.of(nowData, LocalTime.of(nowTime.getHour(), 0));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private static boolean localDataCompareTo(LocalDateTime dateTime1, LocalDateTime dateTime2) {
|
|
|
|
- return dateTime1.compareTo(dateTime2) >= 0;
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
- public static void main(String[] args) {
|
|
|
|
- Integer a = Integer.valueOf("+8");
|
|
|
|
- System.out.println(a);
|
|
|
|
- Integer b = Integer.valueOf("-8");
|
|
|
|
- System.out.println(b);
|
|
|
|
- }
|
|
|
|
}
|
|
}
|