package com.repair.model.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.repair.model.enumModel.eRecordStatu;
import com.repair.model.pojo.RepairConsumables;
import lombok.Data;

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

/**
 * @Author: binguo
 * @Date: 2023/7/31 星期一 16:23
 * @Description: com.repair.model.vo
 * @Version: 1.0
 */
@Data
public class RepairTechnicianVo {
    /**
     * 数据ID
     */
    private Integer id;

    /**
     * 工单编号
     */
    private String recordNo;

    /**
     * 报修时间
     */
    private Date reportTime;

    /**
     * 报修名称
     */
    private String userName;

    /**
     * 报修电话
     */
    private String userPhone;

    /**
     * 用户年级
     */
    private String userClass;

    /**
     * 报修区域
     */
    private String areaName;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 报修物品
     */
    private String articleName;

    /**
     * 故障描述
     */
    private String description;

    /**
     * 图片
     */
    @JsonIgnore
    private String image;

    /**
     * 上传图片集合
     */
    private List<String> images;

    public List<String> getImages() {
        return image == null ? new ArrayList<>() : Arrays.asList(image.split(",")) ;
    }

    public void setImages(List<String> images) {
        this.images = images;
    }

    /**
     * 工单状态
     */
    private String state;

    public String getState() {
        return state == null ? eRecordStatu.stringOf(maintenanceState) : state;
    }

    public void setState(String state) {
        this.state = state;
    }

    /**
     * 工单状态ID
     */
    @JsonIgnore
    private Integer maintenanceState;

    /**
     * 工单超时状态
     */
    private String timeoutStr;

    /**
     * 工单超时状态2
     */
    private String maintenanceTimeout;

    /**
     * 维修师傅
     */
    private String maintenancerName;

    /**
     * 师傅电话
     */
    private String maintenancerPhone;

    /**
     * 维修费用
     */
    private BigDecimal price;

    /**
     * 用户报修录音
     */
    private String voice;

    /**
     * 用户录音时长
     */
    private Integer voiceLength;

    /**
     * 师傅维修修录音
     */
    private String finishVoice;

    /**
     * 师傅维修修录音时长
     */
    private Integer finishVoiceLength;

    /**
     * 耗材详情集合
     */
    private List<RepairConsumables> goodsList;
}
