From 569408eff91dda1d123a3b9bc6686ca9f2fe3c65 Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com> Date: 星期二, 29 十月 2024 11:34:43 +0800 Subject: [PATCH] 统计 待发货 在售商品 待审核商品 待售后处理 --- src/main/java/com/mzl/flower/service/statistics/StatisticsService.java | 80 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 78 insertions(+), 2 deletions(-) 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..e70d68e 100644 --- a/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java +++ b/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java @@ -4,13 +4,20 @@ 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.request.payment.OrderItemSalesQueryDTO; +import com.mzl.flower.dto.request.payment.OrderQueryDTO; +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 +25,8 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; @Slf4j @Service @@ -29,6 +38,15 @@ @Autowired private OrderItemMapper orderItemMapper; + + @Autowired + private FlowerMapper flowerMapper; + + @Autowired + private SupplierMapper supplierMapper; + + @Autowired + private OrderItemSalesMapper orderItemSalesMapper; public SaleStatisticsDTO getSaleStatistics(String date){ if(StringUtils.isEmpty(date)){ @@ -51,4 +69,62 @@ return dto; } + + public FlowerStatisticsDTO getFlowerStatistics(){ + FlowerStatisticsDTO dto = new FlowerStatisticsDTO(); + + Page page = new Page(1, 1); + FlowerQueryDTO q = new FlowerQueryDTO(); + List<String> statusList = new ArrayList<>(); + statusList.add(Constants.FLOWER_STATUS.PENDING.name()); + statusList.add(Constants.FLOWER_STATUS.UP.name()); + statusList.add(Constants.FLOWER_STATUS.OFF.name()); + statusList.add(Constants.FLOWER_STATUS.FORCE_OFF.name()); + q.setStatusList(statusList); + 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); + + page = new Page(1, 1); + OrderQueryDTO oq = new OrderQueryDTO(); + oq.setStatusBackend(Constants.ORDER_STATUS_BACKEND.SEND.name()); + orderMapper.selectOrderList(page, oq); + dto.setOrderSendCount((int)page.getTotal()); + + page = new Page(1, 1); + q = new FlowerQueryDTO(); + statusList = new ArrayList<>(); + statusList.add(Constants.FLOWER_STATUS.UP.name()); + q.setStatusList(statusList); + flowerMapper.selectFlowerList(page, q); + dto.setFlowerUpCount((int)page.getTotal()); + + page = new Page(1, 1); + q = new FlowerQueryDTO(); + statusList = new ArrayList<>(); + statusList.add(Constants.FLOWER_STATUS.PENDING.name()); + q.setStatusList(statusList); + flowerMapper.selectFlowerList(page, q); + dto.setFlowerPendingCount((int)page.getTotal()); + + page = new Page(1, 1); + OrderItemSalesQueryDTO sq = new OrderItemSalesQueryDTO(); + sq.setStatus(Constants.ORDER_SALES_STATUS.PENDING.name()); + orderItemSalesMapper.selectItemSalesList(page, sq); + dto.setOrderSalesCount((int)page.getTotal()); + + return dto; + } } -- Gitblit v1.9.3