瀏覽代碼

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
周箭河 5 年之前
父節點
當前提交
236341142f
共有 21 個文件被更改,包括 137 次插入124 次删除
  1. 17 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  2. 4 3
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java
  3. 54 61
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  4. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupStudentFeeServiceImpl.java
  5. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java
  6. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentAttendanceServiceImpl.java
  7. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentCourseHomeworkServiceImpl.java
  8. 7 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentRegistrationServiceImpl.java
  9. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java
  10. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherLeaveRecordServiceImpl.java
  11. 12 8
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  12. 10 9
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  13. 2 1
      mec-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml
  14. 1 1
      mec-biz/src/main/resources/config/mybatis/DemoGroupMapper.xml
  15. 1 1
      mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml
  16. 1 1
      mec-biz/src/main/resources/config/mybatis/SporadicChargeInfo.xml
  17. 3 2
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  18. 9 6
      mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  19. 1 1
      mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml
  20. 0 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/SysMessageController.java
  21. 6 9
      mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/JiguangPushPlugin.java

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

@@ -1127,7 +1127,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         checkNewCourseSchedules(courseSchedules, false);
         courseScheduleDao.batchUpdate(courseSchedules);
         classGroupService.updateClassGroupInfo(classGroup.getId());
-        courseScheduleStudentPaymentService.updateVipGiveCourse(vipGroup.getId());
+//        courseScheduleStudentPaymentService.updateVipGiveCourse(vipGroup.getId());
     }
 
     @Override
@@ -1382,6 +1382,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             if (newCourseSchedule.getEndClassTime().before(now)) {
                 newCourseSchedule.setStatus(CourseStatusEnum.OVER);
             }
+            if(!CollectionUtils.isEmpty(newCourseSchedule.getTeachingTeacherIdList())){
+                if (newCourseSchedule.getTeachingTeacherIdList().contains(newCourseSchedule.getActualTeacherId())){
+                    throw new BizException("主教和助教不可重复");
+                }
+            }
         });
         //课程冲突检测
         checkNewCourseSchedules(newCourseSchedules, false);
@@ -1427,16 +1432,21 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         List<Map<Long, Integer>> courseLeaveStudentNumMaps = studentAttendanceDao.countCourseLeaveStudentNumWithFourHoursAgo(newCourseScheduleIds, advanceLeaveHours);
         Map<Long,Long> courseLeaveStudentNumMap = MapUtil.convertIntegerMap((courseLeaveStudentNumMaps));
 
+        List<Map<Integer, Integer>> classGroupStudentNumMaps = classGroupStudentMapperDao.countClassGroupsStudentNum(classGroupIds, ClassGroupStudentStatusEnum.NORMAL);
+        Map<Integer, Long> classGroupStudentNumMap = MapUtil.convertIntegerMap(classGroupStudentNumMaps);
+
         newCourseSchedules.forEach(newCourseSchedule -> {
 
             CourseSchedule oldCourseSchedule = oldCourseScheduleMap.get(newCourseSchedule.getId()).get(0);
 
             if (!sysUser.getUserType().contains("SYSTEM") && sysUser.getUserType().contains("TEACHER")) {
+                Long normalStudentNum = classGroupStudentNumMap.get(oldCourseSchedule.getClassGroupId());
                 Long courseLeaveStudentNum = courseLeaveStudentNumMap.get(newCourseSchedule.getId());
                 ClassGroup classGroup=idClassGroupMap.get(oldCourseSchedule.getClassGroupId());
                 if(oldCourseSchedule.getGroupType().equals(GroupType.VIP)
                         &&Objects.nonNull(courseLeaveStudentNum)
-                        &&courseLeaveStudentNum.intValue()==classGroup.getExpectStudentNum()){
+                        &&Objects.nonNull(normalStudentNum)
+                        &&courseLeaveStudentNum.intValue()==normalStudentNum.intValue()){
                     if(!DateUtil.isSameDay(now,oldCourseSchedule.getStartClassTime())&&now.after(oldCourseSchedule.getStartClassTime())){
                         throw new BizException("当前时间不可对相关课程进行调整");
                     }
@@ -1598,9 +1608,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             studentAttendanceDao.deleteByCourseSchedules(needCreateStudentPaymentCourses.stream().map(CourseSchedule::getId).collect(Collectors.toList()));
         }
 
-        if(oldCourseScheduleList.get(0).getGroupType().equals(GroupType.VIP)){
-            courseScheduleStudentPaymentService.updateVipGiveCourse(Long.valueOf(oldCourseScheduleList.get(0).getMusicGroupId()));
-        }
+//        if(oldCourseScheduleList.get(0).getGroupType().equals(GroupType.VIP)){
+//            courseScheduleStudentPaymentService.updateVipGiveCourse(Long.valueOf(oldCourseScheduleList.get(0).getMusicGroupId()));
+//        }
 
         try {
             //推送课时调整
@@ -2026,7 +2036,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             receivers.put(userId, userId + "");
 
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_HAVE_COURSE_MESSAGE,
-                    receivers, null, 0, "2", teacherName);
+                    receivers, null, 0, "2","TEACHER", teacherName);
         }
     }
 
@@ -2041,7 +2051,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             receivers.put(userId, userId + "");
 
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_ATTEND_CLASS_MESSAGE,
-                    receivers, null, 0, "2", scheduleName);
+                    receivers, null, 0, "2","TEACHER", scheduleName);
         }
     }
 

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -226,15 +226,16 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 		List<VipGroupGiveCourseSortDto> vipGroupSortCourseByGroup = courseScheduleStudentPaymentDao.findVipGroupSortCourseByGroup(vipGroupId.toString());
 		Map<Integer, List<VipGroupGiveCourseSortDto>> userCourseMap = vipGroupSortCourseByGroup.stream().collect(Collectors.groupingBy(VipGroupGiveCourseSortDto::getUserId));
 
+        BigDecimal zero = new BigDecimal("0.00");
+
 		List<CourseScheduleStudentPayment> needUpdatePayments=new ArrayList<>();
 		for (Map.Entry<Integer, List<VipGroupGiveCourseSortDto>> integerListEntry : userCourseMap.entrySet()) {
 			List<VipGroupGiveCourseSortDto> courses = integerListEntry.getValue();
 			Map<BigDecimal, Long> expectPriceCountMap = courses.stream()
 					.collect(Collectors.groupingBy(VipGroupGiveCourseSortDto::getExpectPrice, Collectors.counting()));
-			BigDecimal zero = new BigDecimal("0.00");
 			Long zeroPriceNum = expectPriceCountMap.get(zero);
 			if(Objects.isNull(zeroPriceNum)||zeroPriceNum<=0){
-				return;
+				break;
 			}
 
 			List<VipGroupGiveCourseSortDto> zeroExpectPricePayments = courses.stream()
@@ -251,7 +252,7 @@ public class CourseScheduleStudentPaymentServiceImpl extends BaseServiceImpl<Lon
 
 				if(!vipGroupGiveCourseSortDto.getId().equals(zeroExpectPricePayments.get(i).getId())
 						&&!vipGroupGiveCourseSortDto.getTeachMode().equals(zeroExpectPricePayments.get(i).getTeachMode())){
-					throw new BizException("不支持将不同教学形式的课程调整赠送课时后");
+					throw new BizException("不支持将不同教学形式的课程调整赠送课时后");
 				}
 
 				if(!vipGroupGiveCourseSortDto.getId().equals(zeroExpectPricePayments.get(i).getId())){

+ 54 - 61
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -181,7 +181,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             Set<Integer> roleIds = new HashSet<>(1);
             roleIds.add(SysUserRole.SECTION_MANAGER);
 
-            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY, "", sysUser.getUsername());
+            sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
         }
         // 保存乐团付费主体列表
         //批量新增
@@ -265,7 +265,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             throw new BizException("支付项不存在");
         }
         BigDecimal amount = chargeInfo.getAmount();
-        if (chargeInfo.getDiscountAmount() != null && chargeInfo.getDiscountAmount().compareTo(BigDecimal.ZERO) > 0) {
+        if(chargeInfo.getDiscountAmount() != null && chargeInfo.getDiscountAmount().compareTo(BigDecimal.ZERO)>0){
             amount = amount.subtract(chargeInfo.getDiscountAmount());
         }
         if (!(amount.compareTo(sporadicPayDto.getAmount()) == 0)) {
@@ -274,9 +274,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         OrderTypeEnum type = OrderTypeEnum.SPORADIC;
         String receiver = null;
-        if (chargeInfo.getChargeType().equals("6")) {
+        if(chargeInfo.getChargeType().equals("6")){
             type = OrderTypeEnum.LUCK;
-            receiver = "PER";
+            receiver =  "PER";
         }
 
         Integer userId = sporadicPayDto.getUserId();
@@ -444,32 +444,32 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
-                    if (!groupType.containsKey("GROUP")) {
+                    if(!groupType.containsKey("GROUP")){
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
                     remitFee = new BigDecimal((String) groupType.get("GROUP"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
-                    if (!groupType.containsKey("LEASE")) {
-                        throw new BizException("乐器提供方式不存在");
+                    if(!groupType.containsKey("LEASE")){
+                       throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setPrice(goodsGroup.getDepositFee());
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.LEASE);
                     remitFee = new BigDecimal((String) groupType.get("LEASE"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
-                    if (!groupType.containsKey("FREE")) {
+                    if(!groupType.containsKey("FREE")){
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setPrice(new BigDecimal(0));
                     remitFee = new BigDecimal((String) groupType.get("FREE"));
                 }
-                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
+                if(goodsGroup.getType().equals(GoodsType.INSTRUMENT)){
                     instrumentFee = instrumentFee.add(goodsGroup.getPrice());
-                } else if (goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
+                }else if(goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
                     accessoriesFee = accessoriesFee.add(goodsGroup.getPrice());
-                } else {
+                }else {
                     otherFee = otherFee.add(goodsGroup.getPrice());
                 }
                 orderAmount = orderAmount.add(goodsGroup.getPrice());
@@ -499,11 +499,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (amount.compareTo(orderAmount) != 0) {
             throw new BizException("商品价格不符");
         }
-
-        if (amount.compareTo(BigDecimal.ZERO) < 0) {
-            throw new BizException("商品价格异常");
-        }
-
         String orderNo = idGeneratorService.generatorId("payment") + "";
 
         String channelType = "";
@@ -527,7 +522,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 sysUserCashAccountService.updateBalance(userId, balance.negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团报名");
             }
         }
-        studentPaymentOrder.setRemitFee(remitFee);
         studentPaymentOrder.setOrganId(musicGroup.getOrganId());
         studentPaymentOrder.setUpdateTime(date);
         studentPaymentOrderService.update(studentPaymentOrder);
@@ -565,7 +559,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         }
 
         String orderSubject = "乐团报名";
-        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)) {
+        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)){
             orderSubject = "乐团相关费用";
         }
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
@@ -681,14 +675,14 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             for (MusicGroupSubjectGoodsGroup goodsGroup : goodsGroups) {
                 Map groupType = JSONObject.parseObject(goodsGroup.getKitGroupPurchaseTypeJson(), HashMap.class);
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("GROUP")) {
-                    if (!groupType.containsKey("GROUP")) {
+                    if(!groupType.containsKey("GROUP")){
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setKitGroupPurchaseType(KitGroupPurchaseTypeEnum.GROUP);
                     remitFee = new BigDecimal((String) groupType.get("GROUP"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("LEASE")) {
-                    if (!groupType.containsKey("LEASE")) {
+                    if(!groupType.containsKey("LEASE")){
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setPrice(goodsGroup.getDepositFee());
@@ -696,17 +690,17 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     remitFee = new BigDecimal((String) groupType.get("LEASE"));
                 }
                 if (registerPayDto.getGoodsGroups().get(goodsGroup.getId()).equals("FREE")) {
-                    if (!groupType.containsKey("FREE")) {
+                    if(!groupType.containsKey("FREE")){
                         throw new BizException("乐器提供方式不存在");
                     }
                     goodsGroup.setPrice(new BigDecimal(0));
                     remitFee = new BigDecimal((String) groupType.get("FREE"));
                 }
-                if (goodsGroup.getType().equals(GoodsType.INSTRUMENT)) {
+                if(goodsGroup.getType().equals(GoodsType.INSTRUMENT)){
                     instrumentFee = instrumentFee.add(goodsGroup.getPrice());
-                } else if (goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
+                }else if(goodsGroup.getType().equals(GoodsType.ACCESSORIES)) {
                     accessoriesFee = accessoriesFee.add(goodsGroup.getPrice());
-                } else {
+                }else {
                     otherFee = otherFee.add(goodsGroup.getPrice());
                 }
                 orderAmount = orderAmount.add(goodsGroup.getPrice());
@@ -760,7 +754,6 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 sysUserCashAccountService.updateBalance(userId, balance.negate(), PlatformCashAccountDetailTypeEnum.PAY_FEE, "乐团报名");
             }
         }
-        studentPaymentOrder.setRemitFee(remitFee);
         studentPaymentOrder.setOrganId(musicGroup.getOrganId());
         studentPaymentOrder.setUpdateTime(date);
         studentPaymentOrderService.update(studentPaymentOrder);
@@ -797,7 +790,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             }
         }
         String orderSubject = "乐团报名";
-        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)) {
+        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType().equals(CooperationOrgan.OwnershipType.COOPERATION)){
             orderSubject = "乐团相关费用";
         }
         String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
@@ -905,7 +898,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 throw new BizException("课酬未确认");
             }
         }
-        updateTeamTeacher(musicGroup, musicGroup);
+        updateTeamTeacher(musicGroup,musicGroup);
         //生成学员费用表
         List<MusicGroupStudentFee> musicGroupStudentFees = musicGroupStudentFeeDao.initMusicGroupStudentFee(musicGroupId);
         if (musicGroupStudentFees != null && musicGroupStudentFees.size() > 0) {
@@ -924,7 +917,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Map<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(musicGroupDao.queryTeacherIdMap(musicGroupId))), HashMap.class);
         if (map != null && map.size() > 0) {
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_MUSIC_GROUP_COURSE_ADD_PLAN,
-                    map, null, 0, "1", musicGroup.getName());
+                    map, null, 0, "1","TEACHER", musicGroup.getName());
         }
         Set<Integer> roleIds = new HashSet<>(5);
         roleIds.add(SysUserRole.SECTION_MANAGER);
@@ -933,7 +926,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
         roleIds.add(SysUserRole.DEAN_OF_STUDIES);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_ACTION_GROUP, "1", musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_ACTION_GROUP,"1",musicGroup.getName());
     }
 
     private MusicGroup saveLog(String musicGroupId, MusicGroupStatusEnum statusEnum) throws Exception {
@@ -964,7 +957,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY, "", sysUser.getUsername());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_CREATE_MUSIC_GROUP_APPLY,"",sysUser.getUsername());
     }
 
     @Override
@@ -999,13 +992,13 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_ACTION_APPLY, "", musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_ACTION_APPLY,"",musicGroup.getName());
     }
 
     @Override
     public void pushMessage(String musicGroupId) throws IOException {
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
+        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
             //3.0发送该消息
             if (new Integer(3).equals(musicGroup.getChargeTypeId())) {
                 Map<Integer, String> studentMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findIdMapByMusicGroupId(musicGroupId, 2))), HashMap.class);
@@ -1014,7 +1007,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     String url = baseURL + "/#/smallRegister?musicGroupId=" + musicGroupId;
                     String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
                     sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE,
-                            studentMap, null, 0, "5?" + url, musicGroup.getName(), HttpUtil.getSortUrl(url), serverPhone);
+                            studentMap, null, 0, "5?" + url,"STUDENT", musicGroup.getName(), HttpUtil.getSortUrl(url), serverPhone);
                 }
             }
         }
@@ -1113,10 +1106,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             sysUserCashAccountService.updateBalance(order.getUserId(), order.getActualAmount());
             // 增加交易流水
             sysUserCashAccountDetailService.addCashAccountDetail(order.getUserId(), order.getActualAmount(), SysUserCashAccountDetailService.MUSIC_GROUP
-                    + musicGroupId, "", PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "取消乐团", null);
+                    + musicGroupId, "", PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "取消乐团",null);
         }
         //获取当前乐团所有已报名学员
-        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
+        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
             List<StudentRegistration> registrations = studentRegistrationDao.findClassGroupStu(musicGroupId, null);
             if (registrations != null && registrations.size() > 0) {
                 Map<Integer, String> map = new HashMap<>(registrations.size());
@@ -1124,7 +1117,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                     map.put(e.getUserId(), e.getUserId().toString());
                 });
                 sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_CLOSE,
-                        map, null, 0, "1", musicGroup.getName(), sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
+                        map, null, 0, "1","STUDENT", musicGroup.getName(), sysConfigDao.findConfigValue(SysConfigService.REFUND_PERIOD));
             }
         }
         //记录建团日志
@@ -1133,7 +1126,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.SECTION_MANAGER);
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP, "1", musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_STOP,"1",musicGroup.getName());
         return true;
     }
 
@@ -1236,7 +1229,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
         roleIds.add(SysUserRole.ADMISSIONS_DIRECTOR);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT, "", musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_LENGTHEN_PAYMENT,"",musicGroup.getName());
         return true;
     }
 
@@ -1266,7 +1259,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         memo.put("Id", musicGroupQuit.getId());
         memo.put("type", "MUSICGROUP");
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP, JSONObject.toJSONString(memo), sysUser.getUsername());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_GROUP,JSONObject.toJSONString(memo),sysUser.getUsername());
         return true;
     }
 
@@ -1368,7 +1361,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             if (amount.doubleValue() > 0) {
                 // 增加交易流水
                 sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
-                        PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "退出乐团", null);
+                        PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "退出乐团",null);
             }
         }
         return true;
@@ -1476,7 +1469,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (amount.doubleValue() > 0) {
             // 增加交易流水
             sysUserCashAccountDetailService.addCashAccountDetail(userId, amount, SysUserCashAccountDetailService.MUSIC_GROUP + musicGroupId, "",
-                    PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "退出乐团", null);
+                    PlatformCashAccountDetailTypeEnum.REFUNDS, null, DealStatusEnum.SUCCESS, "退出乐团",null);
         }
 
         return true;
@@ -1672,11 +1665,11 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             paymentDetail.setPerAmount(studentPaymentOrder.getPerAmount().negate());
             sysUserCashAccountDetailService.insert(paymentDetail);
             MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-            if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
+            if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
                 // 发送续费结果通知
-                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, push, null, 0, "1",
+                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, push, null, 0, "1","STUDENT",
                         studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
-                sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, yimei, null, 0, "1",
+                sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.STUDENT_SMS_MUSIC_GROUP_RENEW_SUCCESS, yimei, null, 0, "1","",
                         studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
             }
             return true;
@@ -1687,12 +1680,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             }
         }
         MusicGroup musicGroup = musicGroupDao.get(musicGroupId);
-        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
+        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
             if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) {
                 String baseUrl = sysConfigDao.findConfigValue(SysConfigService.BASE_API_URL);
                 String memo = baseUrl + "/#/renew?musicGroupId=" + musicGroupId;
                 //4?http://mstudev.dayaedu.com/#/renew?musicGroupId=" +musicGroupId
-                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, push, null, 0, "4?" + memo,
+                sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_MUSIC_GROUP_RENEW_FAILED, push, null, 0, "4?" + memo,"STUDENT",
                         HttpUtil.getSortUrl(memo));
                 return false;
             }
@@ -1737,8 +1730,8 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
 
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_TEACHER_AMOUNT_CHANGE, "",
-                teacher.getRealName(), musicGroup.getName(), scope.equals("all") ? "所有" : "本次");
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_TEACHER_AMOUNT_CHANGE,"",
+                teacher.getRealName(),musicGroup.getName(),scope.equals("all")?"所有":"本次");
         return true;
     }
 
@@ -1812,9 +1805,9 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         return musicGroupPageInfo;
     }
 
-    private void updateTeamTeacher(MusicGroup oldMusicGroup, MusicGroup newMusicGroup) {
+    private void updateTeamTeacher(MusicGroup oldMusicGroup,MusicGroup newMusicGroup){
         List<ClassGroup> classGroups = classGroupDao.findClassGroupByMusicGroupIdAndType(newMusicGroup.getId(), null);
-        if (classGroups == null || classGroups.size() == 0) {
+        if(classGroups == null || classGroups.size() == 0){
             return;
         }
         Integer teamTeacherId = newMusicGroup.getTeamTeacherId();
@@ -1826,7 +1819,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         ImGroupMember[] nowImGroupMembers2 = {new ImGroupMember(educationalTeacherId.toString())};
         ImGroupMember[] oldImGroupMembers3 = {new ImGroupMember(oldMusicGroup.getDirectorUserId().toString())};
         ImGroupMember[] nowImGroupMembers3 = {new ImGroupMember(directorUserId.toString())};
-        classGroups.forEach(e -> {
+        classGroups.forEach(e->{
             imFeignService.groupQuit(new ImGroupModel(e.getId().toString(), oldImGroupMembers1, e.getName()));
             imFeignService.groupJoin(new ImGroupModel(e.getId().toString(), nowImGroupMembers1, e.getName()));
             imFeignService.groupQuit(new ImGroupModel(e.getId().toString(), oldImGroupMembers2, e.getName()));
@@ -1852,7 +1845,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
             //如果已生成课表,那么修改未上课时教学点
             courseScheduleDao.updateCourseScheduleSchool("MUSIC", musicGroupId, musicGroup.getSchoolId());
         }
-        updateTeamTeacher(musicGroup, group);
+        updateTeamTeacher(musicGroup,group);
         List<Integer> months = subFeeSettingDto.getMonths();
 
         Date date = new Date();
@@ -1961,21 +1954,21 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroup.setStatus(MusicGroupStatusEnum.PAY);
         musicGroupDao.update(musicGroup);
         //三方乐团不发送缴费通知
-        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
+        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
             //获取所有已报名学员列表
-            HashMap<Integer, String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId, 0))), HashMap.class);
-            if (map != null && map.size() > 0) {
+            HashMap<Integer,String> map = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertMybatisMap(studentRegistrationDao.findMapByMusicGroupId(musicGroupId,0))), HashMap.class);
+            if(map != null && map.size() > 0){
                 String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
                 String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-                sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.SMS_PAYMENT_MESSAGE,
-                        map, null, 0, "", musicGroup.getName(), studentApplyUrl, DateUtil.format(musicGroup.getPaymentExpireDate(), DateUtil.DATE_FORMAT_MIN), serverPhone);
+                sysMessageService.batchSendMessage(MessageSender.YIMEI,MessageTypeEnum.SMS_PAYMENT_MESSAGE,
+                        map,null,0,"","",musicGroup.getName(),studentApplyUrl,DateUtil.format(musicGroup.getPaymentExpireDate(),DateUtil.DATE_FORMAT_MIN),serverPhone);
             }
         }
         Set<Integer> roleIds = new HashSet<>(3);
         roleIds.add(SysUserRole.SECTION_MANAGER);
         roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
         roleIds.add(SysUserRole.OPERATION_EXECUTIVE);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT, "", musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_ACTION_PAYMENT,"",musicGroup.getName());
         //所有人开启缴费
         studentRegistrationDao.musicGroupOpenPay(musicGroupId, PaymentStatusEnum.OPEN);
         return musicGroup;
@@ -2044,7 +2037,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, event, sysUser.getId(), ""));
         musicGroup.setStatus(MusicGroupStatusEnum.PREPARE);
         musicGroupDao.update(musicGroup);
-        if (musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN) {
+        if(musicGroup.getOwnershipType() != null && musicGroup.getOwnershipType() == CooperationOrgan.OwnershipType.OWN){
             //给家长发送乐团基础训练课短信
             //获取所有乐团学员列表
             List<StudentRegistration> students = studentRegistrationDao.queryStudentByMusicGroupId(musicGroupId);
@@ -2057,12 +2050,12 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
                 if (userIds != null && userIds.size() > 0) {
                     String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
                     String serverPhone = sysConfigDao.findConfigValue(SysConfigService.SERVER_PHONE);
-                    sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE, userIds, null, 0, "", musicGroup.getName(), studentApplyUrl, serverPhone);
+                    sysMessageService.batchSendMessage(MessageSender.YIMEI, MessageTypeEnum.SMS_BASICS_SKILL_APPLY_MESSAGE, userIds, null, 0, "","", musicGroup.getName(), studentApplyUrl, serverPhone);
                 }
             }
         }
         Set<Integer> roleIds = new HashSet<>(1);
         roleIds.add(SysUserRole.SECTION_MANAGER);
-        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds, musicGroup.getOrganId()), MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, "", musicGroup.getName());
+        sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,musicGroup.getOrganId()),MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING,"",musicGroup.getName());
     }
 }

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

@@ -77,7 +77,7 @@ public class MusicGroupStudentFeeServiceImpl extends BaseServiceImpl<Long, Music
 			}
 			String memo = "4?http://mstudev.dayaedu.com/#/renew?musicGroupId=" + musicGroup.getId();
 			// 发送续费通知
-			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push, null, 0, memo,musicGroup.getName());
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_WAIT_RENEW_MESSAGE, push, null, 0, memo,"STUDENT",musicGroup.getName());
 		}
 
 		// int i = DateUtil.daysBetween(new Date(), musicGroupStudentFee.getNextPaymentDate());

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SporadicChargeInfoImpl.java

@@ -140,6 +140,9 @@ public class SporadicChargeInfoImpl extends BaseServiceImpl<Integer, SporadicCha
         if (rows != null && rows.size() > 0) {
             Set<Integer> organIds = rows.stream().map(e -> e.getOrganId()).collect(Collectors.toSet());
             List<Integer> userIds = rows.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+            if(userIds == null){
+                userIds = new ArrayList<>();
+            }
             Set<Integer> operatorIds = rows.stream().map(e -> e.getOperatorId()).collect(Collectors.toSet());
             Map<Integer, String> organNames = MapUtil.convertMybatisMap(organizationDao.findOrganNameMap(StringUtils.join(organIds, ",")));
             Map<Integer, String> operatorNames = MapUtil.convertMybatisMap(teacherDao.queryNameByIds(StringUtils.join(operatorIds, ",")));

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

@@ -146,7 +146,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 				receivers.put(e.getUserId(),e.getUserId().toString());
 			});
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.STUDENT_PUSH_NAMES_ACHIEVE,
-					receivers,null,0,"2",DateUtil.format(new Date(),DateUtil.DATE_FORMAT_MIN));
+					receivers,null,0,"2","STUDENT",DateUtil.format(new Date(),DateUtil.DATE_FORMAT_MIN));
 		}
 		Map<StudentAttendanceStatusEnum, List<StudentAttendance>> studentAttendanceGroupByStatus = studentAttendances.stream().collect(Collectors.groupingBy(StudentAttendance::getStatus));
 		Integer studentNum=studentAttendanceGroupByStatus.get(StudentAttendanceStatusEnum.NORMAL)==null?0:studentAttendanceGroupByStatus.get(StudentAttendanceStatusEnum.NORMAL).size();
@@ -309,7 +309,7 @@ public class StudentAttendanceServiceImpl extends BaseServiceImpl<Long, StudentA
 		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
 				MessageTypeEnum.TEACHER_PUSH_STUDENT_LEAVE,
 				sendArgs,
-				null,0,"1",DateUtil.getDate(courseSchedule.getClassDate()),DateUtil.getTime(courseSchedule.getStartClassTime()),courseSchedule.getName(),sysUser.getUsername());
+				null,0,"1","TEACHER",DateUtil.getDate(courseSchedule.getClassDate()),DateUtil.getTime(courseSchedule.getStartClassTime()),courseSchedule.getName(),sysUser.getUsername());
 		return true;
 	}
 

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

@@ -132,7 +132,7 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 			sb = new StringBuffer("courseScheduleID=").append(sch.getCourseScheduleId()).append("&studentCourseHomeworkId=").append(sch.getId());
 			Map<Integer, String> receivers = new HashMap<Integer, String>(1);
 			receivers.put(sch.getUserId(), sch.getUserId() + "");
-			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_JOB_MESSAGE, receivers, null, 0, "3?" + sb, sch.getCourseHomework()
+			sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_JOB_MESSAGE, receivers, null, 0, "3?" + sb,"STUDENT", sch.getCourseHomework()
 					.getMusicGroup().getName(), sch.getCourseHomework().getClassGroup().getName());
 		}
 	}

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

@@ -300,7 +300,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 
             Map<Integer, String> map = new HashMap<>(1);
             map.put(studentRegistration.getUserId(), studentRegistration.getParentsPhone());
-            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_APPLY_MESSAGE, map, null, 0, "",
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_APPLY_MESSAGE, map, null, 0, "","",
                     studentRegistration.getParentsName(), subject.getName(), serverPhone);
         } finally {
             redisCache.releaseLocked(key, threadId);
@@ -659,10 +659,10 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 receivers.put(studentRegistration.getUserId(), studentRegistration.getParentsPhone());
                 if (reduce == BigDecimal.ZERO) {
                     sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_MUSIC_GROUP_ADD_STUDENT_FREE,
-                            receivers, null, 0, null, studentRegistration.getParentsName(), studentRegistration.getName(), musicGroup.getName());
+                            receivers, null, 0, null,"", studentRegistration.getParentsName(), studentRegistration.getName(), musicGroup.getName());
                 } else {
                     String studentApplyUrl = sysConfigDao.findConfigValue(SysConfigService.STUDENT_APPLY_URL) + musicGroupId;
-                    sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_MUSIC_GROUP_ADD_STUDENT, receivers, null, 0, null, studentRegistration.getParentsName(), studentRegistration.getName(), musicGroup.getName(), HttpUtil.getSortUrl(studentApplyUrl));
+                    sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI, MessageTypeEnum.SMS_MUSIC_GROUP_ADD_STUDENT, receivers, null, 0, null,"", studentRegistration.getParentsName(), studentRegistration.getName(), musicGroup.getName(), HttpUtil.getSortUrl(studentApplyUrl));
                 }
             }
             return userId;
@@ -841,13 +841,13 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 Map<Integer, String> map = new HashMap<>(1);
                 map.put(studentPaymentOrder.getUserId(), studentRegistration.getParentsPhone());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
-                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map, null, 0, "1",
+                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map, null, 0, "1","",
                         studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
                 //push
                 Map<Integer, String> map1 = new HashMap<>(1);
                 map1.put(studentPaymentOrder.getUserId(), studentPaymentOrder.getUserId().toString());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
-                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map1, null, 0, "1",
+                        MessageTypeEnum.STUDENT_SMS_PAYMENT_SUCCESS, map1, null, 0, "1","STUDENT",
                         studentRegistration.getParentsName(), studentPaymentOrder.getActualAmount());
             }
 //            //生成课程协议
@@ -886,7 +886,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                 Map<Integer, String> map = new HashMap<>(1);
                 map.put(studentPaymentOrder.getUserId(), studentRegistration.getParentsPhone());
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
-                        MessageTypeEnum.STUDENT_SMS_PAYMENT_FAILED, map, null, 0, "1",
+                        MessageTypeEnum.STUDENT_SMS_PAYMENT_FAILED, map, null, 0, "1","",
                         HttpUtil.getSortUrl(studentApplyUrl));
             }
 //            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,
@@ -962,7 +962,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
                     receivers.put(e.getUserId(), e.getParentsPhone());
                 });
                 sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,
-                        MessageTypeEnum.SMS_STUDENT_OPEN_PAYMENT, receivers, null, 0, null,
+                        MessageTypeEnum.SMS_STUDENT_OPEN_PAYMENT, receivers, null, 0, null,"",
                         musicGroup.getName(), HttpUtil.getSortUrl(configValue + musicGroup.getId()));
             }
         }

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

@@ -299,7 +299,7 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 					if(userMap != null && userMap.size() > 0){
 						String name = subjectDao.findNames(classGroup.getSubjectIdList());
 						sysMessageService.batchSendMessage(MessageSender.JIGUANG,MessageTypeEnum.STUDENT_PUSH_ONLINE_COURSE_ACTION,userMap,
-								null,0,"6?sealClassId=" + courseScheduleId + "&subjectName=" + name ,courseSchedule.getName());
+								null,0,"6?sealClassId=" + courseScheduleId + "&subjectName=" + name ,"STUDENT",courseSchedule.getName());
 					}
 				}
 			}

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

@@ -146,7 +146,7 @@ public class TeacherLeaveRecordServiceImpl extends BaseServiceImpl<Long, Teacher
 		Teacher teacher = teacherDao.get(teacherLeaveRecord.getUserId());
 		map.put(teacher.getId(),teacher.getId() + "");
 		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_LEAVE_RESULT,
-				map,null,0,"7",status.getMsg());
+				map,null,0,"7","TEACHER",status.getMsg());
 		return true;
 	}
 

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

@@ -444,10 +444,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			Map<Integer,String> map = new HashMap<>(1);
 			map.put(vipGroup.getUserId(),vipGroup.getUserId().toString());
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_APPLY_RESULT,
-					map,null,0,"7",vipGroup.getName(),vipGroup.getAuditStatus().getMsg());
+					map,null,0,"7","TEACHER",vipGroup.getName(),vipGroup.getAuditStatus().getMsg());
 			map.put(vipGroup.getUserId(),teacher.getPhone());
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_APPLY_RESULT,
-					map,null,0,"7",vipGroup.getName(),vipGroup.getAuditStatus().getMsg());
+					map,null,0,"7","",vipGroup.getName(),vipGroup.getAuditStatus().getMsg());
 		}
 	}
 
@@ -979,7 +979,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 			Map<Integer,String> map = new HashMap<>(1);
 			map.put(vipGroupApplyBaseInfoDto.getUserId(),sysUser.getPhone());
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.YIMEI,MessageTypeEnum.TEACHER_SMS_VIP_COURSE_ADD,
-					map,null,0,"",vipGroupApplyBaseInfoDto.getName());
+					map,null,0,"","",vipGroupApplyBaseInfoDto.getName());
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -1218,7 +1218,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		sysUserCashAccountDetailService.insert(sysUserExpendCashAccountDetail);
 		Map<Integer,String> map = new HashMap<>(1);
 		map.put(userId,userId.toString());
-		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_VIP_BUY, map, null, 0, "2",
+		sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.STUDENT_PUSH_VIP_BUY, map, null, 0, "2","STUDENT",
 				vipGroup.getName());
 
 		//更新所属分部列表
@@ -1899,13 +1899,13 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Map<Integer,String> map = MapUtil.convertMybatisMap(classGroupStudentMapperDao.queryStudentIdMap(vipGroupId));
 		if(map != null && map.size() > 0){
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.PUSH_STUDENT_VIP_STOP,
-					map,null,0,null,vipGroupName,refundPeriod);
+					map,null,0,null,"STUDENT",vipGroupName,refundPeriod);
 		}
 //		老师推送消息
 		map = MapUtil.convertMybatisMap(classGroupStudentMapperDao.queryTeacherIdMap(vipGroupId));
 		if(map != null && map.size() > 0){
 			sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG,MessageTypeEnum.PUSH_TEACHER_VIP_STOP,
-					map,null,0,null,vipGroupName);
+					map,null,0,null,"TEACHER",vipGroupName);
 		}
 	}
 
@@ -2137,7 +2137,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 		classGroupService.updateClassGroupInfo(classGroup.getId());
 
-		courseScheduleStudentPaymentService.updateVipGiveCourse(vipGroup.getId());
+//		courseScheduleStudentPaymentService.updateVipGiveCourse(vipGroup.getId());
 
 		ImGroupMember[] imGroupMembers = imGroupMemberList.toArray(new ImGroupMember[imGroupMemberList.size()]);
 		imFeignService.groupJoin(new ImGroupModel(classGroup.getId().toString(),
@@ -2381,7 +2381,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		VipGroupStatusEnum vipGroupStatus = vipGroup.getStatus();
 
         Integer currentStudentNum = classGroupStudentMapperDao.countClassGroupStudentNum(classGroup.getId());
-		if(vipGroup.getStatus().equals(VipGroupStatusEnum.APPLYING)
+		if((!vipGroup.getStatus().equals(VipGroupStatusEnum.PAUSE)
+				||!vipGroup.getStatus().equals(VipGroupStatusEnum.CANCEL))
             &&currentStudentNum.compareTo(classGroup.getExpectStudentNum())>=0){
             vipGroup.setStatus(VipGroupStatusEnum.PROGRESS);
             vipGroupDao.update(vipGroup);
@@ -2461,6 +2462,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
                 	if(vipGroup.getStatus().equals(VipGroupStatusEnum.PAUSE)){
                 		continue;
 					}
+                	if(vipGroup.getStatus().equals(VipGroupStatusEnum.CANCEL)){
+                		continue;
+					}
                     if(now.before(vipGroup.getRegistrationStartTime())){
                         vipGroup.setStatus(VipGroupStatusEnum.NOT_START);
                     }

+ 10 - 9
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -304,7 +304,7 @@
             s.id_ school_id_,
             s.address_,
             s.longitude_latitude_,
-            su.username_ teacher_name_,
+            su.real_name_ teacher_name_,
             ta.sign_in_time_
         FROM
           course_schedule cs
@@ -333,7 +333,7 @@
             s.id_ school_id_,
             s.address_,
             s.longitude_latitude_,
-            su.username_ teacher_name_,
+            su.real_name_ teacher_name_,
             ta.sign_in_time_,
             cs.schoole_id_
         FROM
@@ -450,7 +450,7 @@
             cs.teach_mode_,
             cg.student_num_ total_student_num_,
             su.real_name_ teacher_name_,
-            IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) attendance_status_,
+            IF(ta.sign_in_status_ IS NULL,3,ta.sign_in_status_) sign_in_status_,
             s.name_ school_name_
         FROM
             course_schedule cs
@@ -471,6 +471,7 @@
             AND cg.group_type_ = #{type}
         </if>
         AND cs.class_date_ = DATE_FORMAT(#{date},'%Y-%m-%d')
+        ORDER BY CONCAT(cs.class_date_,' ',cs.start_class_time_)
         <include refid="global.limit"/>
     </select>
 
@@ -505,7 +506,7 @@
             CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
             CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
             cs.status_,
-            su.username_ teacher_name_,
+            su.real_name_ teacher_name_,
             IF(sa.status_ IS NULL,'NORMAL',sa.status_) attendance_status_,
             csc.id_ IS NOT NULL complaint_status_,
             cs.teach_mode_
@@ -532,7 +533,7 @@
         SELECT
             cs.id_ seal_class_id_,
             cg.name_,
-            su.username_ teacher_name_,
+            su.real_name_ teacher_name_,
             cs.type_,
             cs.id_,
             cs.class_group_id_,
@@ -569,7 +570,7 @@
         SELECT
             cs.id_ seal_class_id_,
             cg.name_,
-            su.username_ teacher_name_,
+            su.real_name_ teacher_name_,
             cs.type_,
             cs.id_,
             cs.class_group_id_,
@@ -868,7 +869,7 @@
     <select id="findStudentCourseScheduleNotStartRecords" resultMap="studentCourseScheduleRecord">
         SELECT
             cs.teacher_id_,
-            su.username_ teacher_name_,
+            su.real_name_ teacher_name_,
             cs.id_ course_schedule_id_,
             cs.name_,
             cs.class_date_,
@@ -1138,7 +1139,7 @@
             cs.status_,
             cs.actual_teacher_id_,
             cs.teach_mode_,
-            su.username_,
+            su.real_name_ username_,
             cg.total_class_times_
         FROM
             course_schedule_teacher_salary csts
@@ -1280,7 +1281,7 @@
             cg.id_ class_group_id_,
             cg.name_ class_group_name_,
             csts.user_id_,
-            su.username_,
+            su.real_name_ username_,
             cs.student_num_,
             cg.student_num_ total_student_num_,
             cs.leave_student_num_,

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

@@ -283,7 +283,8 @@
 		FROM course_schedule_student_payment cssp
 			LEFT JOIN course_schedule cs ON cssp.course_schedule_id_=cs.id_
 		WHERE cssp.music_group_id_=#{groupId} AND cssp.group_type_='VIP'
-		AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &gt; NOW()
+-- 		AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &gt; NOW()
+		AND cssp.settlement_time_ IS NULL
 	</select>
 
 	<delete id="deleteStudentCourseSchedule">

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

@@ -214,7 +214,7 @@
     <select id="findDemoGroupList" resultMap="studentDemoGroupListDto">
         SELECT
             dg.id_ demo_group_id_,
-            su.username_,
+            su.real_name_ username_,
             su.avatar_,
             t.introduction_,
             s.name_ subject_name_,

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

@@ -245,7 +245,7 @@
 
 	<select id="findTeachersByStuId" resultMap="BasicUserDto">
 		SELECT DISTINCT
-			su.username_,
+			su.real_name_ username_,
 			su.id_ user_id_,
 			su.avatar_ head_url_,
 			gender_,

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

@@ -79,7 +79,7 @@
 
 	<!-- 分页查询 -->
 	<select id="queryPage" resultMap="SporadicChargeInfo" parameterType="map">
-		SELECT * FROM sporadic_charge_info sci
+		SELECT sci.* FROM sporadic_charge_info sci
 		LEFT JOIN sys_user su ON su.id_ = sci.user_id_
 		<include refid="queryPageSql"/>
 		ORDER BY sci.id_ DESC

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

@@ -121,7 +121,8 @@
     </update>
 
     <select id="findStudentsByOrganId" resultMap="studentManageListDto">
-        SELECT su.id_ user_id_,su.username_,su.gender_,su.phone_ parents_phone_,su.real_name_,su.birthdate_,su.nation_,
+        SELECT su.id_ user_id_,su.username_,su.gender_,su.phone_ parents_phone_,su.real_name_,
+        su.birthdate_,su.nation_,
         CASE WHEN su.password_ IS NULL THEN 0 ELSE 1 END isActive_
         FROM sys_user su
         <include refid="findStudentsByOrganIdSql"/>
@@ -232,7 +233,7 @@
             cg.type_ class_group_type_,
             CONCAT(cs.class_date_," ",cs.start_class_time_) course_date_,
             cs.status_ course_status_,
-            su.username_ teacher_name_
+            su.real_name_ teacher_name_
         FROM class_group cg
             LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
             LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_

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

@@ -256,7 +256,9 @@
         LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
         LEFT JOIN student_registration sr ON sr.user_id_ = su.id_
         LEFT JOIN `subject` s ON s.id_ = sr.actual_subject_id_
-        WHERE cgtm.user_id_ = #{teacherId} AND su.id_ IS NOT NULL AND cgtm.music_group_id_ = sr.music_group_id_
+        LEFT JOIN music_group mg ON mg.id_ = cgtm.music_group_id_
+        WHERE (cgtm.user_id_ = #{teacherId} OR mg.team_teacher_id_ = #{teacherId} OR mg.educational_teacher_id_ = #{teacherId}
+        OR director_user_id_ = #{teacherId}) AND su.id_ IS NOT NULL AND cgtm.music_group_id_ = sr.music_group_id_
         <if test="search != null">
             AND su.username_ LIKE CONCAT('%',#{search},'%')
         </if>
@@ -360,7 +362,7 @@
     <select id="findTeacherByMusicGroup" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
         SELECT
             su.id_ user_id_,
-            su.username_
+            su.real_name_ username_
         FROM
           class_group_teacher_mapper cgtm
             LEFT JOIN class_group cg ON cg.id_=cgtm.class_group_id_
@@ -504,13 +506,14 @@
     </select>
 
     <select id="queryMusicGroupStudents" resultMap="com.ym.mec.biz.dal.dao.MusicGroupDao.BasicUserDto">
-        SELECT su.username_,su.id_ user_id_,su.avatar_ head_url_,su.gender_,GROUP_CONCAT(s.name_) subject_name_,su.user_type_
+        SELECT su.real_name_ username_,su.id_ user_id_,su.avatar_ head_url_,
+        su.gender_,GROUP_CONCAT(s.name_) subject_name_,su.user_type_
         FROM teacher t
         LEFT JOIN sys_user su ON t.id_ = su.id_
         LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,t.subject_id_)
         WHERE FIND_IN_SET(t.id_,#{teacherIds})
         <if test="search != null">
-            AND su.username_ LIKE CONCAT('%',#{search},'%')
+            AND su.real_name_ LIKE CONCAT('%',#{search},'%')
         </if>
         GROUP BY t.id_
     </select>
@@ -558,7 +561,7 @@
     <select id="queryOrganTeacherNum" resultType="map">
         select count(*) total,sum(case when job_nature_ = 'PART_TIME' then 1 else 0 end) part_time_num_,sum(case when
         job_nature_ = 'FULL_TIME' then 1 else 0 end) full_time_num_ from teacher
-        where demission_date_ is not null
+        where demission_date_ is null
             <if test="organId != null">
                 and FIND_IN_SET(organ_id_,#{organId})
             </if>
@@ -600,7 +603,7 @@
         </if>
     </select>
     <select id="queryUsernameByIds" resultType="java.util.Map" parameterType="list">
-        select id_ `key`,real_name_ `value` FROM sys_user s
+        select id_ `key`,username_ `value` FROM sys_user s
         WHERE s.id_ IN
         <foreach collection="userIds" item="item" open="(" close=")" separator=",">
             #{item}

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

@@ -376,7 +376,7 @@
         SELECT
             vg.*,
             vga.name_ vip_group_activity_name_,
-            su.username_,
+            su.real_name_ username_,
             cg.student_num_,
             cg.subject_id_list_,
             cg.total_class_times_,

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

@@ -46,7 +46,6 @@ public class SysMessageController extends BaseController {
 		}
 		queryInfo.setUserId(sysUser.getId());
 		queryInfo.setType(3);
-		queryInfo.setStatus(2);
 		return succeed(sysMessageService.queryPage(queryInfo));
 	}
 

+ 6 - 9
mec-thirdparty/src/main/java/com/ym/mec/thirdparty/message/provider/JiguangPushPlugin.java

@@ -1,19 +1,16 @@
 package com.ym.mec.thirdparty.message.provider;
 
-import java.io.IOException;
-import java.util.HashMap;
-
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.thirdparty.exception.ThirdpartyException;
 import com.ym.mec.thirdparty.message.MessageSenderPlugin;
 import com.ym.mec.util.http.HttpUtil;
+import org.apache.commons.codec.binary.Base64;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import java.io.IOException;
+import java.util.HashMap;
 
 /**
  * 极光推送