From 34f250b3542afa0f3dceac0e80f9d30d37697974 Mon Sep 17 00:00:00 2001 From: dzq Date: Tue, 20 May 2025 15:45:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=AE=A2=E5=8D=95):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=80=BB=E8=AE=A2=E5=8D=95=E9=87=91=E9=A2=9D=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在订单相关服务中新增了计算总订单金额的功能,并在统计数据DTO中添加了总订单金额字段,以便在前端展示。此功能用于统计通过微信支付且支付状态为已支付、已完成或已关闭的订单总金额。 --- .../agileboot/admin/controller/shop/ShopController.java | 1 + .../domain/shop/order/OrderApplicationService.java | 4 ++++ .../agileboot/domain/shop/order/db/ShopOrderMapper.java | 6 ++++++ .../agileboot/domain/shop/order/db/ShopOrderService.java | 5 +++++ .../domain/shop/order/db/ShopOrderServiceImpl.java | 7 +++++++ .../java/com/agileboot/domain/shop/shop/dto/StatsDTO.java | 4 ++++ sql/20250520_goods.sql | 3 +++ 7 files changed, 30 insertions(+) create mode 100644 sql/20250520_goods.sql diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopController.java b/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopController.java index 09c3f5f..200b941 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopController.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/controller/shop/ShopController.java @@ -53,6 +53,7 @@ public class ShopController extends BaseController { statsDTO.setShopCount(shopApplicationService.countAllRecord()); statsDTO.setGoodsCount(goodsApplicationService.countAllRecord()); statsDTO.setOrderCount(orderApplicationService.countAllRecord()); + statsDTO.setOrderAmountSum(orderApplicationService.sumTotalAmount()); statsDTO.setCabinetCount(smartCabinetApplicationService.countAllRecord()); statsDTO.setCellCount(cabinetCellApplicationService.countAllRecord()); statsDTO.setLinkedCellCount(cabinetCellApplicationService.countLinkedRecord()); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java index 5fd575d..ae437d4 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java @@ -349,4 +349,8 @@ public class OrderApplicationService { public List selectTodayLatestOrderGoods(){ return orderGoodsService.selectTodayLatestOrderGoods(); } + + public BigDecimal sumTotalAmount() { + return orderService.sumTotalAmount(); + } } \ No newline at end of file diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderMapper.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderMapper.java index b921be3..bed7754 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderMapper.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderMapper.java @@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.math.BigDecimal; + /** *

* 商品订单表 Mapper 接口 @@ -32,4 +34,8 @@ public interface ShopOrderMapper extends BaseMapper { @Select("SELECT COUNT(1) FROM shop_order WHERE deleted = 0") Long countAllRecord(); + + @Select("SELECT SUM(total_amount) FROM shop_order " + + "WHERE deleted = 0 and pay_status in (2,3,4) and payment_method = 'wechat'") + BigDecimal sumTotalAmount(); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderService.java index 4c97e6d..a05718f 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderService.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.math.BigDecimal; + /** *

* 商品订单表 服务类 @@ -16,5 +18,8 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ShopOrderService extends IService { Page getOrderList(SearchShopOrderQuery query); + Long countAllRecord(); + + BigDecimal sumTotalAmount(); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderServiceImpl.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderServiceImpl.java index 1422c95..e54b2e5 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderServiceImpl.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/db/ShopOrderServiceImpl.java @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.math.BigDecimal; + /** *

* 商品订单表 服务实现类 @@ -28,4 +30,9 @@ public class ShopOrderServiceImpl extends ServiceImpl