Browse Source

网络教室

zouxuan 3 years ago
parent
commit
795ffa4ccc

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -64,5 +64,17 @@ public interface CourseScheduleStudentPaymentDao extends BaseMapper<CourseSchedu
 
     //获取课程学员关联
     List<CourseScheduleStudentPayment> queryByCourseId(@Param("courseScheduleId") Long courseScheduleId);
+
+    /**
+     * @description:
+     * @param scheduleId    课程编号
+     * @param userId    学员编号
+     * @param content   节拍器参数
+     * @param musicSheetJson    伴奏参数
+     * @return void
+     * @author zx
+     * @date 2022/5/7 16:44
+     */
+    void adjustPlayMidiAndMusicSheet(Long scheduleId, Long userId, String content, String musicSheetJson);
 }
 

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/ImNetworkMusicSheetDownloadMessageContent.java

@@ -1,42 +1,55 @@
 package com.yonge.cooleshow.biz.dal.dto;
 
 
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 public class ImNetworkMusicSheetDownloadMessageContent{
     //伴奏编号
+    @ApiModelProperty(value = "伴奏编号")
     private Integer id;
 
     //曲目编号
+    @ApiModelProperty(value = "曲目编号")
     private Integer musicSheetId;
 
     //声部
+    @ApiModelProperty(value = "声部")
     private Integer subjectId;
 
     //声部
+    @ApiModelProperty(value = "声部")
     private String subjectName;
 
     //原音url
+    @ApiModelProperty(value = "伴奏编号")
     private String mp3Url = "";
 
     //速度
+    @ApiModelProperty(value = "伴奏编号")
     private Integer speed;
 
     //xmlUrl
+    @ApiModelProperty(value = "伴奏编号")
     private String xmlUrl = "";
 
     //曲目名
+    @ApiModelProperty(value = "伴奏编号")
     private String examSongName;
 
     //标签名
+    @ApiModelProperty(value = "伴奏编号")
     private String categoriesName;
 
     //标签分类
+    @ApiModelProperty(value = "伴奏编号")
     private Integer categoriesId;
 
+    @ApiModelProperty(value = "伴奏编号")
     private String type;
 
     /**  */
+    @ApiModelProperty(value = "伴奏编号")
     private String url = "";
 
     @Override

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/CourseScheduleStudentPaymentService.java

@@ -52,5 +52,17 @@ public interface CourseScheduleStudentPaymentService extends IService<CourseSche
 
     //获取伴奏信息
     ImNetworkRoomMusicSheetDownloadData getMemberExamSong(long courseScheduleId, Long userId);
+
+    /**
+    * @description:
+     * @param scheduleId    课程编号
+     * @param userId    学员编号
+     * @param content   节拍器参数
+     * @param musicSheetJson    伴奏参数
+    * @return void
+    * @author zx
+    * @date 2022/5/7 16:44
+    */
+    void adjustPlayMidiAndMusicSheet(Long scheduleId, Long userId, String content, String musicSheetJson);
 }
 

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleStudentPaymentServiceImpl.java

@@ -16,6 +16,7 @@ import org.springframework.stereotype.Service;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import java.util.List;
@@ -82,5 +83,11 @@ public class CourseScheduleStudentPaymentServiceImpl extends ServiceImpl<CourseS
         return new ImNetworkRoomMusicSheetDownloadData();
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void adjustPlayMidiAndMusicSheet(Long scheduleId, Long userId, String content, String musicSheetJson) {
+        baseMapper.adjustPlayMidiAndMusicSheet(scheduleId,userId,content,musicSheetJson);
+    }
+
 }
 

+ 8 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImNetworkRoomServiceImpl.java

@@ -16,7 +16,7 @@ import com.yonge.cooleshow.biz.dal.service.*;
 import com.yonge.cooleshow.biz.dal.support.IMHelper;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
-import com.yonge.cooleshow.common.exception.BizException;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.utils.date.DateUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -199,9 +199,13 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         //删房间用户信息
         imNetworkRoomMemberService.getDao().delByRidAndUid(roomId, userId);
         ImNetworkRoom room = baseMapper.findByRoomId(roomId);
-        if (roleEnum == UserRoleEnum.TEACHER && isUserDisplay(room.getDisplay(), userId)) {
-            this.updateDisplay(userId,room);
+        if (roleEnum == UserRoleEnum.TEACHER){
+            if (isUserDisplay(room.getDisplay(), userId)) {
+                this.updateDisplay(userId,room);
+            }
+            courseScheduleStudentPaymentService.adjustPlayMidiAndMusicSheet(courseSchedule.getId(), null, null,null);
         }
+
     }
 
     @Override
@@ -254,7 +258,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 //        }
 //        ImNetworkRoomMusicSheetData musicScoreMessage = JSON.parseObject(JSON.toJSONString(accompaniment), ImNetworkRoomMusicSheetData.class);
 //        ImNetworkMusicSheetDownloadMessage msg = new ImNetworkMusicSheetDownloadMessage(musicScoreMessage);
-//        imHelper.publishMessage(authUser.getId().toString(), roomId, msg, 0);
+//        imHelper.publishMessage(sysUser.getId().toString(), courseScheduleId.toString(), msg, 0);
     }
 
     //校验用户是否提前进入教室

+ 3 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml

@@ -60,6 +60,9 @@
             AND user_id_ = #{userId}
         </if>
     </update>
+    <update id="adjustPlayMidiAndMusicSheet">
+
+    </update>
     <select id="queryStudentIds" resultType="java.lang.Long">
         SELECT DISTINCT user_id_ FROM course_schedule_student_payment
         <where>