debug,用户导入

This commit is contained in:
磷叶 2025-03-12 14:32:43 +08:00
parent 431a718d2e
commit 30a9545e0e

View File

@ -1,5 +1,25 @@
package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import javax.validation.Validator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.github.pagehelper.PageHelper;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.auth.wx.WxAuthService;
@ -38,22 +58,6 @@ import com.ruoyi.yh.logImport.domain.enums.LogImportType;
import com.ruoyi.yh.logImport.service.LogImportService;
import com.ruoyi.yh.logImportDetail.domain.enums.LogImportDetailType;
import com.ruoyi.yh.logImportDetail.service.ILogImportDetailService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionTemplate;
import javax.validation.Validator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
* 用户 业务层处理
@ -563,11 +567,26 @@ public class SysUserServiceImpl implements ISysUserService
// 获取Security上下文
Authentication auth = SecurityUtils.getAuthentication();
// 保存当前请求上下文如果存在
ServletRequestAttributes requestAttributes = null;
try {
requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
} catch (Exception e) {
log.debug("无法获取当前请求上下文", e);
}
final ServletRequestAttributes finalRequestAttributes = requestAttributes;
// 开始异步导入
scheduledExecutorService.schedule(() -> {
try {
// 设置当前Security上下文
SecurityUtils.setAuthentication(auth);
// 恢复请求上下文如果之前保存了
if (finalRequestAttributes != null) {
RequestContextHolder.setRequestAttributes(finalRequestAttributes, true);
}
// 查询部门列表
List<SysDept> deptList = deptService.selectDeptListByNames(CollectionUtils.map(userList, SysUserVO::getDeptName));
SysDept defaultDept = new SysDept();
@ -626,9 +645,12 @@ public class SysUserServiceImpl implements ISysUserService
// 修改导入状态为处理完成
logImportService.updateLogToFinished(importLog.getLogId());
} finally {
// 清理请求上下文避免内存泄漏
RequestContextHolder.resetRequestAttributes();
}
}, 0, TimeUnit.SECONDS);
return userList.size();
}