mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-30 03:01:53 +08:00
mall:订单统计接口
This commit is contained in:
parent
83aa656bda
commit
be7c664e07
@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderI
|
||||
import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert;
|
||||
import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
|
||||
import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO;
|
||||
import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum;
|
||||
import cn.iocoder.yudao.module.trade.service.order.TradeOrderService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@ -171,17 +172,17 @@ public class AppTradeOrderController {
|
||||
return success(TradeOrderConvert.INSTANCE.convertPage02(pageResult, orderItems, propertyValueDetails));
|
||||
}
|
||||
|
||||
// TODO 芋艿:后续实现
|
||||
@GetMapping("/get-count")
|
||||
@Operation(summary = "获得交易订单数量")
|
||||
public CommonResult<Map<String, Integer>> getOrderCount() {
|
||||
Map<String, Integer> orderCount = new HashMap<>();
|
||||
orderCount.put("allCount", 10);
|
||||
orderCount.put("unpaidCount", 5);
|
||||
orderCount.put("undeliveredCount", 2);
|
||||
orderCount.put("deliveredCount", 1);
|
||||
orderCount.put("uncommentedCount", 3);
|
||||
orderCount.put("allPrice", 300);
|
||||
public CommonResult<Map<String, Long>> getOrderCount() {
|
||||
Map<String, Long> orderCount = new HashMap<>();
|
||||
// 全部
|
||||
orderCount.put("allCount", tradeOrderService.getOrderCount(getLoginUserId(), null, null));
|
||||
// 待付款(未支付)
|
||||
orderCount.put("unpaidCount", tradeOrderService.getOrderCount(getLoginUserId(), TradeOrderStatusEnum.UNPAID.getStatus(), null));
|
||||
orderCount.put("undeliveredCount", tradeOrderService.getOrderCount(getLoginUserId(), TradeOrderStatusEnum.UNDELIVERED.getStatus(), null));
|
||||
orderCount.put("deliveredCount", tradeOrderService.getOrderCount(getLoginUserId(), TradeOrderStatusEnum.DELIVERED.getStatus(), null));
|
||||
orderCount.put("uncommentedCount", tradeOrderService.getOrderCount(getLoginUserId(), TradeOrderStatusEnum.COMPLETED.getStatus(), false));
|
||||
return success(orderCount);
|
||||
}
|
||||
|
||||
|
@ -44,4 +44,10 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
|
||||
.orderByDesc(TradeOrderDO::getId)); // TODO 芋艿:未来不同的 status,不同的排序
|
||||
}
|
||||
|
||||
default Long selectCountByUserIdAndStatus(Long userId, Integer status, Boolean commentStatus) {
|
||||
return selectCount(new LambdaQueryWrapperX<TradeOrderDO>()
|
||||
.eq(TradeOrderDO::getUserId, userId)
|
||||
.eqIfPresent(TradeOrderDO::getStatus, status)
|
||||
.eqIfPresent(TradeOrderDO::getCommentStatus, commentStatus));
|
||||
}
|
||||
}
|
||||
|
@ -91,6 +91,16 @@ public interface TradeOrderService {
|
||||
*/
|
||||
PageResult<TradeOrderDO> getOrderPage(Long userId, AppTradeOrderPageReqVO reqVO);
|
||||
|
||||
/**
|
||||
* 【会员】获得交易订单数量
|
||||
*
|
||||
* @param userId 用户编号
|
||||
* @param status 订单状态。如果为空,则不进行筛选
|
||||
* @param commonStatus 评价状态。如果为空,则不进行筛选
|
||||
* @return 订单数量
|
||||
*/
|
||||
Long getOrderCount(Long userId, Integer status, Boolean commonStatus);
|
||||
|
||||
// =================== Order Item ===================
|
||||
|
||||
/**
|
||||
|
@ -451,6 +451,11 @@ public class TradeOrderServiceImpl implements TradeOrderService {
|
||||
return tradeOrderMapper.selectPage(reqVO, userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getOrderCount(Long userId, Integer status, Boolean commentStatus) {
|
||||
return tradeOrderMapper.selectCountByUserIdAndStatus(userId, status, commentStatus);
|
||||
}
|
||||
|
||||
// =================== Order Item ===================
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user