ソースを参照

按班级类型搜索班级

周箭河 5 年 前
コミット
87f0453f09

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -428,8 +428,17 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 批量软删除班级
+     *
      * @param classGroupIds
      * @return
      */
     int batchSoftDelete(@Param("classGroupIds") List<Integer> classGroupIds);
+
+    /**
+     * 按类型获取班级
+     * @param musicGroupId
+     * @param type
+     * @return
+     */
+    List<ClassGroupTeachersDto> findClassGroupByType(String musicGroupId,ClassGroupTypeEnum type);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.ClassGroup;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPayLogQueryInfo;
@@ -304,4 +305,13 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @return int
      */
     int batchUpdateClassCourseTimes(List<Integer> classGroupIds);
+
+    /**
+     * 根据乐团id,班级类型获取班级和老师
+     * @param musicGroupId
+     * @param type
+     * @return
+     */
+    List<ClassGroupTeachersDto> getClassGroupAndTeacherByType(String musicGroupId, ClassGroupTypeEnum type);
+
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1625,4 +1625,24 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         Map<Integer, Integer> classGroupCourseTimesMap = MapUtil.convertIntegerMap(classGroupCourseTimesMaps);
         return classGroupDao.batchUpdateClassGroupCourseTimes(classGroupCourseTimesMap);
     }
+
+    @Override
+    public List<ClassGroupTeachersDto> getClassGroupAndTeacherByType(String musicGroupId, ClassGroupTypeEnum type) {
+        List<ClassGroupTeachersDto> classGroups = classGroupDao.findClassGroupByType(musicGroupId,type);
+        if(classGroups.size() == 0){
+            return null;
+        }
+        String classGroupIds = classGroups.stream().map(classGroup -> classGroup.getId().toString()).collect(Collectors.joining(","));
+
+        List<ClassGroupTeacherMapper> classGroupTeachers = classGroupTeacherMapperDao.findClassGroupTeachers(classGroupIds);
+        for (ClassGroupTeachersDto classGroup : classGroups) {
+            List<ClassGroupTeacherMapper> classGroupTeacherMappers = new ArrayList<>();
+            for (ClassGroupTeacherMapper classGroupTeacher : classGroupTeachers) {
+                if (!classGroup.getId().equals(classGroupTeacher.getClassGroupId())) continue;
+                classGroupTeacherMappers.add(classGroupTeacher);
+            }
+            classGroup.setClassGroupTeacherMapperList(classGroupTeacherMappers);
+        }
+        return classGroups;
+    }
 }

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -751,4 +751,12 @@
         </foreach>
     </delete>
 
+    <select id="findClassGroupByType" resultMap="ClassGroupTeachers">
+        SELECT * FROM class_group WHERE music_group_id_=#{musicGroupId}
+        <if test="type !=null ">
+            AND type_=#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+        </if>
+        AND del_flag_='0'
+    </select>
+
 </mapper>

+ 7 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.dto.ClassGroup4MixDto;
 import com.ym.mec.biz.dal.dto.HighClassGroupDto;
 import com.ym.mec.biz.dal.entity.ClassGroup;
 import com.ym.mec.biz.dal.entity.ClassGroupTeacherMapper;
+import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 import com.ym.mec.biz.dal.page.queryMusicGroupCourseScheduleQueryInfo;
 import com.ym.mec.biz.service.ClassGroupService;
@@ -225,9 +226,12 @@ public class ClassGroupController extends BaseController {
     @ApiOperation(value = "合奏子班列表(班级调整)")
     @GetMapping("/classGroupAndTeacher")
     @PreAuthorize("@pcs.hasPermissions('classGroup/classGroupAndTeacher')")
-    @ApiImplicitParams({@ApiImplicitParam(name = "classGroupId", value = "班级id", required = true, dataType = "int")})
-    public HttpResponseResult classGroupAndTeacher(Integer classGroupId) throws Exception {
-        return succeed(classGroupService.classGroupAndTeacher(classGroupId));
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "musicGroupId", value = "乐团id", required = true, dataType = "string"),
+            @ApiImplicitParam(name = "type", value = "班级类型", required = true, dataType = "string"),
+    })
+    public HttpResponseResult classGroupAndTeacher(String musicGroup, ClassGroupTypeEnum type) throws Exception {
+        return succeed(classGroupService.getClassGroupAndTeacherByType(musicGroup,type));
     }
 
 }