package com.unis.crk.cplbusiness.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;

import java.util.ArrayList;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author ghh
 * @since 2023-01-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "LI_ORDER")
@ApiModel(value="LiOrder对象", description="")
public class LiOrder implements Serializable {

private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "ID", type = IdType.UUID)
    private String id;

    @ApiModelProperty(value = "创建者")
    @TableField("CREATE_BY")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private Date createTime;

    @ApiModelProperty(value = "删除标志 true/false 删除/未删除")
    @TableField("DELETE_FLAG")
    private BigDecimal deleteFlag;

    @ApiModelProperty(value = "更新者")
    @TableField("UPDATE_BY")
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("UPDATE_TIME")
    private Date updateTime;

    @ApiModelProperty(value = "订单是否支持原路退回")
    @TableField("CAN_RETURN")
    private BigDecimal canReturn;

    @ApiModelProperty(value = "订单取消原因")
    @TableField("CANCEL_REASON")
    private String cancelReason;

    @ApiModelProperty(value = "订单来源")
    @TableField("CLIENT_TYPE")
    private String clientType;

    @ApiModelProperty(value = "完成时间")
    @TableField("COMPLETE_TIME")
    private Date completeTime;

    @ApiModelProperty(value = "地址id,分割")
    @TableField("CONSIGNEE_ADDRESS_ID_PATH")
    private String consigneeAddressIdPath;

    @ApiModelProperty(value = "地址名称 ,分割")
    @TableField("CONSIGNEE_ADDRESS_PATH")
    private String consigneeAddressPath;

    @ApiModelProperty(value = "详细地址")
    @TableField("CONSIGNEE_DETAIL")
    private String consigneeDetail;

    @ApiModelProperty(value = "收件人手机")
    @TableField("CONSIGNEE_MOBILE")
    private String consigneeMobile;

    @ApiModelProperty(value = "收件人姓名")
    @TableField("CONSIGNEE_NAME")
    private String consigneeName;

    @ApiModelProperty(value = "货运状态")
    @TableField("DELIVER_STATUS")
    private String deliverStatus;

    @ApiModelProperty(value = "优惠的金额")
    @TableField("DISCOUNT_PRICE")
    private BigDecimal discountPrice;

    @ApiModelProperty(value = "总价格")
    @TableField("FLOW_PRICE")
    private BigDecimal flowPrice;

    @ApiModelProperty(value = "运费")
    @TableField("FREIGHT_PRICE")
    private BigDecimal freightPrice;

    @ApiModelProperty(value = "商品数量")
    @TableField("GOODS_NUM")
    private Integer goodsNum;

    @ApiModelProperty(value = "商品价格")
    @TableField("GOODS_PRICE")
    private BigDecimal goodsPrice;

    @ApiModelProperty(value = "物流公司CODE")
    @TableField("LOGISTICS_CODE")
    private String logisticsCode;

    @ApiModelProperty(value = "物流公司名称")
    @TableField("LOGISTICS_NAME")
    private String logisticsName;

    @ApiModelProperty(value = "发货单号")
    @TableField("LOGISTICS_NO")
    private String logisticsNo;

    @ApiModelProperty(value = "送货时间")
    @TableField("LOGISTICS_TIME")
    private Date logisticsTime;

    @ApiModelProperty(value = "会员ID")
    @TableField("MEMBER_ID")
    private String memberId;

    @ApiModelProperty(value = "用户名")
    @TableField("MEMBER_NAME")
    private String memberName;

    @ApiModelProperty(value = "是否需要发票")
    @TableField("NEED_RECEIPT")
    private BigDecimal needReceipt;

    @ApiModelProperty(value = "订单状态")
    @TableField("ORDER_STATUS")
    private String orderStatus;

    @ApiModelProperty(value = "订单类型")
    @TableField("ORDER_TYPE")
    private String orderType;

    @ApiModelProperty(value = "是否为其他订单下的订单，如果是则为依赖订单的sn，否则为空")
    @TableField("PARENT_ORDER_SN")
    private String parentOrderSn;

    @ApiModelProperty(value = "支付方式返回的交易号")
    @TableField("PAY_ORDER_NO")
    private String payOrderNo;

    @ApiModelProperty(value = "付款状态")
    @TableField("PAY_STATUS")
    private String payStatus;

    @ApiModelProperty(value = "支付方式")
    @TableField("PAYMENT_METHOD")
    private String paymentMethod;

    @ApiModelProperty(value = "支付时间")
    @TableField("PAYMENT_TIME")
    private Date paymentTime;

    @ApiModelProperty(value = "价格详情")
    @TableField("PRICE_DETAIL")
    private String priceDetail;

    @ApiModelProperty(value = "是否为某订单类型的订单，如果是则为订单类型的id，否则为空")
    @TableField("PROMOTION_ID")
    private String promotionId;

    @ApiModelProperty(value = "买家订单备注")
    @TableField("REMARK")
    private String remark;

    @ApiModelProperty(value = "店铺ID")
    @TableField("STORE_ID")
    private String storeId;

    @ApiModelProperty(value = "店铺名称")
    @TableField("STORE_NAME")
    private String storeName;

    @ApiModelProperty(value = "订单编号")
    @TableField("SN")
    private String sn;

    @ApiModelProperty(value = "交易编号 关联Trade")
    @TableField("TRADE_SN")
    private String tradeSn;

    @ApiModelProperty(value = "订单商品总重量")
    @TableField("WEIGHT")
    private BigDecimal weight;

    @ApiModelProperty(value = "提货码")
    @TableField("QR_CODE")
    private String qrCode;

    @ApiModelProperty(value = "修改价格")
    @TableField("UPDATE_PRICE")
    private BigDecimal updatePrice;

    @ApiModelProperty(value = "分销员ID")
    @TableField("DISTRIBUTION_ID")
    private String distributionId;

    @ApiModelProperty(value = "配送方式")
    @TableField("DELIVERY_METHOD")
    private String deliveryMethod;

    @ApiModelProperty(value = "使用的平台会员优惠券id")
    @TableField("USE_PLATFORM_MEMBER_COUPON_ID")
    private String usePlatformMemberCouponId;

    @ApiModelProperty(value = "使用的店铺会员优惠券id(,区分)")
    @TableField("USE_STORE_MEMBER_COUPON_IDS")
    private String useStoreMemberCouponIds;

    @TableField("RECEIVABLE_NO")
    private String receivableNo;

    @TableField("ORDER_PROMOTION_TYPE")
    private String orderPromotionType;

    @TableField("VERIFICATION_CODE")
    private String verificationCode;

    @ApiModelProperty(value = "出入库是否发货完成 0是 1否")
    @TableField("IS_FH")
    private String isFh;

    @ApiModelProperty(value = "订单商品名称组合")
    @TableField("GOODS_NAMES")
    private String goodsNames;

    @ApiModelProperty(value = "单位id")
    @TableField("UNITID")
    private String unitid;

    @ApiModelProperty(value = "成品粮出库从表信息")
    @TableField(exist = false)
    private List<DataCrkywCplckDefault> cplckFltList = new ArrayList<>();


    @ApiModelProperty(value = "电商订单从表")
    @TableField(exist = false)
    private List<LiOrderItem> orderItemList = new ArrayList<>();

}
