package com.iotechn.unimall.data.domain.shop;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.iotechn.unimall.core.framework.aspectj.lang.annotaion.Excel;
import com.iotechn.unimall.core.framework.aspectj.lang.annotaion.Excel.ColumnType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.iotechn.unimall.core.util.StringUtils;
import java.util.Date;
import java.util.List;

/**
 * 电商订单表对象 shop_order
 * 
 * @author jlb
 * @date 2022-05-28
 */
@Data
@TableName("shop_order")
public class ShopOrder extends BaseDO{
    private static final long serialVersionUID = 1L;

    /**  */
    @TableId("id")
    private Long id;

    /** 账户表id */
    @Excel(name = "账户表id")
    @TableField("account_id")
    private Long accountId;

    /** 夫子订单号 */
    @Excel(name = "夫子订单号")
    @TableField("order_id")
    private String orderId;

    /** 当当订单号 */
    @Excel(name = "当当订单号")
    @TableField("dang_order")
    private String dangOrder;

    /** 当当订单号发货状态 */
    @Excel(name = "当当订单号发货状态")
    @TableField("dang_order_status")
    private String dangOrderStatus;
    /** 详细地址 */
    @Excel(name = "详细地址")
    @TableField("address")
    private String address;

    /** 省 */
    @Excel(name = "省")
    @TableField("prov_name")
    private String provName;

    /** 市 */
    @Excel(name = "市")
    @TableField("city_name")
    private String cityName;

    /** 区 */
    @Excel(name = "区")
    @TableField("area_name")
    private String areaName;

    /** 订单状态 */
    @Excel(name = "订单状态")
    @TableField("order_status")
    private String orderStatus;

    /** 订单状态 */
    @Excel(name = "订单状态")
    @TableField("order_status_name")
    private String orderStatusName;

    /** 付款状态 */
    @Excel(name = "付款状态")
    @TableField("pay_status")
    private String payStatus;

    /** 付款状态 */
    @Excel(name = "付款状态")
    @TableField("pay_name")
    private String payName;

    /** 收件人 */
    @Excel(name = "收件人")
    @TableField("receiver_name")
    private String receiverName;

    /** 收件人电话 */
    @Excel(name = "收件人电话")
    @TableField("mobile")
    private String mobile;

    /** 收件人详细信息 */
    @Excel(name = "收件人详细信息")
    @TableField("receiver")
    private String receiver;

    @Excel(name = "快递单号")
    @TableField("shipment_num")
    private String shipmentNum;
    @Excel(name = "快递公司")
    @TableField("shipping_com")
    private String shippingComName;
    @Excel(name = "快递公司编码")
    @TableField("shipping_com_code")
    private String shippingComCode;
    @Excel(name = "发货方式")
    @TableField("shipping_name")
    private String shippingName;
    @Excel(name = "发货状态")
    @TableField("shipping_status")
    private String shippingStatus;
    @Excel(name = "运费")
    @TableField("shipping_fee")
    private String shippingFee;
    @Excel(name = "发货时间")
    @TableField("shipping_time")
    private String shippingTime;
    @Excel(name = "孔网付款时间")
    @TableField("created_time")
    private String createdTime;


    /** 备注 */
    @Excel(name = "备注")
    @TableField("remark")
    private String remark;

    /** 删除标识 */
    @Excel(name = "删除标识")
    @TableField("delete_flag")
    private Integer deleteFlag;

    /**  */
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("gmt_create")
    private Date gmtCreate;

    /**  */
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("gmt_update")
    private Date gmtUpdate;

    /**  */
    @Excel(name = "")
    @TableField("user_id")
    private Long userId;

    /**  */
    @Excel(name = "")
    @TableField("admin_id")
    private Long adminId;

    @TableField(exist = false)
    private ShopAccount shopAccount;

    @TableField(exist = false)
    private String remarkText;

    @TableField(exist = false)
    private List<ShopOrder> shopOrderList;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("accountId", getAccountId())
            .append("orderId", getOrderId())
            .append("dangOrder", getDangOrder())
            .append("address", getAddress())
            .append("provName", getProvName())
            .append("cityName", getCityName())
            .append("areaName", getAreaName())
            .append("orderStatus", getOrderStatus())
            .append("orderStatusName", getOrderStatusName())
            .append("payStatus", getPayStatus())
            .append("payName", getPayName())
            .append("receiverName", getReceiverName())
            .append("mobile", getMobile())
            .append("receiver", getReceiver())
            .append("remark", getRemark())
            .append("deleteFlag", getDeleteFlag())
            .append("gmtCreate", getGmtCreate())
            .append("gmtUpdate", getGmtUpdate())
            .append("userId", getUserId())
            .append("adminId", getAdminId())
            .toString();
    }
}
