Bläddra i källkod

feat:课外训练学员列表新增乐团搜索

Joburgess 4 år sedan
förälder
incheckning
9109b9e747

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ExtracurricularExercisesDao.java

@@ -36,6 +36,7 @@ public interface ExtracurricularExercisesDao extends BaseDAO<Long, Extracurricul
      */
     List<BasicUserDto> findNoExercisesStudentsInThisWeekWithTeacher(@Param("teacherId") Integer teacherId,
                                                                     @Param("startDate") String startDate,
+                                                                    @Param("musicGroupId") String musicGroupId,
                                                                     @Param("search") String search);
 
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -4,6 +4,7 @@ import java.math.BigDecimal;
 import java.util.*;
 
 import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.Subject;
 
 import org.apache.ibatis.annotations.Param;
@@ -450,4 +451,13 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
      * @param calenderId
      */
     void updatePaymentStatusByClaenderId(Long calenderId);
+
+    /**
+     * @describe 查询学员在读进行中乐团
+     * @author Joburgess
+     * @date 2021/1/29 0029
+     * @param studentIds:
+     * @return java.util.List<com.ym.mec.biz.dal.entity.MusicGroup>
+     */
+    List<MusicGroup> getStudentNormalMusicGroups(@Param("studentIds") Set<Integer> studentIds);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/ExtracurricularExercisesService.java

@@ -36,7 +36,7 @@ public interface ExtracurricularExercisesService extends BaseService<Long, Extra
      * @param search:
      * @return java.util.List<com.ym.mec.biz.dal.dto.SimpleUserDto>
      */
-    List<BasicUserDto> getDontServeStudents(Integer teacherId, String search);
+    List<BasicUserDto> getDontServeStudents(Integer teacherId, String search, String musicGroupId);
 
     /**
      * @describe 应布置课外训练提醒

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ExtracurricularExercisesServiceImpl.java

@@ -168,10 +168,10 @@ public class ExtracurricularExercisesServiceImpl extends BaseServiceImpl<Long, E
 	}
 
 	@Override
-	public List<BasicUserDto> getDontServeStudents(Integer teacherId, String search) {
+	public List<BasicUserDto> getDontServeStudents(Integer teacherId, String search, String musicGroupId) {
 		LocalDate nowDate = LocalDateTime.now(DateUtil.zoneId).toLocalDate();
 		LocalDate monDayDate = nowDate.with(DateUtil.weekFields.dayOfWeek(), DayOfWeek.MONDAY.getValue());
-		return extracurricularExercisesDao.findNoExercisesStudentsInThisWeekWithTeacher(teacherId, monDayDate.toString(), search);
+		return extracurricularExercisesDao.findNoExercisesStudentsInThisWeekWithTeacher(teacherId, monDayDate.toString(), musicGroupId, search);
 	}
 
 	@Override

+ 7 - 1
mec-biz/src/main/resources/config/mybatis/ExtracurricularExercisesMapper.xml

@@ -169,6 +169,9 @@
 			GROUP_CONCAT(sub.name_) subjectName
 		FROM
 			student_extracurricular_exercises_situation_ sees
+			<if test="musicGroupId!=null and musicGroupId!=''">
+				LEFT JOIN student_registration sr ON sees.student_id_=sr.user_id_
+			</if>
 			LEFT JOIN student stu ON stu.user_id_ = sees.student_id_
 			LEFT JOIN sys_user su ON su.id_ = sees.student_id_
 			LEFT JOIN `subject` sub ON FIND_IN_SET( sub.id_, stu.subject_id_list_ )
@@ -177,7 +180,10 @@
 			AND sees.teacher_id_ = #{teacherId}
 			AND sees.actual_exercises_num_ &lt; sees.expect_exercises_num_
 			AND sees.serve_type_ = 'EXERCISE'
-		<if test="search!=null">
+			<if test="musicGroupId!=null and musicGroupId!=''">
+				AND sr.music_group_id_=#{musicGroupId}
+			</if>
+			<if test="search!=null">
 				AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT(#{search}, '%'))
 			</if>
 		GROUP BY su.id_

+ 14 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -765,6 +765,20 @@
             #{item}
         </foreach>
     </select>
+    <select id="getStudentNormalMusicGroups" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.MusicGroup">
+        SELECT DISTINCT
+            mg.*
+        FROM
+            student_registration sr
+            LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
+        WHERE
+            mg.status_ = 'PROGRESS'
+            AND sr.music_group_status_ = 'NORMAL'
+            AND sr.user_id_ IN
+            <foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
+                #{studentId}
+            </foreach>
+    </select>
     <!-- 批量删除信息 -->
     <delete id="batchDelete">
         DELETE FROM student_registration WHERE id_ IN

+ 28 - 2
mec-teacher/src/main/java/com/ym/mec/teacher/controller/ExtracurricularExercisesController.java

@@ -2,7 +2,10 @@ package com.ym.mec.teacher.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
+import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.entity.ExtracurricularExercises;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.page.ExtraExercilseQueryInfo;
 import com.ym.mec.biz.service.ExtracurricularExercisesReplyService;
 import com.ym.mec.biz.service.ExtracurricularExercisesService;
@@ -12,12 +15,17 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Collections;
+import java.util.List;
 import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * @Author Joburgess
@@ -34,6 +42,8 @@ public class ExtracurricularExercisesController extends BaseController {
     private ExtracurricularExercisesReplyService extracurricularExercisesReplyService;
     @Autowired
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private StudentRegistrationDao studentRegistrationDao;
 
     @ApiOperation(value = "创建课外训练")
     @PostMapping("/createExtraExercises")
@@ -69,11 +79,27 @@ public class ExtracurricularExercisesController extends BaseController {
 
     @ApiOperation(value = "获取待布置学员列表")
     @GetMapping("/getDontServeStudents")
-    public HttpResponseResult getDontServeStudents(String search){
+    public HttpResponseResult getDontServeStudents(String search, String musicGroupId){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(Objects.isNull(sysUser)){
+            return failed(HttpStatus.FORBIDDEN,"请登录");
+        }
+        return succeed(extracurricularExercisesService.getDontServeStudents(sysUser.getId(), search, musicGroupId));
+    }
+
+    @ApiOperation(value = "获取待布置学员乐团列表")
+    @GetMapping("/getDontServeStudentMusicGroups")
+    public HttpResponseResult getDontServeStudentMusicGroups(String search){
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if(Objects.isNull(sysUser)){
             return failed(HttpStatus.FORBIDDEN,"请登录");
         }
-        return succeed(extracurricularExercisesService.getDontServeStudents(sysUser.getId(), search));
+        List<BasicUserDto> dontServeStudents = extracurricularExercisesService.getDontServeStudents(sysUser.getId(), search, null);
+        if(CollectionUtils.isEmpty(dontServeStudents)){
+            return succeed(Collections.emptyList());
+        }
+        Set<Integer> studentIds = dontServeStudents.stream().map(BasicUserDto::getUserId).collect(Collectors.toSet());
+        List<MusicGroup> studentNormalMusicGroups = studentRegistrationDao.getStudentNormalMusicGroups(studentIds);
+        return succeed(studentNormalMusicGroups);
     }
 }