package com.leromro.core.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.leromro.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppSecoundOrderInfoVO {
    @ApiModelProperty("主键 小订单表id")
    private Long secondOrderId;

    @ApiModelProperty("订单状态 0待支付 1已支付 2支付超时或取消 3进行中 4已完成 5申请退款中 6已退款 7部分退款  ")
    private String orderStatus;

    @ApiModelProperty("志愿者结算状态: 10 未结算 20已结算")
    private String volunteerSettlementStatus;

    @ApiModelProperty("服务地址")
    private String address;

    @ApiModelProperty("被服务人姓名")
    private String clientName;

    @ApiModelProperty("被服务人姓名")
    private String clientPhoneNumber;

    @ApiModelProperty("区域公司名字")
    private String businessTireName;

    @ApiModelProperty("区域公司名字")
    private String areaDistributionName;

    @ApiModelProperty("服务中心名字")
    private String serviceCenterName;

    @ApiModelProperty("志愿者文字评价")
    private String volunteerReview;

    @ApiModelProperty("志愿者图片记录")
    private String volunteerPicture;

    @ApiModelProperty("大类别")
    private Long serviceCategory;

    @ApiModelProperty("用户文字评价")
    private String userReview;

    @ApiModelProperty("用户图片记录")
    private String userPicture;

    /** 服务开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计服务开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("预计服务开始日期")
    private LocalDate workDate;

    /** 工作开始时间 HH:ss */
    @JsonFormat(pattern = "HH:ss")
    @Excel(name = "预计工作开始时间 HH:ss", width = 30, dateFormat = "HH:ss")
    @ApiModelProperty("预计工作开始时间 HH:ss")
    private LocalTime workStartTime;

    /** 结束时间 */
    @JsonFormat(pattern = "HH:ss")
    @Excel(name = "预计结束时间", width = 30, dateFormat = "HH:ss")
    @ApiModelProperty("预计结束时间")
    private LocalTime workEndTime;

    @ApiModelProperty("单次服务数量")
    private Long singleQuantity;

    @ApiModelProperty("服务第几次")
    private Long workNumber;

    @ApiModelProperty("服务时长（小时）")
    private Integer serviceDuration;

    /** 评分 */
    @Excel(name = "评分")
    @ApiModelProperty("评分")
    private Integer score;

    /** 评分 */
    @Excel(name = "服务礼仪")
    @ApiModelProperty("服务礼仪")
    private Integer protocolScore;

    /** 评分 */
    @Excel(name = "服装整洁")
    @ApiModelProperty("服装整洁")
    private Integer clothingScore;

    /** 评分 */
    @Excel(name = "专业能力")
    @ApiModelProperty("专业能力")
    private Integer abilityScore;

    /** 评分 */
    @Excel(name = "服务质量")
    @ApiModelProperty("服务质量")
    private Integer qualityScore;

    @TableField("province_code")
    @ApiModelProperty("省级区划编号")
    private String provinceCode;

    @TableField("province_name")
    @ApiModelProperty("省级名称")
    private String provinceName;

    @TableField("city_code")
    @ApiModelProperty("市级编号")
    private String cityCode;

    @TableField("city_name")
    @ApiModelProperty("市级名称")
    private String cityName;

    @TableField("district_code")
    @ApiModelProperty("区级区划编号")
    private String districtCode;

    @TableField("district_name")
    @ApiModelProperty("区级名称")
    private String districtName;

    @TableField("longitude")
    @ApiModelProperty("经度")
    private String longitude;

    @TableField("latitude")
    @ApiModelProperty("纬度")
    private String latitude;

    @TableField("out_trade_no")
    @ApiModelProperty("业务单号")
    private String outTradeNo;
}
