mall:初始化 trade 表结构
This commit is contained in:
parent
2b71a1588c
commit
96e2a27d07
|
@ -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>
|
||||
|
|
|
@ -41,11 +41,11 @@ public class ProductCommentDO extends BaseDO {
|
|||
*/
|
||||
private Long spuId;
|
||||
/**
|
||||
* 订单项编号
|
||||
* 交易订单项编号
|
||||
*
|
||||
* 关联 OrderItemDO 的 id 编号
|
||||
*/
|
||||
private Long orderItemId;
|
||||
private Long tradeOrderItemId;
|
||||
|
||||
/**
|
||||
* 用户编号
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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 芋艿,这块还要结合营销和价格计算,在去优化下。
|
||||
|
||||
}
|
|
@ -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 推广员使用的推销卡号
|
||||
}
|
|
@ -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
|
||||
|
||||
}
|
|
@ -31,7 +31,7 @@ public class AddressDO extends BaseDO {
|
|||
/**
|
||||
* 收件人名称
|
||||
*/
|
||||
private String receiver;
|
||||
private String name;
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue