feat(订单): 添加总订单金额统计功能
在订单相关服务中新增了计算总订单金额的功能,并在统计数据DTO中添加了总订单金额字段,以便在前端展示。此功能用于统计通过微信支付且支付状态为已支付、已完成或已关闭的订单总金额。
This commit is contained in:
parent
ca858ba62b
commit
34f250b354
|
@ -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());
|
||||
|
|
|
@ -349,4 +349,8 @@ public class OrderApplicationService {
|
|||
public List<TodayLatestOrderGoodsDTO> selectTodayLatestOrderGoods(){
|
||||
return orderGoodsService.selectTodayLatestOrderGoods();
|
||||
}
|
||||
|
||||
public BigDecimal sumTotalAmount() {
|
||||
return orderService.sumTotalAmount();
|
||||
}
|
||||
}
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
ALTER TABLE `shop_goods`
|
||||
ADD COLUMN `usage_instruction` VARCHAR(512) NULL COMMENT '商品使用说明'
|
||||
AFTER `goods_detail`;
|
Loading…
Reference in New Issue