Commit e95402ab920864ab7fd69710df4c2f88d9e4fa84
1 parent
cd2bc112
trade:【交易订单】调整交易订单的 afterSale 字段
Showing
6 changed files
with
16 additions
and
24 deletions
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 "trade_order" ( | @@ -32,7 +32,7 @@ CREATE TABLE IF NOT EXISTS "trade_order" ( | ||
| 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 "trade_order_item" ( | @@ -61,8 +61,7 @@ CREATE TABLE IF NOT EXISTS "trade_order_item" ( | ||
| 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 '', |