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 | 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