mall:优化订单表的设计

This commit is contained in:
YunaiV
2022-08-05 00:28:40 +08:00
parent 33a01e78bf
commit cfde3dcacb
11 changed files with 216 additions and 89 deletions

View File

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

View File

@@ -1,10 +1,12 @@
package cn.iocoder.yudao.module.trade.dal.dataobject.order;
import cn.iocoder.yudao.framework.common.enums.TerminalEnum;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.product.enums.delivery.DeliveryModeEnum;
import cn.iocoder.yudao.module.product.enums.delivery.DeliveryTypeEnum;
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 cn.iocoder.yudao.module.trade.enums.order.TradeOrderTypeEnum;
import cn.iocoder.yudao.module.trade.enums.order.TradeOrderRefundStatusEnum;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
@@ -38,6 +40,18 @@ public class TradeOrderDO extends BaseDO {
*/
private String sn;
// TODO 芋艿order_type 订单类型
/**
* 订单类型
*
* 枚举 {@link TradeOrderTypeEnum}
*/
private Integer type;
/**
* 订单来源终端
*
* 枚举 {@link TerminalEnum}
*/
private Integer terminal;
// /**
// * 店铺编号
// *
@@ -72,11 +86,13 @@ public class TradeOrderDO extends BaseDO {
*/
private String remark;
/**
* 订单结束时间
*
* 即交易订单状态变成 {@link TradeOrderStatusEnum#COMPLETED} 或 {@link TradeOrderStatusEnum#CLOSED} 的时间
* 确认收获时间
*/
private Date endTime;
private Date confirmTakeTime;
/**
* 订单取消时间
*/
private Date cancelTime;
// ========== 价格 + 支付基本信息 ==========
/**
@@ -85,7 +101,7 @@ public class TradeOrderDO extends BaseDO {
* true - 已经支付过
* false - 没有支付过
*/
private Boolean payed;
private Boolean payed; // TODO payStatus 0 - 待付款1 - 已付款2 - 已退款
/**
* 付款时间
*/
@@ -118,14 +134,6 @@ public class TradeOrderDO extends BaseDO {
* 初始时,金额为 0 。等到支付成功后,会进行更新。
*/
private Integer payPrice;
/**
* 退款金额,单位:分
*
* 注意,退款并不会影响 {@link #payPrice} 实际支付金额
* 也就说,一个订单最终产生多少金额的收入 = payPrice - refundPrice
*/
@Deprecated
private Integer refundPrice;
/**
* 支付订单编号
*
@@ -141,9 +149,9 @@ public class TradeOrderDO extends BaseDO {
/**
* 配送方式
*
* 枚举 {@link DeliveryModeEnum}
* 枚举 {@link DeliveryTypeEnum}
*/
private Integer deliveryMode;
private Integer deliveryType;
/**
* 配置模板的编号
*
@@ -187,15 +195,22 @@ public class TradeOrderDO extends BaseDO {
/**
* 退款状态
*
* 枚举 {@link TradeRefundStatusEnum}
* 枚举 {@link TradeOrderRefundStatusEnum}
*/
private Integer refundStatus;
/**
* 退款金额,单位:分
*
* 注意,退款并不会影响 {@link #payPrice} 实际支付金额
* 也就说,一个订单最终产生多少金额的收入 = payPrice - refundPrice
*/
private Integer refundPrice;
// ========== 营销基本信息 ==========
/**
* 优惠劵编号
*/
private Integer couponCardId;
private Integer couponId;
// TODO 芋艿,这块还要结合营销和价格计算,在去优化下。
@@ -229,6 +244,20 @@ public class TradeOrderDO extends BaseDO {
// TODO ========== 待定字段cf =========
// TODO before_pay_price改价前支付金额
// TODO is_alter_price是否改价
// TODO type订单类型:0-普通订单1-视频号订单
// TODO out_trade_no商户系统内部的订单号 String
// TODO ========== 待定字段lf =========
// TODO integral_amount积分抵扣金额
// TODO shipping_status发货状态
// TODO shipping_time最后新发货时间
// TODO ========== 待定字段lf =========
// TODO settle_id未结算
// TODO settle_amount结算金额
// TODO use_integral使用的积分
// TODO team_found_id: 拼团id
// TODO team_id: 拼团活动id
// TODO delivery_id: 发货单ID
// TODO attach_values: 附带的值(赠送时机,赠送积分成长值什么的)Json格式
}

View File

@@ -1,11 +1,16 @@
package cn.iocoder.yudao.module.trade.dal.dataobject.order;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.trade.enums.order.TradeOrderItemRefundStatusEnum;
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.List;
/**
* 交易订单项 DO
*
@@ -54,6 +59,11 @@ public class TradeOrderItemDO extends BaseDO {
* 关联 ProductSkuDO 的 id 编号
*/
private Integer skuId;
/**
* 规格值数组JSON 格式
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private List<Property> properties;
/**
* 商品名称
*/
@@ -106,6 +116,14 @@ public class TradeOrderItemDO extends BaseDO {
* 所以,需要存储一个该字段。
*/
private Integer presentTotal; // product_total_amount
// ========== 退款基本信息 ==========
/**
* 退款状态
*
* 枚举 {@link TradeOrderItemRefundStatusEnum}
*/
private Integer refundStatus;
// 如上字段,举个例子:
// 假设购买三个,即 stock = 3 。
// originPrice = 15
@@ -120,6 +138,27 @@ public class TradeOrderItemDO extends BaseDO {
*/
private Integer refundTotal;
/**
* 商品属性
*/
@Data
public static class Property {
/**
* 属性编号
*
* 关联 ProductPropertyDO 的 id 编号
*/
private Long propertyId;
/**
* 属性值编号
*
* 关联 ProductPropertyValueDO 的 id 编号
*/
private Long valueId;
}
// TODO 芋艿basket_date 加入购物车时间;
// TODO 芋艿distribution_card_no 推广员使用的推销卡号
@@ -129,4 +168,14 @@ public class TradeOrderItemDO extends BaseDO {
// TODO is_sub是否单独分佣,0-否1-是
// TODO vip_price会员价
// TODO product_type商品类型:0-普通1-秒杀2-砍价3-拼团4-视频号
// TODO 待确定lf
// TODO integral_price积分抵扣的金额
// TODO member_price会员价格
// TODO is_member是否为会员折扣;0-不是;1-是
// TODO member_discount会员折扣(百分比)
// TODO goods_info 商品信息
// TODO integral_price积分抵扣的金额
}

View File

@@ -3,7 +3,7 @@ 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.order.TradeOrderRefundStatusEnum;
import cn.iocoder.yudao.module.trade.enums.refund.TradeRefundTypeEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -18,7 +18,7 @@ import java.util.List;
/**
* 交易退款,用于处理 {@link TradeOrderDO} 交易订单的退货换流程
*/
// TODO 芋艿:需要调整下每个字段的命名
// TODO 芋艿:需要调整下每个字段的命名;未完全实现;
@TableName(value = "trade_refund")
@Data
@EqualsAndHashCode(callSuper = true)
@@ -39,7 +39,7 @@ public class TradeRefundDO extends BaseDO {
/**
* 退款状态
*
* 枚举 {@link TradeRefundStatusEnum}
* 枚举 {@link TradeOrderRefundStatusEnum}
*/
private Integer status;
// /**