diff --git a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/domain/PgSchool.java b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/domain/PgSchool.java index 45cc33a..2d777e7 100644 --- a/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/domain/PgSchool.java +++ b/backend/ruoyi-modules/pangu-business/src/main/java/org/dromara/pangu/school/domain/PgSchool.java @@ -1,6 +1,7 @@ package org.dromara.pangu.school.domain; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; @@ -48,4 +49,10 @@ public class PgSchool extends BaseEntity { private String delFlag; private String remark; + + /** + * 区域名称(非数据库字段,用于展示) + */ + @TableField(exist = false) + private String regionName; } 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 4497279..20743e1 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 @@ -7,7 +7,9 @@ import lombok.RequiredArgsConstructor; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.pangu.base.domain.PgGrade; +import org.dromara.pangu.base.domain.PgRegion; import org.dromara.pangu.base.mapper.PgGradeMapper; +import org.dromara.pangu.base.mapper.PgRegionMapper; import org.dromara.pangu.school.domain.PgSchool; import org.dromara.pangu.school.domain.PgSchoolClass; import org.dromara.pangu.school.domain.PgSchoolGrade; @@ -20,6 +22,9 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * 学校 Service 实现 @@ -34,17 +39,49 @@ public class PgSchoolServiceImpl implements IPgSchoolService { private final PgSchoolGradeMapper schoolGradeMapper; private final PgSchoolClassMapper schoolClassMapper; private final PgGradeMapper gradeMapper; + private final PgRegionMapper regionMapper; @Override public TableDataInfo selectPageList(PgSchool school, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(school); Page page = baseMapper.selectPage(pageQuery.build(), lqw); + // 填充区域名称 + fillRegionName(page.getRecords()); return TableDataInfo.build(page); } @Override public List selectList(PgSchool school) { - return baseMapper.selectList(buildQueryWrapper(school)); + List list = baseMapper.selectList(buildQueryWrapper(school)); + fillRegionName(list); + return list; + } + + /** + * 填充区域名称 + */ + private void fillRegionName(List schools) { + if (schools == null || schools.isEmpty()) { + return; + } + // 收集所有区域ID + Set regionIds = schools.stream() + .map(PgSchool::getRegionId) + .filter(id -> id != null) + .collect(Collectors.toSet()); + if (regionIds.isEmpty()) { + return; + } + // 批量查询区域信息 + List regions = regionMapper.selectBatchIds(regionIds); + Map regionMap = regions.stream() + .collect(Collectors.toMap(PgRegion::getRegionId, PgRegion::getRegionName)); + // 填充区域名称 + for (PgSchool s : schools) { + if (s.getRegionId() != null) { + s.setRegionName(regionMap.get(s.getRegionId())); + } + } } @Override diff --git a/frontend/ruoyi-ui/src/views/business/school/components/SchoolDialog.vue b/frontend/ruoyi-ui/src/views/business/school/components/SchoolDialog.vue index 21d2f29..9285e08 100644 --- a/frontend/ruoyi-ui/src/views/business/school/components/SchoolDialog.vue +++ b/frontend/ruoyi-ui/src/views/business/school/components/SchoolDialog.vue @@ -17,11 +17,11 @@ - - - - - + + + + + diff --git a/frontend/ruoyi-ui/src/views/business/school/index.vue b/frontend/ruoyi-ui/src/views/business/school/index.vue index 54facac..63be018 100644 --- a/frontend/ruoyi-ui/src/views/business/school/index.vue +++ b/frontend/ruoyi-ui/src/views/business/school/index.vue @@ -53,7 +53,11 @@ - + + +