Commit 96e2a27d079bd1c54ac4de250827f1746510bab6

Authored by YunaiV
1 parent 2b71a158

mall:初始化 trade 表结构

Showing 14 changed files with 777 additions and 7 deletions
yudao-module-mall/yudao-module-product-biz/pom.xml
@@ -31,10 +31,6 @@ @@ -31,10 +31,6 @@
31 </dependency> 31 </dependency>
32 <dependency> 32 <dependency>
33 <groupId>cn.iocoder.boot</groupId> 33 <groupId>cn.iocoder.boot</groupId>
34 - <artifactId>yudao-spring-boot-starter-biz-weixin</artifactId>  
35 - </dependency>  
36 - <dependency>  
37 - <groupId>cn.iocoder.boot</groupId>  
38 <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> 34 <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
39 </dependency> 35 </dependency>
40 36
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 { @@ -41,11 +41,11 @@ public class ProductCommentDO extends BaseDO {
41 */ 41 */
42 private Long spuId; 42 private Long spuId;
43 /** 43 /**
44 - * 订单项编号 44 + * 交易订单项编号
45 * 45 *
46 * 关联 OrderItemDO 的 id 编号 46 * 关联 OrderItemDO 的 id 编号
47 */ 47 */
48 - private Long orderItemId; 48 + private Long tradeOrderItemId;
49 49
50 /** 50 /**
51 * 用户编号 51 * 用户编号
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; @@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
5 import cn.iocoder.yudao.module.product.dal.dataobject.brand.ProductBrandDO; 5 import cn.iocoder.yudao.module.product.dal.dataobject.brand.ProductBrandDO;
6 import cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO; 6 import cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO;
7 import cn.iocoder.yudao.module.product.dal.dataobject.delivery.DeliveryTemplateDO; 7 import cn.iocoder.yudao.module.product.dal.dataobject.delivery.DeliveryTemplateDO;
  8 +import cn.iocoder.yudao.module.product.dal.dataobject.shop.ShopDO;
8 import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; 9 import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO;
9 import cn.iocoder.yudao.module.product.enums.delivery.DeliveryModeEnum; 10 import cn.iocoder.yudao.module.product.enums.delivery.DeliveryModeEnum;
10 import com.baomidou.mybatisplus.annotation.KeySequence; 11 import com.baomidou.mybatisplus.annotation.KeySequence;
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderCloseTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.enums.order;
  2 +
  3 +import lombok.Getter;
  4 +import lombok.RequiredArgsConstructor;
  5 +
  6 +/**
  7 + * 交易订单 - 关闭类型
  8 + *
  9 + * @author Sin
  10 + */
  11 +@RequiredArgsConstructor
  12 +@Getter
  13 +public enum TradeOrderCloseTypeEnum {
  14 +
  15 + PAY_TIMEOUT(10, "超时未支付"),
  16 + REFUND_CLOSE(20, "退款关闭"),
  17 + MEMBER_CANCEL(30, "买家取消"),
  18 + PAY_ON_DELIVERY(40, "已通过货到付款交易"),;
  19 +
  20 + /**
  21 + * 关闭类型
  22 + */
  23 + private final Integer type;
  24 + /**
  25 + * 关闭类型名
  26 + */
  27 + private final String name;
  28 +
  29 +}
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/order/TradeOrderStatusEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.enums.order;
  2 +
  3 +import lombok.Getter;
  4 +import lombok.RequiredArgsConstructor;
  5 +
  6 +/**
  7 + * 交易订单 - 状态
  8 + *
  9 + * @author Sin
  10 + */
  11 +@RequiredArgsConstructor
  12 +@Getter
  13 +public enum TradeOrderStatusEnum {
  14 +
  15 + WAITING_PAYMENT(10, "待付款"),
  16 + WAIT_SHIPMENT(20, "待发货"),
  17 + ALREADY_SHIPMENT(30, "待收货"),
  18 + WAITING_COMMENT(40, "待评价"),
  19 + COMPLETED(50, "成功"),
  20 + CLOSED(60, "失败");
  21 +
  22 + /**
  23 + * 状态值
  24 + */
  25 + private final Integer status;
  26 + /**
  27 + * 状态名
  28 + */
  29 + private final String name;
  30 +
  31 +}
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundStatusEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.enums.refund;
  2 +
  3 +import lombok.Getter;
  4 +import lombok.RequiredArgsConstructor;
  5 +
  6 +/**
  7 + * 交易退款 - 状态
  8 + *
  9 + * @author Sin
  10 + */
  11 +@RequiredArgsConstructor
  12 +@Getter
  13 +public enum TradeRefundStatusEnum {
  14 +
  15 + NONE(0, "未退款"),
  16 + AUDIT(10, "审核中"),
  17 + APPROVE(30, "已通过"),
  18 + REJECT(40, "不通过"),;
  19 +
  20 + /**
  21 + * 状态值
  22 + */
  23 + private final Integer value;
  24 + /**
  25 + * 状态名
  26 + */
  27 + private final String name;
  28 +
  29 +}
yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/refund/TradeRefundTypeEnum.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.enums.refund;
  2 +
  3 +import lombok.Getter;
  4 +import lombok.RequiredArgsConstructor;
  5 +
  6 +/**
  7 + * 交易退款 - 申请类型
  8 + *
  9 + * @author Sin
  10 + */
  11 +@RequiredArgsConstructor
  12 +@Getter
  13 +public enum TradeRefundTypeEnum {
  14 +
  15 + REFUND(10, "退款"),
  16 + RETURN_AND_REFUND(20, "退货退款");
  17 +
  18 + /**
  19 + * 状态值
  20 + */
  21 + private final Integer type;
  22 + /**
  23 + * 状态名
  24 + */
  25 + private final String name;
  26 +
  27 +}
yudao-module-mall/yudao-module-trade-biz/pom.xml
@@ -23,6 +23,43 @@ @@ -23,6 +23,43 @@
23 <artifactId>yudao-module-trade-api</artifactId> 23 <artifactId>yudao-module-trade-api</artifactId>
24 <version>${revision}</version> 24 <version>${revision}</version>
25 </dependency> 25 </dependency>
  26 + <dependency>
  27 + <groupId>cn.iocoder.boot</groupId>
  28 + <artifactId>yudao-module-product-api</artifactId>
  29 + <version>${revision}</version>
  30 + </dependency>
  31 +
  32 + <!-- 业务组件 -->
  33 + <dependency>
  34 + <groupId>cn.iocoder.boot</groupId>
  35 + <artifactId>yudao-spring-boot-starter-biz-operatelog</artifactId>
  36 + </dependency>
  37 + <dependency>
  38 + <groupId>cn.iocoder.boot</groupId>
  39 + <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
  40 + </dependency>
  41 +
  42 + <!-- Web 相关 -->
  43 + <dependency>
  44 + <groupId>cn.iocoder.boot</groupId>
  45 + <artifactId>yudao-spring-boot-starter-web</artifactId>
  46 + </dependency>
  47 + <dependency>
  48 + <groupId>cn.iocoder.boot</groupId>
  49 + <artifactId>yudao-spring-boot-starter-excel</artifactId>
  50 + </dependency>
  51 +
  52 + <!-- DB 相关 -->
  53 + <dependency>
  54 + <groupId>cn.iocoder.boot</groupId>
  55 + <artifactId>yudao-spring-boot-starter-mybatis</artifactId>
  56 + </dependency>
  57 +
  58 + <!-- Test 测试相关 -->
  59 + <dependency>
  60 + <groupId>cn.iocoder.boot</groupId>
  61 + <artifactId>yudao-spring-boot-starter-test</artifactId>
  62 + </dependency>
26 </dependencies> 63 </dependencies>
27 64
28 </project> 65 </project>
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/cart/CartItemDO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.dal.dataobject.cart;
  2 +
  3 +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import com.baomidou.mybatisplus.annotation.TableName;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +import java.util.Date;
  10 +
  11 +/**
  12 + * 购物车的商品信息 DO
  13 + */
  14 +@TableName("trade_cart_item")
  15 +@Data
  16 +@EqualsAndHashCode(callSuper = true)
  17 +@Accessors(chain = true)
  18 +public class CartItemDO extends BaseDO {
  19 +
  20 + // ========= 基础字段 BEGIN =========
  21 +
  22 + /**
  23 + * 编号,唯一自增
  24 + */
  25 + private Long id;
  26 + /**
  27 + * 是否选中
  28 + */
  29 + private Boolean selected;
  30 + /**
  31 + * 购物时间
  32 + */
  33 + private Date buyTime; // basket_date
  34 +
  35 + // ========= 基础字段 END =========
  36 +
  37 + // ========= 买家信息 BEGIN =========
  38 +
  39 +// /**
  40 +// * 店铺编号
  41 +// *
  42 +// * 关联 {@link ShopDO#getId()} TODO 芋艿:多店铺,暂不考虑
  43 +// */
  44 +// private Long shopId;
  45 + /**
  46 + * 用户编号
  47 + *
  48 + * 关联 MemberUserDO 的 id 编号
  49 + */
  50 + private Long userId;
  51 +
  52 + // ========= 买家信息 END =========
  53 +
  54 + // ========= 商品信息 BEGIN =========
  55 +
  56 + /**
  57 + * 商品 SPU 编号
  58 + *
  59 + * 关联 ProductSpuDO 的 id 编号
  60 + */
  61 + private Long spuId;
  62 + /**
  63 + * 商品 SKU 编号
  64 + *
  65 + * 关联 ProductSkuDO 的 id 编号
  66 + */
  67 + private Long skuId;
  68 + /**
  69 + * 商品购买数量
  70 + */
  71 + private Integer stock;
  72 +
  73 + // ========= 商品信息 END =========
  74 +
  75 + // ========= 优惠信息 BEGIN =========
  76 +
  77 +// /**
  78 +// * 商品营销活动编号
  79 +// */
  80 +// private Long activityId; // discount_id
  81 +// /**
  82 +// * 商品营销活动类型
  83 +// */
  84 +// private Integer activityType;
  85 +
  86 + // ========= 优惠信息 END =========
  87 +
  88 + // TODO 芋艿:distribution_card_no
  89 +
  90 +}
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/OrderPreferentialDO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.dal.dataobject.order;
  2 +
  3 +/**
  4 + * 订单优惠明细
  5 + *
  6 + * 可参考 https://jos.jd.com/apilist?apiGroupId=55&apiId=16757&apiName=jingdong.pop.order.coupondetail
  7 + */
  8 +// TODO 芋艿 后续在完善
  9 +@Deprecated
  10 +public class OrderPreferentialDO {
  11 +
  12 + /**
  13 + * 编号
  14 + */
  15 + private Integer id;
  16 + /**
  17 + * 类型
  18 + *
  19 + * 1 - 促销活动
  20 + * 2 - 优惠劵
  21 + */
  22 + private Integer type;
  23 + // TODO 芋艿 优惠劵编号 or 促销活动编号
  24 + /**
  25 + * 订单编号
  26 + */
  27 + private Integer orderId;
  28 + /**
  29 + * 商品 SPU 编号
  30 + */
  31 + private Integer spuId;
  32 + /**
  33 + * 商品 SKU 编号
  34 + */
  35 + private Integer skuId;
  36 + /**
  37 + * 商品数量
  38 + */
  39 + private Integer quantity;
  40 + /**
  41 + * 传入时的价格
  42 + */
  43 + private Integer originTotal;
  44 + /**
  45 + * 总优惠价格
  46 + */
  47 + private Integer discountTotal;
  48 +
  49 +}
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderDO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.dal.dataobject.order;
  2 +
  3 +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.module.product.enums.delivery.DeliveryModeEnum;
  5 +import cn.iocoder.yudao.module.trade.enums.order.TradeOrderCloseTypeEnum;
  6 +import cn.iocoder.yudao.module.trade.enums.order.TradeOrderStatusEnum;
  7 +import cn.iocoder.yudao.module.trade.enums.refund.TradeRefundStatusEnum;
  8 +import com.baomidou.mybatisplus.annotation.KeySequence;
  9 +import com.baomidou.mybatisplus.annotation.TableName;
  10 +import lombok.*;
  11 +
  12 +import java.util.Date;
  13 +
  14 +/**
  15 + * 交易订单 DO
  16 + *
  17 + * @author 芋道源码
  18 + */
  19 +@TableName("trade_order")
  20 +@KeySequence("trade_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
  21 +@Data
  22 +@EqualsAndHashCode(callSuper = true)
  23 +@ToString(callSuper = true)
  24 +@Builder
  25 +@NoArgsConstructor
  26 +@AllArgsConstructor
  27 +public class TradeOrderDO extends BaseDO {
  28 +
  29 + // ========== 订单基本信息 ==========
  30 + /**
  31 + * 订单编号,主键自增
  32 + */
  33 + private Integer id;
  34 + /**
  35 + * 订单流水号
  36 + *
  37 + * 例如说,1146347329394184195
  38 + */
  39 + private String sn;
  40 + // TODO 芋艿:order_type 订单类型
  41 +// /**
  42 +// * 店铺编号
  43 +// *
  44 +// * 关联 {@link ShopDO#getId()} TODO 芋艿:多店铺,暂不考虑
  45 +// */
  46 +// private Long shopId;
  47 + /**
  48 + * 用户编号
  49 + *
  50 + * 关联 MemberUserDO 的 id 编号
  51 + */
  52 + private Long userId;
  53 + /**
  54 + * 订单状态
  55 + *
  56 + * 枚举 {@link TradeOrderStatusEnum}
  57 + */
  58 + private Integer status;
  59 + /**
  60 + * 关闭类型
  61 + *
  62 + * 枚举 {@link TradeOrderCloseTypeEnum}
  63 + */
  64 + private Integer closeType;
  65 + // TODO 芋艿:要不要存储 prod_name 购买的商品名门?
  66 + /**
  67 + * 购买的商品数量
  68 + */
  69 + private Integer productCount;
  70 + /**
  71 + * 备注
  72 + */
  73 + private String remark;
  74 + /**
  75 + * 订单结束时间
  76 + *
  77 + * 即交易订单状态变成 {@link TradeOrderStatusEnum#COMPLETED} 或 {@link TradeOrderStatusEnum#CLOSED} 的时间
  78 + */
  79 + private Date endTime;
  80 +
  81 + // ========== 价格 + 支付基本信息 ==========
  82 + /**
  83 + * 是否已支付
  84 + *
  85 + * true - 已经支付过
  86 + * false - 没有支付过
  87 + */
  88 + private Boolean payed;
  89 + /**
  90 + * 付款时间
  91 + */
  92 + private Date payTime;
  93 +
  94 + // TODO 芋艿:delete_status 用户订单删除状态;0 - 未删除;1 - 回收站;2 - 永久删除
  95 +
  96 + // ========== 价格 + 支付基本信息 ==========
  97 + /**
  98 + * 购买(商品)总金额,单位:分
  99 + */
  100 + private Integer buyPrice; // total
  101 + /**
  102 + * 优惠总金额,单位:分。
  103 + */
  104 + private Integer discountPrice; // reduce_amount
  105 + /**
  106 + * 物流金额 (分)
  107 + */
  108 + private Integer logisticsPrice; // freight_amount
  109 + /**
  110 + * 最终金额,单位:分
  111 + *
  112 + * buyPrice + logisticsPrice - discountPrice = presentPrice
  113 + */
  114 + private Integer presentPrice; // actual_total
  115 + /**
  116 + * 实际已支付金额,单位:分
  117 + *
  118 + * 初始时,金额为 0 。等到支付成功后,会进行更新。
  119 + */
  120 + private Integer payPrice;
  121 + /**
  122 + * 退款金额,单位:分
  123 + *
  124 + * 注意,退款并不会影响 {@link #payPrice} 实际支付金额
  125 + * 也就说,一个订单最终产生多少金额的收入 = payPrice - refundPrice
  126 + */
  127 + @Deprecated
  128 + private Integer refundPrice;
  129 + /**
  130 + * 支付订单编号
  131 + *
  132 + * 对接 pay-module-biz 支付服务的支付订单编号,即 PayOrderDO 的 id 编号
  133 + */
  134 + private Long payOrderId;
  135 + /**
  136 + * 支付成功的支付渠道
  137 + */
  138 + private Integer payType;
  139 +
  140 + // ========== 收件 + 物流基本信息 ==========
  141 + /**
  142 + * 配送方式
  143 + *
  144 + * 枚举 {@link DeliveryModeEnum}
  145 + */
  146 + private Integer deliveryMode;
  147 + /**
  148 + * 配置模板的编号
  149 + *
  150 + * 关联 DeliveryTemplateDO 的 id 编号
  151 + */
  152 + private Long deliveryTemplateId; // dvy_id
  153 + /**
  154 + * 物流公司单号
  155 + */
  156 + private String expressNo; // dvy_flow_id
  157 + /**
  158 + * 发货时间
  159 + */
  160 + private Date deliveryTime;
  161 + /**
  162 + * 收货时间
  163 + */
  164 + private Date receiveTime;
  165 + /**
  166 + * 收件人名称
  167 + */
  168 + private String receiverName;
  169 + /**
  170 + * 收件人手机
  171 + */
  172 + private String receiverMobile;
  173 + /**
  174 + * 收件人地区编号
  175 + */
  176 + private Integer receiverAreaId;
  177 + /**
  178 + * 收件人邮编
  179 + */
  180 + private Integer receiverPostCode;
  181 + /**
  182 + * 收件人详细地址
  183 + */
  184 + private String receiverDetailAddress;
  185 +
  186 + // ========== 退款基本信息 ==========
  187 + /**
  188 + * 退款状态
  189 + *
  190 + * 枚举 {@link TradeRefundStatusEnum}
  191 + */
  192 + private Integer refundStatus;
  193 +
  194 + // ========== 营销基本信息 ==========
  195 + /**
  196 + * 优惠劵编号
  197 + */
  198 + private Integer couponCardId;
  199 +
  200 + // TODO 芋艿,这块还要结合营销和价格计算,在去优化下。
  201 +
  202 +}
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/order/TradeOrderItemDO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.dal.dataobject.order;
  2 +
  3 +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import com.baomidou.mybatisplus.annotation.TableName;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.Accessors;
  8 +
  9 +/**
  10 + * 交易订单项 DO
  11 + *
  12 + * @author 芋道源码
  13 + */
  14 +@TableName(value = "trade_order_item")
  15 +@Data
  16 +@Accessors(chain = true)
  17 +@EqualsAndHashCode(callSuper = true)
  18 +public class TradeOrderItemDO extends BaseDO {
  19 +
  20 + // ========== 订单项基本信息 ==========
  21 + /**
  22 + * 编号
  23 + */
  24 + private Integer id;
  25 +// /**
  26 +// * 店铺编号
  27 +// *
  28 +// * 关联 {@link ShopDO#getId()} TODO 芋艿:多店铺,暂不考虑
  29 +// */
  30 +// private Long shopId;
  31 + /**
  32 + * 用户编号
  33 + *
  34 + * 关联 MemberUserDO 的 id 编号
  35 + */
  36 + private Long userId;
  37 + /**
  38 + * 订单编号
  39 + *
  40 + * 关联 {@link TradeOrderDO#getId()}
  41 + */
  42 + private Long orderId;
  43 +
  44 + // ========== 商品基本信息 ==========
  45 + /**
  46 + * 商品 SPU 编号
  47 + *
  48 + * 关联 ProductSpuDO 的 id 编号
  49 + */
  50 + private Long spuId;
  51 + /**
  52 + * 商品 SKU 编号
  53 + *
  54 + * 关联 ProductSkuDO 的 id 编号
  55 + */
  56 + private Integer skuId;
  57 + /**
  58 + * 商品名称
  59 + */
  60 + private String name;
  61 + /**
  62 + * 商品图片
  63 + */
  64 + private String picUrl;
  65 + /**
  66 + * 购买数量
  67 + */
  68 + private Integer stock;
  69 + /**
  70 + * 是否评论
  71 + *
  72 + * false - 未评论
  73 + * true - 已评论
  74 + */
  75 + private Boolean commented;
  76 +
  77 + // ========== 价格 + 支付基本信息 ==========
  78 + /**
  79 + * 原始单价,单位:分。
  80 + */
  81 + private Integer originPrice; // price
  82 + /**
  83 + * 购买单价,单位:分
  84 + */
  85 + private Integer buyPrice;
  86 + /**
  87 + * 最终单价,单位:分。
  88 + */
  89 + private Integer presentPrice;
  90 + /**
  91 + * 购买总金额,单位:分
  92 + *
  93 + * 用途类似 {@link #presentTotal}
  94 + */
  95 + private Integer buyTotal;
  96 + /**
  97 + * 优惠总金额,单位:分。
  98 + */
  99 + private Integer discountTotal;
  100 + /**
  101 + * 最终总金额,单位:分。
  102 + *
  103 + * 注意,presentPrice * stock 不一定等于 presentTotal 。
  104 + * 因为,存在无法整除的情况。
  105 + * 举个例子,presentPrice = 8.33 ,stock = 3 的情况,presentTotal 有可能是 24.99 ,也可能是 25 。
  106 + * 所以,需要存储一个该字段。
  107 + */
  108 + private Integer presentTotal; // product_total_amount
  109 + // 如上字段,举个例子:
  110 + // 假设购买三个,即 stock = 3 。
  111 + // originPrice = 15
  112 + // 使用限时折扣(单品优惠)8 折,buyPrice = 12
  113 + // 开始算总的价格
  114 + // buyTotal = buyPrice * stock = 12 * 3 = 36
  115 + // discountTotal ,假设有满减送(分组优惠)满 20 减 10 ,并且使用优惠劵满 1.01 减 1 ,则 discountTotal = 10 + 1 = 11
  116 + // presentTotal = buyTotal - discountTotal = 24 - 11 = 13
  117 + // 最终 presentPrice = presentTotal / stock = 13 / 3 = 4.33
  118 + /**
  119 + * 退款总金额,单位:分
  120 + */
  121 + private Integer refundTotal;
  122 +
  123 + // TODO 芋艿:basket_date 加入购物车时间;
  124 + // TODO 芋艿:distribution_card_no 推广员使用的推销卡号
  125 +}
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/dal/dataobject/refund/TradeRefundDO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.trade.dal.dataobject.refund;
  2 +
  3 +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
  4 +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
  5 +import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderItemDO;
  6 +import cn.iocoder.yudao.module.trade.enums.refund.TradeRefundStatusEnum;
  7 +import cn.iocoder.yudao.module.trade.enums.refund.TradeRefundTypeEnum;
  8 +import com.baomidou.mybatisplus.annotation.TableField;
  9 +import com.baomidou.mybatisplus.annotation.TableName;
  10 +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
  11 +import lombok.Data;
  12 +import lombok.EqualsAndHashCode;
  13 +import lombok.experimental.Accessors;
  14 +
  15 +import java.util.Date;
  16 +import java.util.List;
  17 +
  18 +/**
  19 + * 交易退款,用于处理 {@link TradeOrderDO} 交易订单的退货换流程
  20 + */
  21 +// TODO 芋艿:需要调整下每个字段的命名
  22 +@TableName(value = "trade_refund")
  23 +@Data
  24 +@EqualsAndHashCode(callSuper = true)
  25 +@Accessors(chain = true)
  26 +public class TradeRefundDO extends BaseDO {
  27 +
  28 + /**
  29 + * 交易退款编号,主键自增
  30 + */
  31 + @Deprecated
  32 + private Long id;
  33 + /**
  34 + * 退款流水号
  35 + *
  36 + * 例如说,1146347329394184195
  37 + */
  38 + private String sn;
  39 + /**
  40 + * 退款状态
  41 + *
  42 + * 枚举 {@link TradeRefundStatusEnum}
  43 + */
  44 + private Integer status;
  45 +// /**
  46 +// * 店铺编号
  47 +// *
  48 +// * 关联 {@link ShopDO#getId()} TODO 芋艿:多店铺,暂不考虑
  49 +// */
  50 +// private Long shopId;
  51 + /**
  52 + * 用户编号
  53 + *
  54 + * 关联 MemberUserDO 的 id 编号
  55 + */
  56 + private Long userId;
  57 + /**
  58 + * 用户手机
  59 + */
  60 + private String userMobile;
  61 + /**
  62 + * 申请类型
  63 + *
  64 + * 枚举 {@link TradeRefundTypeEnum}
  65 + */
  66 + private Integer type;
  67 + /**
  68 + * 用户售后说明
  69 + */
  70 + private String reasonMemo; // buyer_msg
  71 + /**
  72 + * 用户售后凭证图片的地址数组
  73 + *
  74 + * 数组,以逗号分隔
  75 + */
  76 + @TableField(typeHandler = JacksonTypeHandler.class)
  77 + private List<String> reasonPicUrls; // photo_files
  78 +
  79 + // ========== 商家相关 ==========
  80 +
  81 + /**
  82 + * 商家处理时间
  83 + */
  84 + private Date handleTime; // handel_time
  85 + /**
  86 + * 商家拒绝理由
  87 + */
  88 + private String rejectReasonMemo; // seller_msg
  89 +
  90 + // ========== 交易订单相关 ==========
  91 + /**
  92 + * 交易订单编号
  93 + *
  94 + * 外键 {@link TradeOrderDO#getId()}
  95 + */
  96 + private Long tradeOrderId;
  97 + /**
  98 + * 交易订单项编号
  99 + *
  100 + * 关联 {@link TradeOrderItemDO#getId()}
  101 + * 如果全部退款,则该值设置为 0 即可
  102 + */
  103 + private Long tradeOrderItemId;
  104 + /**
  105 + * 商品 SKU 编号
  106 + */
  107 + @Deprecated
  108 + private Integer skuId;
  109 + /**
  110 + * 退货商品数量
  111 + */
  112 + private Integer stock; // goods_num
  113 +
  114 + // ========== 退款相关 ==========
  115 + /**
  116 + * 退款金额,单位:分。
  117 + */
  118 + private Integer refundPrice; // refund_amount
  119 + /**
  120 + * 支付退款编号
  121 + *
  122 + * 对接 pay-module-biz 支付服务的退款订单编号,即 PayRefundDO 的 id 编号
  123 + */
  124 + private Long payRefundId;
  125 + // TODO 芋艿:看看是否有必要冗余,order_number、order_amount、flow_trade_no、out_refund_no、pay_type、return_money_sts、refund_time
  126 +
  127 + // ========== 退货相关 ==========
  128 + /**
  129 + * 退货物流公司编号
  130 + *
  131 + * 关联 ExpressDO 的 id 编号
  132 + */
  133 + private Long returnExpressId; // express_name
  134 + /**
  135 + * 退货物流单号
  136 + */
  137 + private String returnExpressNo; // express_no
  138 + /**
  139 + * 退货时间
  140 + */
  141 + private Date returnDate; // ship_time
  142 +
  143 + // ========== 收获相关 ==========
  144 +
  145 + /**
  146 + * 收获备注
  147 + */
  148 + private String receiveMemo; // receive_message
  149 + /**
  150 + * 收货时间
  151 + */
  152 + private Date receiveDate; // receive_time
  153 +
  154 +}
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 { @@ -31,7 +31,7 @@ public class AddressDO extends BaseDO {
31 /** 31 /**
32 * 收件人名称 32 * 收件人名称
33 */ 33 */
34 - private String receiver; 34 + private String name;
35 /** 35 /**
36 * 手机号 36 * 手机号
37 */ 37 */