package com.seer.teach.mall.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 商城订单子表
 * </p>
 *
 * @author ZS
 * @since 2025-09-18
 */
@Getter
@Setter
@ToString
@TableName("mall_order_child")
public class OrderChildEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    @TableField("user_id")
    private Integer userId;

    /**
     * 下单用户的地址Id
     */
    @TableField("address_id")
    private Integer addressId;

    /**
     * 子订单编号
     */
    @TableField("child_order_sn")
    private String childOrderSn;

    /**
     * 下单时间
     */
    @TableField("add_time")
    private LocalDateTime addTime;

    /**
     * 关联父订单ID
     */
    @TableField("parent_order_id")
    private Integer parentOrderId;

    /**
     * 商家ID
     */
    @TableField("merchant_user_id")
    private Long merchantUserId;

    /**
     * 子订单实际支付金额，,单位分
     */
    @Schema(description = "")
    @TableField("actual_price")
    private BigDecimal actualPrice;

    /**
     * 子订单总价（单位分）
     */
    @TableField("order_price")
    private BigDecimal orderPrice;

    /**
     * 商品总价,单位分
     */
    @TableField("goods_price")
    private BigDecimal goodsPrice;

    /**
     * 订单总学豆
     */
    @TableField("order_total_coin")
    private BigDecimal orderTotalCoin;

    /**
     * 子订单支付状态：0-待支付，1-已支付，2-退款中，3-退款完成
     */
    @TableField("pay_status")
    private Integer payStatus;

    /**
     * 支付时间
     */
    @TableField("pay_time")
    private LocalDateTime payTime;

    /**
     * 支付渠道编码
     */
    @TableField("pay_channel_code")
    private String payChannelCode;

    /**
     * 子订单发货状态：0-未发货，1-已发货
     */
    @TableField("shipping_status")
    private Integer shippingStatus;
    /**
     * 子订单状态
     */
    @TableField("order_status")
    private Integer orderStatus;

    /**
     * 评价状态：0-未评价，1-已评价
     */
    @TableField("comment_status")
    private Integer commentStatus;

    /**
     * 发货时间
     */
    @TableField("delivery_time")
    private Date deliveryTime;

    /**
     * 发货人ID
     */
    @TableField("delivery_user_id")
    private Integer deliveryUserId;

    /**
     * 重量，单位kg，范围0.01-30 默认0.02）
     */
    @TableField("weight")
    private String weight;

    /**
     * 商品体积，单位：m^3 平米
     */
    @TableField("volume")
    private String volume;

    /**
     * 物流公司编码
     */
    @TableField("logistics_code")
    private String logisticsCode;

    /**
     * 物流单号（子订单独立发货，对应一个物流单号）
     */
    @TableField("shipping_no")
    private String shippingNo;

    /**
     * 确认收货时间
     */
    @TableField("confirm_time")
    private LocalDateTime confirmTime;

    /**
     * （商家使用）订单备注
     */
    @TableField("remark")
    private String remark;

    /**
     * （下单用户使用）订单备注
     */
    @TableField("postscript")
    private String postscript;

    /**
     * 收货人
     */
    @TableField("consignee")
    private String consignee;

    /**
     * 国家
     */
    @TableField("country")
    private String country;

    /**
     * 省份
     */
    @TableField("province")
    private String province;

    /**
     * 城市
     */
    @TableField("city")
    private String city;

    /**
     * 区/县
     */
    @TableField("district")
    private String district;

    /**
     * 详细地址
     */
    @TableField("address")
    private String address;

    /**
     * 联系电话
     */
    @TableField("mobile")
    private String mobile;
}