diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/uploadnew/listener/EasyExcelListener.java b/eladmin-system/src/main/java/me/zhengjie/modules/uploadnew/listener/EasyExcelListener.java index 7637653..c15fe2d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/uploadnew/listener/EasyExcelListener.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/uploadnew/listener/EasyExcelListener.java @@ -1,13 +1,17 @@ package me.zhengjie.modules.uploadnew.listener; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONUtil; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import lombok.extern.slf4j.Slf4j; import me.zhengjie.modules.formdata.domain.Formdata; +import me.zhengjie.modules.system.service.dto.UserDto; +import me.zhengjie.modules.system.service.impl.UserServiceImpl; import me.zhengjie.modules.uploadnew.service.dto.ExcelDataDTO; +import me.zhengjie.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.List; @@ -20,6 +24,8 @@ import java.util.List; public class EasyExcelListener extends AnalysisEventListener { + @Autowired + private UserServiceImpl userServiceImpl; /** * 用于存储解析的对象数据 */ @@ -28,8 +34,18 @@ public class EasyExcelListener extends AnalysisEventListener { @Override public void invoke(ExcelDataDTO excelDataDTO, AnalysisContext analysisContext) { log.info("解析到一条数据:{}", JSONUtil.toJsonStr(excelDataDTO)); + //获取操作人id + UserDto byName = userServiceImpl.findByName(SecurityUtils.getCurrentUser().getUsername()); + int sourceId; + if (ObjectUtil.isEmpty(byName)) { + //登录用户id + sourceId = byName.getId().intValue(); + } else { + //系统id + sourceId = SecurityUtils.getCurrentUserId().intValue(); + } Formdata formdata = new Formdata(); - formdata.setSourceId((int) IdUtil.getSnowflake(1, 1).nextId()); + formdata.setSourceId(sourceId); formdata.setUploadTime(DateUtil.date().toTimestamp()); formdata.setName(excelDataDTO.getName()); formdata.setAge(excelDataDTO.getAge());