Commit a159a983a2da801b654c84f74f34645e073902fd
1 parent
159c74ce
订单:
1. 拆分读写 OrderService,避免单 Service 逻辑过重。
Showing
11 changed files
with
252 additions
and
254 deletions
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/api/order/TradeOrderApiImpl.java
| 1 | package cn.iocoder.yudao.module.trade.api.order; | 1 | package cn.iocoder.yudao.module.trade.api.order; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | 3 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; |
| 4 | -import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 4 | +import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService; |
| 5 | import org.springframework.stereotype.Service; | 5 | import org.springframework.stereotype.Service; |
| 6 | import org.springframework.validation.annotation.Validated; | 6 | import org.springframework.validation.annotation.Validated; |
| 7 | 7 | ||
| @@ -20,12 +20,12 @@ import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.ORDER_ITEM_ | @@ -20,12 +20,12 @@ import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.ORDER_ITEM_ | ||
| 20 | public class TradeOrderApiImpl implements TradeOrderApi { | 20 | public class TradeOrderApiImpl implements TradeOrderApi { |
| 21 | 21 | ||
| 22 | @Resource | 22 | @Resource |
| 23 | - private TradeOrderService tradeOrderService; | 23 | + private TradeOrderQueryService tradeOrderQueryService; |
| 24 | 24 | ||
| 25 | @Override | 25 | @Override |
| 26 | public Long validateOrder(Long userId, Long orderItemId) { | 26 | public Long validateOrder(Long userId, Long orderItemId) { |
| 27 | // 校验订单项,订单项存在订单就存在 | 27 | // 校验订单项,订单项存在订单就存在 |
| 28 | - TradeOrderItemDO item = tradeOrderService.getOrderItem(userId, orderItemId); | 28 | + TradeOrderItemDO item = tradeOrderQueryService.getOrderItem(userId, orderItemId); |
| 29 | if (item == null) { | 29 | if (item == null) { |
| 30 | throw exception(ORDER_ITEM_NOT_FOUND); | 30 | throw exception(ORDER_ITEM_NOT_FOUND); |
| 31 | } | 31 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/TradeOrderController.java
| @@ -14,7 +14,8 @@ import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReq | @@ -14,7 +14,8 @@ import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReq | ||
| 14 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; | 14 | import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; |
| 15 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 15 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 16 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | 16 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; |
| 17 | -import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 17 | +import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService; |
| 18 | +import cn.iocoder.yudao.module.trade.service.order.TradeOrderUpdateService; | ||
| 18 | import io.swagger.v3.oas.annotations.Operation; | 19 | import io.swagger.v3.oas.annotations.Operation; |
| 19 | import io.swagger.v3.oas.annotations.Parameter; | 20 | import io.swagger.v3.oas.annotations.Parameter; |
| 20 | import io.swagger.v3.oas.annotations.tags.Tag; | 21 | import io.swagger.v3.oas.annotations.tags.Tag; |
| @@ -39,7 +40,9 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti | @@ -39,7 +40,9 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti | ||
| 39 | public class TradeOrderController { | 40 | public class TradeOrderController { |
| 40 | 41 | ||
| 41 | @Resource | 42 | @Resource |
| 42 | - private TradeOrderService tradeOrderService; | 43 | + private TradeOrderUpdateService tradeOrderUpdateService; |
| 44 | + @Resource | ||
| 45 | + private TradeOrderQueryService tradeOrderQueryService; | ||
| 43 | 46 | ||
| 44 | @Resource | 47 | @Resource |
| 45 | private ProductPropertyValueApi productPropertyValueApi; | 48 | private ProductPropertyValueApi productPropertyValueApi; |
| @@ -51,7 +54,7 @@ public class TradeOrderController { | @@ -51,7 +54,7 @@ public class TradeOrderController { | ||
| 51 | @PreAuthorize("@ss.hasPermission('trade:order:query')") | 54 | @PreAuthorize("@ss.hasPermission('trade:order:query')") |
| 52 | public CommonResult<PageResult<TradeOrderPageItemRespVO>> getOrderPage(TradeOrderPageReqVO reqVO) { | 55 | public CommonResult<PageResult<TradeOrderPageItemRespVO>> getOrderPage(TradeOrderPageReqVO reqVO) { |
| 53 | // 查询订单 | 56 | // 查询订单 |
| 54 | - PageResult<TradeOrderDO> pageResult = tradeOrderService.getOrderPage(reqVO); | 57 | + PageResult<TradeOrderDO> pageResult = tradeOrderQueryService.getOrderPage(reqVO); |
| 55 | if (CollUtil.isEmpty(pageResult.getList())) { | 58 | if (CollUtil.isEmpty(pageResult.getList())) { |
| 56 | return success(PageResult.empty()); | 59 | return success(PageResult.empty()); |
| 57 | } | 60 | } |
| @@ -59,7 +62,7 @@ public class TradeOrderController { | @@ -59,7 +62,7 @@ public class TradeOrderController { | ||
| 59 | // 查询用户信息 | 62 | // 查询用户信息 |
| 60 | Map<Long, MemberUserRespDTO> userMap = memberUserApi.getUserMap(convertSet(pageResult.getList(), TradeOrderDO::getUserId));; | 63 | Map<Long, MemberUserRespDTO> userMap = memberUserApi.getUserMap(convertSet(pageResult.getList(), TradeOrderDO::getUserId));; |
| 61 | // 查询订单项 | 64 | // 查询订单项 |
| 62 | - List<TradeOrderItemDO> orderItems = tradeOrderService.getOrderItemListByOrderId( | 65 | + List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId( |
| 63 | convertSet(pageResult.getList(), TradeOrderDO::getId)); | 66 | convertSet(pageResult.getList(), TradeOrderDO::getId)); |
| 64 | // 查询商品属性 | 67 | // 查询商品属性 |
| 65 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi | 68 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi |
| @@ -74,9 +77,9 @@ public class TradeOrderController { | @@ -74,9 +77,9 @@ public class TradeOrderController { | ||
| 74 | @PreAuthorize("@ss.hasPermission('trade:order:query')") | 77 | @PreAuthorize("@ss.hasPermission('trade:order:query')") |
| 75 | public CommonResult<TradeOrderDetailRespVO> getOrderDetail(@RequestParam("id") Long id) { | 78 | public CommonResult<TradeOrderDetailRespVO> getOrderDetail(@RequestParam("id") Long id) { |
| 76 | // 查询订单 | 79 | // 查询订单 |
| 77 | - TradeOrderDO order = tradeOrderService.getOrder(id); | 80 | + TradeOrderDO order = tradeOrderQueryService.getOrder(id); |
| 78 | // 查询订单项 | 81 | // 查询订单项 |
| 79 | - List<TradeOrderItemDO> orderItems = tradeOrderService.getOrderItemListByOrderId(id); | 82 | + List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId(id); |
| 80 | // 查询商品属性 | 83 | // 查询商品属性 |
| 81 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi | 84 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi |
| 82 | .getPropertyValueDetailList(TradeOrderConvert.INSTANCE.convertPropertyValueIds(orderItems)); | 85 | .getPropertyValueDetailList(TradeOrderConvert.INSTANCE.convertPropertyValueIds(orderItems)); |
| @@ -90,7 +93,7 @@ public class TradeOrderController { | @@ -90,7 +93,7 @@ public class TradeOrderController { | ||
| 90 | @Operation(summary = "发货订单") | 93 | @Operation(summary = "发货订单") |
| 91 | @PreAuthorize("@ss.hasPermission('trade:order:delivery')") | 94 | @PreAuthorize("@ss.hasPermission('trade:order:delivery')") |
| 92 | public CommonResult<Boolean> deliveryOrder(@RequestBody TradeOrderDeliveryReqVO deliveryReqVO) { | 95 | public CommonResult<Boolean> deliveryOrder(@RequestBody TradeOrderDeliveryReqVO deliveryReqVO) { |
| 93 | - tradeOrderService.deliveryOrder(getLoginUserId(), deliveryReqVO); | 96 | + tradeOrderUpdateService.deliveryOrder(getLoginUserId(), deliveryReqVO); |
| 94 | return success(true); | 97 | return success(true); |
| 95 | } | 98 | } |
| 96 | 99 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
| @@ -17,7 +17,7 @@ import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | @@ -17,7 +17,7 @@ import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | ||
| 17 | import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; | 17 | import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; |
| 18 | import cn.iocoder.yudao.module.trade.service.delivery.DeliveryExpressService; | 18 | import cn.iocoder.yudao.module.trade.service.delivery.DeliveryExpressService; |
| 19 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService; | 19 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService; |
| 20 | -import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 20 | +import cn.iocoder.yudao.module.trade.service.order.TradeOrderUpdateService; |
| 21 | import com.google.common.collect.Maps; | 21 | import com.google.common.collect.Maps; |
| 22 | import io.swagger.v3.oas.annotations.Operation; | 22 | import io.swagger.v3.oas.annotations.Operation; |
| 23 | import io.swagger.v3.oas.annotations.Parameter; | 23 | import io.swagger.v3.oas.annotations.Parameter; |
| @@ -44,7 +44,7 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti | @@ -44,7 +44,7 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti | ||
| 44 | public class AppTradeOrderController { | 44 | public class AppTradeOrderController { |
| 45 | 45 | ||
| 46 | @Resource | 46 | @Resource |
| 47 | - private TradeOrderService tradeOrderService; | 47 | + private TradeOrderUpdateService tradeOrderUpdateService; |
| 48 | @Resource | 48 | @Resource |
| 49 | private TradeOrderQueryService tradeOrderQueryService; | 49 | private TradeOrderQueryService tradeOrderQueryService; |
| 50 | @Resource | 50 | @Resource |
| @@ -60,21 +60,21 @@ public class AppTradeOrderController { | @@ -60,21 +60,21 @@ public class AppTradeOrderController { | ||
| 60 | @Operation(summary = "获得订单结算信息") | 60 | @Operation(summary = "获得订单结算信息") |
| 61 | @PreAuthenticated | 61 | @PreAuthenticated |
| 62 | public CommonResult<AppTradeOrderSettlementRespVO> settlementOrder(@Valid AppTradeOrderSettlementReqVO settlementReqVO) { | 62 | public CommonResult<AppTradeOrderSettlementRespVO> settlementOrder(@Valid AppTradeOrderSettlementReqVO settlementReqVO) { |
| 63 | - return success(tradeOrderService.settlementOrder(getLoginUserId(), settlementReqVO)); | 63 | + return success(tradeOrderUpdateService.settlementOrder(getLoginUserId(), settlementReqVO)); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | @PostMapping("/create") | 66 | @PostMapping("/create") |
| 67 | @Operation(summary = "创建订单") | 67 | @Operation(summary = "创建订单") |
| 68 | @PreAuthenticated | 68 | @PreAuthenticated |
| 69 | public CommonResult<AppTradeOrderCreateRespVO> createOrder(@RequestBody AppTradeOrderCreateReqVO createReqVO) { | 69 | public CommonResult<AppTradeOrderCreateRespVO> createOrder(@RequestBody AppTradeOrderCreateReqVO createReqVO) { |
| 70 | - TradeOrderDO order = tradeOrderService.createOrder(getLoginUserId(), getClientIP(), createReqVO); | 70 | + TradeOrderDO order = tradeOrderUpdateService.createOrder(getLoginUserId(), getClientIP(), createReqVO); |
| 71 | return success(new AppTradeOrderCreateRespVO().setId(order.getId()).setPayOrderId(order.getPayOrderId())); | 71 | return success(new AppTradeOrderCreateRespVO().setId(order.getId()).setPayOrderId(order.getPayOrderId())); |
| 72 | } | 72 | } |
| 73 | 73 | ||
| 74 | @PostMapping("/update-paid") | 74 | @PostMapping("/update-paid") |
| 75 | @Operation(summary = "更新订单为已支付") // 由 pay-module 支付服务,进行回调,可见 PayNotifyJob | 75 | @Operation(summary = "更新订单为已支付") // 由 pay-module 支付服务,进行回调,可见 PayNotifyJob |
| 76 | public CommonResult<Boolean> updateOrderPaid(@RequestBody PayOrderNotifyReqDTO notifyReqDTO) { | 76 | public CommonResult<Boolean> updateOrderPaid(@RequestBody PayOrderNotifyReqDTO notifyReqDTO) { |
| 77 | - tradeOrderService.updateOrderPaid(Long.valueOf(notifyReqDTO.getMerchantOrderId()), | 77 | + tradeOrderUpdateService.updateOrderPaid(Long.valueOf(notifyReqDTO.getMerchantOrderId()), |
| 78 | notifyReqDTO.getPayOrderId()); | 78 | notifyReqDTO.getPayOrderId()); |
| 79 | return success(true); | 79 | return success(true); |
| 80 | } | 80 | } |
| @@ -84,13 +84,13 @@ public class AppTradeOrderController { | @@ -84,13 +84,13 @@ public class AppTradeOrderController { | ||
| 84 | @Parameter(name = "id", description = "交易订单编号") | 84 | @Parameter(name = "id", description = "交易订单编号") |
| 85 | public CommonResult<AppTradeOrderDetailRespVO> getOrder(@RequestParam("id") Long id) { | 85 | public CommonResult<AppTradeOrderDetailRespVO> getOrder(@RequestParam("id") Long id) { |
| 86 | // 查询订单 | 86 | // 查询订单 |
| 87 | - TradeOrderDO order = tradeOrderService.getOrder(getLoginUserId(), id); | 87 | + TradeOrderDO order = tradeOrderQueryService.getOrder(getLoginUserId(), id); |
| 88 | if (order == null) { | 88 | if (order == null) { |
| 89 | return success(null); | 89 | return success(null); |
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | // 查询订单项 | 92 | // 查询订单项 |
| 93 | - List<TradeOrderItemDO> orderItems = tradeOrderService.getOrderItemListByOrderId(order.getId()); | 93 | + List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId(order.getId()); |
| 94 | // 查询商品属性 | 94 | // 查询商品属性 |
| 95 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi | 95 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi |
| 96 | .getPropertyValueDetailList(TradeOrderConvert.INSTANCE.convertPropertyValueIds(orderItems)); | 96 | .getPropertyValueDetailList(TradeOrderConvert.INSTANCE.convertPropertyValueIds(orderItems)); |
| @@ -114,9 +114,9 @@ public class AppTradeOrderController { | @@ -114,9 +114,9 @@ public class AppTradeOrderController { | ||
| 114 | @Operation(summary = "获得交易订单分页") | 114 | @Operation(summary = "获得交易订单分页") |
| 115 | public CommonResult<PageResult<AppTradeOrderPageItemRespVO>> getOrderPage(AppTradeOrderPageReqVO reqVO) { | 115 | public CommonResult<PageResult<AppTradeOrderPageItemRespVO>> getOrderPage(AppTradeOrderPageReqVO reqVO) { |
| 116 | // 查询订单 | 116 | // 查询订单 |
| 117 | - PageResult<TradeOrderDO> pageResult = tradeOrderService.getOrderPage(getLoginUserId(), reqVO); | 117 | + PageResult<TradeOrderDO> pageResult = tradeOrderQueryService.getOrderPage(getLoginUserId(), reqVO); |
| 118 | // 查询订单项 | 118 | // 查询订单项 |
| 119 | - List<TradeOrderItemDO> orderItems = tradeOrderService.getOrderItemListByOrderId( | 119 | + List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId( |
| 120 | convertSet(pageResult.getList(), TradeOrderDO::getId)); | 120 | convertSet(pageResult.getList(), TradeOrderDO::getId)); |
| 121 | // 查询商品属性 | 121 | // 查询商品属性 |
| 122 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi | 122 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi |
| @@ -130,18 +130,18 @@ public class AppTradeOrderController { | @@ -130,18 +130,18 @@ public class AppTradeOrderController { | ||
| 130 | public CommonResult<Map<String, Long>> getOrderCount() { | 130 | public CommonResult<Map<String, Long>> getOrderCount() { |
| 131 | Map<String, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(5); | 131 | Map<String, Long> orderCount = Maps.newLinkedHashMapWithExpectedSize(5); |
| 132 | // 全部 | 132 | // 全部 |
| 133 | - orderCount.put("allCount", tradeOrderService.getOrderCount(getLoginUserId(), null, null)); | 133 | + orderCount.put("allCount", tradeOrderQueryService.getOrderCount(getLoginUserId(), null, null)); |
| 134 | // 待付款(未支付) | 134 | // 待付款(未支付) |
| 135 | - orderCount.put("unpaidCount", tradeOrderService.getOrderCount(getLoginUserId(), | 135 | + orderCount.put("unpaidCount", tradeOrderQueryService.getOrderCount(getLoginUserId(), |
| 136 | TradeOrderStatusEnum.UNPAID.getStatus(), null)); | 136 | TradeOrderStatusEnum.UNPAID.getStatus(), null)); |
| 137 | // 待发货 | 137 | // 待发货 |
| 138 | - orderCount.put("undeliveredCount", tradeOrderService.getOrderCount(getLoginUserId(), | 138 | + orderCount.put("undeliveredCount", tradeOrderQueryService.getOrderCount(getLoginUserId(), |
| 139 | TradeOrderStatusEnum.UNDELIVERED.getStatus(), null)); | 139 | TradeOrderStatusEnum.UNDELIVERED.getStatus(), null)); |
| 140 | // 待收货 | 140 | // 待收货 |
| 141 | - orderCount.put("deliveredCount", tradeOrderService.getOrderCount(getLoginUserId(), | 141 | + orderCount.put("deliveredCount", tradeOrderQueryService.getOrderCount(getLoginUserId(), |
| 142 | TradeOrderStatusEnum.DELIVERED.getStatus(), null)); | 142 | TradeOrderStatusEnum.DELIVERED.getStatus(), null)); |
| 143 | // 待评价 | 143 | // 待评价 |
| 144 | - orderCount.put("uncommentedCount", tradeOrderService.getOrderCount(getLoginUserId(), | 144 | + orderCount.put("uncommentedCount", tradeOrderQueryService.getOrderCount(getLoginUserId(), |
| 145 | TradeOrderStatusEnum.COMPLETED.getStatus(), false)); | 145 | TradeOrderStatusEnum.COMPLETED.getStatus(), false)); |
| 146 | return success(orderCount); | 146 | return success(orderCount); |
| 147 | } | 147 | } |
| @@ -150,7 +150,7 @@ public class AppTradeOrderController { | @@ -150,7 +150,7 @@ public class AppTradeOrderController { | ||
| 150 | @Operation(summary = "确认交易订单收货") | 150 | @Operation(summary = "确认交易订单收货") |
| 151 | @Parameter(name = "id", description = "交易订单编号") | 151 | @Parameter(name = "id", description = "交易订单编号") |
| 152 | public CommonResult<Boolean> takeOrder(@RequestParam("id") Long id) { | 152 | public CommonResult<Boolean> takeOrder(@RequestParam("id") Long id) { |
| 153 | - tradeOrderService.receiveOrder(getLoginUserId(), id); | 153 | + tradeOrderUpdateService.receiveOrder(getLoginUserId(), id); |
| 154 | return success(true); | 154 | return success(true); |
| 155 | } | 155 | } |
| 156 | 156 | ||
| @@ -176,14 +176,14 @@ public class AppTradeOrderController { | @@ -176,14 +176,14 @@ public class AppTradeOrderController { | ||
| 176 | @Operation(summary = "获得交易订单项") | 176 | @Operation(summary = "获得交易订单项") |
| 177 | @Parameter(name = "id", description = "交易订单项编号") | 177 | @Parameter(name = "id", description = "交易订单项编号") |
| 178 | public CommonResult<AppTradeOrderItemRespVO> getOrderItem(@RequestParam("id") Long id) { | 178 | public CommonResult<AppTradeOrderItemRespVO> getOrderItem(@RequestParam("id") Long id) { |
| 179 | - TradeOrderItemDO item = tradeOrderService.getOrderItem(getLoginUserId(), id); | 179 | + TradeOrderItemDO item = tradeOrderQueryService.getOrderItem(getLoginUserId(), id); |
| 180 | return success(TradeOrderConvert.INSTANCE.convert03(item)); | 180 | return success(TradeOrderConvert.INSTANCE.convert03(item)); |
| 181 | } | 181 | } |
| 182 | 182 | ||
| 183 | @PostMapping("/item/create-comment") | 183 | @PostMapping("/item/create-comment") |
| 184 | @Operation(summary = "创建交易订单项的评价") | 184 | @Operation(summary = "创建交易订单项的评价") |
| 185 | public CommonResult<Long> createOrderItemComment(@RequestBody AppTradeOrderItemCommentCreateReqVO createReqVO) { | 185 | public CommonResult<Long> createOrderItemComment(@RequestBody AppTradeOrderItemCommentCreateReqVO createReqVO) { |
| 186 | - return success(tradeOrderService.createOrderItemComment(createReqVO)); | 186 | + return success(tradeOrderUpdateService.createOrderItemComment(getLoginUserId(), createReqVO)); |
| 187 | } | 187 | } |
| 188 | 188 | ||
| 189 | } | 189 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/mysql/order/TradeOrderItemMapper.java
| @@ -31,9 +31,10 @@ public interface TradeOrderItemMapper extends BaseMapperX<TradeOrderItemDO> { | @@ -31,9 +31,10 @@ public interface TradeOrderItemMapper extends BaseMapperX<TradeOrderItemDO> { | ||
| 31 | .eq(TradeOrderItemDO::getSkuId, skuIds)); | 31 | .eq(TradeOrderItemDO::getSkuId, skuIds)); |
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | - default TradeOrderItemDO selectOrderItemByIdAndUserId(Long orderItemId, Long loginUserId) { | 34 | + default TradeOrderItemDO selectByIdAndUserId(Long orderItemId, Long loginUserId) { |
| 35 | return selectOne(new LambdaQueryWrapperX<TradeOrderItemDO>() | 35 | return selectOne(new LambdaQueryWrapperX<TradeOrderItemDO>() |
| 36 | .eq(TradeOrderItemDO::getId, orderItemId) | 36 | .eq(TradeOrderItemDO::getId, orderItemId) |
| 37 | .eq(TradeOrderItemDO::getUserId, loginUserId)); | 37 | .eq(TradeOrderItemDO::getUserId, loginUserId)); |
| 38 | } | 38 | } |
| 39 | + | ||
| 39 | } | 40 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/aftersale/TradeAfterSaleServiceImpl.java
| @@ -27,7 +27,8 @@ import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | @@ -27,7 +27,8 @@ import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | ||
| 27 | import cn.iocoder.yudao.module.trade.framework.aftersalelog.core.dto.TradeAfterSaleLogCreateReqDTO; | 27 | import cn.iocoder.yudao.module.trade.framework.aftersalelog.core.dto.TradeAfterSaleLogCreateReqDTO; |
| 28 | import cn.iocoder.yudao.module.trade.framework.aftersalelog.core.service.AfterSaleLogService; | 28 | import cn.iocoder.yudao.module.trade.framework.aftersalelog.core.service.AfterSaleLogService; |
| 29 | import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; | 29 | import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; |
| 30 | -import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 30 | +import cn.iocoder.yudao.module.trade.service.order.TradeOrderQueryService; |
| 31 | +import cn.iocoder.yudao.module.trade.service.order.TradeOrderUpdateService; | ||
| 31 | import lombok.extern.slf4j.Slf4j; | 32 | import lombok.extern.slf4j.Slf4j; |
| 32 | import org.springframework.scheduling.annotation.Async; | 33 | import org.springframework.scheduling.annotation.Async; |
| 33 | import org.springframework.stereotype.Service; | 34 | import org.springframework.stereotype.Service; |
| @@ -54,7 +55,9 @@ import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*; | @@ -54,7 +55,9 @@ import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*; | ||
| 54 | public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSaleLogService { | 55 | public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSaleLogService { |
| 55 | 56 | ||
| 56 | @Resource | 57 | @Resource |
| 57 | - private TradeOrderService tradeOrderService; | 58 | + private TradeOrderUpdateService tradeOrderUpdateService; |
| 59 | + @Resource | ||
| 60 | + private TradeOrderQueryService tradeOrderQueryService; | ||
| 58 | 61 | ||
| 59 | @Resource | 62 | @Resource |
| 60 | private TradeAfterSaleMapper tradeAfterSaleMapper; | 63 | private TradeAfterSaleMapper tradeAfterSaleMapper; |
| @@ -92,7 +95,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | @@ -92,7 +95,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | ||
| 92 | */ | 95 | */ |
| 93 | private TradeOrderItemDO validateOrderItemApplicable(Long userId, AppTradeAfterSaleCreateReqVO createReqVO) { | 96 | private TradeOrderItemDO validateOrderItemApplicable(Long userId, AppTradeAfterSaleCreateReqVO createReqVO) { |
| 94 | // 校验订单项存在 | 97 | // 校验订单项存在 |
| 95 | - TradeOrderItemDO orderItem = tradeOrderService.getOrderItem(userId, createReqVO.getOrderItemId()); | 98 | + TradeOrderItemDO orderItem = tradeOrderQueryService.getOrderItem(userId, createReqVO.getOrderItemId()); |
| 96 | if (orderItem == null) { | 99 | if (orderItem == null) { |
| 97 | throw exception(ORDER_ITEM_NOT_FOUND); | 100 | throw exception(ORDER_ITEM_NOT_FOUND); |
| 98 | } | 101 | } |
| @@ -108,7 +111,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | @@ -108,7 +111,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | ||
| 108 | } | 111 | } |
| 109 | 112 | ||
| 110 | // 校验订单存在 | 113 | // 校验订单存在 |
| 111 | - TradeOrderDO order = tradeOrderService.getOrder(userId, orderItem.getOrderId()); | 114 | + TradeOrderDO order = tradeOrderQueryService.getOrder(userId, orderItem.getOrderId()); |
| 112 | if (order == null) { | 115 | if (order == null) { |
| 113 | throw exception(ORDER_NOT_FOUND); | 116 | throw exception(ORDER_NOT_FOUND); |
| 114 | } | 117 | } |
| @@ -136,7 +139,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | @@ -136,7 +139,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | ||
| 136 | afterSale.setNo(RandomUtil.randomString(10)); // TODO 芋艿:优化 no 生成逻辑 | 139 | afterSale.setNo(RandomUtil.randomString(10)); // TODO 芋艿:优化 no 生成逻辑 |
| 137 | afterSale.setStatus(TradeAfterSaleStatusEnum.APPLY.getStatus()); | 140 | afterSale.setStatus(TradeAfterSaleStatusEnum.APPLY.getStatus()); |
| 138 | // 标记是售中还是售后 | 141 | // 标记是售中还是售后 |
| 139 | - TradeOrderDO order = tradeOrderService.getOrder(orderItem.getUserId(), orderItem.getOrderId()); | 142 | + TradeOrderDO order = tradeOrderQueryService.getOrder(orderItem.getUserId(), orderItem.getOrderId()); |
| 140 | afterSale.setOrderNo(order.getNo()); // 记录 orderNo 订单流水,方便后续检索 | 143 | afterSale.setOrderNo(order.getNo()); // 记录 orderNo 订单流水,方便后续检索 |
| 141 | afterSale.setType(TradeOrderStatusEnum.isCompleted(order.getStatus()) | 144 | afterSale.setType(TradeOrderStatusEnum.isCompleted(order.getStatus()) |
| 142 | ? TradeAfterSaleTypeEnum.AFTER_SALE.getType() : TradeAfterSaleTypeEnum.IN_SALE.getType()); | 145 | ? TradeAfterSaleTypeEnum.AFTER_SALE.getType() : TradeAfterSaleTypeEnum.IN_SALE.getType()); |
| @@ -144,7 +147,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | @@ -144,7 +147,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | ||
| 144 | tradeAfterSaleMapper.insert(afterSale); | 147 | tradeAfterSaleMapper.insert(afterSale); |
| 145 | 148 | ||
| 146 | // 更新交易订单项的售后状态 | 149 | // 更新交易订单项的售后状态 |
| 147 | - tradeOrderService.updateOrderItemAfterSaleStatus(orderItem.getId(), | 150 | + tradeOrderUpdateService.updateOrderItemAfterSaleStatus(orderItem.getId(), |
| 148 | TradeOrderItemAfterSaleStatusEnum.NONE.getStatus(), | 151 | TradeOrderItemAfterSaleStatusEnum.NONE.getStatus(), |
| 149 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), null); | 152 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), null); |
| 150 | 153 | ||
| @@ -196,7 +199,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | @@ -196,7 +199,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | ||
| 196 | // TODO 发送售后消息 | 199 | // TODO 发送售后消息 |
| 197 | 200 | ||
| 198 | // 更新交易订单项的售后状态为【未申请】 | 201 | // 更新交易订单项的售后状态为【未申请】 |
| 199 | - tradeOrderService.updateOrderItemAfterSaleStatus(afterSale.getOrderItemId(), | 202 | + tradeOrderUpdateService.updateOrderItemAfterSaleStatus(afterSale.getOrderItemId(), |
| 200 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), | 203 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), |
| 201 | TradeOrderItemAfterSaleStatusEnum.NONE.getStatus(), null); | 204 | TradeOrderItemAfterSaleStatusEnum.NONE.getStatus(), null); |
| 202 | } | 205 | } |
| @@ -291,7 +294,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | @@ -291,7 +294,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | ||
| 291 | // TODO 发送售后消息 | 294 | // TODO 发送售后消息 |
| 292 | 295 | ||
| 293 | // 更新交易订单项的售后状态为【未申请】 | 296 | // 更新交易订单项的售后状态为【未申请】 |
| 294 | - tradeOrderService.updateOrderItemAfterSaleStatus(afterSale.getOrderItemId(), | 297 | + tradeOrderUpdateService.updateOrderItemAfterSaleStatus(afterSale.getOrderItemId(), |
| 295 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), | 298 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), |
| 296 | TradeOrderItemAfterSaleStatusEnum.NONE.getStatus(), null); | 299 | TradeOrderItemAfterSaleStatusEnum.NONE.getStatus(), null); |
| 297 | } | 300 | } |
| @@ -339,7 +342,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | @@ -339,7 +342,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | ||
| 339 | // TODO 发送售后消息 | 342 | // TODO 发送售后消息 |
| 340 | 343 | ||
| 341 | // 更新交易订单项的售后状态为【已完成】 | 344 | // 更新交易订单项的售后状态为【已完成】 |
| 342 | - tradeOrderService.updateOrderItemAfterSaleStatus(afterSale.getOrderItemId(), | 345 | + tradeOrderUpdateService.updateOrderItemAfterSaleStatus(afterSale.getOrderItemId(), |
| 343 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), | 346 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), |
| 344 | TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus(), afterSale.getRefundPrice()); | 347 | TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus(), afterSale.getRefundPrice()); |
| 345 | } | 348 | } |
| @@ -381,7 +384,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | @@ -381,7 +384,7 @@ public class TradeAfterSaleServiceImpl implements TradeAfterSaleService, AfterSa | ||
| 381 | // TODO 发送售后消息 | 384 | // TODO 发送售后消息 |
| 382 | 385 | ||
| 383 | // 更新交易订单项的售后状态为【未申请】 | 386 | // 更新交易订单项的售后状态为【未申请】 |
| 384 | - tradeOrderService.updateOrderItemAfterSaleStatus(afterSale.getOrderItemId(), | 387 | + tradeOrderUpdateService.updateOrderItemAfterSaleStatus(afterSale.getOrderItemId(), |
| 385 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), | 388 | TradeOrderItemAfterSaleStatusEnum.APPLY.getStatus(), |
| 386 | TradeOrderItemAfterSaleStatusEnum.NONE.getStatus(), null); | 389 | TradeOrderItemAfterSaleStatusEnum.NONE.getStatus(), null); |
| 387 | } | 390 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryService.java
| 1 | package cn.iocoder.yudao.module.trade.service.order; | 1 | package cn.iocoder.yudao.module.trade.service.order; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | +import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; | ||
| 5 | +import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderPageReqVO; | ||
| 6 | +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | ||
| 7 | +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | ||
| 3 | import cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO; | 8 | import cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO; |
| 4 | 9 | ||
| 10 | +import java.util.Collection; | ||
| 5 | import java.util.List; | 11 | import java.util.List; |
| 6 | 12 | ||
| 13 | +import static java.util.Collections.singleton; | ||
| 14 | + | ||
| 7 | /** | 15 | /** |
| 8 | * 交易订单【读】 Service 接口 | 16 | * 交易订单【读】 Service 接口 |
| 9 | * | 17 | * |
| @@ -11,6 +19,52 @@ import java.util.List; | @@ -11,6 +19,52 @@ import java.util.List; | ||
| 11 | */ | 19 | */ |
| 12 | public interface TradeOrderQueryService { | 20 | public interface TradeOrderQueryService { |
| 13 | 21 | ||
| 22 | + // =================== Order =================== | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * 获得指定编号的交易订单 | ||
| 26 | + * | ||
| 27 | + * @param id 交易订单编号 | ||
| 28 | + * @return 交易订单 | ||
| 29 | + */ | ||
| 30 | + TradeOrderDO getOrder(Long id); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 获得指定用户,指定的交易订单 | ||
| 34 | + * | ||
| 35 | + * @param userId 用户编号 | ||
| 36 | + * @param id 交易订单编号 | ||
| 37 | + * @return 交易订单 | ||
| 38 | + */ | ||
| 39 | + TradeOrderDO getOrder(Long userId, Long id); | ||
| 40 | + | ||
| 41 | + /** | ||
| 42 | + * 【管理员】获得交易订单分页 | ||
| 43 | + * | ||
| 44 | + * @param reqVO 分页请求 | ||
| 45 | + * @return 交易订单 | ||
| 46 | + */ | ||
| 47 | + PageResult<TradeOrderDO> getOrderPage(TradeOrderPageReqVO reqVO); | ||
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 【会员】获得交易订单分页 | ||
| 51 | + * | ||
| 52 | + * @param userId 用户编号 | ||
| 53 | + * @param reqVO 分页请求 | ||
| 54 | + * @return 交易订单 | ||
| 55 | + */ | ||
| 56 | + PageResult<TradeOrderDO> getOrderPage(Long userId, AppTradeOrderPageReqVO reqVO); | ||
| 57 | + | ||
| 58 | + /** | ||
| 59 | + * 【会员】获得交易订单数量 | ||
| 60 | + * | ||
| 61 | + * @param userId 用户编号 | ||
| 62 | + * @param status 订单状态。如果为空,则不进行筛选 | ||
| 63 | + * @param commonStatus 评价状态。如果为空,则不进行筛选 | ||
| 64 | + * @return 订单数量 | ||
| 65 | + */ | ||
| 66 | + Long getOrderCount(Long userId, Integer status, Boolean commonStatus); | ||
| 67 | + | ||
| 14 | /** | 68 | /** |
| 15 | * 获得订单的物流轨迹 | 69 | * 获得订单的物流轨迹 |
| 16 | * | 70 | * |
| @@ -20,4 +74,41 @@ public interface TradeOrderQueryService { | @@ -20,4 +74,41 @@ public interface TradeOrderQueryService { | ||
| 20 | */ | 74 | */ |
| 21 | List<ExpressTrackRespDTO> getExpressTrackList(Long id, Long userId); | 75 | List<ExpressTrackRespDTO> getExpressTrackList(Long id, Long userId); |
| 22 | 76 | ||
| 77 | + // =================== Order Item =================== | ||
| 78 | + | ||
| 79 | + /** | ||
| 80 | + * 获得指定用户,指定的交易订单项 | ||
| 81 | + * | ||
| 82 | + * @param userId 用户编号 | ||
| 83 | + * @param itemId 交易订单项编号 | ||
| 84 | + * @return 交易订单项 | ||
| 85 | + */ | ||
| 86 | + TradeOrderItemDO getOrderItem(Long userId, Long itemId); | ||
| 87 | + | ||
| 88 | + /** | ||
| 89 | + * 根据交易订单项编号数组,查询交易订单项 | ||
| 90 | + * | ||
| 91 | + * @param ids 交易订单项编号数组 | ||
| 92 | + * @return 交易订单项数组 | ||
| 93 | + */ | ||
| 94 | + List<TradeOrderItemDO> getOrderItemList(Collection<Long> ids); | ||
| 95 | + | ||
| 96 | + /** | ||
| 97 | + * 根据交易订单编号,查询交易订单项 | ||
| 98 | + * | ||
| 99 | + * @param orderId 交易订单编号 | ||
| 100 | + * @return 交易订单项数组 | ||
| 101 | + */ | ||
| 102 | + default List<TradeOrderItemDO> getOrderItemListByOrderId(Long orderId) { | ||
| 103 | + return getOrderItemListByOrderId(singleton(orderId)); | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + /** | ||
| 107 | + * 根据交易订单编号数组,查询交易订单项 | ||
| 108 | + * | ||
| 109 | + * @param orderIds 交易订单编号数组 | ||
| 110 | + * @return 交易订单项数组 | ||
| 111 | + */ | ||
| 112 | + List<TradeOrderItemDO> getOrderItemListByOrderId(Collection<Long> orderIds); | ||
| 113 | + | ||
| 23 | } | 114 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java
| 1 | package cn.iocoder.yudao.module.trade.service.order; | 1 | package cn.iocoder.yudao.module.trade.service.order; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 4 | +import cn.hutool.core.util.ObjectUtil; | ||
| 5 | +import cn.hutool.core.util.StrUtil; | ||
| 6 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 7 | +import cn.iocoder.yudao.module.member.api.user.MemberUserApi; | ||
| 8 | +import cn.iocoder.yudao.module.member.api.user.dto.MemberUserRespDTO; | ||
| 9 | +import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; | ||
| 10 | +import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderPageReqVO; | ||
| 3 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; | 11 | import cn.iocoder.yudao.module.trade.dal.dataobject.delivery.DeliveryExpressDO; |
| 4 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 12 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 13 | +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | ||
| 14 | +import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderItemMapper; | ||
| 5 | import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderMapper; | 15 | import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderMapper; |
| 6 | import cn.iocoder.yudao.module.trade.framework.delivery.core.client.ExpressClientFactory; | 16 | import cn.iocoder.yudao.module.trade.framework.delivery.core.client.ExpressClientFactory; |
| 7 | import cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO; | 17 | import cn.iocoder.yudao.module.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO; |
| @@ -10,10 +20,10 @@ import cn.iocoder.yudao.module.trade.service.delivery.DeliveryExpressService; | @@ -10,10 +20,10 @@ import cn.iocoder.yudao.module.trade.service.delivery.DeliveryExpressService; | ||
| 10 | import org.springframework.stereotype.Service; | 20 | import org.springframework.stereotype.Service; |
| 11 | 21 | ||
| 12 | import javax.annotation.Resource; | 22 | import javax.annotation.Resource; |
| 13 | -import java.util.Collections; | ||
| 14 | -import java.util.List; | 23 | +import java.util.*; |
| 15 | 24 | ||
| 16 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 25 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 26 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | ||
| 17 | import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.EXPRESS_NOT_EXISTS; | 27 | import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.EXPRESS_NOT_EXISTS; |
| 18 | import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.ORDER_NOT_FOUND; | 28 | import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.ORDER_NOT_FOUND; |
| 19 | 29 | ||
| @@ -30,10 +40,64 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService { | @@ -30,10 +40,64 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService { | ||
| 30 | 40 | ||
| 31 | @Resource | 41 | @Resource |
| 32 | private TradeOrderMapper tradeOrderMapper; | 42 | private TradeOrderMapper tradeOrderMapper; |
| 43 | + @Resource | ||
| 44 | + private TradeOrderItemMapper tradeOrderItemMapper; | ||
| 33 | 45 | ||
| 34 | @Resource | 46 | @Resource |
| 35 | private DeliveryExpressService deliveryExpressService; | 47 | private DeliveryExpressService deliveryExpressService; |
| 36 | 48 | ||
| 49 | + @Resource | ||
| 50 | + private MemberUserApi memberUserApi; | ||
| 51 | + | ||
| 52 | + // =================== Order =================== | ||
| 53 | + | ||
| 54 | + @Override | ||
| 55 | + public TradeOrderDO getOrder(Long id) { | ||
| 56 | + return tradeOrderMapper.selectById(id); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + @Override | ||
| 60 | + public TradeOrderDO getOrder(Long userId, Long id) { | ||
| 61 | + TradeOrderDO order = tradeOrderMapper.selectById(id); | ||
| 62 | + if (order != null | ||
| 63 | + && ObjectUtil.notEqual(order.getUserId(), userId)) { | ||
| 64 | + return null; | ||
| 65 | + } | ||
| 66 | + return order; | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + @Override | ||
| 70 | + public PageResult<TradeOrderDO> getOrderPage(TradeOrderPageReqVO reqVO) { | ||
| 71 | + // 获得 userId 相关的查询 | ||
| 72 | + Set<Long> userIds = new HashSet<>(); | ||
| 73 | + if (StrUtil.isNotEmpty(reqVO.getUserMobile())) { | ||
| 74 | + MemberUserRespDTO user = memberUserApi.getUserByMobile(reqVO.getUserMobile()); | ||
| 75 | + if (user == null) { // 没查询到用户,说明肯定也没他的订单 | ||
| 76 | + return new PageResult<>(); | ||
| 77 | + } | ||
| 78 | + userIds.add(user.getId()); | ||
| 79 | + } | ||
| 80 | + if (StrUtil.isNotEmpty(reqVO.getUserNickname())) { | ||
| 81 | + List<MemberUserRespDTO> users = memberUserApi.getUserListByNickname(reqVO.getUserNickname()); | ||
| 82 | + if (CollUtil.isEmpty(users)) { // 没查询到用户,说明肯定也没他的订单 | ||
| 83 | + return new PageResult<>(); | ||
| 84 | + } | ||
| 85 | + userIds.addAll(convertSet(users, MemberUserRespDTO::getId)); | ||
| 86 | + } | ||
| 87 | + // 分页查询 | ||
| 88 | + return tradeOrderMapper.selectPage(reqVO, userIds); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @Override | ||
| 92 | + public PageResult<TradeOrderDO> getOrderPage(Long userId, AppTradeOrderPageReqVO reqVO) { | ||
| 93 | + return tradeOrderMapper.selectPage(reqVO, userId); | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + @Override | ||
| 97 | + public Long getOrderCount(Long userId, Integer status, Boolean commentStatus) { | ||
| 98 | + return tradeOrderMapper.selectCountByUserIdAndStatus(userId, status, commentStatus); | ||
| 99 | + } | ||
| 100 | + | ||
| 37 | @Override | 101 | @Override |
| 38 | public List<ExpressTrackRespDTO> getExpressTrackList(Long id, Long userId) { | 102 | public List<ExpressTrackRespDTO> getExpressTrackList(Long id, Long userId) { |
| 39 | // 查询订单 | 103 | // 查询订单 |
| @@ -57,4 +121,29 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService { | @@ -57,4 +121,29 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService { | ||
| 57 | .setPhone(order.getReceiverMobile())); | 121 | .setPhone(order.getReceiverMobile())); |
| 58 | } | 122 | } |
| 59 | 123 | ||
| 124 | + // =================== Order Item =================== | ||
| 125 | + | ||
| 126 | + @Override | ||
| 127 | + public TradeOrderItemDO getOrderItem(Long userId, Long itemId) { | ||
| 128 | + TradeOrderItemDO orderItem = tradeOrderItemMapper.selectById(itemId); | ||
| 129 | + if (orderItem != null | ||
| 130 | + && ObjectUtil.notEqual(orderItem.getUserId(), userId)) { | ||
| 131 | + return null; | ||
| 132 | + } | ||
| 133 | + return orderItem; | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + @Override | ||
| 137 | + public List<TradeOrderItemDO> getOrderItemList(Collection<Long> ids) { | ||
| 138 | + return tradeOrderItemMapper.selectBatchIds(ids); | ||
| 139 | + } | ||
| 140 | + | ||
| 141 | + @Override | ||
| 142 | + public List<TradeOrderItemDO> getOrderItemListByOrderId(Collection<Long> orderIds) { | ||
| 143 | + if (CollUtil.isEmpty(orderIds)) { | ||
| 144 | + return Collections.emptyList(); | ||
| 145 | + } | ||
| 146 | + return tradeOrderItemMapper.selectListByOrderId(orderIds); | ||
| 147 | + } | ||
| 148 | + | ||
| 60 | } | 149 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderService.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateService.java
| 1 | package cn.iocoder.yudao.module.trade.service.order; | 1 | package cn.iocoder.yudao.module.trade.service.order; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; | 3 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; |
| 5 | -import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; | ||
| 6 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | 4 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; |
| 7 | -import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderPageReqVO; | ||
| 8 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO; | 5 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO; |
| 9 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO; | 6 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO; |
| 10 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemCommentCreateReqVO; | 7 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemCommentCreateReqVO; |
| 11 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 8 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 12 | -import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | ||
| 13 | - | ||
| 14 | -import java.util.Collection; | ||
| 15 | -import java.util.List; | ||
| 16 | - | ||
| 17 | -import static java.util.Collections.singleton; | ||
| 18 | 9 | ||
| 19 | /** | 10 | /** |
| 20 | - * 交易订单 Service 接口 | 11 | + * 交易订单【写】Service 接口 |
| 21 | * | 12 | * |
| 22 | * @author LeeYan9 | 13 | * @author LeeYan9 |
| 23 | * @since 2022-08-26 | 14 | * @since 2022-08-26 |
| 24 | */ | 15 | */ |
| 25 | -public interface TradeOrderService { | 16 | +public interface TradeOrderUpdateService { |
| 26 | 17 | ||
| 27 | // =================== Order =================== | 18 | // =================== Order =================== |
| 28 | 19 | ||
| @@ -69,62 +60,9 @@ public interface TradeOrderService { | @@ -69,62 +60,9 @@ public interface TradeOrderService { | ||
| 69 | */ | 60 | */ |
| 70 | void receiveOrder(Long userId, Long id); | 61 | void receiveOrder(Long userId, Long id); |
| 71 | 62 | ||
| 72 | - /** | ||
| 73 | - * 获得指定编号的交易订单 | ||
| 74 | - * | ||
| 75 | - * @param id 交易订单编号 | ||
| 76 | - * @return 交易订单 | ||
| 77 | - */ | ||
| 78 | - TradeOrderDO getOrder(Long id); | ||
| 79 | - | ||
| 80 | - /** | ||
| 81 | - * 获得指定用户,指定的交易订单 | ||
| 82 | - * | ||
| 83 | - * @param userId 用户编号 | ||
| 84 | - * @param id 交易订单编号 | ||
| 85 | - * @return 交易订单 | ||
| 86 | - */ | ||
| 87 | - TradeOrderDO getOrder(Long userId, Long id); | ||
| 88 | - | ||
| 89 | - /** | ||
| 90 | - * 【管理员】获得交易订单分页 | ||
| 91 | - * | ||
| 92 | - * @param reqVO 分页请求 | ||
| 93 | - * @return 交易订单 | ||
| 94 | - */ | ||
| 95 | - PageResult<TradeOrderDO> getOrderPage(TradeOrderPageReqVO reqVO); | ||
| 96 | - | ||
| 97 | - /** | ||
| 98 | - * 【会员】获得交易订单分页 | ||
| 99 | - * | ||
| 100 | - * @param userId 用户编号 | ||
| 101 | - * @param reqVO 分页请求 | ||
| 102 | - * @return 交易订单 | ||
| 103 | - */ | ||
| 104 | - PageResult<TradeOrderDO> getOrderPage(Long userId, AppTradeOrderPageReqVO reqVO); | ||
| 105 | - | ||
| 106 | - /** | ||
| 107 | - * 【会员】获得交易订单数量 | ||
| 108 | - * | ||
| 109 | - * @param userId 用户编号 | ||
| 110 | - * @param status 订单状态。如果为空,则不进行筛选 | ||
| 111 | - * @param commonStatus 评价状态。如果为空,则不进行筛选 | ||
| 112 | - * @return 订单数量 | ||
| 113 | - */ | ||
| 114 | - Long getOrderCount(Long userId, Integer status, Boolean commonStatus); | ||
| 115 | - | ||
| 116 | // =================== Order Item =================== | 63 | // =================== Order Item =================== |
| 117 | 64 | ||
| 118 | /** | 65 | /** |
| 119 | - * 获得指定用户,指定的交易订单项 | ||
| 120 | - * | ||
| 121 | - * @param userId 用户编号 | ||
| 122 | - * @param itemId 交易订单项编号 | ||
| 123 | - * @return 交易订单项 | ||
| 124 | - */ | ||
| 125 | - TradeOrderItemDO getOrderItem(Long userId, Long itemId); | ||
| 126 | - | ||
| 127 | - /** | ||
| 128 | * 更新交易订单项的售后状态 | 66 | * 更新交易订单项的售后状态 |
| 129 | * | 67 | * |
| 130 | * @param id 交易订单项编号 | 68 | * @param id 交易订单项编号 |
| @@ -136,55 +74,12 @@ public interface TradeOrderService { | @@ -136,55 +74,12 @@ public interface TradeOrderService { | ||
| 136 | Integer newAfterSaleStatus, Integer refundPrice); | 74 | Integer newAfterSaleStatus, Integer refundPrice); |
| 137 | 75 | ||
| 138 | /** | 76 | /** |
| 139 | - * 根据交易订单项编号数组,查询交易订单项 | ||
| 140 | - * | ||
| 141 | - * @param ids 交易订单项编号数组 | ||
| 142 | - * @return 交易订单项数组 | ||
| 143 | - */ | ||
| 144 | - List<TradeOrderItemDO> getOrderItemList(Collection<Long> ids); | ||
| 145 | - | ||
| 146 | - /** | ||
| 147 | - * 根据交易订单编号,查询交易订单项 | ||
| 148 | - * | ||
| 149 | - * @param orderId 交易订单编号 | ||
| 150 | - * @return 交易订单项数组 | ||
| 151 | - */ | ||
| 152 | - default List<TradeOrderItemDO> getOrderItemListByOrderId(Long orderId) { | ||
| 153 | - return getOrderItemListByOrderId(singleton(orderId)); | ||
| 154 | - } | ||
| 155 | - | ||
| 156 | - /** | ||
| 157 | - * 根据交易订单编号数组,查询交易订单项 | ||
| 158 | - * | ||
| 159 | - * @param orderIds 交易订单编号数组 | ||
| 160 | - * @return 交易订单项数组 | ||
| 161 | - */ | ||
| 162 | - List<TradeOrderItemDO> getOrderItemListByOrderId(Collection<Long> orderIds); | ||
| 163 | - | ||
| 164 | - /** | ||
| 165 | - * 得到订单项通过 订单项 id 和用户 id | ||
| 166 | - * | ||
| 167 | - * @param orderItemId 订单项 id | ||
| 168 | - * @param loginUserId 登录用户 id | ||
| 169 | - * @return 得到订单项 | ||
| 170 | - */ | ||
| 171 | - TradeOrderItemDO getOrderItemByIdAndUserId(Long orderItemId, Long loginUserId); | ||
| 172 | - | ||
| 173 | - /** | ||
| 174 | - * 得到订单通过 id 和 用户 id | ||
| 175 | - * | ||
| 176 | - * @param orderId 订单 id | ||
| 177 | - * @param loginUserId 登录用户 id | ||
| 178 | - * @return 得到订单 | ||
| 179 | - */ | ||
| 180 | - TradeOrderDO getOrderByIdAndUserId(Long orderId, Long loginUserId); | ||
| 181 | - | ||
| 182 | - /** | ||
| 183 | * 创建订单项的评论 | 77 | * 创建订单项的评论 |
| 184 | * | 78 | * |
| 79 | + * @param userId 用户编号 | ||
| 185 | * @param createReqVO 创建请求 | 80 | * @param createReqVO 创建请求 |
| 186 | * @return 得到评价 id | 81 | * @return 得到评价 id |
| 187 | */ | 82 | */ |
| 188 | - Long createOrderItemComment(AppTradeOrderItemCommentCreateReqVO createReqVO); | 83 | + Long createOrderItemComment(Long userId, AppTradeOrderItemCommentCreateReqVO createReqVO); |
| 189 | 84 | ||
| 190 | } | 85 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceImpl.java renamed to yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
| @@ -8,7 +8,6 @@ import cn.hutool.core.util.StrUtil; | @@ -8,7 +8,6 @@ import cn.hutool.core.util.StrUtil; | ||
| 8 | import cn.iocoder.yudao.framework.common.core.KeyValue; | 8 | import cn.iocoder.yudao.framework.common.core.KeyValue; |
| 9 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 9 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 10 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; | 10 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; |
| 11 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 12 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 11 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 13 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 12 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 14 | import cn.iocoder.yudao.module.member.api.address.AddressApi; | 13 | import cn.iocoder.yudao.module.member.api.address.AddressApi; |
| @@ -31,9 +30,7 @@ import cn.iocoder.yudao.module.promotion.api.coupon.CouponApi; | @@ -31,9 +30,7 @@ import cn.iocoder.yudao.module.promotion.api.coupon.CouponApi; | ||
| 31 | import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; | 30 | import cn.iocoder.yudao.module.promotion.api.coupon.dto.CouponUseReqDTO; |
| 32 | import cn.iocoder.yudao.module.promotion.enums.combination.CombinationRecordStatusEnum; | 31 | import cn.iocoder.yudao.module.promotion.enums.combination.CombinationRecordStatusEnum; |
| 33 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; | 32 | import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderDeliveryReqVO; |
| 34 | -import cn.iocoder.yudao.module.trade.controller.admin.order.vo.TradeOrderPageReqVO; | ||
| 35 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; | 33 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; |
| 36 | -import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderPageReqVO; | ||
| 37 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO; | 34 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementReqVO; |
| 38 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO; | 35 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderSettlementRespVO; |
| 39 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemCommentCreateReqVO; | 36 | import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemCommentCreateReqVO; |
| @@ -61,23 +58,23 @@ import org.springframework.transaction.annotation.Transactional; | @@ -61,23 +58,23 @@ import org.springframework.transaction.annotation.Transactional; | ||
| 61 | 58 | ||
| 62 | import javax.annotation.Resource; | 59 | import javax.annotation.Resource; |
| 63 | import java.time.LocalDateTime; | 60 | import java.time.LocalDateTime; |
| 64 | -import java.util.*; | 61 | +import java.util.List; |
| 62 | +import java.util.Objects; | ||
| 65 | 63 | ||
| 66 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | 64 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 67 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; | 65 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*; |
| 68 | -import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | ||
| 69 | import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.ORDER_NOT_FOUND; | 66 | import static cn.iocoder.yudao.module.pay.enums.ErrorCodeConstants.ORDER_NOT_FOUND; |
| 70 | import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*; | 67 | import static cn.iocoder.yudao.module.trade.enums.ErrorCodeConstants.*; |
| 71 | 68 | ||
| 72 | /** | 69 | /** |
| 73 | - * 交易订单 Service 实现类 | 70 | + * 交易订单【写】Service 实现类 |
| 74 | * | 71 | * |
| 75 | * @author LeeYan9 | 72 | * @author LeeYan9 |
| 76 | * @since 2022-08-26 | 73 | * @since 2022-08-26 |
| 77 | */ | 74 | */ |
| 78 | @Service | 75 | @Service |
| 79 | @Slf4j | 76 | @Slf4j |
| 80 | -public class TradeOrderServiceImpl implements TradeOrderService { | 77 | +public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService { |
| 81 | 78 | ||
| 82 | @Resource | 79 | @Resource |
| 83 | private TradeOrderMapper tradeOrderMapper; | 80 | private TradeOrderMapper tradeOrderMapper; |
| @@ -514,66 +511,9 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -514,66 +511,9 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 514 | return order; | 511 | return order; |
| 515 | } | 512 | } |
| 516 | 513 | ||
| 517 | - @Override | ||
| 518 | - public TradeOrderDO getOrder(Long id) { | ||
| 519 | - return tradeOrderMapper.selectById(id); | ||
| 520 | - } | ||
| 521 | - | ||
| 522 | - @Override | ||
| 523 | - public TradeOrderDO getOrder(Long userId, Long id) { | ||
| 524 | - TradeOrderDO order = tradeOrderMapper.selectById(id); | ||
| 525 | - if (order != null | ||
| 526 | - && ObjectUtil.notEqual(order.getUserId(), userId)) { | ||
| 527 | - return null; | ||
| 528 | - } | ||
| 529 | - return order; | ||
| 530 | - } | ||
| 531 | - | ||
| 532 | - @Override | ||
| 533 | - public PageResult<TradeOrderDO> getOrderPage(TradeOrderPageReqVO reqVO) { | ||
| 534 | - // 获得 userId 相关的查询 | ||
| 535 | - Set<Long> userIds = new HashSet<>(); | ||
| 536 | - if (StrUtil.isNotEmpty(reqVO.getUserMobile())) { | ||
| 537 | - MemberUserRespDTO user = memberUserApi.getUserByMobile(reqVO.getUserMobile()); | ||
| 538 | - if (user == null) { // 没查询到用户,说明肯定也没他的订单 | ||
| 539 | - return new PageResult<>(); | ||
| 540 | - } | ||
| 541 | - userIds.add(user.getId()); | ||
| 542 | - } | ||
| 543 | - if (StrUtil.isNotEmpty(reqVO.getUserNickname())) { | ||
| 544 | - List<MemberUserRespDTO> users = memberUserApi.getUserListByNickname(reqVO.getUserNickname()); | ||
| 545 | - if (CollUtil.isEmpty(users)) { // 没查询到用户,说明肯定也没他的订单 | ||
| 546 | - return new PageResult<>(); | ||
| 547 | - } | ||
| 548 | - userIds.addAll(convertSet(users, MemberUserRespDTO::getId)); | ||
| 549 | - } | ||
| 550 | - // 分页查询 | ||
| 551 | - return tradeOrderMapper.selectPage(reqVO, userIds); | ||
| 552 | - } | ||
| 553 | - | ||
| 554 | - @Override | ||
| 555 | - public PageResult<TradeOrderDO> getOrderPage(Long userId, AppTradeOrderPageReqVO reqVO) { | ||
| 556 | - return tradeOrderMapper.selectPage(reqVO, userId); | ||
| 557 | - } | ||
| 558 | - | ||
| 559 | - @Override | ||
| 560 | - public Long getOrderCount(Long userId, Integer status, Boolean commentStatus) { | ||
| 561 | - return tradeOrderMapper.selectCountByUserIdAndStatus(userId, status, commentStatus); | ||
| 562 | - } | ||
| 563 | - | ||
| 564 | // =================== Order Item =================== | 514 | // =================== Order Item =================== |
| 565 | 515 | ||
| 566 | @Override | 516 | @Override |
| 567 | - public TradeOrderItemDO getOrderItem(Long userId, Long itemId) { | ||
| 568 | - TradeOrderItemDO orderItem = tradeOrderItemMapper.selectById(itemId); | ||
| 569 | - if (orderItem != null | ||
| 570 | - && ObjectUtil.notEqual(orderItem.getUserId(), userId)) { | ||
| 571 | - return null; | ||
| 572 | - } | ||
| 573 | - return orderItem; | ||
| 574 | - } | ||
| 575 | - | ||
| 576 | - @Override | ||
| 577 | public void updateOrderItemAfterSaleStatus(Long id, Integer oldAfterSaleStatus, Integer newAfterSaleStatus, Integer refundPrice) { | 517 | public void updateOrderItemAfterSaleStatus(Long id, Integer oldAfterSaleStatus, Integer newAfterSaleStatus, Integer refundPrice) { |
| 578 | // 如果退款成功,则 refundPrice 非空 | 518 | // 如果退款成功,则 refundPrice 非空 |
| 579 | if (Objects.equals(newAfterSaleStatus, TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus()) | 519 | if (Objects.equals(newAfterSaleStatus, TradeOrderItemAfterSaleStatusEnum.SUCCESS.getStatus()) |
| @@ -611,39 +551,15 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -611,39 +551,15 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 611 | } | 551 | } |
| 612 | 552 | ||
| 613 | @Override | 553 | @Override |
| 614 | - public List<TradeOrderItemDO> getOrderItemList(Collection<Long> ids) { | ||
| 615 | - return tradeOrderItemMapper.selectBatchIds(ids); | ||
| 616 | - } | ||
| 617 | - | ||
| 618 | - @Override | ||
| 619 | - public List<TradeOrderItemDO> getOrderItemListByOrderId(Collection<Long> orderIds) { | ||
| 620 | - if (CollUtil.isEmpty(orderIds)) { | ||
| 621 | - return Collections.emptyList(); | ||
| 622 | - } | ||
| 623 | - return tradeOrderItemMapper.selectListByOrderId(orderIds); | ||
| 624 | - } | ||
| 625 | - | ||
| 626 | - @Override | ||
| 627 | - public TradeOrderItemDO getOrderItemByIdAndUserId(Long orderItemId, Long loginUserId) { | ||
| 628 | - return tradeOrderItemMapper.selectOrderItemByIdAndUserId(orderItemId, loginUserId); | ||
| 629 | - } | ||
| 630 | - | ||
| 631 | - @Override | ||
| 632 | - public TradeOrderDO getOrderByIdAndUserId(Long orderId, Long loginUserId) { | ||
| 633 | - return tradeOrderMapper.selectOrderByIdAndUserId(orderId, loginUserId); | ||
| 634 | - } | ||
| 635 | - | ||
| 636 | - @Override | ||
| 637 | @Transactional(rollbackFor = Exception.class) | 554 | @Transactional(rollbackFor = Exception.class) |
| 638 | - public Long createOrderItemComment(AppTradeOrderItemCommentCreateReqVO createReqVO) { | ||
| 639 | - Long loginUserId = getLoginUserId(); | 555 | + public Long createOrderItemComment(Long userId, AppTradeOrderItemCommentCreateReqVO createReqVO) { |
| 640 | // 先通过订单项 ID,查询订单项是否存在 | 556 | // 先通过订单项 ID,查询订单项是否存在 |
| 641 | - TradeOrderItemDO orderItem = getOrderItemByIdAndUserId(createReqVO.getOrderItemId(), loginUserId); | 557 | + TradeOrderItemDO orderItem = tradeOrderItemMapper.selectByIdAndUserId(createReqVO.getOrderItemId(), userId); |
| 642 | if (orderItem == null) { | 558 | if (orderItem == null) { |
| 643 | throw exception(ORDER_ITEM_NOT_FOUND); | 559 | throw exception(ORDER_ITEM_NOT_FOUND); |
| 644 | } | 560 | } |
| 645 | // 校验订单相关状态 | 561 | // 校验订单相关状态 |
| 646 | - TradeOrderDO order = getOrderByIdAndUserId(orderItem.getOrderId(), loginUserId); | 562 | + TradeOrderDO order = tradeOrderMapper.selectOrderByIdAndUserId(orderItem.getOrderId(), userId); |
| 647 | if (order == null) { | 563 | if (order == null) { |
| 648 | throw exception(ORDER_NOT_FOUND); | 564 | throw exception(ORDER_NOT_FOUND); |
| 649 | } | 565 | } |
| @@ -654,14 +570,14 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -654,14 +570,14 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 654 | throw exception(ORDER_COMMENT_STATUS_NOT_FALSE); | 570 | throw exception(ORDER_COMMENT_STATUS_NOT_FALSE); |
| 655 | } | 571 | } |
| 656 | 572 | ||
| 657 | - // 创建评价 | 573 | + // 1. 创建评价 |
| 658 | ProductCommentCreateReqDTO productCommentCreateReqDTO = TradeOrderConvert.INSTANCE.convert04(createReqVO, orderItem); | 574 | ProductCommentCreateReqDTO productCommentCreateReqDTO = TradeOrderConvert.INSTANCE.convert04(createReqVO, orderItem); |
| 659 | Long comment = productCommentApi.createComment(productCommentCreateReqDTO); | 575 | Long comment = productCommentApi.createComment(productCommentCreateReqDTO); |
| 660 | - // 更新订单项评价状态 | 576 | + |
| 577 | + // 2. 更新订单项评价状态 | ||
| 661 | tradeOrderItemMapper.updateById(new TradeOrderItemDO().setId(orderItem.getId()).setCommentStatus(Boolean.TRUE)); | 578 | tradeOrderItemMapper.updateById(new TradeOrderItemDO().setId(orderItem.getId()).setCommentStatus(Boolean.TRUE)); |
| 662 | - List<TradeOrderItemDO> orderItems = getOrderItemListByOrderId(CollUtil.newArrayList(order.getId())); | 579 | + List<TradeOrderItemDO> orderItems = tradeOrderItemMapper.selectListByOrderId(order.getId()); |
| 663 | if (!anyMatch(orderItems, item -> Objects.equals(item.getCommentStatus(), Boolean.FALSE))) { | 580 | if (!anyMatch(orderItems, item -> Objects.equals(item.getCommentStatus(), Boolean.FALSE))) { |
| 664 | - // 对于 order 来说,就是评论完,把 order 更新完合理的 status 等字段。 | ||
| 665 | tradeOrderMapper.updateById(new TradeOrderDO().setId(order.getId()).setCommentStatus(Boolean.TRUE)); | 581 | tradeOrderMapper.updateById(new TradeOrderDO().setId(order.getId()).setCommentStatus(Boolean.TRUE)); |
| 666 | } | 582 | } |
| 667 | return comment; | 583 | return comment; |
yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/aftersale/TradeAfterSaleServiceTest.java
| @@ -18,7 +18,7 @@ import cn.iocoder.yudao.module.trade.enums.aftersale.TradeAfterSaleWayEnum; | @@ -18,7 +18,7 @@ import cn.iocoder.yudao.module.trade.enums.aftersale.TradeAfterSaleWayEnum; | ||
| 18 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum; | 18 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum; |
| 19 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | 19 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; |
| 20 | import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; | 20 | import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; |
| 21 | -import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 21 | +import cn.iocoder.yudao.module.trade.service.order.TradeOrderUpdateService; |
| 22 | import org.junit.jupiter.api.Test; | 22 | import org.junit.jupiter.api.Test; |
| 23 | import org.springframework.boot.test.mock.mockito.MockBean; | 23 | import org.springframework.boot.test.mock.mockito.MockBean; |
| 24 | import org.springframework.context.annotation.Import; | 24 | import org.springframework.context.annotation.Import; |
| @@ -52,7 +52,7 @@ public class TradeAfterSaleServiceTest extends BaseDbUnitTest { | @@ -52,7 +52,7 @@ public class TradeAfterSaleServiceTest extends BaseDbUnitTest { | ||
| 52 | private TradeAfterSaleLogMapper tradeAfterSaleLogMapper; | 52 | private TradeAfterSaleLogMapper tradeAfterSaleLogMapper; |
| 53 | 53 | ||
| 54 | @MockBean | 54 | @MockBean |
| 55 | - private TradeOrderService tradeOrderService; | 55 | + private TradeOrderUpdateService tradeOrderService; |
| 56 | @MockBean | 56 | @MockBean |
| 57 | private PayRefundApi payRefundApi; | 57 | private PayRefundApi payRefundApi; |
| 58 | 58 |
yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceTest.java renamed to yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceTest.java
| @@ -48,16 +48,16 @@ import static org.mockito.Mockito.verify; | @@ -48,16 +48,16 @@ import static org.mockito.Mockito.verify; | ||
| 48 | import static org.mockito.Mockito.when; | 48 | import static org.mockito.Mockito.when; |
| 49 | 49 | ||
| 50 | /** | 50 | /** |
| 51 | - * {@link TradeOrderServiceImpl} 的单元测试类 | 51 | + * {@link TradeOrderUpdateServiceImpl} 的单元测试类 |
| 52 | * | 52 | * |
| 53 | * @author LeeYan9 | 53 | * @author LeeYan9 |
| 54 | * @since 2022-09-07 | 54 | * @since 2022-09-07 |
| 55 | */ | 55 | */ |
| 56 | -@Import({TradeOrderServiceImpl.class, TradeOrderConfig.class}) | ||
| 57 | -public class TradeOrderServiceTest extends BaseDbUnitTest { | 56 | +@Import({TradeOrderUpdateServiceImpl.class, TradeOrderConfig.class}) |
| 57 | +public class TradeOrderUpdateServiceTest extends BaseDbUnitTest { | ||
| 58 | 58 | ||
| 59 | @Resource | 59 | @Resource |
| 60 | - private TradeOrderServiceImpl tradeOrderService; | 60 | + private TradeOrderUpdateServiceImpl tradeOrderUpdateService; |
| 61 | 61 | ||
| 62 | @Resource | 62 | @Resource |
| 63 | private TradeOrderMapper tradeOrderMapper; | 63 | private TradeOrderMapper tradeOrderMapper; |
| @@ -150,7 +150,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -150,7 +150,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 150 | }))).thenReturn(1000L); | 150 | }))).thenReturn(1000L); |
| 151 | 151 | ||
| 152 | // 调用方法 | 152 | // 调用方法 |
| 153 | - TradeOrderDO order = tradeOrderService.createOrder(userId, userIp, reqVO); | 153 | + TradeOrderDO order = tradeOrderUpdateService.createOrder(userId, userIp, reqVO); |
| 154 | // 断言 TradeOrderDO 订单 | 154 | // 断言 TradeOrderDO 订单 |
| 155 | List<TradeOrderDO> tradeOrderDOs = tradeOrderMapper.selectList(); | 155 | List<TradeOrderDO> tradeOrderDOs = tradeOrderMapper.selectList(); |
| 156 | assertEquals(tradeOrderDOs.size(), 1); | 156 | assertEquals(tradeOrderDOs.size(), 1); |
| @@ -259,7 +259,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -259,7 +259,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 259 | .setMerchantOrderId("1")).setPrice(100)); | 259 | .setMerchantOrderId("1")).setPrice(100)); |
| 260 | 260 | ||
| 261 | // 调用 | 261 | // 调用 |
| 262 | - tradeOrderService.updateOrderPaid(id, payOrderId); | 262 | + tradeOrderUpdateService.updateOrderPaid(id, payOrderId); |
| 263 | // 断言 | 263 | // 断言 |
| 264 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(id); | 264 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(id); |
| 265 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.UNDELIVERED.getStatus()); | 265 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.UNDELIVERED.getStatus()); |
| @@ -282,7 +282,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -282,7 +282,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 282 | // mock 方法(支付单) | 282 | // mock 方法(支付单) |
| 283 | 283 | ||
| 284 | // 调用 | 284 | // 调用 |
| 285 | - tradeOrderService.deliveryOrder(randomLongId(), deliveryReqVO); | 285 | + tradeOrderUpdateService.deliveryOrder(randomLongId(), deliveryReqVO); |
| 286 | // 断言 | 286 | // 断言 |
| 287 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(1L); | 287 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(1L); |
| 288 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.DELIVERED.getStatus()); | 288 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.DELIVERED.getStatus()); |
| @@ -304,7 +304,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -304,7 +304,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 304 | // mock 方法(支付单) | 304 | // mock 方法(支付单) |
| 305 | 305 | ||
| 306 | // 调用 | 306 | // 调用 |
| 307 | - tradeOrderService.receiveOrder(userId, id); | 307 | + tradeOrderUpdateService.receiveOrder(userId, id); |
| 308 | // 断言 | 308 | // 断言 |
| 309 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(1L); | 309 | TradeOrderDO dbOrder = tradeOrderMapper.selectById(1L); |
| 310 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.COMPLETED.getStatus()); | 310 | assertEquals(dbOrder.getStatus(), TradeOrderStatusEnum.COMPLETED.getStatus()); |