package com.wms.entity.app.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.wms.entity.table.User;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

@Data
public class UserVo {
    /** 用户ID */
    @JsonProperty("userId")
    private Integer userId;
    /** 用户名 */
    @JsonProperty("userName")
    private String userName;
    /** 角色Id */
    @JsonProperty("roleId")
    private Integer roleId;
    /** 登录账户 */
    @JsonProperty("loginAccount")
    private String loginAccount;
    /** 登录密码 */
    @JsonProperty("loginPassword")
    private String loginPassword;
    /** 添加时间 */
    @JsonProperty("addTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime addTime;
    /** 更新时间 */
    @JsonProperty("updateTime")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    /** 添加用户名 */
    @JsonProperty("addUser")
    private String addUser;

    /**
     * 从数据库实体转换为前端显示
     * @param userPo 数据库实体
     * @return excel对象
     */
    public static UserVo of(User userPo) {
        UserVo userVo = new UserVo();
        userVo.setUserId(userPo.getUserId());
        userVo.setUserName(userPo.getUserName());
        userVo.setRoleId(userPo.getRoleId());
        userVo.setLoginAccount(userPo.getLoginAccount());
        userVo.setLoginPassword("*********");
        userVo.setAddTime(userPo.getAddTime());
        userVo.setUpdateTime(userPo.getUpdateTime());
        userVo.setAddUser(userPo.getAddUser());
        return userVo;
    }
}
