package com.sptg.estate.api.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.FilterJoinTable;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Getter
@Setter
@TableName(value = "estate_repair")
public class EstateRepair {

    /**
     * 主键
     */
    @TableId(value = "l_id",type = IdType.INPUT)
    private Long id;

    /**
     * 报修单id
     */
    @TableField( value = "s_repair_no")
    private String repairNo;

    /**
     * 小区id
     */
    @TableField(value = "l_residential_id")
    private Long residentialId;

    /**
     * 小区名称
     */
    @TableField(value = "l_residential_name")
    private String residentialName;

    /**
     * 报修位置
     */
    @TableField(value = "s_report_position")
    private String reportPosition;

    /**
     * 预约开始时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_begin_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date beginTime;

    /**
     * 预约结束时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_end_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 故障详情描述
     */
    @TableField(value = "s_report_detail")
    private String reportDetail;

    /**
     * 图片-多张图片用“，”切割
     */
    @TableField(value = "s_pic")
    private String pic;

    /**
     * 报修用户memberId
     */
    @TableField(value = "l_member_id")
    private Long memberId;

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

    /**
     * 数据状态：{ -1：已删除，0：正常 }
     */
    @TableField(value = "i_status")
    private Integer status;

    /**
     * 0-未评价  1-已评价
     */
    @TableField(value = "i_estimate_status")
    private Integer estimateStatus;

    /**
     * 处理状态  0-待处理 1-已处理    -1-已撤销
     */
    @TableField(value = "i_handle_status")
    private Integer handleStatus;

    /**
     * 用户对处理结果的评论
     */
    @TableField(value = "s_comment")
    private String comment;

    /**
     * 物业对处理情况的说明
     */
    @TableField(value = "s_statement")
    private String statement;

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

    /**
     * 处理时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_handle_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date handleTime;

    /**
     * 报修人联系电话
     */
    @TableField(value = "s_phone")
    private  String phone;

    /**
     * 所属机构id
     */
    @TableField(value = "l_org_id")
    private Long orgId;
    /**
     * 根机构id
     */
    @TableField(value = "l_root_org_id")
    private Long rootOrgId;
    /**
     * 存储位置（通过该字段快速查询，所有的子节点）
     */
    @TableField(value = "s_org_position")
    private String orgPosition;

    @TableField(exist = false)
    private String userName;


}
