Commit 96e2a27d079bd1c54ac4de250827f1746510bab6
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 | 31 | </dependency> |
| 32 | 32 | <dependency> |
| 33 | 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 | 34 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> |
| 39 | 35 | </dependency> |
| 40 | 36 | ... | ... |
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/dal/dataobject/comment/ProductCommentDO.java
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 | 5 | import cn.iocoder.yudao.module.product.dal.dataobject.brand.ProductBrandDO; |
| 6 | 6 | import cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO; |
| 7 | 7 | import cn.iocoder.yudao.module.product.dal.dataobject.delivery.DeliveryTemplateDO; |
| 8 | +import cn.iocoder.yudao.module.product.dal.dataobject.shop.ShopDO; | |
| 8 | 9 | import cn.iocoder.yudao.module.product.dal.dataobject.sku.ProductSkuDO; |
| 9 | 10 | import cn.iocoder.yudao.module.product.enums.delivery.DeliveryModeEnum; |
| 10 | 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 | 23 | <artifactId>yudao-module-trade-api</artifactId> |
| 24 | 24 | <version>${revision}</version> |
| 25 | 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 | 63 | </dependencies> |
| 27 | 64 | |
| 28 | 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