package org.dromara.domain.propertyRepair.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.domain.propertyRepair.PropertyRepair;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 物业报修视图对象 property_repair
 *
 * @author boman
 * @date 2025-04-11
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PropertyRepair.class)
public class PropertyRepairVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 报修ID
     */
    @ExcelProperty(value = "报修ID")
    private Long repairId;

    /**
     * 门户id
     */
    @ExcelProperty(value = "门户id")
    private Long portalId;

    /**
     * 指派时间
     */
    private Date assignTime;

    /**
     * 详细门牌号
     */
    @ExcelProperty(value = "详细门牌号")
    private String houseAddress;

    /**
     * 报修时间，记录报修提交的时间
     */
    @ExcelProperty(value = "报修时间，记录报修提交的时间")
    private Date repairTime;

    /**
     * 报修用户id
     */
    @ExcelProperty(value = "报修用户id")
    private Long userId;

    /**
     * 报修用户手机号码
     */
    @ExcelProperty(value = "报修用户手机号码")
    private String phoneNumber;

    /**
     * 报修标题，简要描述报修内容
     */
    @ExcelProperty(value = "报修标题，简要描述报修内容")
    private String repairTitle;

    /**
     * 报修类别，如水电维修、门窗维修等
     */
    @ExcelProperty(value = "报修类别，如水电维修、门窗维修等")
    private String maintenanceCategory;

    /**
     * 报修详情，详细描述报修问题
     */
    @ExcelProperty(value = "报修详情，详细描述报修问题")
    private String repairDetails;

    /**
     * 报修详情图片，存储图片路径或URL
     */
    @ExcelProperty(value = "报修详情图片，存储图片路径或URL")
    private String repairImages;

    /**
     * 报修状态：1：待分派 2：待上门 3：处理中 4：已完成
     */
    @ExcelProperty(value = "报修状态：1：待分派 2：待上门 3：处理中 4：已完成")
    private String repairStatus;

    /**
     * 维修人员姓名
     */
    @ExcelProperty(value = "维修人员姓名")
    private String staffName;

    /**
     * 维修人员ID
     */
    @ExcelProperty(value = "维修人员ID")
    private Long staffId;

    /**
     * 维修人员手机号
     */
    @ExcelProperty(value = "维修人员手机号")
    private String staffPhone;

    /**
     * 上门时间，记录维修人员上门的时间
     */
    @ExcelProperty(value = "上门时间，记录维修人员上门的时间")
    private Date visitTime;

    /**
     * 上门拍照，存储图片路径或URL
     */
    @ExcelProperty(value = "上门拍照，存储图片路径或URL")
    private String visitPhoto;

    /**
     * 维修结束时间，记录维修完成的时间
     */
    @ExcelProperty(value = "维修结束时间，记录维修完成的时间")
    private Date completionTime;

    /**
     * 维修结束拍照，存储图片路径或URL
     */
    @ExcelProperty(value = "维修结束拍照，存储图片路径或URL")
    private String completionPhoto;

    /**
     * 维修详情，记录维修的具体过程和结果
     */
    @ExcelProperty(value = "维修详情，记录维修的具体过程和结果")
    private String repairCompletionDetails;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;


}
