Commit be7c664e07868fb2de39061f6ff54bb0d571cc17
1 parent
83aa656b
mall:订单统计接口
Showing
4 changed files
with
31 additions
and
9 deletions
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
| ... | ... | @@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderI |
| 12 | 12 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; |
| 13 | 13 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 14 | 14 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; |
| 15 | +import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | |
| 15 | 16 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; |
| 16 | 17 | import io.swagger.v3.oas.annotations.Operation; |
| 17 | 18 | import io.swagger.v3.oas.annotations.Parameter; |
| ... | ... | @@ -171,17 +172,17 @@ public class AppTradeOrderController { |
| 171 | 172 | return success(TradeOrderConvert.INSTANCE.convertPage02(pageResult, orderItems, propertyValueDetails)); |
| 172 | 173 | } |
| 173 | 174 | |
| 174 | - // TODO 芋艿:后续实现 | |
| 175 | 175 | @GetMapping("/get-count") |
| 176 | 176 | @Operation(summary = "获得交易订单数量") |
| 177 | - public CommonResult<Map<String, Integer>> getOrderCount() { | |
| 178 | - Map<String, Integer> orderCount = new HashMap<>(); | |
| 179 | - orderCount.put("allCount", 10); | |
| 180 | - orderCount.put("unpaidCount", 5); | |
| 181 | - orderCount.put("undeliveredCount", 2); | |
| 182 | - orderCount.put("deliveredCount", 1); | |
| 183 | - orderCount.put("uncommentedCount", 3); | |
| 184 | - orderCount.put("allPrice", 300); | |
| 177 | + public CommonResult<Map<String, Long>> getOrderCount() { | |
| 178 | + Map<String, Long> orderCount = new HashMap<>(); | |
| 179 | + // 全部 | |
| 180 | + orderCount.put("allCount", tradeOrderService.getOrderCount(getLoginUserId(), null, null)); | |
| 181 | + // 待付款(未支付) | |
| 182 | + orderCount.put("unpaidCount", tradeOrderService.getOrderCount(getLoginUserId(), TradeOrderStatusEnum.UNPAID.getStatus(), null)); | |
| 183 | + orderCount.put("undeliveredCount", tradeOrderService.getOrderCount(getLoginUserId(), TradeOrderStatusEnum.UNDELIVERED.getStatus(), null)); | |
| 184 | + orderCount.put("deliveredCount", tradeOrderService.getOrderCount(getLoginUserId(), TradeOrderStatusEnum.DELIVERED.getStatus(), null)); | |
| 185 | + orderCount.put("uncommentedCount", tradeOrderService.getOrderCount(getLoginUserId(), TradeOrderStatusEnum.COMPLETED.getStatus(), false)); | |
| 185 | 186 | return success(orderCount); |
| 186 | 187 | } |
| 187 | 188 | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/order/TradeOrderMapper.java
| ... | ... | @@ -44,4 +44,10 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> { |
| 44 | 44 | .orderByDesc(TradeOrderDO::getId)); // TODO 芋艿:未来不同的 status,不同的排序 |
| 45 | 45 | } |
| 46 | 46 | |
| 47 | + default Long selectCountByUserIdAndStatus(Long userId, Integer status, Boolean commentStatus) { | |
| 48 | + return selectCount(new LambdaQueryWrapperX<TradeOrderDO>() | |
| 49 | + .eq(TradeOrderDO::getUserId, userId) | |
| 50 | + .eqIfPresent(TradeOrderDO::getStatus, status) | |
| 51 | + .eqIfPresent(TradeOrderDO::getCommentStatus, commentStatus)); | |
| 52 | + } | |
| 47 | 53 | } | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderService.java
| ... | ... | @@ -91,6 +91,16 @@ public interface TradeOrderService { |
| 91 | 91 | */ |
| 92 | 92 | PageResult<TradeOrderDO> getOrderPage(Long userId, AppTradeOrderPageReqVO reqVO); |
| 93 | 93 | |
| 94 | + /** | |
| 95 | + * 【会员】获得交易订单数量 | |
| 96 | + * | |
| 97 | + * @param userId 用户编号 | |
| 98 | + * @param status 订单状态。如果为空,则不进行筛选 | |
| 99 | + * @param commonStatus 评价状态。如果为空,则不进行筛选 | |
| 100 | + * @return 订单数量 | |
| 101 | + */ | |
| 102 | + Long getOrderCount(Long userId, Integer status, Boolean commonStatus); | |
| 103 | + | |
| 94 | 104 | // =================== Order Item =================== |
| 95 | 105 | |
| 96 | 106 | /** | ... | ... |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceImpl.java
| ... | ... | @@ -451,6 +451,11 @@ public class TradeOrderServiceImpl implements TradeOrderService { |
| 451 | 451 | return tradeOrderMapper.selectPage(reqVO, userId); |
| 452 | 452 | } |
| 453 | 453 | |
| 454 | + @Override | |
| 455 | + public Long getOrderCount(Long userId, Integer status, Boolean commentStatus) { | |
| 456 | + return tradeOrderMapper.selectCountByUserIdAndStatus(userId, status, commentStatus); | |
| 457 | + } | |
| 458 | + | |
| 454 | 459 | // =================== Order Item =================== |
| 455 | 460 | |
| 456 | 461 | @Override | ... | ... |