Преглед на файлове

Merge remote-tracking branch 'origin/master'

Joburgess преди 4 години
родител
ревизия
e750bbd509

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

@@ -216,7 +216,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetailList = new ArrayList<MusicGroupPaymentStudentCourseDetail>();
 		MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = null;
 		for (MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList) {
-			if (courseSettings.getIsStudentOptional() == true) {
+			if (courseSettings.getIsStudentOptional() == true || courseSettings.getCourseTotalMinuties() == null || courseSettings.getCourseTotalMinuties() == 0) {
 				continue;
 			}
 			musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
@@ -299,7 +299,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 		//创建学生课排课分钟数
 		for(Integer studentId : userIdList){
 			for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
-				if (courseSettings.getIsStudentOptional() == true) {
+				if (courseSettings.getIsStudentOptional() == true || courseSettings.getCourseTotalMinuties() == null || courseSettings.getCourseTotalMinuties() == 0) {
 					continue;
 				}
 				musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
@@ -391,7 +391,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			//创建学生课排课分钟数
 			for(Integer studentId : userIdList){
 				for(MusicGroupPaymentCalenderCourseSettings courseSettings : courseSettingsList){
-					if (courseSettings.getIsStudentOptional() == true) {
+					if (courseSettings.getIsStudentOptional() == true || courseSettings.getCourseTotalMinuties() == null || courseSettings.getCourseTotalMinuties() == 0) {
 						continue;
 					}
 					musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();

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

@@ -1118,13 +1118,13 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
         List<MusicGroupPaymentCalenderCourseSettings> courseSettings = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(musicGroupRegCalender.getId());
         BigDecimal courseTotalPrice = courseSettings.stream().filter(e -> orderDetailTypes.contains(e.getCourseType().getCode())).map(MusicGroupPaymentCalenderCourseSettings::getCourseCurrentPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
 
-        List<MusicGroupPaymentCalenderDetail> musicGroupPaymentCalenderDetailList = new ArrayList<MusicGroupPaymentCalenderDetail>();
         List<MusicGroupPaymentStudentCourseDetail> musicGroupPaymentStudentCourseDetails = new ArrayList<>();
         
 		for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenderList) {
 			MusicGroupPaymentCalenderDetail musicGroupPaymentCalenderDetail = new MusicGroupPaymentCalenderDetail();
 			musicGroupPaymentCalenderDetail.setMusicGroupPaymentCalenderId(musicGroupPaymentCalender.getId());
 			musicGroupPaymentCalenderDetail.setUserId(studentPaymentOrder.getUserId());
+			musicGroupPaymentCalenderDetail.setResponsibleUserId(musicGroupPaymentCalender.getOperator());
 
 			if (currentPaymentCalenderId.longValue() == musicGroupPaymentCalender.getId()) {
 				musicGroupPaymentCalenderDetail.setExpectAmount(courseTotalPrice);
@@ -1144,14 +1144,18 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 			musicGroupPaymentCalenderDetail.setCreateTime(nowDate);
 			musicGroupPaymentCalenderDetail.setUpdateTime(nowDate);
 
-			musicGroupPaymentCalenderDetailList.add(musicGroupPaymentCalenderDetail);
+			musicGroupPaymentCalenderDetailDao.insert(musicGroupPaymentCalenderDetail);
 
 			List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao
 					.getWithPaymentCalender(musicGroupPaymentCalender.getId());
 			for (MusicGroupPaymentCalenderCourseSettings courseSetting : courseSettingsList) {
 				if (musicGroupRegCalender.getPayUserType().equals(MusicGroupPaymentCalender.PayUserType.STUDENT)
-						&& !orderDetailTypes.contains(courseSetting.getCourseType().getCode()))
+						&& !orderDetailTypes.contains(courseSetting.getCourseType().getCode())){
 					continue;
+				}
+				if(courseSetting.getCourseTotalMinuties() == null || courseSetting.getCourseTotalMinuties() == 0){
+					continue;
+				}
 				MusicGroupPaymentStudentCourseDetail musicGroupPaymentStudentCourseDetail = new MusicGroupPaymentStudentCourseDetail();
 				musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderId(musicGroupRegCalender.getId());
 				musicGroupPaymentStudentCourseDetail.setMusicGroupPaymentCalenderDetailId(musicGroupPaymentCalenderDetail.getId());
@@ -1165,11 +1169,7 @@ public class StudentRegistrationServiceImpl extends BaseServiceImpl<Long, Studen
 				musicGroupPaymentStudentCourseDetails.add(musicGroupPaymentStudentCourseDetail);
 			}
 		}
-        
 
-        if(musicGroupPaymentCalenderDetailList.size()> 0){
-        	musicGroupPaymentCalenderDetailDao.batchInsert(musicGroupPaymentCalenderDetailList);
-        }
         if (musicGroupPaymentStudentCourseDetails.size() > 0) {
             musicGroupPaymentStudentCourseDetailDao.batchInsert(musicGroupPaymentStudentCourseDetails);
         }

+ 31 - 15
mec-im/src/main/java/com/ym/service/Impl/RoomServiceImpl.java

@@ -766,21 +766,37 @@ public class RoomServiceImpl implements RoomService {
         log.info("controlDevice: userId={}, typeEnum={}, onOff={}", userId, typeEnum, enable);
 
         if (enable) {
-            String ticket = IdentifierUtils.uuid();
-            ControlDeviceTaskInfo taskInfo = new ControlDeviceTaskInfo();
-            taskInfo.setRoomId(roomId);
-            taskInfo.setTypeEnum(typeEnum);
-            taskInfo.setOnOff(true);
-            taskInfo.setApplyUserId(authUser.getId().toString());
-            taskInfo.setTargetUserId(userId);
-            taskInfo.setTicket(ticket);
-            scheduleManager.addTask(taskInfo);
-            ControlDeviceNotifyMessage msg = new ControlDeviceNotifyMessage(ActionEnum.Invite.ordinal());
-            msg.setTicket(ticket);
-            msg.setType(taskInfo.getTypeEnum().ordinal());
-            msg.setOpUserId(authUser.getId().toString());
-            msg.setOpUserName(authUser.getUsername());
-            imHelper.publishMessage(authUser.getId().toString(), userId, roomId, msg);
+            if (typeEnum.equals(DeviceTypeEnum.ExamSong)){
+                long scheduleId = Long.parseLong(roomId.substring(1));
+                ExamSongDownloadData msg;
+                String examJson = courseScheduleStudentPaymentDao.getExamJsonByCourseIdAndUserId(scheduleId, Integer.parseInt(userId));
+                if(StringUtils.isEmpty(examJson)){
+                    throw new BizException("学员伴奏信息异常");
+                }else {
+                    msg = JSON.parseObject(examJson, ExamSongDownloadData.class);
+                    msg.setEnable(enable);
+                }
+                courseScheduleStudentPaymentDao.adjustExamSong(scheduleId,Integer.parseInt(userId),JSON.toJSONString(msg));
+                DeviceStateChangedMessage deviceResourceMessage = new DeviceStateChangedMessage(typeEnum.ordinal(), enable);
+                deviceResourceMessage.setUserId(userId);
+                imHelper.publishMessage(authUser.getId().toString(), roomId, deviceResourceMessage, 1);
+            }else {
+                String ticket = IdentifierUtils.uuid();
+                ControlDeviceTaskInfo taskInfo = new ControlDeviceTaskInfo();
+                taskInfo.setRoomId(roomId);
+                taskInfo.setTypeEnum(typeEnum);
+                taskInfo.setOnOff(true);
+                taskInfo.setApplyUserId(authUser.getId().toString());
+                taskInfo.setTargetUserId(userId);
+                taskInfo.setTicket(ticket);
+                scheduleManager.addTask(taskInfo);
+                ControlDeviceNotifyMessage msg = new ControlDeviceNotifyMessage(ActionEnum.Invite.ordinal());
+                msg.setTicket(ticket);
+                msg.setType(taskInfo.getTypeEnum().ordinal());
+                msg.setOpUserId(authUser.getId().toString());
+                msg.setOpUserName(authUser.getUsername());
+                imHelper.publishMessage(authUser.getId().toString(), userId, roomId, msg);
+            }
         } else {
             if (typeEnum.equals(DeviceTypeEnum.Camera)) {
                 roomMemberDao.updateCameraByRidAndUid(roomId, userId, false);