Commit e95402ab920864ab7fd69710df4c2f88d9e4fa84

Authored by YunaiV
1 parent cd2bc112

trade:【交易订单】调整交易订单的 afterSale 字段

yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/sku/ProductSkuDO.java
@@ -38,6 +38,7 @@ public class ProductSkuDO extends BaseDO { @@ -38,6 +38,7 @@ public class ProductSkuDO extends BaseDO {
38 /** 38 /**
39 * 商品 SKU 名字 39 * 商品 SKU 名字
40 */ 40 */
  41 + @Deprecated // TODO 芋艿:参考有赞,不需要 sku 的标题
41 private String name; 42 private String name;
42 /** 43 /**
43 * SPU 编号 44 * SPU 编号
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/aftersale/TradeAfterSaleDO.java
@@ -20,7 +20,7 @@ import java.util.List; @@ -20,7 +20,7 @@ import java.util.List;
20 * 20 *
21 * @author 芋道源码 21 * @author 芋道源码
22 */ 22 */
23 -@TableName(value = "trade_refund") 23 +@TableName(value = "trade_after_sale")
24 @Data 24 @Data
25 @EqualsAndHashCode(callSuper = true) 25 @EqualsAndHashCode(callSuper = true)
26 @Accessors(chain = true) 26 @Accessors(chain = true)
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java
@@ -71,7 +71,6 @@ public class TradeOrderDO extends BaseDO { @@ -71,7 +71,6 @@ public class TradeOrderDO extends BaseDO {
71 * 枚举 {@link TradeOrderStatusEnum} 71 * 枚举 {@link TradeOrderStatusEnum}
72 */ 72 */
73 private Integer status; 73 private Integer status;
74 - // TODO 芋艿:要不要存储 prod_name 购买的商品名门?  
75 /** 74 /**
76 * 购买的商品数量 75 * 购买的商品数量
77 */ 76 */
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderItemDO.java
@@ -61,6 +61,8 @@ public class TradeOrderItemDO extends BaseDO { @@ -61,6 +61,8 @@ public class TradeOrderItemDO extends BaseDO {
61 private List<Property> properties; 61 private List<Property> properties;
62 /** 62 /**
63 * 商品名称 63 * 商品名称
  64 + *
  65 + * 冗余 ProductSpuDO 的 name 字段
64 */ 66 */
65 private String name; 67 private String name;
66 /** 68 /**
@@ -136,7 +138,7 @@ public class TradeOrderItemDO extends BaseDO { @@ -136,7 +138,7 @@ public class TradeOrderItemDO extends BaseDO {
136 138
137 // ========== 退款基本信息 ========== 139 // ========== 退款基本信息 ==========
138 /** 140 /**
139 - * 退款状态 141 + * 售后状态
140 * 142 *
141 * 枚举 {@link TradeOrderItemAfterSaleStatusEnum} 143 * 枚举 {@link TradeOrderItemAfterSaleStatusEnum}
142 * 144 *
yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceTest.java
@@ -8,7 +8,6 @@ import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO; @@ -8,7 +8,6 @@ import cn.iocoder.yudao.module.member.api.address.dto.AddressRespDTO;
8 import cn.iocoder.yudao.module.pay.api.order.PayOrderApi; 8 import cn.iocoder.yudao.module.pay.api.order.PayOrderApi;
9 import cn.iocoder.yudao.module.product.api.sku.ProductSkuApi; 9 import cn.iocoder.yudao.module.product.api.sku.ProductSkuApi;
10 import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuRespDTO; 10 import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuRespDTO;
11 -import cn.iocoder.yudao.module.product.api.sku.dto.ProductSkuUpdateStockReqDTO;  
12 import cn.iocoder.yudao.module.product.api.spu.ProductSpuApi; 11 import cn.iocoder.yudao.module.product.api.spu.ProductSpuApi;
13 import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO; 12 import cn.iocoder.yudao.module.product.api.spu.dto.ProductSpuRespDTO;
14 import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum; 13 import cn.iocoder.yudao.module.product.enums.spu.ProductSpuStatusEnum;
@@ -18,17 +17,16 @@ import cn.iocoder.yudao.module.promotion.api.price.dto.PriceCalculateRespDTO; @@ -18,17 +17,16 @@ import cn.iocoder.yudao.module.promotion.api.price.dto.PriceCalculateRespDTO;
18 import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO; 17 import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO;
19 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; 18 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
20 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; 19 import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO;
21 -import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderMapper;  
22 import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderItemMapper; 20 import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderItemMapper;
23 -import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum; 21 +import cn.iocoder.yudao.module.trade.dal.mysql.order.TradeOrderMapper;
24 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderAfterSaleStatusEnum; 22 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderAfterSaleStatusEnum;
  23 +import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemAfterSaleStatusEnum;
25 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; 24 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum;
26 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum; 25 import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum;
27 import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderConfig; 26 import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderConfig;
28 import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; 27 import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties;
29 import org.junit.jupiter.api.BeforeEach; 28 import org.junit.jupiter.api.BeforeEach;
30 import org.junit.jupiter.api.Test; 29 import org.junit.jupiter.api.Test;
31 -import org.mockito.ArgumentMatcher;  
32 import org.springframework.boot.test.mock.mockito.MockBean; 30 import org.springframework.boot.test.mock.mockito.MockBean;
33 import org.springframework.context.annotation.Import; 31 import org.springframework.context.annotation.Import;
34 32
@@ -208,7 +206,6 @@ class TradeOrderServiceTest extends BaseDbUnitTest { @@ -208,7 +206,6 @@ class TradeOrderServiceTest extends BaseDbUnitTest {
208 assertEquals(tradeOrderItemDO01.getOrderPartPrice(), 7); 206 assertEquals(tradeOrderItemDO01.getOrderPartPrice(), 7);
209 assertEquals(tradeOrderItemDO01.getOrderDividePrice(), 35); 207 assertEquals(tradeOrderItemDO01.getOrderDividePrice(), 35);
210 assertEquals(tradeOrderItemDO01.getAfterSaleStatus(), TradeOrderItemAfterSaleStatusEnum.NONE.getStatus()); 208 assertEquals(tradeOrderItemDO01.getAfterSaleStatus(), TradeOrderItemAfterSaleStatusEnum.NONE.getStatus());
211 - assertEquals(tradeOrderItemDO01.getRefundTotal(), 0);  
212 // 断言 TradeOrderItemDO 订单(第 2 个) 209 // 断言 TradeOrderItemDO 订单(第 2 个)
213 TradeOrderItemDO tradeOrderItemDO02 = tradeOrderItemDOs.get(1); 210 TradeOrderItemDO tradeOrderItemDO02 = tradeOrderItemDOs.get(1);
214 assertNotNull(tradeOrderItemDO02.getId()); 211 assertNotNull(tradeOrderItemDO02.getId());
@@ -229,20 +226,14 @@ class TradeOrderServiceTest extends BaseDbUnitTest { @@ -229,20 +226,14 @@ class TradeOrderServiceTest extends BaseDbUnitTest {
229 assertEquals(tradeOrderItemDO02.getOrderPartPrice(), 15); 226 assertEquals(tradeOrderItemDO02.getOrderPartPrice(), 15);
230 assertEquals(tradeOrderItemDO02.getOrderDividePrice(), 25); 227 assertEquals(tradeOrderItemDO02.getOrderDividePrice(), 25);
231 assertEquals(tradeOrderItemDO02.getAfterSaleStatus(), TradeOrderItemAfterSaleStatusEnum.NONE.getStatus()); 228 assertEquals(tradeOrderItemDO02.getAfterSaleStatus(), TradeOrderItemAfterSaleStatusEnum.NONE.getStatus());
232 - assertEquals(tradeOrderItemDO02.getRefundTotal(), 0);  
233 // 校验调用 229 // 校验调用
234 - verify(productSkuApi).updateSkuStock(argThat(new ArgumentMatcher<ProductSkuUpdateStockReqDTO>() {  
235 -  
236 - @Override  
237 - public boolean matches(ProductSkuUpdateStockReqDTO updateStockReqDTO) {  
238 - assertEquals(updateStockReqDTO.getItems().size(), 2);  
239 - assertEquals(updateStockReqDTO.getItems().get(0).getId(), 1L);  
240 - assertEquals(updateStockReqDTO.getItems().get(0).getIncrCount(), 3);  
241 - assertEquals(updateStockReqDTO.getItems().get(1).getId(), 2L);  
242 - assertEquals(updateStockReqDTO.getItems().get(1).getIncrCount(), 4);  
243 - return true;  
244 - }  
245 - 230 + verify(productSkuApi).updateSkuStock(argThat(updateStockReqDTO -> {
  231 + assertEquals(updateStockReqDTO.getItems().size(), 2);
  232 + assertEquals(updateStockReqDTO.getItems().get(0).getId(), 1L);
  233 + assertEquals(updateStockReqDTO.getItems().get(0).getIncrCount(), 3);
  234 + assertEquals(updateStockReqDTO.getItems().get(1).getId(), 2L);
  235 + assertEquals(updateStockReqDTO.getItems().get(1).getIncrCount(), 4);
  236 + return true;
246 })); 237 }));
247 verify(couponApi).useCoupon(argThat(reqDTO -> { 238 verify(couponApi).useCoupon(argThat(reqDTO -> {
248 assertEquals(reqDTO.getId(), reqVO.getCouponId()); 239 assertEquals(reqDTO.getId(), reqVO.getCouponId());
yudao-module-mall/yudao-module-trade-biz/src/test/resources/sql/create_tables.sql
@@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS &quot;trade_order&quot; ( @@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS &quot;trade_order&quot; (
32 "receiver_area_id" int NOT NULL, 32 "receiver_area_id" int NOT NULL,
33 "receiver_post_code" int, 33 "receiver_post_code" int,
34 "receiver_detail_address" varchar NOT NULL, 34 "receiver_detail_address" varchar NOT NULL,
35 - "refund_status" int NOT NULL, 35 + "after_sale_status" int NOT NULL,
36 "refund_price" int NOT NULL, 36 "refund_price" int NOT NULL,
37 "coupon_id" bigint NOT NULL, 37 "coupon_id" bigint NOT NULL,
38 "coupon_price" int NOT NULL, 38 "coupon_price" int NOT NULL,
@@ -61,8 +61,7 @@ CREATE TABLE IF NOT EXISTS &quot;trade_order_item&quot; ( @@ -61,8 +61,7 @@ CREATE TABLE IF NOT EXISTS &quot;trade_order_item&quot; (
61 "pay_price" int NOT NULL, 61 "pay_price" int NOT NULL,
62 "order_part_price" int NOT NULL, 62 "order_part_price" int NOT NULL,
63 "order_divide_price" int NOT NULL, 63 "order_divide_price" int NOT NULL,
64 - "refund_status" int NOT NULL,  
65 - "refund_total" int NOT NULL, 64 + "after_sale_status" int NOT NULL,
66 "creator" varchar DEFAULT '', 65 "creator" varchar DEFAULT '',
67 "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, 66 "create_time" datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
68 "updater" varchar DEFAULT '', 67 "updater" varchar DEFAULT '',