解决初始化系统时调用系统用户获取工具类方法报错导致系统无法正常启动问题

This commit is contained in:
1378012178@qq.com 2026-01-23 09:19:20 +08:00
parent 2b2debfe30
commit 96383804dc
1 changed files with 12 additions and 3 deletions

View File

@ -27,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import me.zhyd.oauth.utils.UuidUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.UnavailableSecurityManagerException;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.vo.LoginUser;
import org.springframework.beans.BeanUtils;
@ -276,9 +277,17 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
dh.setReportingTime(reportingTime);
baseMapper.updateValue(dh);
dh.setOptType("read");
try {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (sysUser != null) {
dh.setOptBy(sysUser.getUsername());
} else {
dh.setOptBy("system_scheduler");
}
} catch (UnavailableSecurityManagerException e) {
// 定时任务线程使用系统用户
dh.setOptBy("system_scheduler");
log.debug("Using system user for scheduled task");
}
baseMapper.insertLog(dh);
syncStatusMq(dh);