package com.ghy.quartz.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ghy.goods.domain.Goods;
import com.ghy.goods.domain.GoodsArea;
import com.ghy.goods.domain.InsuranceManager;
import com.ghy.order.domain.AfterServiceRecord;
import com.ghy.payment.domain.FinancialChangeRecord;
import com.ghy.payment.domain.OrderTimeoutRecord;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class OrderListResponse {

    // 商品品牌 -- 后台发单才有
    private String goodsBrand;
    // 商品规格 -- 后台发单才有
    private String goodsSpecification;

    private String totalName;

    private String isCall;

    private Long orderMasterId;

    private String orderMasterCode;

    private Long orderDetailId;

    private String orderDetailCode;

    private Long workerId;

    private String workerName;

    private String workerPhone;

    private String masterWorkerName;

    private String masterWorkerPhone;

    private String masterCompanyName;

    private String customerName;

    private String customerPhone;

    private String customerRemark;

    private String workerRemark;

    private Date serverTime;

    @JsonFormat(pattern = "YYYY-MM-dd HH:mm")
    private Date expectTimeStartFront;

    @JsonFormat(pattern = "HH:mm")
    private Date expectTimeEndFront;

    private Date expectTimeStart;

    private Date expectTimeEnd;

    private Date workBeginTime;

    private Date workFinishTime;

    private String clockInLocation;

    private String goodsName;

    private Integer orderType;

    private Integer orderStatus;

    private String orderStatusName;

    private Integer payStatus;

    private Integer payType;

    private BigDecimal totalMoney;

    private BigDecimal payMoney;

    private BigDecimal payAddMoney;

    private BigDecimal finalRecvMoney;

    private BigDecimal changeMoney;

    private BigDecimal discountMoney;

    private String goodsLogoUrl;

    private String address;

    private Date createTime;

    private String remark;

    private Boolean isOverTime;

    private BigDecimal serverMoney;

    private List<OrderTimeoutRecord> orderTimeoutRecords;

    private List<OrderStandard> standardList;

    private List<OrderStandardDetail> orderStandardDetailList;

    private List<String> finishImgList;

    private List<AfterServiceRecord> afterServiceRecordList;

    private Boolean isOnlyServ;

    private Date updateTime;

    private Integer shelveStatus;

    private Integer ledgerAccountStatus;

    private List<FinancialChangeRecord> financialChangeRecords;

    private List<GoodsArea> goodsAreaList;

    /**
     * 发起提现后Adapay返回的对象ID draw_cash_id
     */
    private String drawCashId;

    /**
     * draw_cash_status
     * 0 未分账
     * 1 已分账
     * 2 已到账
     * -1 提现失败
     */
    private Integer drawCashStatus;

    /**
     * 发起提现时间 draw_cash_time
     */
    private Date drawCashTime;
    /**
     * 提现到账时间 arrival_time
     */
    private Date arrivalTime;

    /**
     * 是否超时 1=是 0=否
     */
    private Integer timeout;

    /**
     * 超时扣款次数
     */
    private Integer timeoutFineTimes;

    private Integer afterTimeout;

    private String orderMode;

    /*是否合约订单*/
    private String consultMode;

    private Goods goods;

    /*是否有保险id*/
    private Long insuranceId;

    private InsuranceManager insuranceManager;
}
