package cn.com.ty.lift.ud.chat.controller.model;

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

import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
@NotEmpty 用在集合类上面
@NotBlank 用在String上面
@NotNull    用在基本类型上
 */
@ApiModel(description = "诊单操作入参类 ")
@Data
public class LiftCaseReq {

    /**
     * 问题描述 问题描述
     */
    @ApiModelProperty("问题描述 ")
    @NotNull(message = "expression:问题描述不允许为空")
    private String expression;

    /**
     * 已尝试的方法 已尝试的方法
     */
    @ApiModelProperty("已尝试的方法 已尝试的方法")
    private String usedMethods;

    /**
     * 图集 图集
     */
    @ApiModelProperty("图集 图集")
    private String imgs;

    /**
     * 品牌 品牌id
     */
    @ApiModelProperty(" 品牌id")
    @NotNull(message = "brandId:品牌id不允许为空")
    private Integer brandId;

    /**
     * 会话id
     */
    @ApiModelProperty("会话id")
    private Integer sessionId;

    /**
     * 出诊地址 地图显示，gps坐标
     */
    @ApiModelProperty("出诊地址 地图显示，gps坐标")
    private String address;

    /**
     * 专家 专家id
     */
    @ApiModelProperty("专家")
//    @NotNull(message = " chargerId:专家id不允许为空")
    private Integer chargerId;

    /**
     * 差旅费 差旅费
     */
    @ApiModelProperty("差旅费 差旅费")
    private BigDecimal travelCost;

    /**
     * 服务费 服务费
     */
    @ApiModelProperty("服务费 服务费")
    private BigDecimal serviceCost;

    /**
     * 总价 总价
     */
    @ApiModelProperty("总价 总价")
    private BigDecimal totalCost;

    /**
     * 出诊时间
     */
    @ApiModelProperty("出诊时间")
    private Date arrivedTime;

    /**
     * 问题节点 问诊0用户新建1用户已付款2专家解决问题3用户确认问题已解决4用户已评论5专家已归档；出诊0用户新建1用户付款2专家到场打卡3用户确认打卡4专家解决问题5用户确认问题已解决
     */
    @ApiModelProperty("问题节点 问诊0用户新建1用户已付款2专家解决问题3用户确认问题已解决4用户已评论5专家已归档；出诊0用户新建1用户付款2专家到场打卡3用户确认打卡4专家解决问题5用户确认问题已解决")
    private Integer statuz;

    @ApiModelProperty("0待接单1已接单")
    private Integer acceptStatus;
    
    /**
     * 打卡标记 0已打卡1未打卡
     */
    @ApiModelProperty("打卡标记 0已打卡1未打卡")
    private Integer arrivedFlag;

    /**
     * 打卡地点 打开地点
     */
    @ApiModelProperty("打卡地点 打开地点")
    private String arrivedAddress;

    @ApiModelProperty("纬度")
    private String lat;
    
    @ApiModelProperty("经度")
    private String lng;
    
    /**
     * 问诊出诊 1问诊2出诊
     */
    @ApiModelProperty("问诊出诊 1问诊2出诊")
    @NotNull(message = "dataTable:诊单类型不允许为空")
    private Integer dataTable;
    
    @ApiModelProperty("创建人")
    @NotNull(message = "createUserId:创建人不允许为空")
    private Long createUserId;

    @ApiModelProperty("视频")
    private String videoUrl;
}
