LoginUserUtil 是一个用于在web端商户平台中快速获取当前登录用户信息的工具类。所有方法都是静态方法,可以直接调用。
Integer userId = LoginUserUtil.getCurrentUserId();
if (userId != null) {
// 用户已登录,使用userId
} else {
// 用户未登录
}
StoreUser storeUser = LoginUserUtil.getCurrentStoreUser();
if (storeUser != null) {
Integer userId = storeUser.getId();
String phone = storeUser.getPhone();
Integer storeId = storeUser.getStoreId();
// ... 使用其他字段
}
if (LoginUserUtil.isLogin()) {
// 已登录
} else {
// 未登录
}
Integer targetUserId = 12345;
if (LoginUserUtil.isCurrentUser(targetUserId)) {
// 是当前用户,允许操作
} else {
// 不是当前用户,拒绝操作
}
| 方法 | 返回值 | 说明 | 是否查数据库 |
|---|---|---|---|
getCurrentUserId() |
Integer | 用户ID | ❌ |
getCurrentUserPhone() |
String | 手机号 | ❌ |
getCurrentUserType() |
String | 用户类型 | ❌ |
getCurrentUserInfo() |
JSONObject | Token中的用户信息 | ❌ |
getCurrentStoreUser() |
StoreUser | 完整用户信息 | ✅ |
getCurrentStoreId() |
Integer | 门店ID | ✅ |
isLogin() |
boolean | 是否已登录 | ❌ |
isCurrentUser(userId) |
boolean | 是否为当前用户 | ❌ |
@Service
public class OrderServiceImpl {
public void createOrder(Order order) {
// 自动填充当前用户信息
order.setUserId(LoginUserUtil.getCurrentUserId());
order.setStoreId(LoginUserUtil.getCurrentStoreId());
orderMapper.insert(order);
}
}
@Service
public class StoreServiceImpl {
public void updateStore(Integer storeId, StoreInfo info) {
Integer currentStoreId = LoginUserUtil.getCurrentStoreId();
if (!storeId.equals(currentStoreId)) {
throw new RuntimeException("只能修改自己的门店");
}
// 执行更新
}
}
null,使用前需判空getCurrentStoreUser())性能较慢,避免频繁调用getCurrentStoreUser()一次性获取,避免多次查询请查看完整文档:LOGIN_USER_UTIL_GUIDE.md
使用示例代码:LoginUserUtilExample.java
版本: v1.0
日期: 2025-11-17
作者: ssk