feat(订单): 添加总订单金额统计功能

在订单相关服务中新增了计算总订单金额的功能,并在统计数据DTO中添加了总订单金额字段,以便在前端展示。此功能用于统计通过微信支付且支付状态为已支付、已完成或已关闭的订单总金额。
This commit is contained in:
dzq 2025-05-20 15:45:14 +08:00
parent ca858ba62b
commit 34f250b354
7 changed files with 30 additions and 0 deletions

View File

@ -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());

View File

@ -349,4 +349,8 @@ public class OrderApplicationService {
public List<TodayLatestOrderGoodsDTO> selectTodayLatestOrderGoods(){
return orderGoodsService.selectTodayLatestOrderGoods();
}
public BigDecimal sumTotalAmount() {
return orderService.sumTotalAmount();
}
}

View File

@ -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;
/**
* <p>
* 商品订单表 Mapper 接口
@ -32,4 +34,8 @@ public interface ShopOrderMapper extends BaseMapper<ShopOrderEntity> {
@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();
}

View File

@ -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;
/**
* <p>
* 商品订单表 服务类
@ -16,5 +18,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ShopOrderService extends IService<ShopOrderEntity> {
Page<OrderWithGoodsDTO> getOrderList(SearchShopOrderQuery<OrderWithGoodsDTO> query);
Long countAllRecord();
BigDecimal sumTotalAmount();
}

View File

@ -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;
/**
* <p>
* 商品订单表 服务实现类
@ -28,4 +30,9 @@ public class ShopOrderServiceImpl extends ServiceImpl<ShopOrderMapper, ShopOrder
public Long countAllRecord() {
return baseMapper.countAllRecord();
}
@Override
public BigDecimal sumTotalAmount() {
return baseMapper.sumTotalAmount();
}
}

View File

@ -6,6 +6,7 @@ import com.agileboot.domain.shop.order.db.TodayLatestOrderGoodsDTO;
import com.agileboot.domain.shop.order.dto.TopGoodsDTO;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@ExcelSheet(name = "统计数据")
@ -21,6 +22,9 @@ public class StatsDTO {
@ExcelColumn(name = "订单数量")
private Long orderCount;
@ExcelColumn(name = "总订单金额")
private BigDecimal orderAmountSum;
@ExcelColumn(name = "总柜子数量")
private Long cabinetCount;

3
sql/20250520_goods.sql Normal file
View File

@ -0,0 +1,3 @@
ALTER TABLE `shop_goods`
ADD COLUMN `usage_instruction` VARCHAR(512) NULL COMMENT '商品使用说明'
AFTER `goods_detail`;