Explorar o código

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

yonge %!s(int64=5) %!d(string=hai) anos
pai
achega
a100f87ffd
Modificáronse 21 ficheiros con 198 adicións e 84 borrados
  1. 3 3
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java
  2. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/DemoGroupDao.java
  3. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/OrganizationDao.java
  4. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentPaymentOrderDetailDao.java
  5. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderDetailService.java
  6. 15 35
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  7. 17 13
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  8. 7 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  9. 30 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java
  10. 8 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  11. 13 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java
  12. 8 10
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  13. 3 3
      mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml
  14. 3 0
      mec-biz/src/main/resources/config/mybatis/OrganizationMapper.xml
  15. 1 1
      mec-biz/src/main/resources/config/mybatis/SchoolMapper.xml
  16. 5 0
      mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml
  17. 4 0
      mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java
  18. 4 0
      mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java
  19. 20 2
      mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java
  20. 14 3
      mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java
  21. 19 0
      mec-task/src/main/java/com/ym/mec/task/jobs/PayStatusTask.java

+ 3 - 3
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>
@@ -343,7 +343,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param musicGroupIds
      * @return
      */
-    List<CourseListDto> queryStudentVipCourses(@Param("musicGroupIds") String musicGroupIds);
+    List<CourseListDto> queryStudentVipCourses(@Param("musicGroupIds") String musicGroupIds,@Param("userId") Integer userId);
 
     /**
      * 获取学生端,学员乐团课列表详情
@@ -351,7 +351,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param musicGroupIds
      * @return
      */
-    List<CourseListDto> queryStudentMusicGroupCourses(@Param("musicGroupIds") String musicGroupIds);
+    List<CourseListDto> queryStudentMusicGroupCourses(@Param("musicGroupIds") String musicGroupIds,@Param("userId") Integer userId);
 
     /**
      * 查询对应类型所有班级列表

+ 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);
 }

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

@@ -20,9 +20,17 @@ public interface StudentPaymentOrderDetailDao extends BaseDAO<Long, StudentPayme
 
     /**
      * 查询注册支付的订单详情
+     *
      * @param musicGroupId
      * @param status
      * @return
      */
     List<StudentPaymentOrderDetail> findApplyOrderSuccess(@Param("musicGroupId") String musicGroupId, @Param("status") DealStatusEnum status);
+
+    /**
+     * 查询订单商品
+     * @param orderId
+     * @return
+     */
+    List<StudentPaymentOrderDetail> findApplyOrderGoods(@Param("orderId") Long orderId);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/StudentPaymentOrderDetailService.java

@@ -41,4 +41,11 @@ public interface StudentPaymentOrderDetailService extends BaseService<Long, Stud
      */
     List<Goods> verifyMusicalList(String musicGroupId);
 
+    /**
+     * 查询订单商品
+     * @param orderId
+     * @return
+     */
+    List<Goods> findApplyOrderGoods(Long orderId);
+
 }

+ 15 - 35
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -486,12 +486,12 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<String> musicGroupIds = courseScheduleDao.queryMusicGroupIds(params);
         courseListDtos = new ArrayList<>();
         //获取学员所购买的vip课列表详情
-        List<CourseListDto> vipCourses = classGroupDao.queryStudentVipCourses(StringUtils.join(musicGroupIds, ","));
+        List<CourseListDto> vipCourses = classGroupDao.queryStudentVipCourses(StringUtils.join(musicGroupIds, ","),userId);
         //获取vip课的学生列表
         Set<String> vipIds = vipCourses.stream().map(CourseListDto::getMusicGroupId).collect(Collectors.toSet());
         Map<String, String> vipStuNames = MapUtil.convertMybatisMap(classGroupDao.findVipStuNames(StringUtils.join(vipIds, ",")));
         //获取学员的乐团列表详情
-        courseListDtos.addAll(classGroupDao.queryStudentMusicGroupCourses(StringUtils.join(musicGroupIds, ",")));
+        courseListDtos.addAll(classGroupDao.queryStudentMusicGroupCourses(StringUtils.join(musicGroupIds, ","),userId));
         courseListDtos.addAll(vipCourses);
         //检测对应乐团是否已申请退费
         List<Map<String, Integer>> isApplyMaps;
@@ -898,16 +898,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
         List<Subject> subjectList = subjectService.findBySubjectByIdList(subjectIdSet);
 
-        String subjectIds = "";
-        String subjectNames = "";
-        for (Subject subject : subjectList) {
-            subjectIds += subject.getId() + ",";
-            subjectNames += subject.getName() + "/";
-        }
-
-        subjectIds = subjectIds.substring(0, subjectIds.length() - 1);
-        subjectNames = subjectNames.substring(0, subjectNames.length() - 1);
-
+        String subjectIds = subjectList.stream().map(subject -> subject.getId().toString()).collect(Collectors.joining(","));
+        String subjectNames = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
 
         //1、新建班级
         ClassGroup classGroup = new ClassGroup();
@@ -1111,16 +1103,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
         List<Subject> subjectList = subjectService.findBySubjectByIdList(subjectIdSet);
 
-        String subjectIds = "";
-        String subjectNames = "";
-        for (Subject subject : subjectList) {
-            subjectIds += subject.getId() + ",";
-            subjectNames += subject.getName() + "/";
-        }
-
-        subjectIds = subjectIds.substring(0, subjectIds.length() - 1);
-        subjectNames = subjectNames.substring(0, subjectNames.length() - 1);
-
+        String subjectIds = subjectList.stream().map(subject -> subject.getId().toString()).collect(Collectors.joining(","));
+        String subjectNames = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
 
         //1、新建班级
         ClassGroup classGroup = new ClassGroup();
@@ -1319,16 +1303,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         }
         List<Subject> subjectList = subjectService.findBySubjectByIdList(subjectIdSet);
 
-        String subjectIds = "";
-        String subjectNames = "";
-        for (Subject subject : subjectList) {
-            subjectIds += subject.getId() + ",";
-            subjectNames += subject.getName() + "/";
-        }
-
-        subjectIds = subjectIds.substring(0, subjectIds.length() - 1);
-        subjectNames = subjectNames.substring(0, subjectNames.length() - 1);
-
+        String subjectIds = subjectList.stream().map(subject -> subject.getId().toString()).collect(Collectors.joining(","));
+        String subjectNames = subjectList.stream().map(subject -> subject.getName()).collect(Collectors.joining("/"));
 
         //1、新建班级
         ClassGroup classGroup = new ClassGroup();
@@ -1562,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());
                 }
@@ -1590,7 +1570,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         List<ClassGroup> classGroupList = classGroupDao.findClassGroupByMusicGroupIdAndType(musicGroupId, ClassGroupTypeEnum.HIGH);
         for (ClassGroup classGroup : classGroupList) {
             List<String> subjects = subjectService.findBySubIds(classGroup.getSubjectIdList());
-            String subjectName = StringUtils.join(subjects, "/");
+            String subjectName = StringUtils.join(subjects, ",");
             classGroup.setSubjectName(subjectName);
         }
         return classGroupList;

+ 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())));

+ 30 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderDetailServiceImpl.java

@@ -90,4 +90,34 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
         musicGroupPurchaseListDao.batchInsert(musicGroupPurchaseLists);
         return  musicalList;
     }
+
+    @Override
+    public List<Goods> findApplyOrderGoods(Long orderId) {
+        List<StudentPaymentOrderDetail> applyOrderGoods = studentPaymentOrderDetailDao.findApplyOrderGoods(orderId);
+
+        if(applyOrderGoods == null || applyOrderGoods.size()==0){
+            return null;
+        }
+        String goodsIdsStr = "";
+        for (StudentPaymentOrderDetail studentPaymentOrderDetail : applyOrderGoods) {
+            if (studentPaymentOrderDetail.getGoodsIdList() != null && !studentPaymentOrderDetail.getGoodsIdList().isEmpty()) {
+                goodsIdsStr += studentPaymentOrderDetail.getGoodsIdList()+",";
+            }
+        }
+        goodsIdsStr = goodsIdsStr.substring(0, goodsIdsStr.length() - 1);
+
+        String[] goodSIdArr = goodsIdsStr.split(",");
+
+        List<Goods> goodies = goodsService.findGoodsByIds(goodsIdsStr);
+
+        for (Goods goods : goodies) {
+            goods.setSellCount(0);
+            for (String goodsIdStr : goodSIdArr) {
+                if(goods.getId().equals(Integer.parseInt(goodsIdStr))){
+                    goods.setSellCount(goods.getSellCount()+1);
+                }
+            }
+        }
+        return goodies;
+    }
 }

+ 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 - 3
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -492,14 +492,14 @@
         SELECT cg.name_ class_group_name_,cg.type_ class_group_type_,
         cg.current_class_times_,cg.id_ class_group_id_
         FROM class_group cg
-        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
+        WHERE cg.music_group_id_ = #{search} AND cg.del_flag_ = 0
         <include refid="global.limit"/>
     </select>
 
     <select id="countMusicGroupClassGroup" resultType="java.lang.Integer">
         SELECT COUNT(cg.id_)
         FROM class_group cg
-        WHERE cg.music_group_id_ = #{search} AND (cg.type_ = 'NORMAL' OR cg.type_ = 'MIX') AND cg.del_flag_ = 0
+        WHERE cg.music_group_id_ = #{search} AND cg.del_flag_ = 0
     </select>
 
     <select id="countStudentNum" resultType="java.util.Map">
@@ -627,7 +627,7 @@
         FROM music_group mg
         LEFT JOIN class_group cg ON cg.music_group_id_ = mg.id_
         LEFT JOIN music_group_student_fee_ mgsf ON mgsf.music_group_id_ = mg.id_
-        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0
+        WHERE FIND_IN_SET(mg.id_,#{musicGroupIds}) AND cg.type_ != 'VIP' AND cg.del_flag_ = 0 AND mgsf.user_id_ = #{userId}
         GROUP BY mg.id_,mgsf.payment_status_
     </select>
 

+ 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>

+ 5 - 0
mec-biz/src/main/resources/config/mybatis/StudentPaymentOrderDetailMapper.xml

@@ -98,4 +98,9 @@
         AND spo.status_=#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
         AND spo.type_ = 'APPLY'
     </select>
+
+    <!-- 查询订单详情 -->
+    <select id="findApplyOrderGoods" resultMap="StudentPaymentOrderDetail">
+        SELECT * FROM student_payment_order_detail WHERE payment_order_id_ = #{orderId}
+    </select>
 </mapper>

+ 4 - 0
mec-client-api/src/main/java/com/ym/mec/task/TaskRemoteService.java

@@ -52,4 +52,8 @@ public interface TaskRemoteService {
 	@GetMapping("task/homeworkNoReplyRemind")
 	// 老师未回复作业提醒
 	public void homeworkNoReplyRemind();
+
+	@GetMapping("task/queryOrderStatus")
+	// 订单状态查询
+	public void queryOrderStatus();
 }

+ 4 - 0
mec-client-api/src/main/java/com/ym/mec/task/fallback/TaskRemoteServiceFallback.java

@@ -66,4 +66,8 @@ public class TaskRemoteServiceFallback implements TaskRemoteService {
 		logger.info("老师未回复作业提醒的服务调用失败");
 	}
 
+	@Override
+	public void queryOrderStatus() {
+		logger.info("查询订单状态的服务调用失败");
+	}
 }

+ 20 - 2
mec-student/src/main/java/com/ym/mec/student/controller/MusicGroupController.java

@@ -20,6 +20,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.ui.ModelMap;
@@ -27,8 +28,10 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 @RequestMapping("musicGroup")
 @Api(tags = "乐团服务")
@@ -55,6 +58,8 @@ public class MusicGroupController extends BaseController {
     private MusicGroupStudentFeeDao musicGroupStudentFeeDao;
     @Autowired
     private IdGeneratorService idGeneratorService;
+    @Autowired
+    private StudentPaymentOrderDetailService studentPaymentOrderDetailService;
 
     @ApiOperation("获取学生所在乐团列表")
     @GetMapping(value = "/queryUserMusicGroups")
@@ -371,7 +376,20 @@ public class MusicGroupController extends BaseController {
     @GetMapping("/getOrderStatus")
     @ApiImplicitParams({@ApiImplicitParam(name = "orderNo", value = "订单号", required = true, dataType = "String")})
     public HttpResponseResult getOrderStatus(String orderNo) {
-        StudentPaymentOrder order = studentPaymentOrderService.findOrderByOrderNo(orderNo);
-        return succeed(order);
+        if (StringUtils.isBlank(orderNo)) {
+            return failed("请指定订单");
+        }
+        StudentPaymentOrder orderByOrderNo = studentPaymentOrderService.findOrderByOrderNo(orderNo);
+        if (Objects.isNull(orderByOrderNo)) {
+            return failed("未找到指定订单");
+        }
+        MusicGroup musicGroup = musicGroupService.get(orderByOrderNo.getMusicGroupId());
+        List<Goods> goodsList = studentPaymentOrderDetailService.findApplyOrderGoods(orderByOrderNo.getId());
+        HashMap<String, Object> orderDetail = new HashMap<>();
+        orderDetail.put("order",orderByOrderNo);
+        orderDetail.put("goods",goodsList);
+        orderDetail.put("course",musicGroup.getCourseForm());
+
+        return succeed(orderDetail);
     }
 }

+ 14 - 3
mec-student/src/main/java/com/ym/mec/student/controller/StudentOrderController.java

@@ -3,6 +3,8 @@ package com.ym.mec.student.controller;
 import com.alibaba.fastjson.JSON;
 import com.huifu.adapay.model.payment.PayChannelEnum;
 import com.huifu.adapay.model.payment.Payment;
+import com.ym.mec.biz.dal.entity.Goods;
+import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.enums.DealStatusEnum;
 import com.ym.mec.biz.dal.enums.OrderTypeEnum;
@@ -51,6 +53,8 @@ public class StudentOrderController extends BaseController {
     private MusicGroupService musicGroupService;
     @Autowired
     private YqPayFeignService yqQueryService;
+    @Autowired
+    private StudentPaymentOrderDetailService studentPaymentOrderDetailService;
 
 //    @PostMapping("/notify")
 //    public String notify(@ModelAttribute NotifyMsg notifyMsg) {
@@ -134,7 +138,14 @@ public class StudentOrderController extends BaseController {
         if (Objects.isNull(orderByOrderNo)) {
             return failed("未找到指定订单");
         }
-        return succeed(orderByOrderNo.getStatus());
+        MusicGroup musicGroup = musicGroupService.get(orderByOrderNo.getMusicGroupId());
+        List<Goods> goodsList = studentPaymentOrderDetailService.findApplyOrderGoods(orderByOrderNo.getId());
+        HashMap<String, Object> orderDetail = new HashMap<>();
+        orderDetail.put("order",orderByOrderNo);
+        orderDetail.put("goods",goodsList);
+        orderDetail.put("course",musicGroup.getCourseForm());
+
+        return succeed(orderDetail);
     }
 
     @ApiOperation(value = "台牌支付")
@@ -179,7 +190,7 @@ public class StudentOrderController extends BaseController {
     }
 
 
-    //@Scheduled(cron = "0/5 * * * * ?")
+    //@Scheduled(cron = "0 */1 * * * ?")
     public void getOrderStatus() throws Exception {
         List<StudentPaymentOrder> payingOrders = studentPaymentOrderService.findOrdersByStatus(DealStatusEnum.ING, "YQPAY");
 
@@ -351,7 +362,7 @@ public class StudentOrderController extends BaseController {
 
     }
 
-    @Scheduled(cron = "0/30 * * * * ?")
+    //@Scheduled(cron = "0/30 * * * * ?")
     public void setSuccessStatus() throws Exception {
         List<StudentPaymentOrder> payingOrders = studentPaymentOrderService.findOrdersByStatus(DealStatusEnum.ING, "YQPAY");
 

+ 19 - 0
mec-task/src/main/java/com/ym/mec/task/jobs/PayStatusTask.java

@@ -0,0 +1,19 @@
+package com.ym.mec.task.jobs;
+
+import com.ym.mec.task.TaskRemoteService;
+import com.ym.mec.task.core.BaseTask;
+import com.ym.mec.task.core.TaskException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class PayStatusTask extends BaseTask {
+
+	@Autowired
+	private TaskRemoteService taskRemoteService;
+
+	@Override
+	public void execute() throws TaskException {
+		taskRemoteService.queryOrderStatus();
+	}
+}