USERS.java 3.8 KB
package com.tianbo.warehouse.model;

import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.List;

public class USERS  implements UserDetails{

    private static final long serialVersionUID = 1L;

    private BigDecimal userId;

    private String username;

    private String password;

    private Short state;

    private Date creattime;

    private String sex;

    private String address;

    private Date birthday;

    private String mobilephone;

    private Date updatetime;

    private List<ROLE> roles;

    private List<PERMISSION> permissions;

    public BigDecimal getUserId() {
        return userId;
    }

    public void setUserId(BigDecimal userId) {
        this.userId = userId;
    }

    @Override
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username == null ? null : username.trim();
    }

    @Override
    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    public Short getState() {
        return state;
    }

    public void setState(Short state) {
        this.state = state;
    }

    public Date getCreattime() {
        return creattime;
    }

    public void setCreattime(Date creattime) {
        this.creattime = creattime;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex == null ? null : sex.trim();
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getMobilephone() {
        return mobilephone;
    }

    public void setMobilephone(String mobilephone) {
        this.mobilephone = mobilephone == null ? null : mobilephone.trim();
    }

    public Date getUpdatetime() {
        return updatetime;
    }

    public void setUpdatetime(Date updatetime) {
        this.updatetime = updatetime;
    }

    public List<ROLE> getRoles() {
        return roles;
    }

    public void setRoles(List<ROLE> roles) {
        this.roles = roles;
    }

    public List<PERMISSION> getPermissions() {
        return permissions;
    }

    public void setPermissions(List<PERMISSION> permissions) {
        this.permissions = permissions;
    }

    /**
     * 账户未过期
     * @return
     */
    @Override
    public boolean isAccountNonExpired(){
        return true;
    }

    /**
     * 账户未锁定
     * @return
     */
    @Override
    public boolean isAccountNonLocked(){
        return true;
    }

    /**密码未过期
     *
     * @return
     */
    @Override
    public boolean isCredentialsNonExpired(){
        return true;
    }

    /**
     * //账户可用
     * @return
     */
    @Override
    public boolean isEnabled(){
        return true;
    }

    /**
     * user的权限列表
     * @return
     */
    @Override
    public Collection<? extends GrantedAuthority> getAuthorities(){
        List<GrantedAuthority> auths = new ArrayList<GrantedAuthority>();
        List<PERMISSION> permissions = this.getPermissions();
        for (PERMISSION permission : permissions) {
            auths.add(new SimpleGrantedAuthority(permission.getAuthority()));
        }
        return auths;
    }
}