Pārlūkot izejas kodu

#MOD 设备查单统计

谭斌 2 gadi atpakaļ
vecāks
revīzija
e348b63fb7

+ 16 - 4
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceHomePageController.java

@@ -2,11 +2,14 @@ package com.xy.controller;
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import com.xy.annotate.RestMappingController;
 import com.xy.dto.DeviceDataDto;
 import com.xy.dto.MercMiniDeviceDto;
+import com.xy.dto.OrderRefundDto;
 import com.xy.service.DeviceDataServiceImpl;
+import com.xy.service.OrderRefundService;
 import com.xy.utils.MercAuthUtils;
 import com.xy.utils.R;
 import io.swagger.annotations.Api;
@@ -30,7 +33,7 @@ import java.util.List;
 public class MercMiniDeviceHomePageController {
 
     private final DeviceDataServiceImpl deviceDataService;
-//    private final OrderRefundService refundService;
+    private final OrderRefundService refundService;
 
     @PostMapping("count")
     @ApiOperation("首页统计")
@@ -42,9 +45,13 @@ public class MercMiniDeviceHomePageController {
         List<DeviceDataDto.Vo> mercDataOneDay = deviceDataService.getMercDataOneDay(mercId, DateUtil.format(new Date(), DatePattern.PURE_DATE_PATTERN));
         if (CollUtil.isNotEmpty(mercDataOneDay)) {
             //今日退款成功订单金额
-
+            OrderRefundDto.CountByDateVO countByDateVO = R.feignCheckData(refundService.countByDate(new OrderRefundDto.CountByDateDTO().setDate(DateTime.now()).setMercId(mercId)));
+            Integer hisRefundMoney = countByDateVO.getHisRefundMoney();
+            Integer todayRefundMoney = countByDateVO.getTodayRefundMoney();
             //今日销售额 (扣除今日的订单的退款金额)
-            day.setSalesPrice(mercDataOneDay.stream().mapToInt(DeviceDataDto.Vo::getSalesMoney).sum());
+            day.setDayHisRefundMoney(hisRefundMoney);
+            day.setDayRefundMoney(todayRefundMoney);
+            day.setSalesPrice(mercDataOneDay.stream().mapToInt(DeviceDataDto.Vo::getSalesMoney).sum() - todayRefundMoney);
             day.setOrderNum(mercDataOneDay.stream().mapToInt(DeviceDataDto.Vo::getSalesCount).sum());
             day.setRefundMoney(mercDataOneDay.stream().mapToInt(DeviceDataDto.Vo::getRefundMoney).sum());
         }
@@ -53,9 +60,14 @@ public class MercMiniDeviceHomePageController {
         MercMiniDeviceDto.MonthCountVO month = new MercMiniDeviceDto.MonthCountVO().setOrderNum(0).setSalesPrice(0).setRefundMoney(0);
         List<DeviceDataDto.Vo> mercDataOneMonth = deviceDataService.getMercDataOneMonth(mercId, DateUtil.format(new Date(), DatePattern.SIMPLE_MONTH_PATTERN));
         if (CollUtil.isNotEmpty(mercDataOneMonth)) {
-            month.setSalesPrice(mercDataOneMonth.stream().mapToInt(DeviceDataDto.Vo::getSalesMoney).sum());
+            OrderRefundDto.CountByMonthVO countByMonthVO = R.feignCheckData(refundService.countByMonth(new OrderRefundDto.CountByMonthDTO().setCurMonthDate(DateTime.now()).setMercId(mercId)));
+            Integer hisMonthRefundMoney = countByMonthVO.getHisMonthRefundMoney();
+            Integer monthRefundMoney = countByMonthVO.getMonthRefundMoney();
+            month.setSalesPrice(mercDataOneMonth.stream().mapToInt(DeviceDataDto.Vo::getSalesMoney).sum() - monthRefundMoney);
             month.setOrderNum(mercDataOneMonth.stream().mapToInt(DeviceDataDto.Vo::getSalesCount).sum());
             month.setRefundMoney(mercDataOneMonth.stream().mapToInt(DeviceDataDto.Vo::getRefundMoney).sum());
+            month.setMonthRefundMoney(monthRefundMoney);
+            month.setMonthHisRefundMoney(hisMonthRefundMoney);
         }
         vo.setMonth(month);
         return R.ok(vo);

+ 16 - 1
device-api-service-merc-mini/src/main/java/com/xy/dto/MercMiniDeviceDto.java

@@ -11,7 +11,7 @@ public class MercMiniDeviceDto {
 
     @Data
     @Accessors(chain = true)
-    public static class UpdateInfo{
+    public static class UpdateInfo {
         @NotNull(message = "deviceId不能为空")
         @ApiModelProperty("设备id")
         private Long deviceId;
@@ -35,6 +35,7 @@ public class MercMiniDeviceDto {
         private String lat;
 
     }
+
     @Data
     @Accessors(chain = true)
     public static class Active {
@@ -83,6 +84,12 @@ public class MercMiniDeviceDto {
         @ApiModelProperty("退款金额")
         private Integer refundMoney;
 
+        @ApiModelProperty("今日产生的订单发生退款金额")
+        private Integer dayRefundMoney;
+
+        @ApiModelProperty("在今日退款的历史订单发生的退款金额")
+        private Integer dayHisRefundMoney;
+
     }
 
     @Data
@@ -98,6 +105,14 @@ public class MercMiniDeviceDto {
         @ApiModelProperty("退款金额")
         private Integer refundMoney;
 
+
+        @ApiModelProperty("当月产生的订单发生退款金额")
+        private Integer monthRefundMoney;
+
+        @ApiModelProperty("在当月退款的历史订单发生的退款金额")
+        private Integer monthHisRefundMoney;
+
+
     }