package com.zcloud.modules.sys.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @Author fangjiakai
 * @Desc 系统用户(SysUser)实体
 * @Date 2025-06-09 09:19:00
 */
@Data
@TableName("sys_user")
public class SysUserEntity implements Serializable {
    private static final long serialVersionUID = 758396608739742454L;
    @TableId
    private String userId;
    //用户名
    @ApiModelProperty(value = "用户名")
    private String username;
    //密码
    @ApiModelProperty(value = "密码")
    private String password;
    //姓名
    @ApiModelProperty(value = "姓名")
    private String name;
    //企业
    @ApiModelProperty(value = "企业")
    private String corpinfoId;
    //部门ID
    @ApiModelProperty(value = "部门ID")
    private String departmentId;
    //邮箱
    @ApiModelProperty(value = "邮箱")
    private String email;
    //手机号
    @ApiModelProperty(value = "手机号")
    private String mobile;
    //学历
    @ApiModelProperty(value = "学历")
    private String degree;
    //身份证号
    @ApiModelProperty(value = "身份证号")
    private String userIdCard;
    //1销售2服务3专家
    @ApiModelProperty(value = "1销售2服务3专家")
    private String type;
    //状态  0：禁用   1：正常
    @ApiModelProperty(value = "状态  0：禁用   1：正常")
    private Integer status;
    //是否删除(0：有效 1：删除)
    @ApiModelProperty(value = "是否删除(0：有效 1：删除)")
    @TableField(fill = FieldFill.INSERT)
    private Integer isDelete;
    //创建者ID
    @ApiModelProperty(value = "创建者ID")
    private String creator;
    //创建时间
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private String createTime;
    //修改人
    @ApiModelProperty(value = "修改人")
    private String operator;
    //修改时间
    @ApiModelProperty(value = "修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String operatTime;
    //openid
    @ApiModelProperty(value = "openid")
    private String openid;

    /**
     * 角色ID列表
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "角色ID列表")
    private List<String> roleIdList;

    @TableField(exist = false)
    @ApiModelProperty(value = "用户ID列表")
    private String[] userIds;

    @TableField(exist = false)
    @ApiModelProperty(value = "用户角色ID")
    private String rolesId;

    @TableField(exist = false)
    @ApiModelProperty(value = "用户角色NAME")
    private String rolesName;
    @TableField(exist = false)
    @ApiModelProperty(value = "用户角色TYPE")
    private String rolesType;
}

