|
@@ -109,7 +109,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public boolean saveUser(UserSaveParams userSaveParams) {
|
|
|
- return saveUserCommon(userSaveParams);
|
|
|
+ return saveUserCommon(userSaveParams,null);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -295,7 +295,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public boolean saveCustomer(UserSaveParams userSaveParams) {
|
|
|
- return saveUserCommon(userSaveParams);
|
|
|
+ return saveUserCommon(userSaveParams,null);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -335,15 +335,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
* @param userSaveParams
|
|
|
* @return
|
|
|
*/
|
|
|
- public boolean saveUserCommon(UserSaveParams userSaveParams) {
|
|
|
+ public boolean saveUserCommon(UserSaveParams userSaveParams,Long requestUserId) {
|
|
|
SysUserService sysUserService = SpringContextHolder.getBean(SysUserService.class);
|
|
|
boolean isSuccess = true;
|
|
|
try {
|
|
|
- Long schoolId = Objects.nonNull(ServletUtil.getRequestHeaderSchoolIdByNotVaild()) ? Long.valueOf(ServletUtil.getRequestHeaderSchoolIdByNotVaild().toString()) : null;
|
|
|
+ Long schoolId = userSaveParams.getSchoolId();
|
|
|
if (schoolId == null) {
|
|
|
- schoolId = userSaveParams.getSchoolId();
|
|
|
+ schoolId = Objects.nonNull(ServletUtil.getRequestHeaderSchoolIdByNotVaild()) ? Long.valueOf(ServletUtil.getRequestHeaderSchoolIdByNotVaild().toString()) : null;
|
|
|
+ }
|
|
|
+ if (!SystemConstant.longNotNull(requestUserId)){
|
|
|
+ SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ requestUserId = requestUser.getId();
|
|
|
}
|
|
|
- SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
|
|
String code = userSaveParams.getCode();
|
|
|
String mobileNumber = userSaveParams.getMobileNumber();
|
|
@@ -368,17 +371,27 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
userSaveParams.setSchoolId(schoolId);
|
|
|
SysUser sysUser = gson.fromJson(gson.toJson(userSaveParams), SysUser.class);
|
|
|
if (Objects.isNull(sysUser.getId())) {//新增用户
|
|
|
- sysUser.insertInfo(requestUser.getId());
|
|
|
+ sysUser.insertInfo(requestUserId);
|
|
|
sysUserService.save(sysUser);
|
|
|
commonService.addUserRolePrivilege(sysUser, userSaveParams.getRoleIds());
|
|
|
} else {//修改用户
|
|
|
List<SysUserRole> sysUserRoleList = commonCacheService.userRolePrivilegeCache(sysUser.getId());
|
|
|
List<Long> userRolesList = Arrays.asList(userSaveParams.getRoleIds());
|
|
|
Set<Long> dbUserRolesList = sysUserRoleList.stream().map(SysUserRole::getRoleId).collect(Collectors.toSet());
|
|
|
- int count = (int) dbUserRolesList.stream().filter(s -> userRolesList.contains(s)).count();
|
|
|
+ int count = (int) dbUserRolesList.stream().filter(userRolesList::contains).count();
|
|
|
SysUser dbUser = sysUserService.getById(sysUser.getId());
|
|
|
- sysUser.updateInfo(requestUser.getId());
|
|
|
- sysUserService.updateById(sysUser);
|
|
|
+ sysUserService.update(new UpdateWrapper<SysUser>().lambda()
|
|
|
+ .eq(SysUser::getId,sysUser.getId())
|
|
|
+ .set(SysUser::getSchoolId,userSaveParams.getSchoolId())
|
|
|
+ .set(SysUser::getLoginName,sysUser.getLoginName())
|
|
|
+ .set(SysUser::getRealName,sysUser.getRealName())
|
|
|
+ .set(SysUser::getCode,sysUser.getCode())
|
|
|
+ .set(SysUser::getMobileNumber,sysUser.getMobileNumber())
|
|
|
+ .set(SysUser::getOrgId,sysUser.getOrgId())
|
|
|
+ .set(SysUser::getEnable,sysUser.getEnable())
|
|
|
+ .set(SysUser::getUpdateId,requestUserId)
|
|
|
+ .set(SysUser::getUpdateTime,System.currentTimeMillis())
|
|
|
+ );
|
|
|
//如果修改了角色,需要重新登录
|
|
|
if (count == 0 || dbUserRolesList.size() != userRolesList.size()) {
|
|
|
QueryWrapper<SysUserRole> sysUserRoleQueryWrapper = new QueryWrapper<>();
|
|
@@ -553,7 +566,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
public Map<String, Object> executeSysUserImportLogic(List<LinkedMultiValueMap<Integer, Object>> finalList, Map<String, Object> map) throws NoSuchAlgorithmException {
|
|
|
SysUser sysUser = (SysUser) map.get(SystemConstant.SYS_USER);
|
|
|
Long schoolId = sysUser.getSchoolId();
|
|
|
- List<UserSaveParams> userSaveParamsList = new ArrayList<>();
|
|
|
+// List<UserSaveParams> userSaveParamsList = new ArrayList<>();
|
|
|
for (int i = 0; i < finalList.size(); i++) {
|
|
|
LinkedMultiValueMap<Integer, Object> excelMap = finalList.get(i);
|
|
|
List<Object> sysUserImportDtoList = excelMap.get(i);
|
|
@@ -579,46 +592,50 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
if (Objects.nonNull(oldUser)) {
|
|
|
oldUserId = oldUser.getId();
|
|
|
}
|
|
|
+ String loginName = code;
|
|
|
if (SystemConstant.longNotNull(oldUserId)) {
|
|
|
// 编辑
|
|
|
userSaveParams.setId(oldUserId);
|
|
|
+ loginName = oldUser.getLoginName();
|
|
|
}
|
|
|
userSaveParams.setOrgId(orgId);
|
|
|
userSaveParams.setRealName(name);
|
|
|
+ userSaveParams.setLoginName(loginName);
|
|
|
userSaveParams.setRoleIds(roleIdList.toArray(new Long[0]));
|
|
|
if (SystemConstant.strNotNull(phoneNumber)) {
|
|
|
userSaveParams.setMobileNumber(phoneNumber);
|
|
|
}
|
|
|
userSaveParams.setCode(code);
|
|
|
- userSaveParamsList.add(userSaveParams);
|
|
|
+ userSaveParams.setSchoolId(schoolId);
|
|
|
+ this.saveUserCommon(userSaveParams,sysUser.getId());
|
|
|
+// userSaveParamsList.add(userSaveParams);
|
|
|
}
|
|
|
}
|
|
|
- UserBatchDisposeResult userBatchDisposeResult = this.disposeUserInfoHelp(userSaveParamsList, sysUser);
|
|
|
- List<SysUser> sysUserList = userBatchDisposeResult.getUserList();
|
|
|
- List<SysUserRole> sysUserRoleList = userBatchDisposeResult.getUserRoleList();
|
|
|
- Set<Long> removeUserIdSet = userBatchDisposeResult.getRemoveIdSet();
|
|
|
- Set<Long> updateUserIdSet = userBatchDisposeResult.getUpdateIdSet();
|
|
|
- // TODO: 2021/9/1 可以优化 或者直接批量导入变成单个导入 循环调用
|
|
|
- // 保存用户
|
|
|
- this.saveOrUpdateBatch(sysUserList);
|
|
|
- // 要更新的用户删除原先的权限
|
|
|
- for (Long id : removeUserIdSet) {
|
|
|
- QueryWrapper<SysUserRole> sysUserRoleQueryWrapper = new QueryWrapper<>();
|
|
|
- sysUserRoleQueryWrapper.lambda().eq(SysUserRole::getUserId, id);
|
|
|
- sysUserRoleService.remove(sysUserRoleQueryWrapper);
|
|
|
- commonCacheService.removeUserRolePrivilegeCache(id);
|
|
|
- }
|
|
|
- // 更新用户角色权限
|
|
|
- sysUserRoleService.saveOrUpdateBatch(sysUserRoleList);
|
|
|
- // 要更新的角色删除缓存
|
|
|
- for (Long id : removeUserIdSet) {
|
|
|
- commonService.removeUserInfo(id, true);
|
|
|
- }
|
|
|
- // 基础数据变更更新缓存
|
|
|
- for (Long id : updateUserIdSet) {
|
|
|
- commonCacheService.updateUserCache(id);
|
|
|
- commonCacheService.updateUserAuthCache(id);
|
|
|
- }
|
|
|
+// UserBatchDisposeResult userBatchDisposeResult = this.disposeUserInfoHelp(userSaveParamsList, sysUser);
|
|
|
+// List<SysUser> sysUserList = userBatchDisposeResult.getUserList();
|
|
|
+// List<SysUserRole> sysUserRoleList = userBatchDisposeResult.getUserRoleList();
|
|
|
+// Set<Long> removeUserIdSet = userBatchDisposeResult.getRemoveIdSet();
|
|
|
+// Set<Long> updateUserIdSet = userBatchDisposeResult.getUpdateIdSet();
|
|
|
+// // 保存用户
|
|
|
+// this.saveOrUpdateBatch(sysUserList);
|
|
|
+// // 要更新的用户删除原先的权限
|
|
|
+// for (Long id : removeUserIdSet) {
|
|
|
+// QueryWrapper<SysUserRole> sysUserRoleQueryWrapper = new QueryWrapper<>();
|
|
|
+// sysUserRoleQueryWrapper.lambda().eq(SysUserRole::getUserId, id);
|
|
|
+// sysUserRoleService.remove(sysUserRoleQueryWrapper);
|
|
|
+// commonCacheService.removeUserRolePrivilegeCache(id);
|
|
|
+// }
|
|
|
+// // 更新用户角色权限
|
|
|
+// sysUserRoleService.saveOrUpdateBatch(sysUserRoleList);
|
|
|
+// // 要更新的角色删除缓存
|
|
|
+// for (Long id : removeUserIdSet) {
|
|
|
+// commonService.removeUserInfo(id, true);
|
|
|
+// }
|
|
|
+// // 基础数据变更更新缓存
|
|
|
+// for (Long id : updateUserIdSet) {
|
|
|
+// commonCacheService.updateUserCache(id);
|
|
|
+// commonCacheService.updateUserAuthCache(id);
|
|
|
+// }
|
|
|
return map;
|
|
|
}
|
|
|
|
|
@@ -799,6 +816,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
|
* @param master 创建人信息
|
|
|
* @return 处理后的结果
|
|
|
*/
|
|
|
+ @Deprecated
|
|
|
private UserBatchDisposeResult disposeUserInfoHelp(List<UserSaveParams> userSaveParamsList, SysUser master) throws NoSuchAlgorithmException {
|
|
|
Long schoolId = master.getSchoolId();
|
|
|
List<SysUser> userList = new ArrayList<>();
|