zhitong.yu
7 天以前 7fc9c42987a13c1d8d2159591a5803e70518827f
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.hxzk.gps.util.GetUser;
 
import cn.dev33.satoken.stp.StpUtil;
 
import java.util.Optional;
 
// 定义一个公共的工具类
public class UserInfoUtil {
 
    // 私有化构造函数,防止实例化该工具类
    private UserInfoUtil() {
    }
 
    // 公共静态方法,用于获取用户名
    public static String getUserName() {
        String loginId = StpUtil.getLoginIdAsString();
        return splitLoginId(loginId, 0);
    }
 
    // 公共静态方法,用于获取用户角色
    public static String getUserRole() {
        String loginId = StpUtil.getLoginIdAsString();
        return splitLoginId(loginId, 1);
    }
 
    // 公共静态方法,用于获取用户所在公司
    public static String getUserCompany() {
        String loginId = StpUtil.getLoginIdAsString();
        return splitLoginId(loginId, 2);
    }
 
    // 公共静态方法,用于获取用户所在公司ID
    public static String getUserCompanyId() {
        String loginId = StpUtil.getLoginIdAsString();
        return splitLoginId(loginId, 3);
    }
 
    // 封装一个辅助方法,用于分割登录 ID 并获取指定部分
    private static String splitLoginId(String loginId, int index) {
        String[] parts = loginId.split("-");
        return parts[index];
    }
    public static String isNullGetCompanyId(String companyid){
        return Optional.ofNullable(companyid)
                .orElse(UserInfoUtil.getUserCompanyId());
    }
}