Bladeren bron

update乐团课表详情,修改接口,其他bug修改

zouxuan 5 jaren geleden
bovenliggende
commit
fe75003c1c

+ 18 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -298,7 +298,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<Map<Integer, Integer>> countQuitNum(@Param("classGroupIds") String classGroupIds);
 
     /**
-     * 获取乐团详情---课表详情列表
+     * 获取乐团详情---课酬调整
      *
      * @param params
      * @return
@@ -306,7 +306,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     List<MusicGroupCourseScheduleDto> queryMusicGroupCourseSchedule(Map<String, Object> params);
 
     /**
-     * COUNT乐团详情---课表详情列表
+     * COUNT乐团详情---课酬调整
      *
      * @param params
      * @return
@@ -314,6 +314,22 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
     int countMusicGroupCourseSchedule(Map<String, Object> params);
 
     /**
+     * 获取乐团详情---课表详情列表
+     *
+     * @param params
+     * @return
+     */
+    List<MusicGroupCourseScheduleDto> queryMusicGroupCourseScheduleDetail(Map<String, Object> params);
+
+    /**
+     * COUNT乐团详情---课表详情列表
+     *
+     * @param params
+     * @return
+     */
+    int countMusicGroupCourseScheduleDetail(Map<String, Object> params);
+
+    /**
      * 根据班级编号列表获取班级名称
      *
      * @param classGroupIds

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -187,4 +187,10 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
      */
     MusicGroup findMusicGroup(List<Long> list);
 
+    /**
+     * 获取乐团名称
+     * @param musicGroupIds
+     * @return
+     */
+    List<Map<String, String>> queryMusicGroupNameMap(@Param("musicGroupIds") Set<String> musicGroupIds);
 }

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/BasicUserDto.java

@@ -12,6 +12,26 @@ public class BasicUserDto {
 
     private Integer gender;
 
+    private String musicGroupId;
+
+    private String musicGroupName;
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public String getMusicGroupName() {
+        return musicGroupName;
+    }
+
+    public void setMusicGroupName(String musicGroupName) {
+        this.musicGroupName = musicGroupName;
+    }
+
     public String getSubjectName() {
         return subjectName;
     }

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

@@ -271,11 +271,18 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
     PageInfo<MusicGroupClassGroupDto> queryMusicGroupClassGroup(QueryInfo queryInfo);
 
     /**
-     * 乐团详情-----课表详情
+     * 乐团详情-----课酬调整
      * @param queryInfo
      * @return
      */
     PageInfo<MusicGroupCourseScheduleDto> queryMusicGroupCourseSchedule(queryMusicGroupCourseScheduleQueryInfo queryInfo);
+
+    /**
+     * 乐团详情-----课表详情
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<MusicGroupCourseScheduleDto> queryMusicGroupCourseScheduleDetail(queryMusicGroupCourseScheduleQueryInfo queryInfo);
     
     /**
      * 批量新增班级上的课次数

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

@@ -1831,6 +1831,54 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             pageInfo.setTotal(count);
             params.put("offset", pageInfo.getOffset());
             dataList = classGroupDao.queryMusicGroupCourseSchedule(params);
+            //所有课程编号的列表
+            List<Integer> couseScheduleIds = dataList.stream().map(MusicGroupCourseScheduleDto::getCourseScheduleId).distinct().collect(Collectors.toList());
+
+            //主教老师
+            List<CourseScheduleTeacherSalary> bishopTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "BISHOP");
+            Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleBishopTeacherMaps = bishopTeachers.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
+
+            //助教老师
+            List<CourseScheduleTeacherSalary> teachingTeachers = courseScheduleTeacherSalaryDao.findByCourseScheduleIdsAndTeacherRole(couseScheduleIds, "TEACHING");
+            Map<Long, List<CourseScheduleTeacherSalary>> courseScheduleTeachingTeacherMaps = teachingTeachers.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
+
+            dataList.forEach(e -> {
+                List<CourseScheduleTeacherSalary> currentBishopTeacher = courseScheduleBishopTeacherMaps.get(e.getCourseScheduleId().longValue());
+                List<CourseScheduleTeacherSalary> TeachingTeachers = new ArrayList<>();
+                if (!Objects.isNull(currentBishopTeacher) && !CollectionUtils.isEmpty(currentBishopTeacher)) {
+                    e.setMasterTeacherId(currentBishopTeacher.get(0).getUserId());
+                    e.setMasterTeacherName(currentBishopTeacher.get(0).getUserName());
+                } else {
+                    currentBishopTeacher = new ArrayList<>();
+                }
+                TeachingTeachers.addAll(currentBishopTeacher);
+                List<CourseScheduleTeacherSalary> currentCourseTeachingTeachers = courseScheduleTeachingTeacherMaps.get(e.getCourseScheduleId().longValue());
+                if (Objects.isNull(currentCourseTeachingTeachers) || CollectionUtils.isEmpty(currentCourseTeachingTeachers)) {
+                    currentCourseTeachingTeachers = new ArrayList<>();
+                }
+                TeachingTeachers.addAll(currentCourseTeachingTeachers);
+                e.setTeachingTeachers(TeachingTeachers);
+                e.setTeacherNum(TeachingTeachers.size());
+            });
+        }
+        if (count == 0) {
+            dataList = new ArrayList<>();
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
+
+    @Override
+    public PageInfo<MusicGroupCourseScheduleDto> queryMusicGroupCourseScheduleDetail(queryMusicGroupCourseScheduleQueryInfo queryInfo) {
+        PageInfo<MusicGroupCourseScheduleDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<>();
+        MapUtil.populateMap(params, queryInfo);
+        List<MusicGroupCourseScheduleDto> dataList = null;
+        int count = classGroupDao.countMusicGroupCourseScheduleDetail(params);
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = classGroupDao.queryMusicGroupCourseScheduleDetail(params);
             //获取当前合奏班班级编号列表
 //            Set<Integer> mixClassGroupIds = dataList.stream().map(e -> e.getMixClassGroupId()).collect(Collectors.toSet());
 //            String mixClassGroupIdsStr = StringUtils.join(mixClassGroupIds, ",");

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -189,7 +189,18 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 			}
 		}
 		List<BasicUserDto> userDtos = teacherDao.queryGroupStudents(teacherId, search);
-		teachers.addAll(userDtos);
+		if(userDtos != null && userDtos.size() > 0){
+			teachers.addAll(userDtos);
+			Set<String> musicGroupIds = userDtos.stream().map(e -> e.getMusicGroupId()).collect(Collectors.toSet());
+			if(musicGroupIds != null && musicGroupIds.size() > 0){
+				Map<String, String> musicGroupNameMap = MapUtil.convertIntegerMap(musicGroupDao.queryMusicGroupNameMap(musicGroupIds));
+				userDtos.forEach(e->{
+					if(StringUtils.isNotEmpty(musicGroupNameMap.get(e.getMusicGroupId()))){
+						e.setName(musicGroupNameMap.get(e.getMusicGroupId()) + " " + e.getName());
+					}
+				});
+			}
+		}
 		return teachers;
 	}
 

+ 36 - 4
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -537,7 +537,22 @@
 
     <sql id="queryMusicGroupCourseScheduleSql">
         <where>
-            cg.del_flag_ = 0 AND (ta.teacher_id_ = cs.actual_teacher_id_ OR ta.id_ IS NULL) AND cg.group_type_ = 'MUSIC'
+            cg.del_flag_ = 0 AND cg.group_type_ = 'MUSIC'
+            <if test="startTime != null">
+                AND cs.class_date_ &gt;= #{startTime}
+            </if>
+            <if test="endTime != null">
+                AND cs.class_date_ &lt;= #{endTime}
+            </if>
+            <if test="musicGroupId != null">
+                AND cg.music_group_id_ = #{musicGroupId}
+            </if>
+        </where>
+    </sql>
+
+    <sql id="queryMusicGroupCourseScheduleDetailSql">
+        <where>
+            (ta.teacher_id_ = cs.actual_teacher_id_ OR ta.id_ IS NULL) AND cg.group_type_ = 'MUSIC'
             <if test="classScheduleType != null">
                 AND cs.type_ = #{classScheduleType}
             </if>
@@ -575,23 +590,40 @@
     </resultMap>
     <select id="queryMusicGroupCourseSchedule" resultMap="MusicGroupCourseScheduleDto">
         SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.class_group_id_,
+        cs.type_ course_schedule_type_,cg.name_ course_schedule_name_
+        FROM course_schedule cs
+        LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
+        <include refid="queryMusicGroupCourseScheduleSql"/>
+        ORDER BY cs.class_date_ ,cs.start_class_time_ ,cg.name_
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="countMusicGroupCourseSchedule" resultType="java.lang.Integer">
+        SELECT COUNT(cs.id_)
+        FROM course_schedule cs
+        LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
+        <include refid="queryMusicGroupCourseScheduleSql"/>
+    </select>
+
+    <select id="queryMusicGroupCourseScheduleDetail" resultMap="MusicGroupCourseScheduleDto">
+        SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.class_group_id_,
         cs.type_ course_schedule_type_,cs.status_ course_schedule_status_,cg.name_ course_schedule_name_,
         IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,
         IF(ta.sign_out_status_ IS NULL,3,ta.sign_out_status_) sign_out_status_
         FROM course_schedule cs
         LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
-        <include refid="queryMusicGroupCourseScheduleSql"/>
+        <include refid="queryMusicGroupCourseScheduleDetailSql"/>
         ORDER BY cs.class_date_ ,cs.start_class_time_ ,cg.name_
         <include refid="global.limit"/>
     </select>
 
-    <select id="countMusicGroupCourseSchedule" resultType="java.lang.Integer">
+    <select id="countMusicGroupCourseScheduleDetail" resultType="java.lang.Integer">
         SELECT COUNT(cs.id_)
         FROM course_schedule cs
         LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
         LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
-        <include refid="queryMusicGroupCourseScheduleSql"/>
+        <include refid="queryMusicGroupCourseScheduleDetailSql"/>
     </select>
 
     <select id="findNameById" resultType="java.util.Map">

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

@@ -239,6 +239,7 @@
 		<result column="user_id_" property="userId" />
 		<result column="head_url_" property="headUrl" />
 		<result column="gender_" property="gender"/>
+		<result column="music_group_id_" property="musicGroupId"/>
 	</resultMap>
 
 	<select id="findTeachersByStuId" resultMap="BasicUserDto">
@@ -395,4 +396,11 @@
 		</foreach>
 		AND mg.id_ IS NOT NULL LIMIT 1
 	</select>
+	<select id="queryMusicGroupNameMap" resultType="java.util.Map">
+		SELECT id_ 'key',name_ 'value' FROM music_group WHERE id_ IN
+		<foreach collection="musicGroupIds" open="(" close=")" item="item" separator=",">
+			#{item}
+		</foreach>
+		AND name_ IS NOT NULL
+	</select>
 </mapper>

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

@@ -393,7 +393,7 @@
         <result property="nextPaymentDate" column="next_payment_date_"/>
     </resultMap>
     <select id="queryMusicGroupStudent" resultMap="MusicGroupStudentsDto">
-        SELECT sr.user_id_,su.username_ real_name_,su.gender_,sr.parents_phone_,sr.current_grade_,
+        SELECT sr.user_id_,su.username_ real_name_,su.gender_,su.phone_ parents_phone_,sr.current_grade_,
         sr.current_class_,sr.music_group_status_,mgsf.next_payment_date_,mgsf.course_fee_,
         s.name_ subject_name_,sr.music_group_id_,
         IF(DATE_FORMAT(sr.create_time_,'%Y-%m-%d') > DATE_FORMAT(mg.payment_expire_date_,'%Y-%m-%d'),1,0) is_new_student_

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

@@ -250,7 +250,7 @@
         SELECT * FROM teacher WHERE certificate_num_ = #{certificateNum} LIMIT 1
     </select>
     <select id="queryGroupStudents" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
-        SELECT su.username_,su.id_ user_id_,su.avatar_ head_url_,su.gender_,s.name_ subject_name_
+        SELECT su.username_,su.id_ user_id_,su.avatar_ head_url_,su.gender_,s.name_ subject_name_,sr.music_group_id_
         FROM class_group_teacher_mapper cgtm
         LEFT JOIN class_group_student_mapper cgsm ON cgtm.class_group_id_ = cgsm.class_group_id_
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
@@ -260,7 +260,7 @@
         <if test="search != null">
             AND su.username_ LIKE CONCAT('%',#{search},'%')
         </if>
-        GROUP BY su.id_,s.id_
+        GROUP BY su.id_,s.id_,sr.id_
     </select>
     <select id="queryNameByIds" resultType="java.util.Map" parameterType="list">
         select id_ `key`,IF(real_name_ IS NUll,'',real_name_) `value` FROM sys_user s WHERE FIND_IN_SET(id_,#{userIds})

+ 0 - 43
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java

@@ -86,49 +86,6 @@ public class SysMessageController extends BaseController {
 		}
 		return succeed(map);
 	}
-/*
-	@ApiOperation(value = "发送短信验证码")
-	@PostMapping("/sendSmsCode")
-	public Object sendSmsCode(String sendCodeType, String mobileNo) {
-
-		SysUser sysUser;
-
-		if (StringUtils.isBlank(mobileNo)) {
-			sysUser = sysUserFeignService.queryUserInfo();
-		} else {
-			sysUser = sysUserFeignService.queryUserByMobile(mobileNo);
-		}
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
-		Integer userId = sysUser.getId();
-
-		mobileNo = sysUser.getPhone();
-
-		MessageType messageType = MessageType.getMessageType(sendCodeType);
-		if (messageType == null) {
-			throw new BizException("消息类型参数错误");
-		}
-		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
-			throw new BizException("请输入正确的手机号");
-		}
-		sysMessageService.sendSecurityCode(MessageSender.YIMEI, userId, MessageSendMode.SMS, messageType, mobileNo);
-		return succeed();
-	}
-
-	@ApiOperation(value = "发送短信验证码")
-	@PostMapping("/noAuth/sendSmsCode")
-	public Object noAuthSendSmsCode(String sendCodeType, String mobileNo) {
-		MessageType messageType = MessageType.getMessageType(sendCodeType);
-		if (messageType == null) {
-			throw new BizException("消息类型参数错误");
-		}
-		if (StringUtils.isBlank(mobileNo) || !CommonValidator.isMobileNo(mobileNo)) {
-			throw new BizException("请输入正确的手机号");
-		}
-//		sysMessageService.sendSecurityCode(MessageSender.YIMEI, userId, MessageSendMode.SMS, messageType, mobileNo);
-		return succeed();
-	}*/
 
 	@ApiOperation(value = "发送消息")
 	@PostMapping("/sendMessage")

+ 8 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java

@@ -140,13 +140,20 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.queryMusicGroupClassGroup(queryInfo));
     }
 
-    @ApiOperation(value = "乐团详情--课表详情列表(课酬调整共用)")
+    @ApiOperation(value = "乐团详情--课酬调整列表(课酬调整)")
     @GetMapping("/queryMusicGroupCourseSchedule")
     @PreAuthorize("@pcs.hasPermissions('classGroup/queryMusicGroupCourseSchedule')")
     public HttpResponseResult queryMusicGroupCourseSchedule(queryMusicGroupCourseScheduleQueryInfo queryInfo) {
         return succeed(classGroupService.queryMusicGroupCourseSchedule(queryInfo));
     }
 
+    @ApiOperation(value = "乐团详情--课表详情列表(课表详情)")
+    @GetMapping("/queryMusicGroupCourseScheduleDetail")
+    @PreAuthorize("@pcs.hasPermissions('classGroup/queryMusicGroupCourseScheduleDetail')")
+    public HttpResponseResult queryMusicGroupCourseScheduleDetail(queryMusicGroupCourseScheduleQueryInfo queryInfo) {
+        return succeed(classGroupService.queryMusicGroupCourseScheduleDetail(queryInfo));
+    }
+
     @ApiOperation(value = "乐团班级老师设置")
     @PostMapping("/addClassGroupTeacher")
     @ApiParam(value = "乐团班级老师json", required = true)