diff --git a/src/main/java/com/yunhai/bschclassmanage/controller/api/SchsystemController.java b/src/main/java/com/yunhai/bschclassmanage/controller/api/SchsystemController.java index 5acf785..587e0f1 100644 --- a/src/main/java/com/yunhai/bschclassmanage/controller/api/SchsystemController.java +++ b/src/main/java/com/yunhai/bschclassmanage/controller/api/SchsystemController.java @@ -8,6 +8,7 @@ import com.yunhai.bschclassmanage.enums.UserRole; import com.yunhai.bschclassmanage.enums.UserType; import com.yunhai.bschclassmanage.model.vo.AcademicStageSchsystemVO; import com.yunhai.bschclassmanage.model.vo.SelectIntVO; +import com.yunhai.bschclassmanage.model.vo.TreeSelectVO; import com.yunhai.bschclassmanage.service.IComSchTreeService; import com.yunhai.bschclassmanage.service.ISchBinSchsystemService; import com.yunhai.bschclassmanage.utils.LogContextHolder; @@ -126,5 +127,10 @@ public class SchsystemController { return schBinSchsystemService.selectSchBinSchsystem(UserContext.getSchId()); } + @GetMapping("selectTree") + public List selectSchsystemTree() { + return schBinSchsystemService.selectSchsystemTree(); + } + } diff --git a/src/main/java/com/yunhai/bschclassmanage/model/vo/TreeSelectVO.java b/src/main/java/com/yunhai/bschclassmanage/model/vo/TreeSelectVO.java new file mode 100644 index 0000000..80d7282 --- /dev/null +++ b/src/main/java/com/yunhai/bschclassmanage/model/vo/TreeSelectVO.java @@ -0,0 +1,23 @@ +package com.yunhai.bschclassmanage.model.vo; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * @Author wanghu + * @Date 2026-6-10 15:09 (可以根据需要修改) + * @Description: + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TreeSelectVO { + private String title; + private Integer value; + private List children; +} diff --git a/src/main/java/com/yunhai/bschclassmanage/service/ISchBinSchsystemService.java b/src/main/java/com/yunhai/bschclassmanage/service/ISchBinSchsystemService.java index d95fcc8..08f644a 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/ISchBinSchsystemService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/ISchBinSchsystemService.java @@ -5,6 +5,7 @@ import com.yunhai.bschclassmanage.enums.AcademicStage; import com.yunhai.bschclassmanage.enums.SchType; import com.yunhai.bschclassmanage.model.vo.AcademicStageSchsystemVO; import com.yunhai.bschclassmanage.model.vo.SelectIntVO; +import com.yunhai.bschclassmanage.model.vo.TreeSelectVO; import org.springframework.stereotype.Service; import java.util.List; @@ -31,7 +32,10 @@ public interface ISchBinSchsystemService { List selectSchBinSchsystem(Integer schId); + List selectSchsystemTree(); + Map getSchBinSchsystemMap(Integer schId); + } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/BaseSchsystemService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/BaseSchsystemService.java index 9889903..da8c853 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/BaseSchsystemService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/BaseSchsystemService.java @@ -3,6 +3,7 @@ package com.yunhai.bschclassmanage.service.impl; import com.yunhai.bschclassmanage.Repository.BaseSchsystemGradeRepository; import com.yunhai.bschclassmanage.Repository.BaseSchsystemRepository; import com.yunhai.bschclassmanage.entity.BaseSchsystem; +import com.yunhai.bschclassmanage.model.vo.TreeSelectVO; import com.yunhai.bschclassmanage.service.IBaseSchsystemService; import com.yunhai.bschclassmanage.utils.RedisConstants; import com.yunhai.bschclassmanage.utils.RedisUtil; diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java index 599e115..0c78173 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/SchBinSchsystemService.java @@ -9,6 +9,7 @@ import com.yunhai.bschclassmanage.model.entityField.EntityFieldNames; import com.yunhai.bschclassmanage.model.vo.AcademicStageSchsystemVO; import com.yunhai.bschclassmanage.model.vo.SchSystemVO; import com.yunhai.bschclassmanage.model.vo.SelectIntVO; +import com.yunhai.bschclassmanage.model.vo.TreeSelectVO; import com.yunhai.bschclassmanage.service.IBaseSchsystemGradeService; import com.yunhai.bschclassmanage.service.IBaseSchsystemService; import com.yunhai.bschclassmanage.service.ISchBinSchsystemService; @@ -209,4 +210,27 @@ public class SchBinSchsystemService implements ISchBinSchsystemService { (oldVal, newVal) -> oldVal // 若key冲突,保留旧值(理论上不会冲突) )); } + + //学制树:第一层学段(value=学段id,title=学段名称),第二层学制(value=学制id,title=学制名称) + public List selectSchsystemTree() { + List cached = getAcademicStageSchsystemList(null); + List list = new ArrayList<>(); + for (AcademicStageSchsystemVO item : cached) { + List children = new ArrayList<>(); + if (item.getAcademicStageList() != null) { + for (SchSystemVO sys : item.getAcademicStageList()) { + children.add(TreeSelectVO.builder() + .value(sys.getId()) + .title(sys.getName()) + .build()); + } + } + list.add(TreeSelectVO.builder() + .value(item.getAcademicStageId()) + .title(item.getAcademicStageName()) + .children(children) + .build()); + } + return list; + } } diff --git a/src/main/java/com/yunhai/bschclassmanage/service/impl/sync/SyncGroupService.java b/src/main/java/com/yunhai/bschclassmanage/service/impl/sync/SyncGroupService.java index bc73144..586f693 100644 --- a/src/main/java/com/yunhai/bschclassmanage/service/impl/sync/SyncGroupService.java +++ b/src/main/java/com/yunhai/bschclassmanage/service/impl/sync/SyncGroupService.java @@ -28,13 +28,14 @@ public class SyncGroupService implements ISyncGroupService { if(Objects.equals(group.getType(),NodeType.SCHOOL.getId())){ addOrUpdateSchool(group); } + if(Objects.equals(group.getType(),NodeType.CLASS.getId())){ - - //添加班级组 202406 - //添加班级 gradeid ? - - // 获取年级组 2024 获取当前学校学制 >1 获取学段组 初中 高中 + { + //添加班级组 需要 年级组id + //判断是否绑定了学制 + //判断年级组是哪个学制的 年级组名称(2026) 学制下的 年级id(grade_id) + } } }