Browse Source

mall:初始化 trade 表结构

YunaiV 2 years ago
parent
commit
96e2a27d07
14 changed files with 777 additions and 7 deletions
  1. 0 4
      yudao-module-mall/yudao-module-product-biz/pom.xml
  2. 2 2
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/comment/ProductCommentDO.java
  3. 1 0
      yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java
  4. 29 0
      yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderCloseTypeEnum.java
  5. 31 0
      yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderStatusEnum.java
  6. 29 0
      yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundStatusEnum.java
  7. 27 0
      yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundTypeEnum.java
  8. 37 0
      yudao-module-mall/yudao-module-trade-biz/pom.xml
  9. 90 0
      yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/cart/CartItemDO.java
  10. 49 0
      yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/OrderPreferentialDO.java
  11. 202 0
      yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java
  12. 125 0
      yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderItemDO.java
  13. 154 0
      yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java
  14. 1 1
      yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/address/AddressDO.java

+ 0 - 4
yudao-module-mall/yudao-module-product-biz/pom.xml

@@ -29,10 +29,6 @@
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
         </dependency>
-        <dependency>
-            <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-spring-boot-starter-biz-weixin</artifactId>
-        </dependency>
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
             <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>

+ 2 - 2
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/comment/ProductCommentDO.java

@@ -41,11 +41,11 @@ public class ProductCommentDO extends BaseDO {
      */
     private Long spuId;
     /**
-     * 订单项编号
+     * 交易订单项编号
      *
      * 关联 OrderItemDO 的 id 编号
      */
-    private Long orderItemId;
+    private Long tradeOrderItemId;
 
     /**
      * 用户编号

+ 1 - 0
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/spu/ProductSpuDO.java

@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
 import cn.iocoder.yudao.module.product.dal.dataobject.brand.ProductBrandDO;
 import cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO;
 import cn.iocoder.yudao.module.product.dal.dataobject.delivery.DeliveryTemplateDO;
+import cn.iocoder.yudao.module.product.dal.dataobject.shop.ShopDO;
 import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
 import cn.iocoder.yudao.module.product.enums.delivery.DeliveryModeEnum;
 import com.baomidou.mybatisplus.annotation.KeySequence;

+ 29 - 0
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderCloseTypeEnum.java

@@ -0,0 +1,29 @@
+package cn.iocoder.yudao.module.trade.enums.order;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * 交易订单 - 关闭类型
+ *
+ * @author Sin
+ */
+@RequiredArgsConstructor
+@Getter
+public enum TradeOrderCloseTypeEnum {
+
+    PAY_TIMEOUT(10, "超时未支付"),
+    REFUND_CLOSE(20, "退款关闭"),
+    MEMBER_CANCEL(30, "买家取消"),
+    PAY_ON_DELIVERY(40, "已通过货到付款交易"),;
+
+    /**
+     * 关闭类型
+     */
+    private final Integer type;
+    /**
+     * 关闭类型名
+     */
+    private final String name;
+
+}

+ 31 - 0
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderStatusEnum.java

@@ -0,0 +1,31 @@
+package cn.iocoder.yudao.module.trade.enums.order;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * 交易订单 - 状态
+ *
+ * @author Sin
+ */
+@RequiredArgsConstructor
+@Getter
+public enum TradeOrderStatusEnum {
+
+    WAITING_PAYMENT(10, "待付款"),
+    WAIT_SHIPMENT(20, "待发货"),
+    ALREADY_SHIPMENT(30, "待收货"),
+    WAITING_COMMENT(40, "待评价"),
+    COMPLETED(50, "成功"),
+    CLOSED(60, "失败");
+
+    /**
+     * 状态值
+     */
+    private final Integer status;
+    /**
+     * 状态名
+     */
+    private final String name;
+
+}

+ 29 - 0
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundStatusEnum.java

@@ -0,0 +1,29 @@
+package cn.iocoder.yudao.module.trade.enums.refund;
+
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * 交易退款 - 状态
+ *
+ * @author Sin
+ */
+@RequiredArgsConstructor
+@Getter
+public enum TradeRefundStatusEnum {
+
+    NONE(0, "未退款"),
+    AUDIT(10, "审核中"),
+    APPROVE(30, "已通过"),
+    REJECT(40, "不通过"),;
+
+    /**
+     * 状态值
+     */
+    private final Integer value;
+    /**
+     * 状态名
+     */
+    private final String name;
+
+}

+ 27 - 0
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundTypeEnum.java

@@ -0,0 +1,27 @@
+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;
+
+}

+ 37 - 0
yudao-module-mall/yudao-module-trade-biz/pom.xml

@@ -23,6 +23,43 @@
             <artifactId>yudao-module-trade-api</artifactId>
             <version>${revision}</version>
         </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-product-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <!-- 业务组件 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
+        </dependency>
+
+        <!-- Web 相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-web</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-excel</artifactId>
+        </dependency>
+
+        <!-- DB 相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
+        </dependency>
+
+        <!-- Test 测试相关 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-spring-boot-starter-test</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

+ 90 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/cart/CartItemDO.java

@@ -0,0 +1,90 @@
+package cn.iocoder.yudao.module.trade.dal.dataobject.cart;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+/**
+ * 购物车的商品信息 DO
+ */
+@TableName("trade_cart_item")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class CartItemDO extends BaseDO {
+
+    // ========= 基础字段 BEGIN =========
+
+    /**
+     * 编号,唯一自增
+     */
+    private Long id;
+    /**
+     * 是否选中
+     */
+    private Boolean selected;
+    /**
+     * 购物时间
+     */
+    private Date buyTime; // basket_date
+
+    // ========= 基础字段 END =========
+
+    // ========= 买家信息 BEGIN =========
+
+//    /**
+//     * 店铺编号
+//     *
+//     * 关联 {@link ShopDO#getId()} TODO 芋艿:多店铺,暂不考虑
+//     */
+//    private Long shopId;
+    /**
+     * 用户编号
+     *
+     * 关联 MemberUserDO 的 id 编号
+     */
+    private Long userId;
+
+    // ========= 买家信息 END =========
+
+    // ========= 商品信息 BEGIN =========
+
+    /**
+     * 商品 SPU 编号
+     *
+     * 关联 ProductSpuDO 的 id 编号
+     */
+    private Long spuId;
+    /**
+     * 商品 SKU 编号
+     *
+     * 关联 ProductSkuDO 的 id 编号
+     */
+    private Long skuId;
+    /**
+     * 商品购买数量
+     */
+    private Integer stock;
+
+    // ========= 商品信息 END =========
+
+    // ========= 优惠信息 BEGIN =========
+
+//    /**
+//     * 商品营销活动编号
+//     */
+//    private Long activityId; // discount_id
+//    /**
+//     * 商品营销活动类型
+//     */
+//    private Integer activityType;
+
+    // ========= 优惠信息 END =========
+
+    // TODO 芋艿:distribution_card_no
+
+}

+ 49 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/OrderPreferentialDO.java

@@ -0,0 +1,49 @@
+package cn.iocoder.yudao.module.trade.dal.dataobject.order;
+
+/**
+ * 订单优惠明细
+ *
+ * 可参考 https://jos.jd.com/apilist?apiGroupId=55&apiId=16757&apiName=jingdong.pop.order.coupondetail
+ */
+// TODO 芋艿 后续在完善
+@Deprecated
+public class OrderPreferentialDO {
+
+    /**
+     * 编号
+     */
+    private Integer id;
+    /**
+     * 类型
+     *
+     * 1 - 促销活动
+     * 2 - 优惠劵
+     */
+    private Integer type;
+    // TODO 芋艿 优惠劵编号 or 促销活动编号
+    /**
+     * 订单编号
+     */
+    private Integer orderId;
+    /**
+     * 商品 SPU 编号
+     */
+    private Integer spuId;
+    /**
+     * 商品 SKU 编号
+     */
+    private Integer skuId;
+    /**
+     * 商品数量
+     */
+    private Integer quantity;
+    /**
+     * 传入时的价格
+     */
+    private Integer originTotal;
+    /**
+     * 总优惠价格
+     */
+    private Integer discountTotal;
+
+}

+ 202 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java

@@ -0,0 +1,202 @@
+package cn.iocoder.yudao.module.trade.dal.dataobject.order;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import cn.iocoder.yudao.module.product.enums.delivery.DeliveryModeEnum;
+import cn.iocoder.yudao.module.trade.enums.order.TradeOrderCloseTypeEnum;
+import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum;
+import cn.iocoder.yudao.module.trade.enums.refund.TradeRefundStatusEnum;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+import java.util.Date;
+
+/**
+ * 交易订单 DO
+ *
+ * @author 芋道源码
+ */
+@TableName("trade_order")
+@KeySequence("trade_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TradeOrderDO extends BaseDO {
+
+    // ========== 订单基本信息 ==========
+    /**
+     * 订单编号,主键自增
+     */
+    private Integer id;
+    /**
+     * 订单流水号
+     *
+     * 例如说,1146347329394184195
+     */
+    private String sn;
+    // TODO 芋艿:order_type 订单类型
+//    /**
+//     * 店铺编号
+//     *
+//     * 关联 {@link ShopDO#getId()} TODO 芋艿:多店铺,暂不考虑
+//     */
+//    private Long shopId;
+    /**
+     * 用户编号
+     *
+     * 关联 MemberUserDO 的 id 编号
+     */
+    private Long userId;
+    /**
+     * 订单状态
+     *
+     * 枚举 {@link TradeOrderStatusEnum}
+     */
+    private Integer status;
+    /**
+     * 关闭类型
+     *
+     * 枚举 {@link TradeOrderCloseTypeEnum}
+     */
+    private Integer closeType;
+    // TODO 芋艿:要不要存储 prod_name 购买的商品名门?
+    /**
+     * 购买的商品数量
+     */
+    private Integer productCount;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 订单结束时间
+     *
+     * 即交易订单状态变成 {@link TradeOrderStatusEnum#COMPLETED} 或 {@link TradeOrderStatusEnum#CLOSED} 的时间
+     */
+    private Date endTime;
+
+    // ========== 价格 + 支付基本信息 ==========
+    /**
+     * 是否已支付
+     *
+     * true - 已经支付过
+     * false - 没有支付过
+     */
+    private Boolean payed;
+    /**
+     * 付款时间
+     */
+    private Date payTime;
+
+    // TODO 芋艿:delete_status 用户订单删除状态;0 - 未删除;1 - 回收站;2 - 永久删除
+
+    // ========== 价格 + 支付基本信息 ==========
+    /**
+     * 购买(商品)总金额,单位:分
+     */
+    private Integer buyPrice; // total
+    /**
+     * 优惠总金额,单位:分。
+     */
+    private Integer discountPrice; // reduce_amount
+    /**
+     * 物流金额 (分)
+     */
+    private Integer logisticsPrice; // freight_amount
+    /**
+     * 最终金额,单位:分
+     *
+     * buyPrice + logisticsPrice -  discountPrice = presentPrice
+     */
+    private Integer presentPrice; // actual_total
+    /**
+     * 实际已支付金额,单位:分
+     *
+     * 初始时,金额为 0 。等到支付成功后,会进行更新。
+     */
+    private Integer payPrice;
+    /**
+     * 退款金额,单位:分
+     *
+     * 注意,退款并不会影响 {@link #payPrice} 实际支付金额
+     * 也就说,一个订单最终产生多少金额的收入 = payPrice - refundPrice
+     */
+    @Deprecated
+    private Integer refundPrice;
+    /**
+     * 支付订单编号
+     *
+     * 对接 pay-module-biz 支付服务的支付订单编号,即 PayOrderDO 的 id 编号
+     */
+    private Long payOrderId;
+    /**
+     * 支付成功的支付渠道
+     */
+    private Integer payType;
+
+    // ========== 收件 + 物流基本信息 ==========
+    /**
+     * 配送方式
+     *
+     * 枚举 {@link DeliveryModeEnum}
+     */
+    private Integer deliveryMode;
+    /**
+     * 配置模板的编号
+     *
+     * 关联 DeliveryTemplateDO 的 id 编号
+     */
+    private Long deliveryTemplateId; // dvy_id
+    /**
+     * 物流公司单号
+     */
+    private String expressNo; // dvy_flow_id
+    /**
+     * 发货时间
+     */
+    private Date deliveryTime;
+    /**
+     * 收货时间
+     */
+    private Date receiveTime;
+    /**
+     * 收件人名称
+     */
+    private String receiverName;
+    /**
+     * 收件人手机
+     */
+    private String receiverMobile;
+    /**
+     * 收件人地区编号
+     */
+    private Integer receiverAreaId;
+    /**
+     * 收件人邮编
+     */
+    private Integer receiverPostCode;
+    /**
+     * 收件人详细地址
+     */
+    private String receiverDetailAddress;
+
+    // ========== 退款基本信息 ==========
+    /**
+     * 退款状态
+     *
+     * 枚举 {@link TradeRefundStatusEnum}
+     */
+    private Integer refundStatus;
+
+    // ========== 营销基本信息 ==========
+    /**
+     * 优惠劵编号
+     */
+    private Integer couponCardId;
+
+    // TODO 芋艿,这块还要结合营销和价格计算,在去优化下。
+
+}

+ 125 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderItemDO.java

@@ -0,0 +1,125 @@
+package cn.iocoder.yudao.module.trade.dal.dataobject.order;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * 交易订单项 DO
+ *
+ * @author 芋道源码
+ */
+@TableName(value = "trade_order_item")
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+public class TradeOrderItemDO extends BaseDO {
+
+    // ========== 订单项基本信息 ==========
+    /**
+     * 编号
+     */
+    private Integer id;
+//    /**
+//     * 店铺编号
+//     *
+//     * 关联 {@link ShopDO#getId()} TODO 芋艿:多店铺,暂不考虑
+//     */
+//    private Long shopId;
+    /**
+     * 用户编号
+     *
+     * 关联 MemberUserDO 的 id 编号
+     */
+    private Long userId;
+    /**
+     * 订单编号
+     *
+     * 关联 {@link TradeOrderDO#getId()}
+     */
+    private Long orderId;
+
+    // ========== 商品基本信息 ==========
+    /**
+     * 商品 SPU 编号
+     *
+     * 关联 ProductSpuDO 的 id 编号
+     */
+    private Long spuId;
+    /**
+     * 商品 SKU 编号
+     *
+     * 关联 ProductSkuDO 的 id 编号
+     */
+    private Integer skuId;
+    /**
+     * 商品名称
+     */
+    private String name;
+    /**
+     * 商品图片
+     */
+    private String picUrl;
+    /**
+     * 购买数量
+     */
+    private Integer stock;
+    /**
+     * 是否评论
+     *
+     * false - 未评论
+     * true - 已评论
+     */
+    private Boolean commented;
+
+    // ========== 价格 + 支付基本信息 ==========
+    /**
+     * 原始单价,单位:分。
+     */
+    private Integer originPrice; // price
+    /**
+     * 购买单价,单位:分
+     */
+    private Integer buyPrice;
+    /**
+     * 最终单价,单位:分。
+     */
+    private Integer presentPrice;
+    /**
+     * 购买总金额,单位:分
+     *
+     * 用途类似 {@link #presentTotal}
+     */
+    private Integer buyTotal;
+    /**
+     * 优惠总金额,单位:分。
+     */
+    private Integer discountTotal;
+    /**
+     * 最终总金额,单位:分。
+     *
+     * 注意,presentPrice * stock 不一定等于 presentTotal 。
+     * 因为,存在无法整除的情况。
+     * 举个例子,presentPrice = 8.33 ,stock = 3 的情况,presentTotal 有可能是 24.99 ,也可能是 25 。
+     * 所以,需要存储一个该字段。
+     */
+    private Integer presentTotal; // product_total_amount
+    // 如上字段,举个例子:
+    // 假设购买三个,即 stock = 3 。
+    // originPrice = 15
+    // 使用限时折扣(单品优惠)8 折,buyPrice = 12
+    // 开始算总的价格
+    // buyTotal = buyPrice * stock = 12 * 3 = 36
+    // discountTotal ,假设有满减送(分组优惠)满 20 减 10 ,并且使用优惠劵满 1.01 减 1 ,则 discountTotal = 10 + 1 = 11
+    // presentTotal = buyTotal - discountTotal = 24 - 11 = 13
+    // 最终 presentPrice = presentTotal / stock = 13 / 3 = 4.33
+    /**
+     * 退款总金额,单位:分
+     */
+    private Integer refundTotal;
+
+    // TODO 芋艿:basket_date 加入购物车时间;
+    // TODO 芋艿:distribution_card_no 推广员使用的推销卡号
+}

+ 154 - 0
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java

@@ -0,0 +1,154 @@
+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.refund.TradeRefundStatusEnum;
+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.util.Date;
+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 TradeRefundStatusEnum}
+     */
+    private Integer status;
+//    /**
+//     * 店铺编号
+//     *
+//     * 关联 {@link ShopDO#getId()} TODO 芋艿:多店铺,暂不考虑
+//     */
+//    private Long shopId;
+    /**
+     * 用户编号
+     *
+     * 关联 MemberUserDO 的 id 编号
+     */
+    private Long userId;
+    /**
+     * 用户手机
+     */
+    private String userMobile;
+    /**
+     * 申请类型
+     *
+     * 枚举 {@link TradeRefundTypeEnum}
+     */
+    private Integer type;
+    /**
+     * 用户售后说明
+     */
+    private String reasonMemo; // buyer_msg
+    /**
+     * 用户售后凭证图片的地址数组
+     *
+     * 数组,以逗号分隔
+     */
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private List<String> reasonPicUrls; // photo_files
+
+    // ========== 商家相关 ==========
+
+    /**
+     * 商家处理时间
+     */
+    private Date 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 Date returnDate; // ship_time
+
+    // ========== 收获相关 ==========
+
+    /**
+     * 收获备注
+     */
+    private String receiveMemo; // receive_message
+    /**
+     * 收货时间
+     */
+    private Date receiveDate; // receive_time
+
+}

+ 1 - 1
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/address/AddressDO.java

@@ -31,7 +31,7 @@ public class AddressDO extends BaseDO {
     /**
      * 收件人名称
      */
-    private String receiver;
+    private String name;
     /**
      * 手机号
      */