From 1fff6f68aeb68750052231215bbffc9246a3fe8d Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com> Date: 星期三, 23 十月 2024 09:27:19 +0800 Subject: [PATCH] 统计 总销售金额 总销售扎数 --- src/main/java/com/mzl/flower/service/statistics/StatisticsService.java | 30 +++++++++++---- src/main/java/com/mzl/flower/dto/response/statistics/FlowerStatisticsDTO.java | 14 +++--- src/main/resources/mapper/payment/OrderItemMapper.xml | 10 +++- src/main/resources/mapper/payment/OrderMapper.xml | 10 +++- src/main/java/com/mzl/flower/dto/response/statistics/OrderStatisticsDTO.java | 21 ++++++++++ src/main/java/com/mzl/flower/dto/response/statistics/SaleStatisticsDTO.java | 2 6 files changed, 65 insertions(+), 22 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 index cb977cc..2d681c3 100644 --- a/src/main/java/com/mzl/flower/dto/response/statistics/FlowerStatisticsDTO.java +++ b/src/main/java/com/mzl/flower/dto/response/statistics/FlowerStatisticsDTO.java @@ -8,23 +8,23 @@ @Data public class FlowerStatisticsDTO { @ApiModelProperty(value = "商品管理") - private Integer flowerCount; + private Long flowerCount; @ApiModelProperty(value = "用户管理") - private Integer supplierCount; + private Long supplierCount; @ApiModelProperty(value = "订单管理") - private Integer orderCount; + private Long orderCount; @ApiModelProperty(value = "订单管理-待发货") - private Integer orderSendCount; + private Long orderSendCount; @ApiModelProperty(value = "商品管理-在售") - private Integer flowerUpCount; + private Long flowerUpCount; @ApiModelProperty(value = "商品管理-待审核") - private Integer flowerPendingCount; + private Long flowerPendingCount; @ApiModelProperty(value = "待售后处理") - private Integer orderSalesCount; + private Long orderSalesCount; } diff --git a/src/main/java/com/mzl/flower/dto/response/statistics/OrderStatisticsDTO.java b/src/main/java/com/mzl/flower/dto/response/statistics/OrderStatisticsDTO.java new file mode 100644 index 0000000..1b689c1 --- /dev/null +++ b/src/main/java/com/mzl/flower/dto/response/statistics/OrderStatisticsDTO.java @@ -0,0 +1,21 @@ +package com.mzl.flower.dto.response.statistics; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class OrderStatisticsDTO { + @ApiModelProperty(value = "总销售金额") + private BigDecimal totalSaleAmount; + + @ApiModelProperty(value = "总销售扎数") + private Long totalSaleFlowerCount; + + @ApiModelProperty(value = "供应商待提现") + private BigDecimal supplierPendingAmount; + + @ApiModelProperty(value = "供应商已提现") + private BigDecimal supplierCompleteAmount; +} diff --git a/src/main/java/com/mzl/flower/dto/response/statistics/SaleStatisticsDTO.java b/src/main/java/com/mzl/flower/dto/response/statistics/SaleStatisticsDTO.java index a5ea6cb..797fc14 100644 --- a/src/main/java/com/mzl/flower/dto/response/statistics/SaleStatisticsDTO.java +++ b/src/main/java/com/mzl/flower/dto/response/statistics/SaleStatisticsDTO.java @@ -11,5 +11,5 @@ private BigDecimal saleAmount; @ApiModelProperty(value = "销售扎数") - private Integer saleFlowerCount; + private Long saleFlowerCount; } 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 e70d68e..a0322f9 100644 --- a/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java +++ b/src/main/java/com/mzl/flower/service/statistics/StatisticsService.java @@ -9,6 +9,7 @@ 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; @@ -65,7 +66,7 @@ Integer c = orderItemMapper.getFlowerSaleNum(begin, end); dto.setSaleAmount(a); - dto.setSaleFlowerCount(c); + dto.setSaleFlowerCount(c == null ? 0 : c.longValue()); return dto; } @@ -82,26 +83,26 @@ 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((int)page.getTotal()); + dto.setOrderSendCount(page.getTotal()); page = new Page(1, 1); q = new FlowerQueryDTO(); @@ -109,7 +110,7 @@ statusList.add(Constants.FLOWER_STATUS.UP.name()); q.setStatusList(statusList); flowerMapper.selectFlowerList(page, q); - dto.setFlowerUpCount((int)page.getTotal()); + dto.setFlowerUpCount(page.getTotal()); page = new Page(1, 1); q = new FlowerQueryDTO(); @@ -117,13 +118,26 @@ statusList.add(Constants.FLOWER_STATUS.PENDING.name()); q.setStatusList(statusList); flowerMapper.selectFlowerList(page, q); - dto.setFlowerPendingCount((int)page.getTotal()); + 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((int)page.getTotal()); + 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; } diff --git a/src/main/resources/mapper/payment/OrderItemMapper.xml b/src/main/resources/mapper/payment/OrderItemMapper.xml index 0037d42..053f966 100644 --- a/src/main/resources/mapper/payment/OrderItemMapper.xml +++ b/src/main/resources/mapper/payment/OrderItemMapper.xml @@ -76,9 +76,13 @@ SELECT sum(oi.num) FROM t_order_item oi JOIN t_order o on oi.order_id = o.id - WHERE o.create_time > #{startTime} - and o.create_time <= #{endTime} - and o.payment_time is not null + WHERE o.payment_time is not null and o.refund_time is null + <if test="startTime != null"> + and o.create_time > #{startTime} + </if> + <if test="endTime != null"> + and o.create_time <= #{endTime} + </if> </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/payment/OrderMapper.xml b/src/main/resources/mapper/payment/OrderMapper.xml index e0451eb..5e6e22a 100644 --- a/src/main/resources/mapper/payment/OrderMapper.xml +++ b/src/main/resources/mapper/payment/OrderMapper.xml @@ -366,9 +366,13 @@ <select id="getOrderSaleAmount" resultType="java.math.BigDecimal"> SELECT sum(o.payment_amount) FROM t_order o - WHERE o.create_time > #{startTime} - and o.create_time <= #{endTime} - and o.payment_time is not null + WHERE o.payment_time is not null and o.refund_time is null + <if test="startTime != null"> + and o.create_time > #{startTime} + </if> + <if test="endTime != null"> + and o.create_time <= #{endTime} + </if> </select> </mapper> \ No newline at end of file -- Gitblit v1.9.3