From 2822a346324bd5689e6d86f7e318e89c3936cb53 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com>
Date: 星期五, 23 八月 2024 10:48:17 +0800
Subject: [PATCH] 售后状态数量

---
 src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java b/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
index b06db75..b32176b 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java
@@ -9,11 +9,14 @@
 import com.mzl.flower.dto.request.payment.*;
 import com.mzl.flower.dto.response.payment.OrderItemSalesNewDTO;
 import com.mzl.flower.dto.response.payment.OrderItemSalesNewListDTO;
+import com.mzl.flower.dto.response.payment.OrderStatusCountDTO;
+import com.mzl.flower.dto.response.system.CodeValueDTO;
 import com.mzl.flower.entity.payment.*;
 import com.mzl.flower.entity.supplier.Station;
 import com.mzl.flower.mapper.payment.*;
 import com.mzl.flower.mapper.supplier.StationMapper;
 import com.mzl.flower.service.BaseService;
+import com.mzl.flower.service.system.CodeService;
 import com.mzl.flower.utils.UUIDGenerator;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -23,7 +26,10 @@
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @Service
@@ -47,6 +53,9 @@
 
     @Autowired
     private StationMapper stationMapper;
+
+    @Autowired
+    private CodeService codeService;
 
     public String createSales(OrderItemSalesCreateDTO dto){
         Integer num = dto.getNum();
@@ -126,6 +135,35 @@
         orderItemSalesMapper.updateById(s);
     }
 
+    public List<OrderStatusCountDTO> getSalesStatusCount(OrderItemSalesQueryDTO dto) {
+        dto.setOrderStartDate(parseLocalDateTime(dto.getOrderStartDateStr()));
+        dto.setOrderEndDate(parseLocalDateTime(dto.getOrderEndDateStr()));
+        dto.setSalesStartDate(parseLocalDateTime(dto.getSalesStartDateStr()));
+        dto.setSalesEndDate(parseLocalDateTime(dto.getSalesEndDateStr()));
+
+        List<CodeValueDTO> ls = codeService.searchValue("ORDER_SALES_STATUS");
+        List<OrderStatusCountDTO> ll = orderItemSalesMapper.getSalesStatusCount(dto);
+        Map<String, Integer> llMap = new HashMap<>();
+        if (ll != null && ll.size() > 0) {
+            for (OrderStatusCountDTO c : ll) {
+                llMap.put(c.getValue(), c.getOrderCount());
+            }
+        }
+
+        List<OrderStatusCountDTO> rr = new ArrayList<>();
+        for (CodeValueDTO c : ls) {
+            OrderStatusCountDTO r = new OrderStatusCountDTO();
+            r.setValue(c.getValue());
+            r.setLabel(c.getLabel());
+            Integer count = llMap.get(r.getValue());
+            r.setOrderCount(count == null ? 0 : count);
+
+            rr.add(r);
+        }
+
+        return rr;
+    }
+
     public Page<OrderItemSalesNewListDTO> selectSalesList(Page page, OrderItemSalesQueryDTO dto){
         dto.setOrderStartDate(parseLocalDateTime(dto.getOrderStartDateStr()));
         dto.setOrderEndDate(parseLocalDateTime(dto.getOrderEndDateStr()));

--
Gitblit v1.9.3