package org.dromara.domain.propertyRepair;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.tenant.core.TenantEntity;

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

/**
 * 物业报修对象 property_repair
 *
 * @author boman
 * @date 2025-04-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("property_repair")
public class PropertyRepair extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

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

    /**
     * 门户id
     */
    private Long portalId;

    /**
     * 详细门牌号
     */
    private String houseAddress;

    /**
     * 报修时间，记录报修提交的时间
     */
    private Date repairTime;

    /**
     * 报修用户id
     */
    private Long userId;

    /**
     * 报修用户手机号码
     */
    private String phoneNumber;

    /**
     * 报修标题，简要描述报修内容
     */
    private String repairTitle;

    /**
     * 报修类别，如水电维修、门窗维修等
     */
    private String maintenanceCategory;

    /**
     * 报修详情，详细描述报修问题
     */
    private String repairDetails;

    /**
     * 报修详情图片，存储图片路径或URL
     */
    private String repairImages;

    /**
     * 报修状态：1：待分派 2：待上门 3：处理中 4：已完成
     */
    private String repairStatus;

    /**
     * 维修人员姓名
     */
    private String staffName;

    /**
     * 维修人员ID
     */
    private Long staffId;

    /**
     * 维修人员手机号
     */
    private String staffPhone;

    /**
     * 上门时间，记录维修人员上门的时间
     */
    private Date visitTime;
    /**
     * 指派时间
     */
    private Date assignTime;

    /**
     * 上门拍照，存储图片路径或URL
     */
    private String visitPhoto;

    /**
     * 维修结束时间，记录维修完成的时间
     */
    private Date completionTime;

    /**
     * 维修结束拍照，存储图片路径或URL
     */
    private String completionPhoto;

    /**
     * 维修详情，记录维修的具体过程和结果
     */
    private String repairCompletionDetails;

    /**
     * 备注
     */
    private String remark;


}
