From c83b580b0f51a2cdf16f2b1537aa3cb113ef112f Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 20 十二月 2024 17:56:10 +0800
Subject: [PATCH] add: 花材销售统计商品分类

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

diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java
index 69a4c85..2f92e46 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java
@@ -1818,4 +1818,34 @@
             orderMapper.updatePaymentCreateDate(order);
         });
     }
+
+    public List<OrderStatusCountDTO> getAbnormalOrderStatusCount(OrderQueryDTO dto) {
+         dto.setStartDate(parseLocalDateTime(dto.getStartDateStr(), true));
+        dto.setEndDate(parseLocalDateTime(dto.getEndDateStr(), false));
+
+        dto.setCreateStartDate(parseLocalDateTime(dto.getCreateStartDateStr(), 17, 0, 0, -1));
+        dto.setCreateEndDate(parseLocalDateTime(dto.getCreateEndDateStr(), 17, 0, 0, 0));
+
+        List<CodeValueDTO> ls = codeService.searchValue("ABNORMAL_ORDER_STATUS");
+        List<OrderStatusCountDTO> ll = orderMapper.getAbnormalOrderStatusCount(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;
+    }
 }

--
Gitblit v1.9.3