mall:优化订单表的设计
parent
33a01e78bf
commit
cfde3dcacb
|
@ -0,0 +1,38 @@
|
|||
package cn.iocoder.yudao.framework.common.enums;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.core.IntArrayValuable;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* 终端的枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
public enum TerminalEnum implements IntArrayValuable {
|
||||
|
||||
MINI_PROGRAM(1, "小程序"),
|
||||
H5(2, "H5"),
|
||||
IOS(3, "iOS"),
|
||||
ANDROID(3, "安卓"),;
|
||||
|
||||
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(TerminalEnum::getTerminal).toArray();
|
||||
|
||||
/**
|
||||
* 终端
|
||||
*/
|
||||
private final Integer terminal;
|
||||
/**
|
||||
* 终端名
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
@Override
|
||||
public int[] array() {
|
||||
return ARRAYS;
|
||||
}
|
||||
}
|
|
@ -13,12 +13,13 @@ import java.util.Arrays;
|
|||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DeliveryModeEnum implements IntArrayValuable {
|
||||
public enum DeliveryTypeEnum implements IntArrayValuable {
|
||||
|
||||
SHOP_DELIVERY(1, "商家配送"),
|
||||
USER_PICK_UP(2, "用户自提");
|
||||
// TODO 芋艿:英文单词,需要再想下;
|
||||
EXPRESS(1, "快递发货"),
|
||||
USER(2, "用户自提"),;
|
||||
|
||||
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DeliveryModeEnum::getMode).toArray();
|
||||
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(DeliveryTypeEnum::getMode).toArray();
|
||||
|
||||
/**
|
||||
* 配送方式
|
|
@ -88,6 +88,9 @@ public class ProductSkuDO extends BaseDO {
|
|||
*/
|
||||
private Double volume;
|
||||
|
||||
/**
|
||||
* 商品属性
|
||||
*/
|
||||
@Data
|
||||
public static class Property {
|
||||
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package cn.iocoder.yudao.module.trade.enums.order;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 交易订单项 - 退款状态
|
||||
*
|
||||
* @author Sin
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
public enum TradeOrderItemRefundStatusEnum {
|
||||
|
||||
NONE(0, "未申请退款"),
|
||||
APPLY(1, "申请退款"),
|
||||
WAIT(2, "等待退款"),
|
||||
SUCCESS(3, "退款成功");
|
||||
|
||||
/**
|
||||
* 状态值
|
||||
*/
|
||||
private final Integer status;
|
||||
/**
|
||||
* 状态名
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
}
|
|
@ -1,26 +1,25 @@
|
|||
package cn.iocoder.yudao.module.trade.enums.refund;
|
||||
package cn.iocoder.yudao.module.trade.enums.order;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 交易退款 - 状态
|
||||
* 交易订单 - 退款状态
|
||||
*
|
||||
* @author Sin
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
public enum TradeRefundStatusEnum {
|
||||
public enum TradeOrderRefundStatusEnum {
|
||||
|
||||
NONE(0, "未退款"),
|
||||
AUDIT(10, "审核中"),
|
||||
APPROVE(30, "已通过"),
|
||||
REJECT(40, "不通过"),;
|
||||
PART(1, "部分退款"),
|
||||
ALL(2, "全部退款");
|
||||
|
||||
/**
|
||||
* 状态值
|
||||
*/
|
||||
private final Integer value;
|
||||
private final Integer status;
|
||||
/**
|
||||
* 状态名
|
||||
*/
|
|
@ -12,12 +12,11 @@ import lombok.RequiredArgsConstructor;
|
|||
@Getter
|
||||
public enum TradeOrderStatusEnum {
|
||||
|
||||
WAITING_PAYMENT(10, "待付款"),
|
||||
WAIT_SHIPMENT(20, "待发货"),
|
||||
ALREADY_SHIPMENT(30, "待收货"),
|
||||
WAITING_COMMENT(40, "待评价"),
|
||||
COMPLETED(50, "成功"),
|
||||
CLOSED(60, "失败");
|
||||
WAITING_PAYMENT(0, "待付款"),
|
||||
WAIT_SHIPMENT(1, "待发货"),
|
||||
ALREADY_SHIPMENT(2, "待收货"),
|
||||
COMPLETED(3, "成功"),
|
||||
CLOSED(4, "失败");
|
||||
|
||||
/**
|
||||
* 状态值
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package cn.iocoder.yudao.module.trade.enums.order;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* 交易订单 - 类型
|
||||
*
|
||||
* @author Sin
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Getter
|
||||
public enum TradeOrderTypeEnum {
|
||||
|
||||
NORMAL(0, "普通订单"),
|
||||
SECKILL(1, "秒杀订单"),
|
||||
TEAM(2, "拼团订单"),
|
||||
BARGAIN(3, "砍价订单");
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private final Integer type;
|
||||
/**
|
||||
* 类型名
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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格式
|
||||
|
||||
}
|
||||
|
|
|
@ -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:积分抵扣的金额
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
// /**
|
||||
|
|
Loading…
Reference in New Issue