package com.gree.mall.miniapp.bean.material;

import com.gree.mall.miniapp.plus.entity.WebsitPartsRetItem;
import com.gree.mall.miniapp.plus.entity.WebsitPartsRetOldRecord;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@ApiModel
@Data
public class PartsRefundVO {

    @ApiModelProperty(value = "返件单号")
    private String partsRetId;

    @ApiModelProperty(value = "销售单号")
    private String salesId;

    @ApiModelProperty(value = "商户编号")
    private String companyWechatId;

    @ApiModelProperty(value = "商户名称")
    private String companyWechatName;

    @ApiModelProperty(value = "网点编号")
    private String websitId;

    @ApiModelProperty(value = "网点名称")
    private String websitName;

    @ApiModelProperty(value = "类型  NEW 新件返还  OLD 旧件返还")
    private String type;

    @ApiModelProperty(value = "工程师编号")
    private String workerId;

    @ApiModelProperty(value = "工程师名称")
    private String workerName;

    @ApiModelProperty(value = "工程师手机号")
    private String workerMobile;

    @ApiModelProperty(value = "工程师网点编号")
    private String workerWebsitId;

    @ApiModelProperty(value = "工程师网点名称")
    private String workerWebsitName;

    @ApiModelProperty(value = "身份证")
    private String identity;

    @ApiModelProperty(value = "销售日期")
    private Date salesTime;

    @ApiModelProperty(value = "支付方式 CASH=现金 WECHAT=微信")
    private String payType;

    @ApiModelProperty(value = "支付时间")
    private Date payTime;

    @ApiModelProperty(value = "订单金额")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "支付订单号")
    private String payNo;

    @ApiModelProperty(value = "返件金额")
    private BigDecimal totalRefundAmount;

    @ApiModelProperty(value = "工单使用类型  INSIDE=保内 OUT=保外")
    private String orderUseType;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "状态 SAVE=保存 SUBMIT=提交 OK=通过 FAIL=失败")
    private String flag;

    @ApiModelProperty(value = "创建人")
    private String createBy;

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

    @ApiModelProperty(value = "更新人")
    private String updateBy;

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

    @ApiModelProperty(value = "提交人")
    private String submitBy;

    @ApiModelProperty(value = "提交时间")
    private Date submitTime;

    @ApiModelProperty(value = "审核人")
    private String confirmBy;

    @ApiModelProperty(value = "审核时间")
    private Date confirmTime;

    @ApiModelProperty(value = "退款时间")
    private Date refundTime;

    @ApiModelProperty(value = "退款状态 OK=成功 FAIL=失败 WAIT=等待")
    private String refundState;

    @ApiModelProperty(value = "退款流水号")
    private String refundSerialNo;

    @ApiModelProperty(value = "原因")
    private String reason;

    @ApiModelProperty(value = "明细")
    private List<WebsitPartsRetItem> items;

    @ApiModelProperty(value = "旧件记录")
    private List<WebsitPartsRetOldRecord> records;
}
