package com.ruoyi.jarvis.domain;

import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.jarvis.domain.dto.LinkedJdOrderBrief;
import lombok.Data;
import org.springframework.data.annotation.Transient;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.annotation.Excel.ColumnType;

/**
 * 京粉订单对象 order_rows
 *
 * @author ruoyi
 */
@Data
public class OrderRows extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @Excel(name = "ID")
    private String id;

    /** 订单ID */
    @Excel(name = "订单ID", cellType = ColumnType.STRING)
    private Long orderId;

    /** 父订单ID */
    @Excel(name = "父订单ID", cellType = ColumnType.STRING)
    private Long parentId;

    /** 下单时间 */
    @Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date orderTime;

    /** 完成时间 */
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    /** 修改时间 */
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;

    /** 订单类型 */
    @Excel(name = "订单类型")
    private Integer orderEmt;

    /** 是否PLUS会员 */
    @Excel(name = "是否PLUS会员", readConverterExp = "0=否,1=是")
    private Integer plus;

    /** 联盟ID */
    @Excel(name = "联盟ID", cellType = ColumnType.STRING)
    private Long unionId;

    /** SKU ID */
    @Excel(name = "SKU ID", cellType = ColumnType.STRING)
    private Long skuId;

    /** SKU名称 */
    @Excel(name = "SKU名称")
    private String skuName;

    /** SKU数量 */
    @Excel(name = "SKU数量")
    private Integer skuNum;

    /** SKU退货数量 */
    @Excel(name = "SKU退货数量")
    private Integer skuReturnNum;

    /** SKU冻结数量 */
    @Excel(name = "SKU冻结数量")
    private Integer skuFrozenNum;

    /** 价格 */
    @Excel(name = "价格")
    private Double price;

    /** 佣金比例 */
    @Excel(name = "佣金比例")
    private Double commissionRate;

    /** 子边比例 */
    @Excel(name = "子边比例")
    private Double subSideRate;

    /** 补贴比例 */
    @Excel(name = "补贴比例")
    private Double subsidyRate;

    /** 最终比例 */
    @Excel(name = "最终比例")
    private Double finalRate;

    /** 预估成本价 */
    @Excel(name = "预估成本价")
    private Double estimateCosPrice;

    /** 预估佣金 */
    @Excel(name = "预估佣金")
    private Double estimateFee;

    /** 实际成本价 */
    @Excel(name = "实际成本价")
    private Double actualCosPrice;

    /** 实际佣金 */
    @Excel(name = "实际佣金")
    private Double actualFee;

    /** 有效性 */
    @Excel(name = "有效性")
    private Integer validCode;

    /** 有效性多选值 */
    @Transient
    private Integer[] validCodes;

    /** 跟踪类型 */
    @Excel(name = "跟踪类型")
    private Integer traceType;

    /** 位置ID */
    @Excel(name = "位置ID", cellType = ColumnType.STRING)
    private Long positionId;

    /** 站点ID */
    @Excel(name = "站点ID", cellType = ColumnType.STRING)
    private Long siteId;

    /** 联盟别名 */
    @Excel(name = "联盟别名")
    private String unionAlias;

    /** PID */
    @Excel(name = "PID")
    private String pid;

    /** 一级分类ID */
    @Excel(name = "一级分类ID", cellType = ColumnType.NUMERIC)
    private Long cid1;

    /** 二级分类ID */
    @Excel(name = "二级分类ID", cellType = ColumnType.NUMERIC)
    private Long cid2;

    /** 三级分类ID */
    @Excel(name = "三级分类ID", cellType = ColumnType.NUMERIC)
    private Long cid3;

    /** 子联盟ID */
    @Excel(name = "子联盟ID")
    private String subUnionId;

    /** 联盟标签 */
    @Excel(name = "联盟标签")
    private String unionTag;

    /** POP ID */
    @Excel(name = "POP ID", cellType = ColumnType.STRING)
    private Long popId;

    /** 扩展字段1 */
    @Excel(name = "扩展字段1")
    private String ext1;

    /** 支付月份 */
    @Excel(name = "支付月份")
    private String payMonth;

    /** 活动ID */
    @Excel(name = "活动ID", cellType = ColumnType.STRING)
    private Long cpActId;

    /** 联盟角色 */
    @Excel(name = "联盟角色")
    private Integer unionRole;

    /** 礼品券OCS金额 */
    @Excel(name = "礼品券OCS金额")
    private Double giftCouponOcsAmount;

    /** 礼品券KEY */
    @Excel(name = "礼品券KEY")
    private String giftCouponKey;

    /** 余额扩展 */
    @Excel(name = "余额扩展")
    private String balanceExt;

    /** 签名 */
    @Excel(name = "签名")
    private String sign;

    /** 促销价格金额 */
    @Excel(name = "促销价格金额")
    private Double proPriceAmount;

    /** RID */
    @Excel(name = "RID", cellType = ColumnType.STRING)
    private Long rid;

    /** 商品信息ID */
    @Excel(name = "商品信息ID", cellType = ColumnType.STRING)
    private Long goodsInfoId;

    /** 快递状态 */
    @Excel(name = "快递状态")
    private Integer expressStatus;

    /** 渠道ID */
    @Excel(name = "渠道ID", cellType = ColumnType.STRING)
    private Long channelId;

    /** SKU标签 */
    @Excel(name = "SKU标签")
    private String skuTag;

    /** 商品ID */
    @Excel(name = "商品ID")
    private String itemId;

    /** 调用方商品ID */
    @Excel(name = "调用方商品ID")
    private String callerItemId;

    /** 订单标签 */
    @Excel(name = "订单标签")
    private String orderTag;

    /** 关联商品信息（goods_info，非表字段） */
    @Transient
    private GoodsInfo goodsInfo;

    /** 关联本地慢单（jd_order，非表字段） */
    @Transient
    private LinkedJdOrderBrief linkedJdOrder;

}
