Bladeren bron

Merge remote-tracking branch 'origin/master'

周箭河 5 jaren geleden
bovenliggende
commit
df002b3bbe

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

@@ -228,7 +228,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param teacherIds
      * @return
      */
-    List<Map<Integer, Long>> countTeacherVipNum(String teacherIds);
+    List<Map<Integer, Integer>> countTeacherVipNum(String teacherIds);
 
     /**
      * @return java.util.List<com.ym.mec.biz.dal.dto.TeacherClassGroupDto>

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

@@ -109,7 +109,7 @@ public interface DemoGroupDao extends BaseDAO<Long, DemoGroup> {
      * @param teacherIds
      * @return
      */
-    List<Map<Integer, Long>> countTeacherDemoGroupNum(String teacherIds);
+    List<Map<Integer, Integer>> countTeacherDemoGroupNum(String teacherIds);
 
     /**
      * 查询vip课程数

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/OrganizationDao.java

@@ -5,6 +5,7 @@ import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface OrganizationDao extends BaseDAO<Integer, Organization> {
 
@@ -28,4 +29,11 @@ public interface OrganizationDao extends BaseDAO<Integer, Organization> {
      * @return
      */
     List<Organization> queryEmployeeOrgan(@Param("userId") Integer userId);
+
+    /**
+     * 根据分部编号获取分部名称map
+     * @param organIds
+     * @return
+     */
+    List<Map<Integer,String>> findOrganNameMap(String organIds);
 }

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

@@ -1538,11 +1538,15 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 List<CourseScheduleTeacherSalary> currentCourseTeachingTeachers = courseScheduleTeachingTeacherMaps.get(e.getCourseScheduleId().longValue());
                 if (CollectionUtils.isEmpty(currentCourseTeachingTeachers)) {
                     currentCourseTeachingTeachers = new ArrayList<>();
-                    currentCourseTeachingTeachers.add(currentBishopTeacher);
+                    if(currentBishopTeacher != null){
+                        currentCourseTeachingTeachers.add(currentBishopTeacher);
+                    }
                     e.setTeacherNum(currentCourseTeachingTeachers.size());
                     e.setTeachingTeachers(currentCourseTeachingTeachers);
                 } else {
-                    currentCourseTeachingTeachers.add(currentBishopTeacher);
+                    if(currentBishopTeacher != null){
+                        currentCourseTeachingTeachers.add(currentBishopTeacher);
+                    }
                     e.setTeachingTeachers(currentCourseTeachingTeachers);
                     e.setTeacherNum(currentCourseTeachingTeachers.size());
                 }

+ 17 - 13
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -651,20 +651,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if(!CollectionUtils.isEmpty(needCreateCourseScheduleTeacherSalaryCourse)){
 			classGroupTeacherMapperService.createCourseScheduleTeacherSalary(needCreateCourseScheduleTeacherSalaryCourse,oldCourseSchedules);
 		}
-		//推送课时调整
-		Set<Integer> teacherIds = newCourseSchedules.stream().map(e -> e.getActualTeacherId()).collect(Collectors.toSet());
-		if(teacherIds == null){
-			teacherIds = new HashSet<>();
-		}
-		teacherIds.addAll(oldCourseScheduleList.stream().map(e -> e.getActualTeacherId()).collect(Collectors.toSet()));
-		Map<Integer,String> map = new HashMap<>(teacherIds.size());
-		teacherIds.forEach(e->{
-			map.put(e,e.toString());
-		});
+		try {
+			//推送课时调整
+			Set<Integer> teacherIds = newCourseSchedules.stream().map(e -> e.getActualTeacherId()).collect(Collectors.toSet());
+			if(teacherIds == null){
+				teacherIds = new HashSet<>();
+			}
+			teacherIds.addAll(oldCourseScheduleList.stream().map(e -> e.getActualTeacherId()).collect(Collectors.toSet()));
+			Map<Integer,String> map = new HashMap<>(teacherIds.size());
+			teacherIds.forEach(e->{
+				map.put(e,e.toString());
+			});
 //		HashMap<Integer,String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(teacherDao.queryPhoneByIds(StringUtils.join(teacherIds, ",")))), HashMap.class);
-		if(map != null && map.size() > 0){
-			sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
-					map,null,0,"7");
+			if(map != null && map.size() > 0){
+				sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
+						map,null,0,"7");
+			}
+		}catch (Exception e){
+			e.printStackTrace();
 		}
 //		Set<Integer> roleIds = new HashSet<>(1);
 //		roleIds.add(SysUserRole.SECTION_MANAGER);

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

@@ -859,11 +859,16 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Map<Integer, String> chargeTypeNameMap = MapUtil.convertMybatisMap(chargeTypeNames);
 
         //获取教学点编号
-        Map<Integer,String> organNames = MapUtil.convertMybatisMap(cooperationOrganDao.queryNameByIds(StringUtils.join(musicGroupList.stream().map(MusicGroup::getCooperationOrganId).collect(Collectors.toSet()),",")));
+        Map<Integer,String> cooperationOrganNames = MapUtil.convertMybatisMap(cooperationOrganDao.queryNameByIds(StringUtils.join(musicGroupList.stream().map(MusicGroup::getCooperationOrganId).collect(Collectors.toSet()),",")));
 
+//        Set<Integer> organIds = musicGroupList.stream().map(e -> e.getOrganId()).collect(Collectors.toSet());
+//        Map<Integer,String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMap(StringUtils.join(organIds,",")));
+
+        //获取分部名称map
         musicGroupList.forEach(e -> {
 //            e.setSchoolName(schoolNameMap.get(e.getSchoolId()));
-            e.setCooperationOrganName(organNames.get(e.getCooperationOrganId()));
+//            e.setOrganName(organNames.get(e.getOrganId()));
+            e.setCooperationOrganName(cooperationOrganNames.get(e.getCooperationOrganId()));
             e.setEducationalTeacherName(educationalTeacherNameMap.get(e.getEducationalTeacherId()));
             e.setTeamTeacherName(teamTeacherNameMap.get(e.getTeamTeacherId()));
             e.setPayNum(payNumMap.get(e.getId()) == null ? 0 : Integer.parseInt(payNumMap.get(e.getId())));

+ 8 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -91,7 +91,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		teacherAttendance.setMusicGroupId(currentCourseDetail.getMusicGroupId());
 		teacherAttendance.setClassGroupId(currentCourseDetail.getClassId());
 		Date date = new Date();
-		if(teacherSignOutDto.getTeacherAttendanceInfo().equals(SignStatusEnum.SIGN_IN.getCode())){
+		if(teacherSignOutDto.getTeacherAttendanceInfo().getStatus().equals(SignStatusEnum.SIGN_IN.getCode())){
 
 			if (currentCourseDetail.getEndClassTime().before(date)){
 				throw new BizException("该课程已结束,不能进行签到!");
@@ -121,7 +121,11 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 				}
 			}
 			teacherAttendance.setSignInTime(date);
-			teacherAttendanceDao.insert(teacherAttendance);
+			if(Objects.nonNull(teacherAttendance.getId())){
+				teacherAttendanceDao.update(teacherAttendance);
+			}else{
+				teacherAttendanceDao.insert(teacherAttendance);
+			}
 		}else{
 			if (currentCourseDetail.getEndClassTime().after(date)){
 				throw new BizException("该课程还未结束,不能进行签退!");
@@ -151,7 +155,8 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 			courseHomework.setClassGroupId(currentCourseDetail.getClassId().intValue());
 			courseHomework.setExpectNum(studentAttendanceDao.countNormalAttendanceStudentNums(teacherAttendance.getCourseScheduleId()));
 			courseHomeworkService.insert(courseHomework);
-			List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkDao.constructInitialStudentHomeworkRecords(teacherAttendance.getCourseScheduleId(),
+			List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkDao
+					.constructInitialStudentHomeworkRecordsWithPayment(teacherAttendance.getCourseScheduleId(),
 					courseHomework.getId());
 			if(CollectionUtils.isEmpty(studentCourseHomeworks)){
 				throw new BizException("此课程没有学生");

+ 13 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -322,18 +322,22 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 			Set<Integer> teachers = rows.stream().map(e -> e.getId()).collect(Collectors.toSet());
 			String teacherIds = StringUtils.join(teachers, ",");
 			//获取小课数量
-			List<Map<Integer,Long>> numList =  classGroupDao.countTeacherVipNum(teacherIds);
-			Map<Integer,Long> vipNumMap = MapUtil.convertIntegerMap(numList);
+//			List<Map<Integer,Long>> numList =  classGroupDao.countTeacherVipNum(teacherIds);
+			Map<Integer,Integer> vipNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherVipNum(teacherIds))),HashMap.class);
 			//获取试听课数量
-			List<Map<Integer,Long>> demoNumList =  demoGroupDao.countTeacherDemoGroupNum(teacherIds);
-			Map<Integer,Long> demoNumMap = MapUtil.convertIntegerMap(demoNumList);
+//			List<Map<Integer,Long>> demoNumList =  demoGroupDao.countTeacherDemoGroupNum(teacherIds);
+			Map<Integer,Integer> demoNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(demoGroupDao.countTeacherDemoGroupNum(teacherIds))),HashMap.class);
+
+//			Set<Integer> organIds = rows.stream().map(e -> e.getOrganId()).collect(Collectors.toSet());
+//			Map<Integer,String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMap(StringUtils.join(organIds,",")));
 			rows.forEach(e->{
 //				e.setSubjectName(subjectDao.findBySubIds(e.getSubjectId()));
+//				e.setOrganName(organNames.get(e.getOrganId()));
 				e.setSubjectName(Arrays.asList(e.getSplitSubjectName().split(",")));
-				Long num = vipNumMap.get(e.getId());
-				e.setVipNum(num == null?0:num.intValue());
-				Long demoNum = demoNumMap.get(e.getId());
-				e.setDemoNum(demoNum == null?0:demoNum.intValue());
+				Integer num = vipNumMap.get(e.getId());
+				e.setVipNum(num == null?0:num);
+				Integer demoNum = demoNumMap.get(e.getId());
+				e.setDemoNum(demoNum == null?0:demoNum);
 			});
 		}
 		return pageInfo;
@@ -350,6 +354,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher>  imple
 			if(StringUtils.isNotEmpty(teacher.getFlowOrganRange())){
 				teacher.setFlowOrganRangeId(teacher.getFlowOrganRange());
 				List<String> organNames = organizationDao.findByOrganIds(teacher.getFlowOrganRange());
+				teacher.setOrganName(organizationDao.get(teacher.getOrganId()).getName());
 				teacher.setFlowOrganRange(StringUtils.join(organNames,","));
 			}
 			//专业技能

+ 8 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -756,21 +756,18 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		List<ClassGroupStudentMapper> classGroupStudents = classGroupStudentMapperDao.findByClassGroup(classGroup.getId());
 
-		ImGroupMember[] imGroupMembers1=new ImGroupMember[classGroupStudents.size()];
+		ImGroupMember[] imGroupMembers=new ImGroupMember[classGroupStudents.size()+1];
+		imGroupMembers[0]=new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString());
 		//生成学生单课缴费信息
 		for (int i=0;i<classGroupStudents.size();i++) {
 			courseScheduleStudentPaymentService.createCourseScheduleStudentPaymentForVipGroup(vipGroupId,classGroupStudents.get(i).getUserId());
-			imGroupMembers1[i]=new ImGroupMember(classGroupStudents.get(i).getUserId().toString());
+			imGroupMembers[i+1]=new ImGroupMember(classGroupStudents.get(i).getUserId().toString());
 		}
 
 		try {
-			//创建融云班级群
-			ImGroupMember[] imGroupMembers = { new ImGroupMember(vipGroupApplyBaseInfoDto.getUserId().toString())};
 			// 创建群组
 			imFeignService.groupCreate(new ImGroupModel(classGroup.getId().toString(), imGroupMembers, classGroup.getName()));
 
-			imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(), imGroupMembers1, null));
-
 			//发送推送短信
 			Map<Integer,String> map = new HashMap<>(1);
 			map.put(vipGroupApplyBaseInfoDto.getUserId(),sysUser.getPhone());
@@ -827,6 +824,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			}
 			//更新班级人数,如果订单支付失败则减少
 			this.updateVipGroupStudentNumAndStatus(vipGroup.getId(),1,false);
+
+			ClassGroupStudentMapper classGroupStudentMapper=new ClassGroupStudentMapper(vipGroupClassGroupMapper.getClassGroupId(),user.getId().intValue());
+			classGroupStudentMapper.setMusicGroupId(vipGroup.getId().toString());
+			classGroupStudentMapperDao.insert(classGroupStudentMapper);
 		}
 
 		List<CourseSchedule> courseSchedules = JSON.parseArray(vipGroup.getCourseSchedulesJson(),CourseSchedule.class);
@@ -873,6 +874,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		//将学生加入到班级,更新班级报名状态及人数信息
 		if(!isOk){
 			updateVipGroupStudentNumAndStatus(vipGroupId,-1,false);
+			classGroupStudentMapperDao.deleteStudentByMusicGroupId(vipGroupId.toString(),userId);
 			return;
 		}
 
@@ -908,10 +910,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		VipGroupClassGroupMapper vipGroupClassGroupMapper = vipGroupClassGroupMapperDao.findByVipGroupId(vipGroupId);
 
-		ClassGroupStudentMapper classGroupStudentMapper=new ClassGroupStudentMapper(vipGroupClassGroupMapper.getClassGroupId(),userId.intValue());
-		classGroupStudentMapper.setMusicGroupId(vipGroupId.toString());
-		classGroupStudentMapperDao.insert(classGroupStudentMapper);
-
 		//更新所属分部列表
 		List<Integer> organIds = classGroupDao.findStudentOrganIdsByClassGroup(vipGroupClassGroupMapper.getClassGroupId().longValue());
 		organIds.add(vipGroup.getOrganId());

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -113,4 +113,7 @@
             </if>
         </where>
     </select>
+    <select id="findOrganNameMap" resultType="java.util.Map">
+        SELECT o.id_ 'key',o.name_ 'value' FROM organization o WHERE FIND_IN_SET(o.id_,#{organIds})
+    </select>
 </mapper>

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

@@ -124,6 +124,6 @@
         select * from school where del_flag_ = 0 and user_id_ = #{userId}
     </select>
     <select id="findVipSchoolByUserId" resultMap="School">
-        select * from school where del_flag_ = 0 and (user_id_ = #{userId} OR user_id_ IS NULL)
+        select * from school where del_flag_ = 0 and (user_id_ IS NULL OR user_id_ = #{userId})
     </select>
 </mapper>