From 8c65131099cd5771709e7cef85f8b942096c9c65 Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com> Date: 星期二, 29 十月 2024 11:34:53 +0800 Subject: [PATCH] 统计 总销售金额 总销售扎数 --- src/main/java/com/mzl/flower/service/statistics/StatisticsService.java | 63 +++++++++++++++++++++++++++++-- 1 files changed, 59 insertions(+), 4 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 e56ee37..a0322f9 100644 --- a/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java +++ b/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java @@ -3,9 +3,13 @@ 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.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.OrderStatisticsDTO; import com.mzl.flower.dto.response.statistics.SaleStatisticsDTO; import com.mzl.flower.entity.payment.Order; import com.mzl.flower.entity.supplier.Supplier; @@ -22,6 +26,7 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; @Slf4j @@ -41,6 +46,9 @@ @Autowired private SupplierMapper supplierMapper; + @Autowired + private OrderItemSalesMapper orderItemSalesMapper; + public SaleStatisticsDTO getSaleStatistics(String date){ if(StringUtils.isEmpty(date)){ throw new ValidationException("日期不能为空"); @@ -58,7 +66,7 @@ Integer c = orderItemMapper.getFlowerSaleNum(begin, end); dto.setSaleAmount(a); - dto.setSaleFlowerCount(c); + dto.setSaleFlowerCount(c == null ? 0 : c.longValue()); return dto; } @@ -68,21 +76,68 @@ 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()); + dto.setFlowerCount(page.getTotal()); Integer sc = supplierMapper.selectCount(new QueryWrapper<Supplier>() .eq("is_enabled", 1) .eq("status", "P") .eq("deleted", 0)); - dto.setSupplierCount(sc); + dto.setSupplierCount(sc.longValue()); Integer oc = orderMapper.selectCount(new QueryWrapper<Order>() .eq("deleted", 0) .isNotNull("payment_time") .isNull("cancel_time") .isNull("refund_time")); - dto.setOrderCount(oc); + dto.setOrderCount(oc.longValue()); + + page = new Page(1, 1); + OrderQueryDTO oq = new OrderQueryDTO(); + oq.setStatusBackend(Constants.ORDER_STATUS_BACKEND.SEND.name()); + orderMapper.selectOrderList(page, oq); + dto.setOrderSendCount(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(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(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(page.getTotal()); + + return dto; + } + + public OrderStatisticsDTO getOrderStatistics(){ + OrderStatisticsDTO dto = new OrderStatisticsDTO(); + BigDecimal a = orderMapper.getOrderSaleAmount(null, null); + Integer c = orderItemMapper.getFlowerSaleNum(null, null); + dto.setTotalSaleAmount(a); + dto.setTotalSaleFlowerCount(c == null ? 0 : c.longValue()); + + dto.setSupplierPendingAmount(new BigDecimal(0));//TODO 供应商待提现:结算列表待结算(供应商)+供应商钱包余额 + dto.setSupplierCompleteAmount(new BigDecimal(0));//TODO 供应商已提现:结算列表已结算(供应商)+供应商钱包已提现金额 return dto; } -- Gitblit v1.9.3