From b8d1d31df0c7067b6b850f23109ebfbe0d2d7109 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 15 Nov 2022 19:46:30 +0800 Subject: [PATCH] trade: 调整退款单 --- yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleStatusEnum.java | 37 +++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleTypeEnum.java | 27 +++++++++++++++++++++++++++ yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundTypeEnum.java | 27 --------------------------- yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/aftersale/TradeAfterSaleDO.java | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java | 148 ---------------------------------------------------------------------------------------------------------------------------------------------------- 5 files changed, 221 insertions(+), 175 deletions(-) create mode 100644 yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleStatusEnum.java create mode 100644 yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleTypeEnum.java delete mode 100644 yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundTypeEnum.java create mode 100644 yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/aftersale/TradeAfterSaleDO.java delete mode 100644 yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java diff --git a/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleStatusEnum.java b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleStatusEnum.java new file mode 100644 index 0000000..8d8df95 --- /dev/null +++ b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleStatusEnum.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.trade.enums.aftersale; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 售后状态的枚举 + * + * 状态流转 + * + * @author 芋道源码 + */ +@AllArgsConstructor +@Getter +public enum TradeAfterSaleStatusEnum { + + APPLY(10,"申请中"), + SELLER_PASS(20, "已通过"), // 卖家通过售后 + BUYER_RETURN(30,"待卖家收货"), // 买家退货,等待卖家收货 + WAIT_REFUND(40, "等待平台退款"), // 卖家收货,等待平台退款 + COMPLETE(50, "完成"), // 完成退款 + + BUYER_CANCEL(61, "买家取消售后"), + SELLER_REFUSE(62,"已拒绝"), // 卖家拒绝售后 + SELLER_TERMINATION(63,"卖家终止售后"), // 卖家拒绝收货,终止售后 + ; + + /** + * 状态 + */ + private final Integer status; + /** + * 状态名 + */ + private final String name; + +} diff --git a/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleTypeEnum.java b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleTypeEnum.java new file mode 100644 index 0000000..daa9b0a --- /dev/null +++ b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/aftersale/TradeAfterSaleTypeEnum.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.trade.enums.aftersale; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +/** + * 交易售后 - 类型 + * + * @author Sin + */ +@RequiredArgsConstructor +@Getter +public enum TradeAfterSaleTypeEnum { + + REFUND(10, "退款"), + RETURN_AND_REFUND(20, "退货退款"); + + /** + * 状态值 + */ + private final Integer type; + /** + * 状态名 + */ + private final String name; + +} diff --git a/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundTypeEnum.java b/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundTypeEnum.java deleted file mode 100644 index f74b39b..0000000 --- a/yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundTypeEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package cn.iocoder.yudao.module.trade.enums.refund; - -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -/** - * 交易退款 - 申请类型 - * - * @author Sin - */ -@RequiredArgsConstructor -@Getter -public enum TradeRefundTypeEnum { - - REFUND(10, "退款"), - RETURN_AND_REFUND(20, "退货退款"); - - /** - * 状态值 - */ - private final Integer type; - /** - * 状态名 - */ - private final String name; - -} diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/aftersale/TradeAfterSaleDO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/aftersale/TradeAfterSaleDO.java new file mode 100644 index 0000000..2e7187b --- /dev/null +++ b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/aftersale/TradeAfterSaleDO.java @@ -0,0 +1,157 @@ +package cn.iocoder.yudao.module.trade.dal.dataobject.aftersale; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; +import cn.iocoder.yudao.module.trade.enums.aftersale.TradeAfterSaleStatusEnum; +import cn.iocoder.yudao.module.trade.enums.aftersale.TradeAfterSaleTypeEnum; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * 交易售后,用于处理 {@link TradeOrderDO} 交易订单的退款退货流程 + * + * @author 芋道源码 + */ +@TableName(value = "trade_refund") +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +public class TradeAfterSaleDO extends BaseDO { + + /** + * 售后编号,主键自增n + */ + private Long id; + /** + * 售后流水号 + * + * 例如说,1146347329394184195 + */ + private String no; + /** + * 退款状态 + * + * 枚举 {@link TradeAfterSaleStatusEnum} + */ + private Integer status; + /** + * 售后类型 + * + * 枚举 {@link TradeAfterSaleTypeEnum} + */ + private Integer type; + /** + * 用户编号 + * + * 关联 MemberUserDO 的 id 编号 + */ + private Long userId; + /** + * 申请原因 + */ + private String applyReason; + /** + * 补充描述 + */ + private String applyDescription; + /** + * 补充凭证图片 + * + * 数组,以逗号分隔 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private List applyPicUrls; + + // ========== 商家相关 ========== + + /** + * 审批时间 + */ + private LocalDateTime auditTime; + /** + * 审批人 + * + * 关联 AdminUserDO 的 id 编号 + */ + private Long auditUserId; + /** + * 审批备注 + */ + private String auditReason; + + // ========== 交易订单相关 ========== + /** + * 交易订单编号 + * + * 关联 {@link TradeOrderDO#getId()} + */ + private Long orderId; + /** + * 交易订单项编号 + * + * 关联 {@link TradeOrderItemDO#getId()} + */ + private Long orderItemId; + /** + * 商品 SPU 编号 + * + * 关联 ProductSpuDO 的编号 + */ + private Long spuId; + /** + * 商品 SKU 编号 + * + * 关联 ProductSkuDO 的编号 + */ + private Integer skuId; + /** + * 退货商品数量 + */ + private Integer count; + + // ========== 退款相关 ========== + /** + * 退款金额,单位:分。 + */ + private Integer refundPrice; + /** + * 支付退款编号 TODO + * + * 对接 pay-module-biz 支付服务的退款订单编号,即 PayRefundDO 的 id 编号 + */ + private Long payRefundId; + // TODO 芋艿:看看是否有必要冗余,order_number、order_amount、flow_trade_no、out_refund_no、pay_type、return_money_sts、refund_time + + // ========== 退货相关 ========== + /** + * 退货物流公司编号 TODO + * + * 关联 ExpressDO 的 id 编号 + */ + private Long returnExpressId; // express_name + /** + * 退货物流单号 TODO + */ + private String returnExpressNo; // express_no + /** + * 退货时间 TODO + */ + private LocalDateTime deliveryTime; // ship_time + /** + * 收获备注 TODO + */ + private String receiveMemo; // receive_message + /** + * 收货时间 TODO + */ + private LocalDateTime receiveDate; // receive_time + +} diff --git a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java b/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java deleted file mode 100644 index d052d4d..0000000 --- a/yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java +++ /dev/null @@ -1,148 +0,0 @@ -package cn.iocoder.yudao.module.trade.dal.dataobject.refund; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO; -import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; -import cn.iocoder.yudao.module.trade.enums.order.TradeOrderRefundStatusEnum; -import cn.iocoder.yudao.module.trade.enums.refund.TradeRefundTypeEnum; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; - -import java.time.LocalDateTime; -import java.util.List; - -/** - * 交易退款,用于处理 {@link TradeOrderDO} 交易订单的退货换流程 - */ -// TODO 芋艿:需要调整下每个字段的命名;未完全实现; -@TableName(value = "trade_refund") -@Data -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -public class TradeRefundDO extends BaseDO { - - /** - * 交易退款编号,主键自增 - */ - @Deprecated - private Long id; - /** - * 退款流水号 - * - * 例如说,1146347329394184195 - */ - private String sn; - /** - * 退款状态 - * - * 枚举 {@link TradeOrderRefundStatusEnum} - */ - private Integer status; - /** - * 用户编号 - * - * 关联 MemberUserDO 的 id 编号 - */ - private Long userId; - /** - * 用户手机 - */ - private String userMobile; - /** - * 申请类型 - * - * 枚举 {@link TradeRefundTypeEnum} - */ - private Integer type; - /** - * 用户售后说明 - */ - private String reasonMemo; // buyer_msg - /** - * 用户售后凭证图片的地址数组 - * - * 数组,以逗号分隔 - */ - @TableField(typeHandler = JacksonTypeHandler.class) - private List reasonPicUrls; // photo_files - - // ========== 商家相关 ========== - - /** - * 商家处理时间 - */ - private LocalDateTime handleTime; // handel_time - /** - * 商家拒绝理由 - */ - private String rejectReasonMemo; // seller_msg - - // ========== 交易订单相关 ========== - /** - * 交易订单编号 - * - * 外键 {@link TradeOrderDO#getId()} - */ - private Long tradeOrderId; - /** - * 交易订单项编号 - * - * 关联 {@link TradeOrderItemDO#getId()} - * 如果全部退款,则该值设置为 0 即可 - */ - private Long tradeOrderItemId; - /** - * 商品 SKU 编号 - */ - @Deprecated - private Integer skuId; - /** - * 退货商品数量 - */ - private Integer stock; // goods_num - - // ========== 退款相关 ========== - /** - * 退款金额,单位:分。 - */ - private Integer refundPrice; // refund_amount - /** - * 支付退款编号 - * - * 对接 pay-module-biz 支付服务的退款订单编号,即 PayRefundDO 的 id 编号 - */ - private Long payRefundId; - // TODO 芋艿:看看是否有必要冗余,order_number、order_amount、flow_trade_no、out_refund_no、pay_type、return_money_sts、refund_time - - // ========== 退货相关 ========== - /** - * 退货物流公司编号 - * - * 关联 ExpressDO 的 id 编号 - */ - private Long returnExpressId; // express_name - /** - * 退货物流单号 - */ - private String returnExpressNo; // express_no - /** - * 退货时间 - */ - private LocalDateTime returnDate; // ship_time - - // ========== 收获相关 ========== - - /** - * 收获备注 - */ - private String receiveMemo; // receive_message - /** - * 收货时间 - */ - private LocalDateTime receiveDate; // receive_time - -} -- libgit2 0.21.4