package com.prolog.rdc.tms.app.model.dto.business;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 运单服务评价DTO
 * @author hongbo.pan
 * @date 2022/11/1
 */
@Data
@ApiModel("运单服务评价DTO")
public class ShipbillEvaluationDTO implements Serializable {

    @ApiModelProperty(value = "评价id")
    private String id;

    @ApiModelProperty(value = "评价单号")
    private String code;

    @ApiModelProperty(value = "运单ID")
    private String shipbillId;

    @ApiModelProperty(value = "运单编号")
    private String shipbillNo;

    @ApiModelProperty(value = "星数")
    private BigDecimal evaluationStar;

    @ApiModelProperty(value = "评价对象 数据字典 EVALUATION_TARGET：1发货方 2物流公司 3司机")
    private Integer evaluationTarget;

    @ApiModelProperty(value = "问题类型 数据字典 EVALUATION_PROBLEM_TYPE")
    private Integer problemType;

    @ApiModelProperty(value = "问题描述")
    private String problemDesc;

    @ApiModelProperty(value = "图片")
    private String picUrl;

    @ApiModelProperty(value = "评价人id")
    private Long evaluationUserId;

    @ApiModelProperty(value = "评价人")
    private String evaluationUserName;

    @ApiModelProperty(value = "评价人类型")
    private String evaluationUserType;

    @ApiModelProperty(value = "企业ID")
    private Long enterpriseId;

    @ApiModelProperty(value = "企业名称")
    private String enterpriseName;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createtime;

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

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "修改时间")
    private Date updatetime;

    @ApiModelProperty(value = "修改人")
    private String updateperson;

    @ApiModelProperty(value = "评价对象")
    private String evaluationTargetName;

    @ApiModelProperty(value = "问题类型")
    private String problemTypeName;
}
