| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package com.izouma.walkchina.domain;
- import com.fasterxml.jackson.annotation.JsonIgnore;
- import com.fasterxml.jackson.annotation.JsonInclude;
- import lombok.AllArgsConstructor;
- import lombok.Builder;
- import lombok.Data;
- import lombok.NoArgsConstructor;
- import org.hibernate.annotations.Where;
- import org.springframework.data.annotation.CreatedDate;
- import org.springframework.data.annotation.LastModifiedDate;
- import org.springframework.security.core.GrantedAuthority;
- import org.springframework.security.core.authority.SimpleGrantedAuthority;
- import org.springframework.security.core.userdetails.UserDetails;
- import javax.persistence.*;
- import javax.validation.constraints.Email;
- import javax.validation.constraints.NotNull;
- import java.util.Collection;
- import java.util.Collections;
- import java.util.Date;
- @Data
- @Entity
- @JsonInclude(JsonInclude.Include.NON_NULL)
- @NoArgsConstructor
- @AllArgsConstructor
- @Builder
- @Where(clause = "active = 1")
- public class UserInfo implements UserDetails {
- private static final long serialVersionUID = 6392705780780532944L;
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private Long id;
- @Column(unique = true)
- private String username;
- private String nickname;
- @JsonIgnore
- @NotNull
- private String password;
- private String openId;
- private String unionId;
- private String avatar;
- private String phone;
- @Email
- private String email;
- private Date birthday;
- private String country;
- private String province;
- private String city;
- @Column(columnDefinition = "integer default 0")
- private Integer sex;
- @CreatedDate
- private Date createdAt;
- @LastModifiedDate
- private Date modifiedAt;
- @Column(columnDefinition = "bit default 1", nullable = false)
- @Builder.Default
- private Boolean active = true;
- @Override
- @JsonIgnore
- public Collection<? extends GrantedAuthority> getAuthorities() {
- return Collections.singletonList(new SimpleGrantedAuthority("user"));
- }
- @Override
- @JsonIgnore
- public boolean isAccountNonExpired() {
- return true;
- }
- @Override
- @JsonIgnore
- public boolean isAccountNonLocked() {
- return true;
- }
- @Override
- @JsonIgnore
- public boolean isCredentialsNonExpired() {
- return true;
- }
- @Override
- @JsonIgnore
- public boolean isEnabled() {
- return active;
- }
- }
|