package com.sptg.estate.api.dto;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.sptg.common.core.entity.BaseEntity;
import lombok.Getter;
import lombok.Setter;

/**
 * title: BaseUser
 * package: com.sptg.estate.api.dto
 * description:
 *
 *
 *
 */
@Setter
@Getter
public class BaseUser extends BaseEntity {

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

    /**
     * 姓名
     */
    @TableField(value = "s_name")
    private String name;

    /**
     * 性别  0-未定义  1-男 2-女
     */
    @TableField(value = "i_sex")
    private Integer sex;

    /**
     * 人员类型
     * 服务人员：0-保安 1-快递 2-外卖 3-清洁 4-其他
     * 住户类型：0-业主 1-成员 2-租户 3-访客
     */
    @TableField(value = "i_type")
    private Integer type;

    /**
     * 所属小区省
     */
    @TableField(value = "s_region_province")
    private String regionProvince;

    /**
     * 所属小区市
     */
    @TableField(value = "s_region_city")
    private String regionCity;

    /**
     * 所属小区区
     */
    @TableField(value = "s_region_area")
    private String regionArea;

    /**
     * 手机号
     */
    @TableField(value = "s_tel")
    private String tel;

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

    /**
     * 根机构id
     */
    @TableField(value = "l_root_org_id")
    private Long rootOrgId;

    /**
     * 存储位置
     */
    @TableField(value = "s_org_position")
    private String orgPosition;

    /* -------------------------------------------------------------------------------------------------------------- */
    //  以下为字段非表字段
    /* -------------------------------------------------------------------------------------------------------------- */

    /**
     * 是否为管理员
     * 0：后台管理员
     * 1：社区服务人员
     * 2：普通住户
     * 3：访客
     * 4：管理机账号
     */
    @TableField(exist = false)
    public int isAdmin;

    /**
     * 人员类型为住户时，存在房间名称
     */
    @TableField(exist = false)
    public String roomName;

    /**
     * 人员类型为住户时，存在单元名称
     */
    @TableField(exist = false)
    public String unitName;


}
