mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 04:08:43 +08:00 
			
		
		
		
	mall:初始化 trade 表结构
This commit is contained in:
		@@ -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;
 | 
			
		||||
    /**
 | 
			
		||||
     * 手机号
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user