FAISP/src/main/java/com/dbnt/faisp/userInfo/model/UserInfo.java

97 lines
2.3 KiB
Java
Raw Normal View History

2022-08-23 02:34:25 +00:00
package com.dbnt.faisp.userInfo.model;
2022-08-18 06:21:44 +00:00
2022-08-25 09:39:21 +00:00
import com.dbnt.faisp.authMgt.model.AccessConfig;
import com.dbnt.faisp.authMgt.model.ApprovalConfig;
import com.dbnt.faisp.config.BaseModel;
2022-08-18 06:21:44 +00:00
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import javax.persistence.*;
2022-08-25 09:39:21 +00:00
import java.time.LocalDateTime;
2022-08-18 06:21:44 +00:00
import java.util.Collection;
import java.util.HashSet;
2022-08-25 09:39:21 +00:00
import java.util.List;
2022-08-18 06:21:44 +00:00
import java.util.Set;
@Getter
@Setter
@Entity
@NoArgsConstructor
@DynamicInsert
@DynamicUpdate
2022-08-19 02:04:38 +00:00
@Table(name = "user_info")
2022-08-18 06:21:44 +00:00
public class UserInfo extends BaseModel implements UserDetails{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
2022-08-19 02:04:38 +00:00
@Column(name = "user_seq")
2022-08-18 06:21:44 +00:00
private Integer userSeq;
2022-08-19 02:04:38 +00:00
@Column(name = "user_id")
2022-08-18 06:21:44 +00:00
private String userId;
2022-08-19 02:04:38 +00:00
@Column(name = "passwd")
2022-08-18 06:21:44 +00:00
private String password;
2022-08-25 09:39:21 +00:00
@Column(name = "user_nm")
private String userNm;
@Column(name = "og_cd")
private String ogCd;
@Column(name = "ofc_cd")
private String ofcCd;
2022-08-19 02:04:38 +00:00
@Column(name = "user_role")
2022-08-18 06:21:44 +00:00
private String userRole;
2022-08-19 02:04:38 +00:00
@Column(name = "user_status")
2022-08-18 06:21:44 +00:00
private String userStatus;
2022-08-25 09:39:21 +00:00
@Column(name = "wrt_dt")
private LocalDateTime wrtDt;
2022-08-18 06:21:44 +00:00
@Transient
private String modifyPassword;
@Transient
private String positionName;
@Transient
private String departmentName;
2022-08-25 09:39:21 +00:00
@Transient
private List<AccessConfig> accessConfigList;
@Transient
private List<ApprovalConfig> approvalConfigList;
2022-08-18 06:21:44 +00:00
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
Set<GrantedAuthority> roles = new HashSet<>();
for (String role : userRole.split(",")) {
roles.add(new SimpleGrantedAuthority(role));
}
return roles;
}
@Override
public String getUsername() {
return userId;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
2022-08-25 09:39:21 +00:00
return userStatus.equals("USC003");
2022-08-18 06:21:44 +00:00
}
}