liujie
2026-09-01 503f5d1ac017eebfd473459c355bd5932b7c7ca9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.tourguide.modules.user.dto;
 
import com.tourguide.modules.user.entity.AdminUser;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
 
/** 管理后台账号的脱敏返回对象,不包含密码字段。 */
public class UserResponse {
    private final Long id;
    private final String username;
    private final String nickname;
    private final String mobile;
    private final String avatar;
    private final String roleCode;
    private final List<String> menuCodes;
    private final Integer status;
    private final LocalDateTime createdAt;
 
    private UserResponse(AdminUser user, List<String> menuCodes) {
        this.id = user.getId();
        this.username = user.getUsername();
        this.nickname = user.getNickname();
        this.mobile = user.getMobile();
        this.avatar = user.getAvatar();
        this.roleCode = user.getRoleCode();
        this.menuCodes = menuCodes;
        this.status = user.getStatus();
        this.createdAt = user.getCreatedAt();
    }
    public static UserResponse from(AdminUser user) {
        return new UserResponse(user, Collections.<String>emptyList());
    }
    public static UserResponse from(AdminUser user, List<String> menuCodes) {
        return new UserResponse(user, Collections.unmodifiableList(new ArrayList<String>(menuCodes)));
    }
    public Long getId() { return id; }
    public String getUsername() { return username; }
    public String getNickname() { return nickname; }
    public String getMobile() { return mobile; }
    public String getAvatar() { return avatar; }
    public String getRoleCode() { return roleCode; }
    public List<String> getMenuCodes() { return menuCodes; }
    public Integer getStatus() { return status; }
    public LocalDateTime getCreatedAt() { return createdAt; }
}