liujunchi 2 лет назад
Родитель
Сommit
1934be61ac

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherDao.java

@@ -512,6 +512,9 @@ public interface TeacherDao extends BaseDAO<Integer, Teacher> {
     List<String> queryTeacherMusicIds(Map<String, Object> params);
     int countTeacherMusics(Map<String, Object> params);
 
+    List<String> queryTeacherMusicIdsV2(Map<String, Object> params);
+    int countTeacherMusicsV2(Map<String, Object> params);
+
     int countTeacherBasicInfo(Map<String, Object> params);
 
     List<SysUserDto> queryTeacherBasicInfo(Map<String, Object> params);

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherService.java

@@ -252,4 +252,6 @@ public interface TeacherService extends BaseService<Integer, Teacher> {
     * @date 2022/7/15 15:31
     */
     List<BaseMapDto<Integer,String>> queryOrganList(Integer userId);
+
+    PageInfo<TeacherMusicStudentOverViewDto> queryTeacherMusicStudentOverViewV2(TeacherServeQueryInfo queryInfo);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -740,6 +740,28 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
         return pageInfo;
     }
 
+
+    @Override
+    public PageInfo<TeacherMusicStudentOverViewDto> queryTeacherMusicStudentOverViewV2(TeacherServeQueryInfo queryInfo) {
+        PageInfo<TeacherMusicStudentOverViewDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
+
+        List<TeacherMusicStudentOverViewDto> dataList = null;
+        int count = teacherDao.countTeacherMusicsV2(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            List<String> musicGroupIds = teacherDao.queryTeacherMusicIdsV2(params);
+            dataList = musicGroupDao.queryTeacherMusicStudentOverView(musicGroupIds);
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
     @Override
     public PageInfo<SysUserDto> queryTeacherBasicInfo(UserBasicQueryInfo queryInfo) {
         PageInfo<SysUserDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());

+ 30 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -1440,6 +1440,19 @@
         </where>
     </sql>
 
+
+    <sql id="queryTeacherMusicIdsConditionV2">
+        <where>
+            csts.del_flag_=0 AND csts.group_type_='MUSIC' AND mg.del_flag_=0 AND mg.status_='PROGRESS' and csts.tenant_id_ = #{tenantId}
+            <if test="teacherId!=null">
+                AND csts.teacher_id_=#{teacherId}
+            </if>
+            <if test="search!=null and search!=''">
+                AND mg.name_ LIKE CONCAT('%', #{search}, '%')
+            </if>
+        </where>
+    </sql>
+
     <select id="queryTeacherMusicIds" resultType="string">
         SELECT csts.music_group_id_
         FROM course_schedule_teacher_salary csts
@@ -1459,6 +1472,23 @@
         <include refid="queryTeacherMusicIdsCondition"></include>
     </select>
 
+    <select id="queryTeacherMusicIdsV2" resultType="string">
+        SELECT csts.music_group_id_
+        FROM course_schedule csts
+        LEFT JOIN music_group mg ON csts.music_group_id_=mg.id_
+        <include refid="queryTeacherMusicIdsConditionV2"></include>
+        GROUP BY csts.music_group_id_
+        ORDER BY mg.create_time_ DESC, mg.id_
+        <include refid="global.limit"></include>
+    </select>
+
+    <select id="countTeacherMusicsV2" resultType="int">
+        SELECT COUNT(DISTINCT csts.music_group_id_)
+        FROM course_schedule csts
+        LEFT JOIN music_group mg ON csts.music_group_id_=mg.id_
+        <include refid="queryTeacherMusicIdsConditionV2"></include>
+    </select>
+
     <select id="getSimpleUser" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
         SELECT
             su.id_ userId,

+ 8 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherController.java

@@ -183,4 +183,12 @@ public class TeacherController extends BaseController {
         return succeed(teacherService.queryTeacherMusicStudentOverView(queryInfo));
     }
 
+
+    @ApiOperation(value = "查询教师关联的乐团预览信息")
+    @GetMapping("/queryTeacherMusicStudentOverView/v2")
+    public HttpResponseResult<PageInfo<TeacherMusicStudentOverViewDto>> queryTeacherMusicStudentOverViewV2(TeacherServeQueryInfo queryInfo){
+        queryInfo.setTeacherId(sysUserService.getUserId());
+        return succeed(teacherService.queryTeacherMusicStudentOverViewV2(queryInfo));
+    }
+
 }