package com.simuwang.base.pojo.dos.sys;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.simuwang.base.common.support.dos.DataEntity;
import com.simuwang.base.pojo.vo.sys.SysUserVO;
import lombok.Getter;
import lombok.Setter;

/**
 * FileName: SysUserDO
 * Author:   chenjianhua
 * Date:     2024/9/8 12:45
 * Description: ${DESCRIPTION}
 */
@Setter
@Getter
@TableName("sys_user")
public class SysUserDO extends DataEntity<SysUserVO> {
    /**
     * 用户ID
     */
    @TableId(value = "user_id", type = IdType.AUTO)
    private Integer userId;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 用户类型
     */
    private Integer userType;

    /**
     * 用户邮箱
     */
    private String email;

    /**
     * 手机号码
     */
    private String phonenumber;

    /**
     * 用户性别
     */
    private Integer sex;

    /**
     * 用户头像
     */
    private String avatar;

    /**
     * 密码
     */
    private String password;
    /**
     * 帐号状态（1正常 0停用）
     */
    private Integer status;

//    /**
//     * 删除标志（0代表存在 1代表删除）
//     */
//    @TableId(value = "del_flag")
//    private String delFlag;
//    /**
//     * 备注
//     */
//    private String startDate;
//    /**
//     * 备注
//     */
//    @TableId(value = "end_date")
//    private String endDate;
    /**
     * 备注
     */
    private String remark;

    @Override
    public SysUserVO toVo() {
//        return BeanUtil.copyProperties(this, SysUserVO.class);
        SysUserVO vo = new SysUserVO();
        vo.setUserId(this.userId);
        vo.setAvatar(this.avatar);
        vo.setEmail(this.email);
        vo.setPhonenumber(this.phonenumber);
        vo.setPassword(this.password);
        vo.setSex(this.sex);
        vo.setUserType(this.userType);
        vo.setStatus(this.status);
        vo.setRemark(this.remark);
        vo.setCreatorId(this.getCreatorId());
        vo.setCreateTime(this.getCreateTime());
        return vo;
    }
}
