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,6 +12,7 @@ import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderI | ||
| 12 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; | 12 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; |
| 13 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 13 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 14 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | 14 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; |
| 15 | +import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | ||
| 15 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 16 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; |
| 16 | import io.swagger.v3.oas.annotations.Operation; | 17 | import io.swagger.v3.oas.annotations.Operation; |
| 17 | import io.swagger.v3.oas.annotations.Parameter; | 18 | import io.swagger.v3.oas.annotations.Parameter; |
| @@ -171,17 +172,17 @@ public class AppTradeOrderController { | @@ -171,17 +172,17 @@ public class AppTradeOrderController { | ||
| 171 | return success(TradeOrderConvert.INSTANCE.convertPage02(pageResult, orderItems, propertyValueDetails)); | 172 | return success(TradeOrderConvert.INSTANCE.convertPage02(pageResult, orderItems, propertyValueDetails)); |
| 172 | } | 173 | } |
| 173 | 174 | ||
| 174 | - // TODO 芋艿:后续实现 | ||
| 175 | @GetMapping("/get-count") | 175 | @GetMapping("/get-count") |
| 176 | @Operation(summary = "获得交易订单数量") | 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 | return success(orderCount); | 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,4 +44,10 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> { | ||
| 44 | .orderByDesc(TradeOrderDO::getId)); // TODO 芋艿:未来不同的 status,不同的排序 | 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,6 +91,16 @@ public interface TradeOrderService { | ||
| 91 | */ | 91 | */ |
| 92 | PageResult<TradeOrderDO> getOrderPage(Long userId, AppTradeOrderPageReqVO reqVO); | 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 | // =================== Order Item =================== | 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,6 +451,11 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 451 | return tradeOrderMapper.selectPage(reqVO, userId); | 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 | // =================== Order Item =================== | 459 | // =================== Order Item =================== |
| 455 | 460 | ||
| 456 | @Override | 461 | @Override |