trade: 调整退款单

This commit is contained in:
YunaiV 2022-11-15 19:46:30 +08:00
parent 38f67d4130
commit b8d1d31df0
3 changed files with 93 additions and 47 deletions

View File

@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.trade.enums.aftersale;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 售后状态的枚举
*
* <a href="https://www.processon.com/view/link/63731a270e3e742ce7b7c194">状态流转</a>
*
* @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;
}

View File

@ -1,16 +1,16 @@
package cn.iocoder.yudao.module.trade.enums.refund; package cn.iocoder.yudao.module.trade.enums.aftersale;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
/** /**
* 交易退款 - 申请类型 * 交易售后 - 类型
* *
* @author Sin * @author Sin
*/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@Getter @Getter
public enum TradeRefundTypeEnum { public enum TradeAfterSaleTypeEnum {
REFUND(10, "退款"), REFUND(10, "退款"),
RETURN_AND_REFUND(20, "退货退款"); RETURN_AND_REFUND(20, "退货退款");

View File

@ -1,10 +1,10 @@
package cn.iocoder.yudao.module.trade.dal.dataobject.refund; package cn.iocoder.yudao.module.trade.dal.dataobject.aftersale;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 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.TradeOrderDO;
import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO; 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.aftersale.TradeAfterSaleStatusEnum;
import cn.iocoder.yudao.module.trade.enums.refund.TradeRefundTypeEnum; import cn.iocoder.yudao.module.trade.enums.aftersale.TradeAfterSaleTypeEnum;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
@ -16,32 +16,38 @@ import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
* 交易退款用于处理 {@link TradeOrderDO} 交易订单的退货换流程 * 交易售后用于处理 {@link TradeOrderDO} 交易订单的退款退货流程
*
* @author 芋道源码
*/ */
// TODO 芋艿需要调整下每个字段的命名未完全实现
@TableName(value = "trade_refund") @TableName(value = "trade_refund")
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
public class TradeRefundDO extends BaseDO { public class TradeAfterSaleDO extends BaseDO {
/** /**
* 交易退款编号主键自增 * 售后编号主键自增n
*/ */
@Deprecated
private Long id; private Long id;
/** /**
* 退款流水号 * 售后流水号
* *
* 例如说1146347329394184195 * 例如说1146347329394184195
*/ */
private String sn; private String no;
/** /**
* 退款状态 * 退款状态
* *
* 枚举 {@link TradeOrderRefundStatusEnum} * 枚举 {@link TradeAfterSaleStatusEnum}
*/ */
private Integer status; private Integer status;
/**
* 售后类型
*
* 枚举 {@link TradeAfterSaleTypeEnum}
*/
private Integer type;
/** /**
* 用户编号 * 用户编号
* *
@ -49,69 +55,75 @@ public class TradeRefundDO extends BaseDO {
*/ */
private Long userId; private Long userId;
/** /**
* 用户手机 * 申请原因
*/ */
private String userMobile; private String applyReason;
/** /**
* 申请类型 * 补充描述
*
* 枚举 {@link TradeRefundTypeEnum}
*/ */
private Integer type; private String applyDescription;
/** /**
* 用户售后说明 * 补充凭证图片
*/
private String reasonMemo; // buyer_msg
/**
* 用户售后凭证图片的地址数组
* *
* 数组以逗号分隔 * 数组以逗号分隔
*/ */
@TableField(typeHandler = JacksonTypeHandler.class) @TableField(typeHandler = JacksonTypeHandler.class)
private List<String> reasonPicUrls; // photo_files private List<String> applyPicUrls;
// ========== 商家相关 ========== // ========== 商家相关 ==========
/** /**
* 商家处理时间 * 审批时间
*/ */
private LocalDateTime handleTime; // handel_time private LocalDateTime auditTime;
/** /**
* 商家拒绝理由 * 审批人
*
* 关联 AdminUserDO id 编号
*/ */
private String rejectReasonMemo; // seller_msg private Long auditUserId;
/**
* 审批备注
*/
private String auditReason;
// ========== 交易订单相关 ========== // ========== 交易订单相关 ==========
/** /**
* 交易订单编号 * 交易订单编号
* *
* 外键 {@link TradeOrderDO#getId()} * 关联 {@link TradeOrderDO#getId()}
*/ */
private Long tradeOrderId; private Long orderId;
/** /**
* 交易订单项编号 * 交易订单项编号
* *
* 关联 {@link TradeOrderItemDO#getId()} * 关联 {@link TradeOrderItemDO#getId()}
* 如果全部退款则该值设置为 0 即可
*/ */
private Long tradeOrderItemId; private Long orderItemId;
/**
* 商品 SPU 编号
*
* 关联 ProductSpuDO 的编号
*/
private Long spuId;
/** /**
* 商品 SKU 编号 * 商品 SKU 编号
*
* 关联 ProductSkuDO 的编号
*/ */
@Deprecated
private Integer skuId; private Integer skuId;
/** /**
* 退货商品数量 * 退货商品数量
*/ */
private Integer stock; // goods_num private Integer count;
// ========== 退款相关 ========== // ========== 退款相关 ==========
/** /**
* 退款金额单位 * 退款金额单位
*/ */
private Integer refundPrice; // refund_amount private Integer refundPrice;
/** /**
* 支付退款编号 * 支付退款编号 TODO
* *
* 对接 pay-module-biz 支付服务的退款订单编号 PayRefundDO id 编号 * 对接 pay-module-biz 支付服务的退款订单编号 PayRefundDO id 编号
*/ */
@ -120,28 +132,25 @@ public class TradeRefundDO extends BaseDO {
// ========== 退货相关 ========== // ========== 退货相关 ==========
/** /**
* 退货物流公司编号 * 退货物流公司编号 TODO
* *
* 关联 ExpressDO id 编号 * 关联 ExpressDO id 编号
*/ */
private Long returnExpressId; // express_name private Long returnExpressId; // express_name
/** /**
* 退货物流单号 * 退货物流单号 TODO
*/ */
private String returnExpressNo; // express_no private String returnExpressNo; // express_no
/** /**
* 退货时间 * 退货时间 TODO
*/ */
private LocalDateTime returnDate; // ship_time private LocalDateTime deliveryTime; // ship_time
// ========== 收获相关 ==========
/** /**
* 收获备注 * 收获备注 TODO
*/ */
private String receiveMemo; // receive_message private String receiveMemo; // receive_message
/** /**
* 收货时间 * 收货时间 TODO
*/ */
private LocalDateTime receiveDate; // receive_time private LocalDateTime receiveDate; // receive_time