|
@@ -713,63 +713,65 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|
if (sysUserImportDtoList.get(0) instanceof DescribeImportDto) {
|
|
if (sysUserImportDtoList.get(0) instanceof DescribeImportDto) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+
|
|
// 处理机构
|
|
// 处理机构
|
|
- if (sysUserImportDtoList.get(0) instanceof SysUserImportDto){
|
|
|
|
|
|
+ if (sysUserImportDtoList.get(0) instanceof SysUserImportDto) {
|
|
List<SysUserImportDto> datasource = sysUserImportDtoList.stream().map(e -> {
|
|
List<SysUserImportDto> datasource = sysUserImportDtoList.stream().map(e -> {
|
|
SysUserImportDto sysUserImportDto = new SysUserImportDto();
|
|
SysUserImportDto sysUserImportDto = new SysUserImportDto();
|
|
- BeanUtils.copyProperties(e,sysUserImportDto);
|
|
|
|
|
|
+ BeanUtils.copyProperties(e, sysUserImportDto);
|
|
return sysUserImportDto;
|
|
return sysUserImportDto;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
// 机构信息
|
|
// 机构信息
|
|
List<String> orgInfoList = datasource.stream().map(SysUserImportDto::getOrgName).distinct().collect(Collectors.toList());
|
|
List<String> orgInfoList = datasource.stream().map(SysUserImportDto::getOrgName).distinct().collect(Collectors.toList());
|
|
|
|
+ // 提前创建或获取机构信息并存入map
|
|
|
|
+ Map<String, Long> orgInfoMap = sysOrgService.createOrGetOrgByOrgInfo(orgInfoList, requestUser);
|
|
|
|
+ for (SysUserImportDto sysUserImportDto : datasource) {
|
|
|
|
+ String name = sysUserImportDto.getName();
|
|
|
|
+ String code = sysUserImportDto.getCode();
|
|
|
|
+ String phoneNumber = sysUserImportDto.getPhoneNumber();
|
|
|
|
+ String orgName = sysUserImportDto.getOrgName();
|
|
|
|
+ if (!orgInfoMap.containsKey(orgName)){
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("在解析的机构map集合中,没有找到excel数据中的用户机构名称【" + orgName + "】");
|
|
|
|
+ }
|
|
|
|
+ // 直接解析机构id
|
|
|
|
+ Long orgId = orgInfoMap.get(orgName);
|
|
|
|
+ String roleName = sysUserImportDto.getRoleName();
|
|
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- for (int y = 0; y < Objects.requireNonNull(sysUserImportDtoList).size(); y++) {
|
|
|
|
- SysUserImportDto sysUserImportDto = (SysUserImportDto) sysUserImportDtoList.get(y);
|
|
|
|
- String name = sysUserImportDto.getName();
|
|
|
|
- String code = sysUserImportDto.getCode();
|
|
|
|
- String phoneNumber = sysUserImportDto.getPhoneNumber();
|
|
|
|
- String orgName = sysUserImportDto.getOrgName();
|
|
|
|
- String roleName = sysUserImportDto.getRoleName();
|
|
|
|
|
|
+ UserSaveParams userSaveParams = new UserSaveParams();
|
|
|
|
|
|
- UserSaveParams userSaveParams = new UserSaveParams();
|
|
|
|
- Long orgId = this.analyzeOrgName(schoolId, orgName);
|
|
|
|
- LinkedHashSet<Long> roleIdList = this.analyzeRoleName(schoolId, roleName);
|
|
|
|
|
|
+ LinkedHashSet<Long> roleIdList = this.analyzeRoleName(schoolId, roleName);
|
|
|
|
|
|
- SysUser oldUser = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getCode, code).eq(SysUser::getSchoolId, schoolId));
|
|
|
|
- Long oldUserId = null;
|
|
|
|
- Set<Long> oldRoleIdSet = new HashSet<>();
|
|
|
|
- if (Objects.nonNull(oldUser)) {
|
|
|
|
- oldUserId = oldUser.getId();
|
|
|
|
- oldRoleIdSet = new HashSet<>(sysRoleService.getUserRoles(oldUserId));
|
|
|
|
- }
|
|
|
|
- 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);
|
|
|
|
- userSaveParams.setSchoolId(schoolId);
|
|
|
|
- Long upUserId = this.saveUserCommon(userSaveParams, requestUser.getId());
|
|
|
|
- if (SystemConstant.longNotNull(upUserId)) {
|
|
|
|
-
|
|
|
|
- Set<Long> currentRoleIdSet = new HashSet<>(Arrays.asList(userSaveParams.getRoleIds()));
|
|
|
|
- List<PushUserTrack> pushUserTrackList = pushUserTrackService.createPushTrackUser(oldRoleIdSet, currentRoleIdSet, upUserId, true, requestUser.getId());
|
|
|
|
- List<UserPushParam> userPushParamCell = pushUserTrackService.analyzeUserPushSpecialPrivilege(pushUserTrackList);
|
|
|
|
- if (userPushParamCell != null && userPushParamCell.size() > 0) {
|
|
|
|
- userPushParamList.addAll(userPushParamCell);
|
|
|
|
|
|
+ SysUser oldUser = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getCode, code).eq(SysUser::getSchoolId, schoolId));
|
|
|
|
+ Long oldUserId = null;
|
|
|
|
+ Set<Long> oldRoleIdSet = new HashSet<>();
|
|
|
|
+ if (Objects.nonNull(oldUser)) {
|
|
|
|
+ oldUserId = oldUser.getId();
|
|
|
|
+ oldRoleIdSet = new HashSet<>(sysRoleService.getUserRoles(oldUserId));
|
|
|
|
+ }
|
|
|
|
+ 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);
|
|
|
|
+ userSaveParams.setSchoolId(schoolId);
|
|
|
|
+ Long upUserId = this.saveUserCommon(userSaveParams, requestUser.getId());
|
|
|
|
+ if (SystemConstant.longNotNull(upUserId)) {
|
|
|
|
+
|
|
|
|
+ Set<Long> currentRoleIdSet = new HashSet<>(Arrays.asList(userSaveParams.getRoleIds()));
|
|
|
|
+ List<PushUserTrack> pushUserTrackList = pushUserTrackService.createPushTrackUser(oldRoleIdSet, currentRoleIdSet, upUserId, true, requestUser.getId());
|
|
|
|
+ List<UserPushParam> userPushParamCell = pushUserTrackService.analyzeUserPushSpecialPrivilege(pushUserTrackList);
|
|
|
|
+ if (userPushParamCell != null && userPushParamCell.size() > 0) {
|
|
|
|
+ userPushParamList.addAll(userPushParamCell);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|