diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/impl/PgSchoolServiceImpl.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/impl/PgSchoolServiceImpl.java index 3c5c1df..07b4133 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/impl/PgSchoolServiceImpl.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/service/impl/PgSchoolServiceImpl.java @@ -20,6 +20,7 @@ import org.dromara.pangu.school.mapper.PgSchoolClassMapper; import org.dromara.pangu.school.mapper.PgSchoolGradeMapper; import org.dromara.pangu.school.mapper.PgSchoolMapper; import org.dromara.pangu.school.service.IPgSchoolService; +import org.dromara.common.core.service.UserService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -42,6 +43,7 @@ public class PgSchoolServiceImpl implements IPgSchoolService { private final PgGradeMapper gradeMapper; private final PgClassMapper classMapper; private final PgRegionMapper regionMapper; + private final UserService userService; @Override public TableDataInfo selectPageList(PgSchool school, PageQuery pageQuery) { @@ -281,9 +283,20 @@ public class PgSchoolServiceImpl implements IPgSchoolService { classNameMap = classes.stream().collect(java.util.stream.Collectors.toMap(PgClass::getClassId, PgClass::getClassName)); } + // 批量查询创建人昵称 + Set createByIds = schools.stream() + .map(PgSchool::getCreateBy) + .filter(id -> id != null) + .collect(Collectors.toSet()); + Map userNicknameMap = new HashMap<>(); + if (!createByIds.isEmpty()) { + userNicknameMap = userService.selectUserNamesByIds(new ArrayList<>(createByIds)); + } + // 构建树形结构 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List result = new ArrayList<>(); + Map finalUserNicknameMap = userNicknameMap; for (PgSchool s : schools) { SchoolTreeNode schoolNode = new SchoolTreeNode(); @@ -296,7 +309,8 @@ public class PgSchoolServiceImpl implements IPgSchoolService { schoolNode.setRegionId(s.getRegionId()); schoolNode.setStatus(s.getStatus()); schoolNode.setCreateTime(s.getCreateTime() != null ? sdf.format(s.getCreateTime()) : null); - schoolNode.setCreateBy(s.getCreateBy() != null ? s.getCreateBy().toString() : null); + // 使用昵称而不是ID + schoolNode.setCreateBy(s.getCreateBy() != null ? finalUserNicknameMap.getOrDefault(s.getCreateBy(), s.getCreateBy().toString()) : null); schoolNode.setSchoolId(s.getSchoolId()); // 查找该学校的年级