From 2910bb2a5351c7aaf2e4e72f31c0e9c075dd7cbf Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com>
Date: 星期三, 23 十月 2024 08:56:31 +0800
Subject: [PATCH] 统计 商品管理 用户管理 订单管理

---
 src/main/java/com/mzl/flower/service/statistics/StatisticsService.java        |   41 ++++++++++++++++++++++++++++++++++++++---
 src/main/java/com/mzl/flower/dto/response/statistics/FlowerStatisticsDTO.java |   18 ++++++++++++++++++
 2 files changed, 56 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/response/statistics/FlowerStatisticsDTO.java b/src/main/java/com/mzl/flower/dto/response/statistics/FlowerStatisticsDTO.java
new file mode 100644
index 0000000..a69c90e
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/statistics/FlowerStatisticsDTO.java
@@ -0,0 +1,18 @@
+package com.mzl.flower.dto.response.statistics;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class FlowerStatisticsDTO {
+    @ApiModelProperty(value = "商品管理")
+    private Integer flowerCount;
+
+    @ApiModelProperty(value = "用户管理")
+    private Integer supplierCount;
+
+    @ApiModelProperty(value = "订单管理")
+    private Integer orderCount;
+}
diff --git a/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java b/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java
index 03acf99..e56ee37 100644
--- a/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java
+++ b/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java
@@ -3,14 +3,18 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.mzl.flower.config.exception.ValidationException;
-import com.mzl.flower.constant.Constants;
+import com.mzl.flower.dto.request.flower.FlowerQueryDTO;
+import com.mzl.flower.dto.response.flower.FlowerListDTO;
+import com.mzl.flower.dto.response.statistics.FlowerStatisticsDTO;
 import com.mzl.flower.dto.response.statistics.SaleStatisticsDTO;
+import com.mzl.flower.entity.payment.Order;
+import com.mzl.flower.entity.supplier.Supplier;
+import com.mzl.flower.mapper.flower.FlowerMapper;
 import com.mzl.flower.mapper.payment.*;
+import com.mzl.flower.mapper.supplier.SupplierMapper;
 import com.mzl.flower.service.BaseService;
-import com.mzl.flower.utils.UUIDGenerator;
 import io.micrometer.core.instrument.util.StringUtils;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -18,6 +22,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Slf4j
 @Service
@@ -29,6 +34,12 @@
 
     @Autowired
     private OrderItemMapper orderItemMapper;
+
+    @Autowired
+    private FlowerMapper flowerMapper;
+
+    @Autowired
+    private SupplierMapper supplierMapper;
 
     public SaleStatisticsDTO getSaleStatistics(String date){
         if(StringUtils.isEmpty(date)){
@@ -51,4 +62,28 @@
 
         return dto;
     }
+
+    public FlowerStatisticsDTO getFlowerStatistics(){
+        FlowerStatisticsDTO dto = new FlowerStatisticsDTO();
+
+        Page page = new Page(1, 1);
+        FlowerQueryDTO q = new FlowerQueryDTO();
+        flowerMapper.selectFlowerList(page, q);
+        dto.setFlowerCount((int)page.getTotal());
+
+        Integer sc = supplierMapper.selectCount(new QueryWrapper<Supplier>()
+                .eq("is_enabled", 1)
+                .eq("status", "P")
+                .eq("deleted", 0));
+        dto.setSupplierCount(sc);
+
+        Integer oc = orderMapper.selectCount(new QueryWrapper<Order>()
+                .eq("deleted", 0)
+                .isNotNull("payment_time")
+                .isNull("cancel_time")
+                .isNull("refund_time"));
+        dto.setOrderCount(oc);
+
+        return dto;
+    }
 }

--
Gitblit v1.9.3