package com.zy.system.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.IdType; import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.system.service.HostService; import com.zy.system.service.RoleService; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; //import com.zy.system.service.RoleService; @TableName("sys_user") public class User implements Serializable { private static final long serialVersionUID = 1L; /** * 编号 */ @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 授权商户 */ @TableField("host_id") private Long hostId; /** * 账号 */ private String username; /** * 手机号 */ private String mobile; /** * 密码 */ private String password; /** * 是否允许使用 MFA */ @TableField("mfa_allow") private Integer mfaAllow; /** * 是否已启用 MFA */ @TableField("mfa_enabled") private Integer mfaEnabled; /** * MFA 密钥 */ @TableField(value = "mfa_secret", select = false) private String mfaSecret; /** * MFA 绑定时间 */ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @TableField("mfa_bound_time") private Date mfaBoundTime; /** * 通行密钥名称 */ @TableField("passkey_name") private String passkeyName; /** * 通行密钥凭证ID */ @TableField(value = "passkey_credential_id", select = false) private String passkeyCredentialId; /** * 通行密钥公钥(SPKI Base64Url) */ @TableField(value = "passkey_public_key", select = false) private String passkeyPublicKey; /** * 通行密钥算法 */ @TableField(value = "passkey_algorithm", select = false) private Integer passkeyAlgorithm; /** * 通行密钥签名计数器 */ @TableField(value = "passkey_sign_count", select = false) private Long passkeySignCount; /** * 通行密钥传输方式 */ @TableField(value = "passkey_transports", select = false) private String passkeyTransports; /** * 通行密钥绑定时间 */ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @TableField("passkey_bound_time") private Date passkeyBoundTime; /** * 通行密钥最近使用时间 */ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @TableField("passkey_last_used_time") private Date passkeyLastUsedTime; /** * 角色 */ @TableField("role_id") private Long roleId; /** * 注册时间 */ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @TableField("create_time") private Date createTime; /** * 状态 1: 启用 2: 冻结 3: 删除 */ private Integer status; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public Long getHostId() { return hostId; } public String getHostName() { HostService service = SpringUtils.getBean(HostService.class); Host host = service.getById(this.hostId); if (!Cools.isEmpty(host)){ return host.getName(); } return null; } public void setHostId(Long hostId) { this.hostId = hostId; } public void setUsername(String username) { this.username = username; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Integer getMfaAllow() { return mfaAllow; } public String getMfaAllow$() { if (null == this.mfaAllow) { return null; } return Integer.valueOf(1).equals(this.mfaAllow) ? "是" : "否"; } public void setMfaAllow(Integer mfaAllow) { this.mfaAllow = mfaAllow; } public Integer getMfaEnabled() { return mfaEnabled; } public String getMfaEnabled$() { if (null == this.mfaEnabled) { return null; } return Integer.valueOf(1).equals(this.mfaEnabled) ? "是" : "否"; } public void setMfaEnabled(Integer mfaEnabled) { this.mfaEnabled = mfaEnabled; } public String getMfaSecret() { return mfaSecret; } public void setMfaSecret(String mfaSecret) { this.mfaSecret = mfaSecret; } public Date getMfaBoundTime() { return mfaBoundTime; } public String getMfaBoundTime$() { if (Cools.isEmpty(this.mfaBoundTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.mfaBoundTime); } public void setMfaBoundTime(Date mfaBoundTime) { this.mfaBoundTime = mfaBoundTime; } public String getPasskeyName() { return passkeyName; } public void setPasskeyName(String passkeyName) { this.passkeyName = passkeyName; } public String getPasskeyCredentialId() { return passkeyCredentialId; } public void setPasskeyCredentialId(String passkeyCredentialId) { this.passkeyCredentialId = passkeyCredentialId; } public String getPasskeyPublicKey() { return passkeyPublicKey; } public void setPasskeyPublicKey(String passkeyPublicKey) { this.passkeyPublicKey = passkeyPublicKey; } public Integer getPasskeyAlgorithm() { return passkeyAlgorithm; } public void setPasskeyAlgorithm(Integer passkeyAlgorithm) { this.passkeyAlgorithm = passkeyAlgorithm; } public Long getPasskeySignCount() { return passkeySignCount; } public void setPasskeySignCount(Long passkeySignCount) { this.passkeySignCount = passkeySignCount; } public String getPasskeyTransports() { return passkeyTransports; } public void setPasskeyTransports(String passkeyTransports) { this.passkeyTransports = passkeyTransports; } public Date getPasskeyBoundTime() { return passkeyBoundTime; } public String getPasskeyBoundTime$() { if (Cools.isEmpty(this.passkeyBoundTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.passkeyBoundTime); } public void setPasskeyBoundTime(Date passkeyBoundTime) { this.passkeyBoundTime = passkeyBoundTime; } public Date getPasskeyLastUsedTime() { return passkeyLastUsedTime; } public String getPasskeyLastUsedTime$() { if (Cools.isEmpty(this.passkeyLastUsedTime)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.passkeyLastUsedTime); } public void setPasskeyLastUsedTime(Date passkeyLastUsedTime) { this.passkeyLastUsedTime = passkeyLastUsedTime; } public Long getRoleId() { return roleId; } public String getRoleName(){ RoleService service = SpringUtils.getBean(RoleService.class); Role role = service.getById(this.roleId); if (!Cools.isEmpty(role)){ return role.getName(); } return null; } public void setRoleId(Long roleId) { this.roleId = roleId; } public Date getCreateTime() { return createTime; } public String getCreateTime$(){ if (Cools.isEmpty(this.createTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public void setCreateTime(Date createTime) { this.createTime = createTime; } public Integer getStatus() { return status; } public String getStatus$(){ if (null == this.status){ return null; } switch (this.status){ case 1: return "启用"; case 2: return "冻结"; case 3: return "删除"; default: return String.valueOf(this.status); } } public void setStatus(Integer status) { this.status = status; } }