Commit a159a983a2da801b654c84f74f34645e073902fd

Authored by YunaiV
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&lt;TradeOrderItemDO&gt; { @@ -31,9 +31,10 @@ public interface TradeOrderItemMapper extends BaseMapperX&lt;TradeOrderItemDO&gt; {
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());