|
|
|
@ -12,11 +12,7 @@ import com.ruoyi.common.utils.spring.SpringUtils;
|
|
|
|
|
import com.ruoyi.system.domain.SysPost;
|
|
|
|
|
import com.ruoyi.system.domain.SysUserPost;
|
|
|
|
|
import com.ruoyi.system.domain.SysUserRole;
|
|
|
|
|
import com.ruoyi.system.mapper.SysPostMapper;
|
|
|
|
|
import com.ruoyi.system.mapper.SysRoleMapper;
|
|
|
|
|
import com.ruoyi.system.mapper.SysUserMapper;
|
|
|
|
|
import com.ruoyi.system.mapper.SysUserPostMapper;
|
|
|
|
|
import com.ruoyi.system.mapper.SysUserRoleMapper;
|
|
|
|
|
import com.ruoyi.system.mapper.*;
|
|
|
|
|
import com.ruoyi.system.service.ISysConfigService;
|
|
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
@ -489,17 +485,45 @@ public class SysUserServiceImpl implements ISysUserService {
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public void addAll(List<SysUser> userList) {
|
|
|
|
|
// 新增用户信息
|
|
|
|
|
userMapper.addAll(userList);
|
|
|
|
|
// 新增用户与角色管理
|
|
|
|
|
List<SysUserRole> list = new ArrayList<>(userList.size());
|
|
|
|
|
for (SysUser user : userList) {
|
|
|
|
|
SysUserRole ur = new SysUserRole();
|
|
|
|
|
ur.setUserId(user.getUserId());
|
|
|
|
|
ur.setRoleId(user.getRoleId());
|
|
|
|
|
list.add(ur);
|
|
|
|
|
int batchSize = 50;
|
|
|
|
|
int totalSize = userList.size();
|
|
|
|
|
int fullBatches = totalSize / batchSize;
|
|
|
|
|
int remainingItems = totalSize % batchSize;
|
|
|
|
|
// 处理完整的批次
|
|
|
|
|
for (int i = 0; i < fullBatches; i++) {
|
|
|
|
|
int startIndex = i * batchSize;
|
|
|
|
|
int endIndex = (i + 1) * batchSize;
|
|
|
|
|
List<SysUser> subList = userList.subList(startIndex, endIndex);
|
|
|
|
|
// 批量新增用户信息
|
|
|
|
|
userMapper.addAll(subList);
|
|
|
|
|
// 批量新增用户与角色关联信息
|
|
|
|
|
List<SysUserRole> userRoleList = new ArrayList<>();
|
|
|
|
|
for (SysUser user : subList) {
|
|
|
|
|
SysUserRole ur = new SysUserRole();
|
|
|
|
|
ur.setUserId(user.getUserId());
|
|
|
|
|
ur.setRoleId(user.getRoleId());
|
|
|
|
|
userRoleList.add(ur);
|
|
|
|
|
}
|
|
|
|
|
userRoleMapper.batchUserRole(userRoleList);
|
|
|
|
|
}
|
|
|
|
|
userRoleMapper.batchUserRole(list);
|
|
|
|
|
|
|
|
|
|
// 处理余数的数据
|
|
|
|
|
if (remainingItems > 0) {
|
|
|
|
|
int startIndex = fullBatches * batchSize;
|
|
|
|
|
List<SysUser> remainingList = userList.subList(startIndex, totalSize);
|
|
|
|
|
// 批量新增用户信息
|
|
|
|
|
userMapper.addAll(remainingList);
|
|
|
|
|
// 批量新增用户与角色关联信息
|
|
|
|
|
List<SysUserRole> userRoleList = new ArrayList<>();
|
|
|
|
|
for (SysUser user : remainingList) {
|
|
|
|
|
SysUserRole ur = new SysUserRole();
|
|
|
|
|
ur.setUserId(user.getUserId());
|
|
|
|
|
ur.setRoleId(user.getRoleId());
|
|
|
|
|
userRoleList.add(ur);
|
|
|
|
|
}
|
|
|
|
|
userRoleMapper.batchUserRole(userRoleList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|