【system】修复loginUser的字段

pull/3/head
fengshuonan 2020-12-19 23:14:42 +08:00
parent 8e19ef6257
commit 19e1ff039a
12 changed files with 75 additions and 64 deletions

View File

@ -23,18 +23,18 @@ public class LoginUser implements Serializable {
/**
* id
*/
private Long id;
private Long userId;
/**
*
*/
private String realName;
/**
*
*/
private String account;
/**
*
*/
private String name;
/**
* /id
*/

View File

@ -158,7 +158,7 @@ public class AuthServiceImpl implements AuthServiceApi {
LoginUser loginUser = userValidateInfo.getLoginUser();
// 6.生成用户的token
DefaultJwtPayload defaultJwtPayload = new DefaultJwtPayload(loginUser.getId(), loginUser.getAccount(), loginRequest.getRememberMe());
DefaultJwtPayload defaultJwtPayload = new DefaultJwtPayload(loginUser.getUserId(), loginUser.getAccount(), loginRequest.getRememberMe());
String jwtToken = JwtContext.me().generateTokenDefaultPayload(defaultJwtPayload);
synchronized (SESSION_OPERATE_LOCK) {
@ -175,7 +175,7 @@ public class AuthServiceImpl implements AuthServiceApi {
// 9.更新用户登录时间和ip
String ip = HttpServletUtil.getRequestClientIp(HttpServletUtil.getRequest());
userServiceApi.updateUserLoginInfo(loginUser.getId(), new Date(), ip);
userServiceApi.updateUserLoginInfo(loginUser.getUserId(), new Date(), ip);
// 10.组装返回结果
return new LoginResponse(loginUser, jwtToken);

View File

@ -50,7 +50,7 @@ public class MemoryCacheSessionManager implements SessionManagerApi {
loginUserCache.put(getTokenKey(token), loginUser);
// 装配用户token的缓存
String userIdKey = getUserIdKey(loginUser.getId());
String userIdKey = getUserIdKey(loginUser.getUserId());
Set<String> theUserTokens = loginTokenCache.get(userIdKey);
if (theUserTokens == null) {
HashSet<String> tempUserTokens = new HashSet<>();
@ -74,7 +74,7 @@ public class MemoryCacheSessionManager implements SessionManagerApi {
// 删除用户id对应token的缓存
if (loginUser != null) {
Long userId = loginUser.getId();
Long userId = loginUser.getUserId();
Set<String> userTokens = loginTokenCache.get(getUserIdKey(userId));
if (userTokens != null) {
userTokens.remove(token);
@ -102,7 +102,7 @@ public class MemoryCacheSessionManager implements SessionManagerApi {
}
// 获取用户id
Long userId = session.getId();
Long userId = session.getUserId();
// 设置用户id对应的token列表为参数token
HashSet<String> tokenSet = new HashSet<>();

View File

@ -1,8 +1,8 @@
package cn.stylefeng.roses.kernel.auth.session;
import com.alibaba.fastjson.parser.ParserConfig;
import cn.stylefeng.roses.kernel.auth.api.SessionManagerApi;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
import com.alibaba.fastjson.parser.ParserConfig;
import org.springframework.data.redis.core.RedisTemplate;
import java.util.HashSet;
@ -57,7 +57,7 @@ public class RedisSessionManager implements SessionManagerApi {
loginUserRedisTemplate.opsForValue().set(getTokenKey(token), loginUser, sessionExpiredSeconds, TimeUnit.SECONDS);
// 装配用户token的缓存
String userIdKey = getUserIdKey(loginUser.getId());
String userIdKey = getUserIdKey(loginUser.getUserId());
Set<String> theUserTokens = loginTokenRedisTemplate.opsForValue().get(userIdKey);
if (theUserTokens == null) {
HashSet<String> tempUserTokens = new HashSet<>();
@ -82,7 +82,7 @@ public class RedisSessionManager implements SessionManagerApi {
// 删除用户id对应token的缓存
if (loginUser != null) {
Long userId = loginUser.getId();
Long userId = loginUser.getUserId();
Set<String> userTokens = loginTokenRedisTemplate.opsForValue().get(getUserIdKey(userId));
if (userTokens != null) {
userTokens.remove(token);
@ -110,7 +110,7 @@ public class RedisSessionManager implements SessionManagerApi {
}
// 获取用户id
Long userId = session.getId();
Long userId = session.getUserId();
// 设置用户id对应的token列表为参数token
HashSet<String> tokenSet = new HashSet<>();

View File

@ -1,8 +1,8 @@
package cn.stylefeng.roses.kernel.db.mp.fieldfill;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.ibatis.reflection.ReflectionException;
@ -64,7 +64,7 @@ public class CustomMetaObjectHandler implements MetaObjectHandler {
private Long getUserUniqueId() {
try {
return LoginContext.me().getLoginUser().getId();
return LoginContext.me().getLoginUser().getUserId();
} catch (Exception e) {
//如果获取不到就返回-1
return -1L;

View File

@ -29,7 +29,7 @@ public class AuthedLogAppender {
// 填充登录用户的userId
LoginUser loginUser = LoginContext.me().getLoginUser();
logRecordDTO.setUserId(loginUser.getId());
logRecordDTO.setUserId(loginUser.getUserId());
} catch (Exception ignored) {
// 获取不到用户登录信息,就不填充
}

View File

@ -81,7 +81,12 @@ public enum SysUserExceptionEnum implements AbstractExceptionEnum {
/**
*
*/
UPDATE_USER_STATUS_ERROR(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "59", "更新用户状态错误更新生效数量0");;
UPDATE_USER_STATUS_ERROR(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "59", "更新用户状态错误更新生效数量0"),
/**
*
*/
USER_NOT_HAVE_MENUS(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "60", "当前用户未分配菜单");
/**
*

View File

@ -22,37 +22,36 @@ public class SysAppRequest extends BaseRequest {
/**
*
*/
@NotNull(message = "id不能为空请检查id参数", groups = {edit.class, delete.class, detail.class})
private Long id;
@NotNull(message = "appId不能为空", groups = {edit.class, delete.class, detail.class})
private Long appId;
/**
*
*/
@NotBlank(message = "名称不能为空请检查name参数", groups = {add.class, edit.class})
@NotBlank(message = "名称不能为空", groups = {add.class, edit.class})
@TableUniqueValue(
message = "名称存在重复请检查name参数",
message = "名称存在重复",
groups = {add.class, edit.class},
tableName = "sys_app",
columnName = "name")
private String name;
columnName = "app_name")
private String appName;
/**
*
*/
@NotBlank(message = "编码不能为空请检查code参数", groups = {add.class, edit.class})
@NotBlank(message = "编码不能为空", groups = {add.class, edit.class})
@TableUniqueValue(
message = "编码存在重复请检查code参数",
message = "编码存在重复",
groups = {add.class, edit.class},
tableName = "sys_app",
columnName = "code")
private String code;
columnName = "app_code")
private String appCode;
/**
* Y-N-,
*
* Y-N-
*/
@NotBlank(message = "是否默认激活不能为空请检查active参数", groups = {add.class, edit.class})
@FlagValue(message = "是否默认激活格式错误正确格式应该Y或者N请检查active参数", groups = {add.class, edit.class})
@NotBlank(message = "是否默认激活不能为空", groups = {add.class, edit.class})
@FlagValue(message = "是否默认激活格式错误正确格式应该Y或者N", groups = {add.class, edit.class})
private String activeFlag;
}

View File

@ -17,17 +17,17 @@ public class SysAppResponse implements Serializable {
/**
* id
*/
private Long id;
private Long appId;
/**
*
*/
private String name;
private String appName;
/**
*
*/
private String code;
private String appCode;
/**
* Y-N-

View File

@ -1,9 +1,9 @@
package cn.stylefeng.roses.kernel.app.modular.entity;
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -21,35 +21,35 @@ public class SysApp extends BaseEntity {
/**
* id
*/
@TableId("id")
private Long id;
@TableId("app_id")
private Long appId;
/**
*
*/
@TableField("name")
private String name;
@TableField("app_name")
private String appName;
/**
*
*/
@TableField("code")
private String code;
@TableField("app_code")
private String appCode;
/**
* Y-N-
* Y-N-
*/
@TableField("active_flag")
private String activeFlag;
/**
* 1 2
* 1-2-
*/
@TableField("status_flag")
private Integer statusFlag;
/**
* Y-N-
* Y-N-
*/
@TableField("del_flag")
private String delFlag;

View File

@ -3,10 +3,6 @@ package cn.stylefeng.roses.kernel.app.modular.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.app.modular.entity.SysApp;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.stylefeng.roses.kernel.app.modular.mapper.SysAppMapper;
import cn.stylefeng.roses.kernel.app.modular.service.SysAppService;
import cn.stylefeng.roses.kernel.db.api.factory.PageFactory;
@ -20,6 +16,10 @@ import cn.stylefeng.roses.kernel.system.AppServiceApi;
import cn.stylefeng.roses.kernel.system.MenuServiceApi;
import cn.stylefeng.roses.kernel.system.exception.enums.AppExceptionEnum;
import cn.stylefeng.roses.kernel.system.pojo.app.request.SysAppRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -73,7 +73,7 @@ public class SysAppServiceImpl extends ServiceImpl<SysAppMapper, SysApp> impleme
@Override
public void delete(SysAppRequest sysAppRequest) {
SysApp sysApp = this.querySysApp(sysAppRequest);
String code = sysApp.getCode();
String code = sysApp.getAppCode();
// 该应用下有菜单,则不能删除
boolean hasMenu = menuApi.hasMenu(code);
@ -126,15 +126,15 @@ public class SysAppServiceImpl extends ServiceImpl<SysAppMapper, SysApp> impleme
HashSet<SimpleDict> simpleDicts = new HashSet<>();
LambdaQueryWrapper<SysApp> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysApp::getCode, appCodes);
queryWrapper.select(SysApp::getCode, SysApp::getId, SysApp::getName);
queryWrapper.in(SysApp::getAppCode, appCodes);
queryWrapper.select(SysApp::getAppCode, SysApp::getAppId, SysApp::getAppName);
List<SysApp> list = this.list(queryWrapper);
for (SysApp sysApp : list) {
SimpleDict simpleDict = new SimpleDict();
simpleDict.setId(sysApp.getId());
simpleDict.setCode(sysApp.getCode());
simpleDict.setName(sysApp.getName());
simpleDict.setId(sysApp.getAppId());
simpleDict.setCode(sysApp.getAppCode());
simpleDict.setName(sysApp.getAppName());
simpleDicts.add(simpleDict);
}
@ -148,7 +148,7 @@ public class SysAppServiceImpl extends ServiceImpl<SysAppMapper, SysApp> impleme
* @date 2020/3/26 9:56
*/
private SysApp querySysApp(SysAppRequest sysAppRequest) {
SysApp sysApp = this.getById(sysAppRequest.getId());
SysApp sysApp = this.getById(sysAppRequest.getAppId());
if (ObjectUtil.isNull(sysApp)) {
throw new ServiceException(AppExceptionEnum.APP_NOT_EXIST);
}
@ -170,7 +170,7 @@ public class SysAppServiceImpl extends ServiceImpl<SysAppMapper, SysApp> impleme
// 排除自己
if (excludeSelf) {
appQueryWrapperByActive.ne(SysApp::getId, sysAppRequest.getId());
appQueryWrapperByActive.ne(SysApp::getAppId, sysAppRequest.getAppId());
}
int countByActive = this.count(appQueryWrapperByActive);
@ -191,18 +191,18 @@ public class SysAppServiceImpl extends ServiceImpl<SysAppMapper, SysApp> impleme
LambdaQueryWrapper<SysApp> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotNull(sysAppRequest)) {
// 根据id查询
if (ObjectUtil.isNotEmpty(sysAppRequest.getId())) {
queryWrapper.eq(SysApp::getId, sysAppRequest.getId());
if (ObjectUtil.isNotEmpty(sysAppRequest.getAppId())) {
queryWrapper.eq(SysApp::getAppId, sysAppRequest.getAppId());
}
// 根据名称模糊查询
if (ObjectUtil.isNotEmpty(sysAppRequest.getName())) {
queryWrapper.like(SysApp::getName, sysAppRequest.getName());
if (ObjectUtil.isNotEmpty(sysAppRequest.getAppName())) {
queryWrapper.like(SysApp::getAppName, sysAppRequest.getAppName());
}
// 根据编码模糊查询
if (ObjectUtil.isNotEmpty(sysAppRequest.getCode())) {
queryWrapper.like(SysApp::getCode, sysAppRequest.getCode());
if (ObjectUtil.isNotEmpty(sysAppRequest.getAppCode())) {
queryWrapper.like(SysApp::getAppCode, sysAppRequest.getAppCode());
}
}

View File

@ -43,7 +43,9 @@ import cn.stylefeng.roses.kernel.system.MenuServiceApi;
import cn.stylefeng.roses.kernel.system.RoleServiceApi;
import cn.stylefeng.roses.kernel.system.constants.SymbolConstant;
import cn.stylefeng.roses.kernel.system.constants.SystemConstants;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.exception.enums.SysMenuExceptionEnum;
import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.pojo.menu.tree.LoginMenuTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.tree.MenuBaseTreeNode;
@ -150,6 +152,11 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
List<Long> menuIdList = getCurrentUserMenuIds();
// 当前用户没有菜单
if (menuIdList.isEmpty()) {
throw new SystemModularException(SysUserExceptionEnum.USER_NOT_HAVE_MENUS);
}
// 获取菜单列表
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysMenu::getMenuId, menuIdList)