package com.gree.mall.manager.bean.workorder;

import com.gree.mall.manager.annotation.ZfireField;
import com.gree.mall.manager.enums.OrderSharePageEnum;
import com.gree.mall.manager.enums.PayStatusEnum;
import com.gree.mall.manager.enums.workorder.IncrePayTypeEnum;
import com.gree.mall.manager.enums.workorder.IncreTypeEnum;
import com.gree.mall.manager.enums.workorder.SourceChannelEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@Data
@ApiModel
@ZfireField(tbName = "a")
public class IncreOrderVO {

    @ZfireField(hide = true)
    private String pgIncreId;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "商户id")
    private String companyWechatId;

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

    @ZfireField(hide = true)
    @ApiModelProperty(value = "销售网点id")
    private String websitId;

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

    @ApiModelProperty(value = "订单单号")
    private String id;

    @ApiModelProperty(value = "服务类型")
    private IncreTypeEnum increType;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "品牌id")
    private String brandId;

    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "产品大类")
    private String mainId;

    @ApiModelProperty(value = "产品大类名称")
    private String mainName;

    @ApiModelProperty(value = "服务内容")
    private String increContent;

    @ApiModelProperty(value = "服务金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "可使用次数/可使用年限")
    private Integer limitNum;

    @ApiModelProperty(value = "剩余可使用次数")
    private Integer residuNum;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "师傅id")
    private String workerId;

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

    @ApiModelProperty(value = "师傅身份证")
    private String workerIdcard;

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

    @ApiModelProperty(value = "客户名称")
    private String userName;

    @ApiModelProperty(value = "客户电话")
    private String userMobile;

    @ApiModelProperty(value = "客户地址")
    private String userAddress;

    @ApiModelProperty(value = "内机条码")
    private String insideCode;

    @ApiModelProperty(value = "服务单号")
    private String serviceNo;

    @ApiModelProperty(value = "发票价格")
    private BigDecimal invoiceAmount;

    @ApiModelProperty(value = "发票时间")
    private Date invoiceTime;

    @ApiModelProperty(value = "服务截止时间")
    private Date serviceEndTime;

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

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

    @ApiModelProperty(value = "支付状态")
    private PayStatusEnum payStatus;

    @ApiModelProperty(value = "支付方式")
    private IncrePayTypeEnum payType;

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

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

    @ApiModelProperty(value = "微信流水号")
    private String transcationId;

    @ApiModelProperty(value = "手续费")
    private BigDecimal commissionAmount;

    @ApiModelProperty(value = "师傅分成金额")
    private BigDecimal workerAmount;

    @ApiModelProperty(value = "网点分成金额")
    private BigDecimal websitAmount;

    @ApiModelProperty(value = "操作人")
    private String updateBy;

    @ApiModelProperty(value = "操作时间")
    private Date updateTime;

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

    @ZfireField(multiple = true)
    @ApiModelProperty(value = "结算状态")
    private OrderSharePageEnum settleStatus;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "单据来源 ")
    private SourceChannelEnum orderChannel;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "单据状态  WAIT=待审核 OK=通过 FAIL=驳回")
    private String flag;

//    @ApiModelProperty(value = "内机条码图片")
//    private String insideCodeImg;
//
//    @ApiModelProperty(value = "机器铭牌图片")
//    private String machineImg;
//
//    @ApiModelProperty(value = "购机凭证图片")
//    private String buyCertImg;

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

}
