Jelajahi Sumber

#MOD 统计经营数据

谭斌 2 tahun lalu
induk
melakukan
c905aa0bb3

+ 30 - 8
device-api-service/src/main/java/com/xy/service/DeviceInfoServiceImpl.java

@@ -772,32 +772,54 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
                 dateList.forEach(d -> {
                     //每日数据填充
                     DeviceDataDto.Vo deviceData = dataDayMap.get(d);
-                    Integer salesMoney = deviceData.getSalesMoney() == null ? 0 : deviceData.getSalesMoney();
-                    BigDecimal day = BigDecimal.valueOf(salesMoney).divide(BigDecimal.valueOf(100));
-                    data.add(String.valueOf(day));
+
+                    if (deviceData == null) {
+                        data.add(String.valueOf(BigDecimal.ZERO));
+                    } else {
+                        Integer salesMoney = deviceData.getSalesMoney() == null ? 0 : deviceData.getSalesMoney();
+                        BigDecimal day = BigDecimal.valueOf(salesMoney).divide(BigDecimal.valueOf(100));
+                        data.add(String.valueOf(day));
+                    }
                 });
             } else if (i == 1) {
                 //订单数
                 dateList.forEach(d -> {
                     //每日数据填充
                     DeviceDataDto.Vo deviceData = dataDayMap.get(d);
-                    data.add(deviceData == null ? "0" : String.valueOf(deviceData.getSalesCount()));
+                    String value = "0";
+                    if (deviceData == null) {
+                        data.add(value);
+                    } else {
+                        data.add(deviceData == null ? value : String.valueOf(deviceData.getSalesCount()));
+                    }
+
+
                 });
             } else if (i == 2) {
                 //退款金额
                 dateList.forEach(d -> {
                     //每日数据填充
                     DeviceDataDto.Vo deviceData = dataDayMap.get(d);
-                    Integer refundMoney = deviceData.getRefundMoney() == null ? 0 : deviceData.getRefundMoney();
-                    BigDecimal day = BigDecimal.valueOf(refundMoney).divide(BigDecimal.valueOf(100));
-                    data.add(String.valueOf(day));
+                    if (deviceData == null) {
+                        data.add(String.valueOf(BigDecimal.ZERO));
+                    } else {
+                        Integer refundMoney = deviceData.getRefundMoney() == null ? 0 : deviceData.getRefundMoney();
+                        BigDecimal day = BigDecimal.valueOf(refundMoney).divide(BigDecimal.valueOf(100));
+                        data.add(String.valueOf(day));
+                    }
+
                 });
             } else if (i == 3) {
                 //退款数
                 dateList.forEach(d -> {
                     //每日数据填充
                     DeviceDataDto.Vo deviceData = dataDayMap.get(d);
-                    data.add(deviceData == null ? "0" : String.valueOf(deviceData.getRefundCount()));
+                    if (deviceData == null) {
+                        data.add("0");
+                    } else {
+                        data.add(deviceData == null ? "0" : String.valueOf(deviceData.getRefundCount()));
+                    }
+
                 });
             }
             myChartSeries.setName(names[i]);