|
@@ -657,7 +657,70 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
|
|
|
* @return
|
|
|
*/
|
|
|
private DeviceInfoDto.DeviceDataCountVO dataCount2(DeviceInfoDto.DeviceDataCountDTO dto) {
|
|
|
+ Long deviceId = dto.getDeviceId();
|
|
|
+ //近一个月 (销售额,订单数,退款金额,退款数)
|
|
|
DeviceInfoDto.DeviceDataCountVO vo = new DeviceInfoDto.DeviceDataCountVO();
|
|
|
+ DeviceInfoDto.BusinessChart businessChart = new DeviceInfoDto.BusinessChart();
|
|
|
+ List<String> categories = DataTime.dayListByLastDay(30);
|
|
|
+ List<Integer> dateList = new ArrayList<>(30);
|
|
|
+ businessChart.setCategories(categories);
|
|
|
+ categories.forEach(d -> {
|
|
|
+ dateList.add(Integer.valueOf(d.replaceAll(StrUtil.DASHED, StrUtil.EMPTY)));
|
|
|
+ });
|
|
|
+ Integer startDay = dateList.get(0);
|
|
|
+ Integer endDay = dateList.get(categories.size() - 1);
|
|
|
+
|
|
|
+
|
|
|
+ List<DeviceDataDto.Vo> listByDay = deviceDataService.getListByDay(deviceId, startDay, endDay);
|
|
|
+ if (CollUtil.isEmpty(listByDay)) {
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
+ //每天的数据
|
|
|
+ Map<Integer, DeviceDataDto.Vo> dataDayMap = listByDay.stream().collect(Collectors.toMap(DeviceDataDto.Vo::getDateValue, i -> i));
|
|
|
+
|
|
|
+ List<DeviceInfoDto.MyChartSeries> series = new ArrayList<>();
|
|
|
+
|
|
|
+ String[] names = {"销售额", "订单数", "退款金额", "退款数"};
|
|
|
+ for (int i = 0; i < names.length; i++) {
|
|
|
+ DeviceInfoDto.MyChartSeries myChartSeries = new DeviceInfoDto.MyChartSeries();
|
|
|
+ //某个类型每天的数据
|
|
|
+ List<Integer> data = new ArrayList<>();
|
|
|
+ if (i == 0) {
|
|
|
+ //销售额
|
|
|
+ dateList.forEach(d -> {
|
|
|
+ //每日数据填充
|
|
|
+ DeviceDataDto.Vo deviceData = dataDayMap.get(d);
|
|
|
+ data.add(deviceData == null ? 0 : deviceData.getSalesMoney());
|
|
|
+ });
|
|
|
+ } else if (i == 1) {
|
|
|
+ //订单数
|
|
|
+ dateList.forEach(d -> {
|
|
|
+ //每日数据填充
|
|
|
+ DeviceDataDto.Vo deviceData = dataDayMap.get(d);
|
|
|
+ data.add(deviceData == null ? 0 : deviceData.getSalesCount());
|
|
|
+ });
|
|
|
+ } else if (i == 2) {
|
|
|
+ //退款金额
|
|
|
+ dateList.forEach(d -> {
|
|
|
+ //每日数据填充
|
|
|
+ DeviceDataDto.Vo deviceData = dataDayMap.get(d);
|
|
|
+ data.add(deviceData == null ? 0 : deviceData.getRefundMoney());
|
|
|
+ });
|
|
|
+ } else if (i == 3) {
|
|
|
+ //退款数
|
|
|
+ dateList.forEach(d -> {
|
|
|
+ //每日数据填充
|
|
|
+ DeviceDataDto.Vo deviceData = dataDayMap.get(d);
|
|
|
+ data.add(deviceData == null ? 0 : deviceData.getRefundCount());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ myChartSeries.setName(names[i]);
|
|
|
+ myChartSeries.setData(data);
|
|
|
+ series.add(myChartSeries);
|
|
|
+ }
|
|
|
+ businessChart.setSeries(series);
|
|
|
+ vo.setBusinessChart(businessChart);
|
|
|
return vo;
|
|
|
}
|
|
|
|