Commit e942b52a67471b6b79f525be52b1df371dcc8b90
1 parent
e745bb66
mall:订单详情:调整售后字段
Showing
11 changed files
with
67 additions
and
67 deletions
yudao-module-mall/yudao-module-product-api/src/main/java/cn/iocoder/yudao/module/product/enums/delivery/DeliveryTypeEnum.java renamed to yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/delivery/DeliveryTypeEnum.java
| 1 | -package cn.iocoder.yudao.module.product.enums.delivery; | 1 | +package cn.iocoder.yudao.module.trade.enums.delivery; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.core.IntArrayValuable; | 3 | import cn.iocoder.yudao.framework.common.core.IntArrayValuable; |
| 4 | import lombok.AllArgsConstructor; | 4 | import lombok.AllArgsConstructor; |
| @@ -15,9 +15,8 @@ import java.util.Arrays; | @@ -15,9 +15,8 @@ import java.util.Arrays; | ||
| 15 | @AllArgsConstructor | 15 | @AllArgsConstructor |
| 16 | public enum DeliveryTypeEnum implements IntArrayValuable { | 16 | public enum DeliveryTypeEnum implements IntArrayValuable { |
| 17 | 17 | ||
| 18 | - // TODO 芋艿:英文单词,需要再想下; | ||
| 19 | EXPRESS(1, "快递发货"), | 18 | EXPRESS(1, "快递发货"), |
| 20 | - USER(2, "用户自提"),; | 19 | + PICK_UP(2, "用户自提"),; |
| 21 | 20 | ||
| 22 | public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DeliveryTypeEnum::getMode).toArray(); | 21 | public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DeliveryTypeEnum::getMode).toArray(); |
| 23 | 22 |
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderItemAfterSaleStatusEnum.java
| @@ -17,8 +17,8 @@ import java.util.Arrays; | @@ -17,8 +17,8 @@ import java.util.Arrays; | ||
| 17 | public enum TradeOrderItemAfterSaleStatusEnum implements IntArrayValuable { | 17 | public enum TradeOrderItemAfterSaleStatusEnum implements IntArrayValuable { |
| 18 | 18 | ||
| 19 | NONE(0, "未售后"), | 19 | NONE(0, "未售后"), |
| 20 | - APPLY(1, "售后中"), | ||
| 21 | - SUCCESS(2, "已退款"); | 20 | + APPLY(10, "售后中"), |
| 21 | + SUCCESS(20, "售后成功"); | ||
| 22 | 22 | ||
| 23 | public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TradeOrderItemAfterSaleStatusEnum::getStatus).toArray(); | 23 | public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TradeOrderItemAfterSaleStatusEnum::getStatus).toArray(); |
| 24 | 24 | ||
| @@ -31,9 +31,6 @@ public enum TradeOrderItemAfterSaleStatusEnum implements IntArrayValuable { | @@ -31,9 +31,6 @@ public enum TradeOrderItemAfterSaleStatusEnum implements IntArrayValuable { | ||
| 31 | */ | 31 | */ |
| 32 | private final String name; | 32 | private final String name; |
| 33 | 33 | ||
| 34 | - // TODO 芋艿:EXPIRED 已失效不允许申请售后 | ||
| 35 | - // TODO 芋艿:PART_AFTER_SALE 部分售后 | ||
| 36 | - | ||
| 37 | @Override | 34 | @Override |
| 38 | public int[] array() { | 35 | public int[] array() { |
| 39 | return ARRAYS; | 36 | return ARRAYS; |
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderAfterSaleStatusEnum.java renamed to yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderRefundStatusEnum.java
| @@ -7,19 +7,19 @@ import lombok.RequiredArgsConstructor; | @@ -7,19 +7,19 @@ import lombok.RequiredArgsConstructor; | ||
| 7 | import java.util.Arrays; | 7 | import java.util.Arrays; |
| 8 | 8 | ||
| 9 | /** | 9 | /** |
| 10 | - * 交易订单 - 售后状态 | 10 | + * 交易订单 - 退款状态 |
| 11 | * | 11 | * |
| 12 | * @author Sin | 12 | * @author Sin |
| 13 | */ | 13 | */ |
| 14 | @RequiredArgsConstructor | 14 | @RequiredArgsConstructor |
| 15 | @Getter | 15 | @Getter |
| 16 | -public enum TradeOrderAfterSaleStatusEnum implements IntArrayValuable { | 16 | +public enum TradeOrderRefundStatusEnum implements IntArrayValuable { |
| 17 | 17 | ||
| 18 | NONE(0, "未退款"), | 18 | NONE(0, "未退款"), |
| 19 | - PART(1, "部分退款"), | ||
| 20 | - ALL(2, "全部退款"); | 19 | + PART(10, "部分退款"), |
| 20 | + ALL(20, "全部退款"); | ||
| 21 | 21 | ||
| 22 | - public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TradeOrderAfterSaleStatusEnum::getStatus).toArray(); | 22 | + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TradeOrderRefundStatusEnum::getStatus).toArray(); |
| 23 | 23 | ||
| 24 | /** | 24 | /** |
| 25 | * 状态值 | 25 | * 状态值 |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
| @@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; | @@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.trade.convert.order.TradeOrderConvert; | ||
| 13 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; | 13 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; |
| 14 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; | 14 | import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; |
| 15 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | 15 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; |
| 16 | +import cn.iocoder.yudao.module.trade.framework.order.config.TradeOrderProperties; | ||
| 16 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; | 17 | import cn.iocoder.yudao.module.trade.service.order.TradeOrderService; |
| 17 | import io.swagger.v3.oas.annotations.Operation; | 18 | import io.swagger.v3.oas.annotations.Operation; |
| 18 | import io.swagger.v3.oas.annotations.Parameter; | 19 | import io.swagger.v3.oas.annotations.Parameter; |
| @@ -46,6 +47,9 @@ public class AppTradeOrderController { | @@ -46,6 +47,9 @@ public class AppTradeOrderController { | ||
| 46 | @Resource | 47 | @Resource |
| 47 | private ProductPropertyValueApi productPropertyValueApi; | 48 | private ProductPropertyValueApi productPropertyValueApi; |
| 48 | 49 | ||
| 50 | + @Resource | ||
| 51 | + private TradeOrderProperties tradeOrderProperties; | ||
| 52 | + | ||
| 49 | @GetMapping("/settlement") | 53 | @GetMapping("/settlement") |
| 50 | @Operation(summary = "获得订单结算信息") | 54 | @Operation(summary = "获得订单结算信息") |
| 51 | @PreAuthenticated | 55 | @PreAuthenticated |
| @@ -154,7 +158,8 @@ public class AppTradeOrderController { | @@ -154,7 +158,8 @@ public class AppTradeOrderController { | ||
| 154 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi | 158 | List<ProductPropertyValueDetailRespDTO> propertyValueDetails = productPropertyValueApi |
| 155 | .getPropertyValueDetailList(TradeOrderConvert.INSTANCE.convertPropertyValueIds(orderItems)); | 159 | .getPropertyValueDetailList(TradeOrderConvert.INSTANCE.convertPropertyValueIds(orderItems)); |
| 156 | // 最终组合 | 160 | // 最终组合 |
| 157 | - return success(TradeOrderConvert.INSTANCE.convert02(order, orderItems, propertyValueDetails)); | 161 | + return success(TradeOrderConvert.INSTANCE.convert02(order, orderItems, |
| 162 | + propertyValueDetails, tradeOrderProperties)); | ||
| 158 | } | 163 | } |
| 159 | 164 | ||
| 160 | @GetMapping("/page") | 165 | @GetMapping("/page") |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderDetailRespVO.java
| 1 | package cn.iocoder.yudao.module.trade.controller.app.order.vo; | 1 | package cn.iocoder.yudao.module.trade.controller.app.order.vo; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.trade.controller.app.base.property.AppProductPropertyValueDetailRespVO; | 3 | +import cn.iocoder.yudao.module.trade.controller.app.order.vo.item.AppTradeOrderItemRespVO; |
| 4 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | import lombok.Data; | 5 | import lombok.Data; |
| 6 | 6 | ||
| @@ -38,6 +38,9 @@ public class AppTradeOrderDetailRespVO { | @@ -38,6 +38,9 @@ public class AppTradeOrderDetailRespVO { | ||
| 38 | @Schema(description = "订单取消时间") | 38 | @Schema(description = "订单取消时间") |
| 39 | private LocalDateTime cancelTime; | 39 | private LocalDateTime cancelTime; |
| 40 | 40 | ||
| 41 | + @Schema(description = "是否评价", required = true, example = "true") | ||
| 42 | + private Boolean commentStatus; | ||
| 43 | + | ||
| 41 | // ========== 价格 + 支付基本信息 ========== | 44 | // ========== 价格 + 支付基本信息 ========== |
| 42 | 45 | ||
| 43 | @Schema(description = "是否已支付", required = true, example = "true") | 46 | @Schema(description = "是否已支付", required = true, example = "true") |
| @@ -49,6 +52,9 @@ public class AppTradeOrderDetailRespVO { | @@ -49,6 +52,9 @@ public class AppTradeOrderDetailRespVO { | ||
| 49 | @Schema(description = "付款时间") | 52 | @Schema(description = "付款时间") |
| 50 | private LocalDateTime payTime; | 53 | private LocalDateTime payTime; |
| 51 | 54 | ||
| 55 | + @Schema(description = "付款超时时间", required = true) | ||
| 56 | + private LocalDateTime payExpireTime; | ||
| 57 | + | ||
| 52 | @Schema(description = "支付渠道", required = true, example = "wx_lite_pay") | 58 | @Schema(description = "支付渠道", required = true, example = "wx_lite_pay") |
| 53 | private String payChannelCode; | 59 | private String payChannelCode; |
| 54 | 60 | ||
| @@ -72,6 +78,9 @@ public class AppTradeOrderDetailRespVO { | @@ -72,6 +78,9 @@ public class AppTradeOrderDetailRespVO { | ||
| 72 | 78 | ||
| 73 | // ========== 收件 + 物流基本信息 ========== | 79 | // ========== 收件 + 物流基本信息 ========== |
| 74 | 80 | ||
| 81 | + @Schema(description = "配送方式", required = true, example = "1") | ||
| 82 | + private Integer deliveryType; | ||
| 83 | + | ||
| 75 | @Schema(description = "发货物流单号", example = "1024") | 84 | @Schema(description = "发货物流单号", example = "1024") |
| 76 | private String logisticsNo; | 85 | private String logisticsNo; |
| 77 | 86 | ||
| @@ -112,42 +121,6 @@ public class AppTradeOrderDetailRespVO { | @@ -112,42 +121,6 @@ public class AppTradeOrderDetailRespVO { | ||
| 112 | /** | 121 | /** |
| 113 | * 订单项数组 | 122 | * 订单项数组 |
| 114 | */ | 123 | */ |
| 115 | - private List<Item> items; | ||
| 116 | - | ||
| 117 | - @Schema(description = "用户 App - 交易订单的分页项的订单项目") | ||
| 118 | - @Data | ||
| 119 | - public static class Item { | ||
| 120 | - | ||
| 121 | - @Schema(description = "编号", required = true, example = "1") | ||
| 122 | - private Long id; | ||
| 123 | - | ||
| 124 | - @Schema(description = "商品 SPU 编号", required = true, example = "1") | ||
| 125 | - private Long spuId; | ||
| 126 | - @Schema(description = "商品 SPU 名称", required = true, example = "芋道源码") | ||
| 127 | - private String spuName; | ||
| 128 | - | ||
| 129 | - @Schema(description = "商品 SKU 编号", required = true, example = "1") | ||
| 130 | - private Long skuId; | ||
| 131 | - | ||
| 132 | - /** | ||
| 133 | - * 属性数组 | ||
| 134 | - */ | ||
| 135 | - private List<AppProductPropertyValueDetailRespVO> properties; | ||
| 136 | - | ||
| 137 | - @Schema(description = "商品图片", required = true, example = "https://www.iocoder.cn/1.png") | ||
| 138 | - private String picUrl; | ||
| 139 | - | ||
| 140 | - @Schema(description = "购买数量", required = true, example = "1") | ||
| 141 | - private Integer count; | ||
| 142 | - | ||
| 143 | - @Schema(description = "是否评价", required = true, example = "true") | ||
| 144 | - private Boolean commentStatus; | ||
| 145 | - | ||
| 146 | - // ========== 价格 + 支付基本信息 ========== | ||
| 147 | - | ||
| 148 | - @Schema(description = "商品原价(单)", required = true, example = "100") | ||
| 149 | - private Integer price; | ||
| 150 | - | ||
| 151 | - } | 124 | + private List<AppTradeOrderItemRespVO> items; |
| 152 | 125 | ||
| 153 | } | 126 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/AppTradeOrderPageItemRespVO.java
| @@ -37,6 +37,11 @@ public class AppTradeOrderPageItemRespVO { | @@ -37,6 +37,11 @@ public class AppTradeOrderPageItemRespVO { | ||
| 37 | @Schema(description = "应付金额,单位:分", required = true, example = "1000") | 37 | @Schema(description = "应付金额,单位:分", required = true, example = "1000") |
| 38 | private Integer payPrice; | 38 | private Integer payPrice; |
| 39 | 39 | ||
| 40 | + // ========== 收件 + 物流基本信息 ========== | ||
| 41 | + | ||
| 42 | + @Schema(description = "配送方式", required = true, example = "1") | ||
| 43 | + private Integer deliveryType; | ||
| 44 | + | ||
| 40 | /** | 45 | /** |
| 41 | * 订单项数组 | 46 | * 订单项数组 |
| 42 | */ | 47 | */ |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/vo/item/AppTradeOrderItemRespVO.java
| @@ -15,25 +15,38 @@ public class AppTradeOrderItemRespVO { | @@ -15,25 +15,38 @@ public class AppTradeOrderItemRespVO { | ||
| 15 | 15 | ||
| 16 | @Schema(description = "商品 SPU 编号", required = true, example = "1") | 16 | @Schema(description = "商品 SPU 编号", required = true, example = "1") |
| 17 | private Long spuId; | 17 | private Long spuId; |
| 18 | - | ||
| 19 | @Schema(description = "商品 SPU 名称", required = true, example = "芋道源码") | 18 | @Schema(description = "商品 SPU 名称", required = true, example = "芋道源码") |
| 20 | private String spuName; | 19 | private String spuName; |
| 21 | 20 | ||
| 22 | @Schema(description = "商品 SKU 编号", required = true, example = "1") | 21 | @Schema(description = "商品 SKU 编号", required = true, example = "1") |
| 23 | private Long skuId; | 22 | private Long skuId; |
| 24 | 23 | ||
| 24 | + /** | ||
| 25 | + * 属性数组 | ||
| 26 | + */ | ||
| 27 | + private List<AppProductPropertyValueDetailRespVO> properties; | ||
| 28 | + | ||
| 25 | @Schema(description = "商品图片", required = true, example = "https://www.iocoder.cn/1.png") | 29 | @Schema(description = "商品图片", required = true, example = "https://www.iocoder.cn/1.png") |
| 26 | private String picUrl; | 30 | private String picUrl; |
| 27 | 31 | ||
| 28 | @Schema(description = "购买数量", required = true, example = "1") | 32 | @Schema(description = "购买数量", required = true, example = "1") |
| 29 | private Integer count; | 33 | private Integer count; |
| 30 | 34 | ||
| 35 | + @Schema(description = "是否评价", required = true, example = "true") | ||
| 36 | + private Boolean commentStatus; | ||
| 37 | + | ||
| 38 | + // ========== 价格 + 支付基本信息 ========== | ||
| 39 | + | ||
| 31 | @Schema(description = "商品原价(单)", required = true, example = "100") | 40 | @Schema(description = "商品原价(单)", required = true, example = "100") |
| 32 | private Integer price; | 41 | private Integer price; |
| 33 | 42 | ||
| 34 | - /** | ||
| 35 | - * 属性数组 | ||
| 36 | - */ | ||
| 37 | - private List<AppProductPropertyValueDetailRespVO> properties; | 43 | + // ========== 营销基本信息 ========== |
| 44 | + | ||
| 45 | + // TODO 芋艿:在捉摸一下 | ||
| 46 | + | ||
| 47 | + // ========== 售后基本信息 ========== | ||
| 38 | 48 | ||
| 49 | + @Schema(description = "售后状态", required = true, example = "1") | ||
| 50 | + private Integer afterSaleStatus; | ||
| 51 | + | ||
| 39 | } | 52 | } |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/convert/order/TradeOrderConvert.java
| @@ -212,8 +212,9 @@ public interface TradeOrderConvert { | @@ -212,8 +212,9 @@ public interface TradeOrderConvert { | ||
| 212 | AppProductPropertyValueDetailRespVO convert02(ProductPropertyValueDetailRespDTO bean); | 212 | AppProductPropertyValueDetailRespVO convert02(ProductPropertyValueDetailRespDTO bean); |
| 213 | 213 | ||
| 214 | default AppTradeOrderDetailRespVO convert02(TradeOrderDO order, List<TradeOrderItemDO> orderItems, | 214 | default AppTradeOrderDetailRespVO convert02(TradeOrderDO order, List<TradeOrderItemDO> orderItems, |
| 215 | - List<ProductPropertyValueDetailRespDTO> propertyValueDetails) { | 215 | + List<ProductPropertyValueDetailRespDTO> propertyValueDetails, TradeOrderProperties tradeOrderProperties) { |
| 216 | AppTradeOrderDetailRespVO orderVO = convert3(order, orderItems); | 216 | AppTradeOrderDetailRespVO orderVO = convert3(order, orderItems); |
| 217 | + orderVO.setPayExpireTime(addTime(tradeOrderProperties.getExpireTime())); | ||
| 217 | // 处理商品属性 | 218 | // 处理商品属性 |
| 218 | Map<Long, ProductPropertyValueDetailRespDTO> propertyValueDetailMap = convertMap(propertyValueDetails, ProductPropertyValueDetailRespDTO::getValueId); | 219 | Map<Long, ProductPropertyValueDetailRespDTO> propertyValueDetailMap = convertMap(propertyValueDetails, ProductPropertyValueDetailRespDTO::getValueId); |
| 219 | for (int i = 0; i < orderItems.size(); i++) { | 220 | for (int i = 0; i < orderItems.size(); i++) { |
| @@ -221,7 +222,7 @@ public interface TradeOrderConvert { | @@ -221,7 +222,7 @@ public interface TradeOrderConvert { | ||
| 221 | if (CollUtil.isEmpty(properties)) { | 222 | if (CollUtil.isEmpty(properties)) { |
| 222 | continue; | 223 | continue; |
| 223 | } | 224 | } |
| 224 | - AppTradeOrderDetailRespVO.Item item = orderVO.getItems().get(i); | 225 | + AppTradeOrderItemRespVO item = orderVO.getItems().get(i); |
| 225 | item.setProperties(new ArrayList<>(properties.size())); | 226 | item.setProperties(new ArrayList<>(properties.size())); |
| 226 | // 遍历每个 properties,设置到 TradeOrderPageItemRespVO.Item 中 | 227 | // 遍历每个 properties,设置到 TradeOrderPageItemRespVO.Item 中 |
| 227 | properties.forEach(property -> { | 228 | properties.forEach(property -> { |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java
| @@ -3,8 +3,9 @@ package cn.iocoder.yudao.module.trade.dal.dataobject.order; | @@ -3,8 +3,9 @@ package cn.iocoder.yudao.module.trade.dal.dataobject.order; | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.TerminalEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 5 | import cn.iocoder.yudao.module.promotion.api.price.dto.PriceCalculateRespDTO.OrderItem; | 5 | import cn.iocoder.yudao.module.promotion.api.price.dto.PriceCalculateRespDTO.OrderItem; |
| 6 | +import cn.iocoder.yudao.module.trade.enums.delivery.DeliveryTypeEnum; | ||
| 6 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderCancelTypeEnum; | 7 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderCancelTypeEnum; |
| 7 | -import cn.iocoder.yudao.module.trade.enums.order.TradeOrderAfterSaleStatusEnum; | 8 | +import cn.iocoder.yudao.module.trade.enums.order.TradeOrderRefundStatusEnum; |
| 8 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderDeliveryStatusEnum; | 9 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderDeliveryStatusEnum; |
| 9 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; | 10 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum; |
| 10 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum; | 11 | import cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum; |
| @@ -180,6 +181,12 @@ public class TradeOrderDO extends BaseDO { | @@ -180,6 +181,12 @@ public class TradeOrderDO extends BaseDO { | ||
| 180 | 181 | ||
| 181 | // ========== 收件 + 物流基本信息 ========== | 182 | // ========== 收件 + 物流基本信息 ========== |
| 182 | /** | 183 | /** |
| 184 | + * 配送方式 | ||
| 185 | + * | ||
| 186 | + * 枚举 {@link DeliveryTypeEnum} | ||
| 187 | + */ | ||
| 188 | + private Integer deliveryType; | ||
| 189 | + /** | ||
| 183 | * 配置模板的编号 | 190 | * 配置模板的编号 |
| 184 | * | 191 | * |
| 185 | * 关联 DeliveryTemplateDO 的 id 编号 | 192 | * 关联 DeliveryTemplateDO 的 id 编号 |
| @@ -229,9 +236,9 @@ public class TradeOrderDO extends BaseDO { | @@ -229,9 +236,9 @@ public class TradeOrderDO extends BaseDO { | ||
| 229 | /** | 236 | /** |
| 230 | * 售后状态 | 237 | * 售后状态 |
| 231 | * | 238 | * |
| 232 | - * 枚举 {@link TradeOrderAfterSaleStatusEnum} | 239 | + * 枚举 {@link TradeOrderRefundStatusEnum} |
| 233 | */ | 240 | */ |
| 234 | - private Integer afterSaleStatus; | 241 | + private Integer refundStatus; |
| 235 | /** | 242 | /** |
| 236 | * 退款金额,单位:分 | 243 | * 退款金额,单位:分 |
| 237 | * | 244 | * |
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceImpl.java
| @@ -178,12 +178,12 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -178,12 +178,12 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 178 | tradeOrderDO.setNo(IdUtil.getSnowflakeNextId() + ""); // TODO @LeeYan9: 思考下, 怎么生成好点哈; 这个是会展示给用户的; | 178 | tradeOrderDO.setNo(IdUtil.getSnowflakeNextId() + ""); // TODO @LeeYan9: 思考下, 怎么生成好点哈; 这个是会展示给用户的; |
| 179 | tradeOrderDO.setStatus(TradeOrderStatusEnum.UNPAID.getStatus()); | 179 | tradeOrderDO.setStatus(TradeOrderStatusEnum.UNPAID.getStatus()); |
| 180 | tradeOrderDO.setType(TradeOrderTypeEnum.NORMAL.getType()); | 180 | tradeOrderDO.setType(TradeOrderTypeEnum.NORMAL.getType()); |
| 181 | - tradeOrderDO.setAfterSaleStatus(TradeOrderAfterSaleStatusEnum.NONE.getStatus()); | 181 | + tradeOrderDO.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus()); |
| 182 | tradeOrderDO.setProductCount(getSumValue(order.getItems(), PriceCalculateRespDTO.OrderItem::getCount, Integer::sum)); | 182 | tradeOrderDO.setProductCount(getSumValue(order.getItems(), PriceCalculateRespDTO.OrderItem::getCount, Integer::sum)); |
| 183 | tradeOrderDO.setTerminal(TerminalEnum.H5.getTerminal()); // todo 数据来源? | 183 | tradeOrderDO.setTerminal(TerminalEnum.H5.getTerminal()); // todo 数据来源? |
| 184 | tradeOrderDO.setAdjustPrice(0).setPayed(false); // 支付信息 | 184 | tradeOrderDO.setAdjustPrice(0).setPayed(false); // 支付信息 |
| 185 | tradeOrderDO.setDeliveryStatus(TradeOrderDeliveryStatusEnum.UNDELIVERED.getStatus()); // 物流信息 | 185 | tradeOrderDO.setDeliveryStatus(TradeOrderDeliveryStatusEnum.UNDELIVERED.getStatus()); // 物流信息 |
| 186 | - tradeOrderDO.setAfterSaleStatus(TradeOrderAfterSaleStatusEnum.NONE.getStatus()).setRefundPrice(0); // 退款信息 | 186 | + tradeOrderDO.setRefundStatus(TradeOrderRefundStatusEnum.NONE.getStatus()).setRefundPrice(0); // 退款信息 |
| 187 | tradeOrderMapper.insert(tradeOrderDO); | 187 | tradeOrderMapper.insert(tradeOrderDO); |
| 188 | return tradeOrderDO; | 188 | return tradeOrderDO; |
| 189 | } | 189 | } |
| @@ -491,7 +491,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -491,7 +491,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 491 | Integer orderRefundPrice = order.getRefundPrice() + refundPrice; | 491 | Integer orderRefundPrice = order.getRefundPrice() + refundPrice; |
| 492 | if (isAllOrderItemAfterSaleSuccess(order.getId())) { // 如果都售后成功,则需要取消订单 | 492 | if (isAllOrderItemAfterSaleSuccess(order.getId())) { // 如果都售后成功,则需要取消订单 |
| 493 | tradeOrderMapper.updateById(new TradeOrderDO().setId(order.getId()) | 493 | tradeOrderMapper.updateById(new TradeOrderDO().setId(order.getId()) |
| 494 | - .setAfterSaleStatus(TradeOrderAfterSaleStatusEnum.ALL.getStatus()).setRefundPrice(orderRefundPrice) | 494 | + .setRefundStatus(TradeOrderRefundStatusEnum.ALL.getStatus()).setRefundPrice(orderRefundPrice) |
| 495 | .setCancelType(TradeOrderCancelTypeEnum.AFTER_SALE_CLOSE.getType()).setCancelTime(LocalDateTime.now())); | 495 | .setCancelType(TradeOrderCancelTypeEnum.AFTER_SALE_CLOSE.getType()).setCancelTime(LocalDateTime.now())); |
| 496 | 496 | ||
| 497 | // TODO 芋艿:记录订单日志 | 497 | // TODO 芋艿:记录订单日志 |
| @@ -499,7 +499,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | @@ -499,7 +499,7 @@ public class TradeOrderServiceImpl implements TradeOrderService { | ||
| 499 | // TODO 芋艿:站内信? | 499 | // TODO 芋艿:站内信? |
| 500 | } else { // 如果部分售后,则更新退款金额 | 500 | } else { // 如果部分售后,则更新退款金额 |
| 501 | tradeOrderMapper.updateById(new TradeOrderDO().setId(order.getId()) | 501 | tradeOrderMapper.updateById(new TradeOrderDO().setId(order.getId()) |
| 502 | - .setAfterSaleStatus(TradeOrderAfterSaleStatusEnum.PART.getStatus()).setRefundPrice(orderRefundPrice)); | 502 | + .setRefundStatus(TradeOrderRefundStatusEnum.PART.getStatus()).setRefundPrice(orderRefundPrice)); |
| 503 | } | 503 | } |
| 504 | 504 | ||
| 505 | // TODO 芋艿:未来如果有分佣,需要更新相关分佣订单为已失效 | 505 | // TODO 芋艿:未来如果有分佣,需要更新相关分佣订单为已失效 |
yudao-module-mall/yudao-module-trade-biz/src/test/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderServiceTest.java
| @@ -185,7 +185,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | @@ -185,7 +185,7 @@ public class TradeOrderServiceTest extends BaseDbUnitTest { | ||
| 185 | assertEquals(tradeOrderDO.getReceiverMobile(), "15601691300"); | 185 | assertEquals(tradeOrderDO.getReceiverMobile(), "15601691300"); |
| 186 | assertEquals(tradeOrderDO.getReceiverAreaId(), 3306); | 186 | assertEquals(tradeOrderDO.getReceiverAreaId(), 3306); |
| 187 | assertEquals(tradeOrderDO.getReceiverDetailAddress(), "土豆村"); | 187 | assertEquals(tradeOrderDO.getReceiverDetailAddress(), "土豆村"); |
| 188 | - assertEquals(tradeOrderDO.getAfterSaleStatus(), TradeOrderAfterSaleStatusEnum.NONE.getStatus()); | 188 | + assertEquals(tradeOrderDO.getRefundStatus(), TradeOrderRefundStatusEnum.NONE.getStatus()); |
| 189 | assertEquals(tradeOrderDO.getRefundPrice(), 0); | 189 | assertEquals(tradeOrderDO.getRefundPrice(), 0); |
| 190 | assertEquals(tradeOrderDO.getCouponPrice(), 30); | 190 | assertEquals(tradeOrderDO.getCouponPrice(), 30); |
| 191 | assertEquals(tradeOrderDO.getPointPrice(), 10); | 191 | assertEquals(tradeOrderDO.getPointPrice(), 10); |