瀏覽代碼

增加获取乐团各类型班级接口

周箭河 5 年之前
父節點
當前提交
9f4af06903

+ 10 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -3,6 +3,7 @@ package com.ym.mec.web.controller;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.web.dal.entity.ClassGroup;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 import com.ym.mec.web.service.ClassGroupService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -54,8 +55,15 @@ public class ClassGroupController extends BaseController {
     @ApiOperation(value = "合奏班相关班级获取")
     @GetMapping("findClassGroupAboutMix")
     public Object findClassGroupAboutMix(@ApiParam(value = "乐团编号", required = true) @RequestParam Integer musicGroupId,
-                                         @ApiParam(value = "班级编号", required = false) Integer mixClassGroupId){
-        return succeed(classGroupService.findClassGroup(musicGroupId,mixClassGroupId));
+                                         @ApiParam(value = "班级编号", required = false) Integer mixClassGroupId) {
+        return succeed(classGroupService.findClassGroup(musicGroupId, mixClassGroupId));
+    }
+
+    @ApiOperation(value = "乐团班级列表")
+    @GetMapping("findMusicGroupClass")
+    public Object findMusicGroupClass(@ApiParam(value = "乐团编号", required = true) @RequestParam Integer musicGroupId,
+                                      @ApiParam(value = "班级类型", required = true) ClassGroupTypeEnum type) {
+        return succeed(classGroupService.findAllClassGroupByMusicGroupIdAndType(musicGroupId, type));
     }
 
 }

+ 13 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/ClassGroupDao.java

@@ -1,6 +1,8 @@
 package com.ym.mec.web.dal.dao;
+
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.ClassGroup;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -10,6 +12,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 查询老师乐团课课程
+     *
      * @param teacherId
      * @return
      */
@@ -17,15 +20,25 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
 
     /**
      * 获取所有合奏班
+     *
      * @return
      */
     List<ClassGroup> findAllMixClassGroup(@Param("musicGroupId") Integer musicGroupId);
 
     /**
      * 根据合奏班ID查询该合奏班下的子班级
+     *
      * @param mixClassGroupId
      * @return
      */
     List<ClassGroup> findMixClassChildClassGroup(@Param("mixClassGroupId") Integer mixClassGroupId);
 
+    /**
+     * 根据乐团编号跟班级类型查询班级信息
+     *
+     * @param musicGroupId
+     * @param type
+     * @return
+     */
+    List<ClassGroup> findAllClassGroupByMusicGroupIdAndType(@Param("musicGroupId") int musicGroupId, @Param("type") ClassGroupTypeEnum type);
 }

+ 12 - 1
mec-web/src/main/java/com/ym/mec/web/dal/entity/ClassGroup.java

@@ -23,7 +23,10 @@ public class ClassGroup {
 	/**  */
 	@ApiModelProperty(value = "科目编号",required = false)
 	private String subjectIdList;
-	
+
+	@ApiModelProperty(value = "科目名称",required = false)
+	private String subjectName;
+
 	/** 班级名称 */
 	@ApiModelProperty(value = "班级名称",required = false)
 	private String name;
@@ -118,6 +121,14 @@ public class ClassGroup {
 		this.type = type;
 	}
 
+	public String getSubjectName() {
+		return subjectName;
+	}
+
+	public void setSubjectName(String subjectName) {
+		this.subjectName = subjectName;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 9 - 0
mec-web/src/main/java/com/ym/mec/web/service/ClassGroupService.java

@@ -2,6 +2,7 @@ package com.ym.mec.web.service;
 
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.web.dal.entity.ClassGroup;
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 
 import java.util.List;
 
@@ -21,4 +22,12 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      */
     List<ClassGroup> findClassGroup(Integer musicGroupId,Integer mixClassGroupId);
 
+    /**
+     * 根据乐团编号跟班级类型查询班级信息
+     * @param musicGroupId
+     * @param type
+     * @return
+     */
+    List<ClassGroup> findAllClassGroupByMusicGroupIdAndType(int musicGroupId, ClassGroupTypeEnum type);
+
 }

+ 6 - 0
mec-web/src/main/java/com/ym/mec/web/service/impl/ClassGroupServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ym.mec.web.service.impl;
 
+import com.ym.mec.web.dal.enums.ClassGroupTypeEnum;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -35,4 +36,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 			return classGroupDao.findMixClassChildClassGroup(mixClassGroupId);
 		}
 	}
+
+    @Override
+    public List<ClassGroup> findAllClassGroupByMusicGroupIdAndType(int musicGroupId, ClassGroupTypeEnum type) {
+		return classGroupDao.findAllClassGroupByMusicGroupIdAndType(musicGroupId,type);
+    }
 }

+ 27 - 13
mec-web/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -16,8 +16,8 @@
         <result column="type_" property="type" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="del_flag_" property="delFlag" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <!--<association property="musicGroupId" javaType="com.ym.mec.web.dal.entity.MusicGroup" >-->
-            <!--<result column="name_" property="name"/>-->
-            <!--<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>-->
+        <!--<result column="name_" property="name"/>-->
+        <!--<result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>-->
         <!--</association>-->
     </resultMap>
 
@@ -25,6 +25,7 @@
         <result column="id_" property="id"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="subject_id_list_" property="subjectIdList"/>
+        <result column="subject_name" property="subjectName"/>
         <result column="name_" property="name"/>
         <result column="student_num_" property="studentNum"/>
         <result column="create_time_" property="createTime"/>
@@ -62,13 +63,15 @@
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="ClassGroup">
-        SELECT * FROM class_group WHERE id_ = #{id}
+        UPDATE class_group SET WHERE id_ = #{id}
     </select>
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="ClassGroup">
-		SELECT * FROM class_group ORDER BY id_
-	</select>
+        SELECT *
+        FROM class_group
+        ORDER BY id_
+    </select>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.web.dal.entity.ClassGroup">
@@ -109,8 +112,9 @@
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM class_group
-	</select>
+        SELECT COUNT(*)
+        FROM class_group
+    </select>
 
     <!-- 查询根据主教助教查询班级信息 -->
     <select id="findClassGroup4Teacher" resultMap="ClassGroup4Teacher">
@@ -127,17 +131,27 @@
     </select>
     <select id="findAllMixClassGroup" resultMap="ClassGroup">
         SELECT
-            *
+        *
         FROM
-            class_group cg
-        WHERE cg.type_="MIX" AND cg.music_group_id_=#{musicGroupId}
+        class_group cg
+        WHERE cg.type_="MIX" AND cg.music_group_id_=#{musicGroupId} AND del_flag_='0'
     </select>
     <select id="findMixClassChildClassGroup" resultMap="ClassGroup">
         SELECT
-            cg.*
+        cg.*
         FROM
-            class_group_relation cgr
+        class_group_relation cgr
         LEFT JOIN class_group cg ON cgr.class_group_id_=cg.id_
-        WHERE cgr.sub_class_group_id_=#{mixClassGroupId}
+        WHERE cgr.sub_class_group_id_=#{mixClassGroupId} AND del_flag_='0'
+    </select>
+
+    <!-- 根据乐团id跟班类型获取班级信息 -->
+    <select id="findAllClassGroupByMusicGroupIdAndType" resultMap="ClassGroup">
+        SELECT
+        cg.*,
+        (SELECT group_concat(sb.name_) FROM subject sb WHERE FIND_IN_SET(sb.id_,cg.subject_id_list_)) AS subject_name
+        FROM
+        class_group cg
+        WHERE cg.music_group_id_=#{musicGroupId} AND cg.type_=#{type} AND cg.del_flag_='0'
     </select>
 </mapper>