Explorar el Código

Merge branch 'feature/0529-live' into master_saas

liujc hace 2 años
padre
commit
eee815be2b

+ 165 - 144
.idea/httpRequests/http-requests-log.http

@@ -1,180 +1,60 @@
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T210116.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T210051.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T205535.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T205404.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T205238.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T205047.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T205000.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T204724.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T204410.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T203725.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer d20c3bfa-22d3-4da9-a3f6-90216b2710fa
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T203018.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer f5e187da-f04a-4fae-b1ca-e30d3f920620
-Proxy-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-<> 2023-06-08T201324.200.json
-
-###
-
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer f5e187da-f04a-4fae-b1ca-e30d3f920620
-Proxy-Connection: Keep-Alive
+GET http://127.0.0.1:8005/task/closeLiveCourseRoom
+Connection: Keep-Alive
 User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
 Accept-Encoding: br,deflate,gzip,x-gzip
 
-<> 2023-06-08T193239.200.json
+<> 2023-06-08T214126.200.json
 
 ###
 
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer f5e187da-f04a-4fae-b1ca-e30d3f920620
-Proxy-Connection: Keep-Alive
+GET http://127.0.0.1:8005/task/closeLiveCourseRoom
+Connection: Keep-Alive
 User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
 Accept-Encoding: br,deflate,gzip,x-gzip
 
-<> 2023-06-08T190527.200.json
+<> 2023-06-08T210807.200.json
 
 ###
 
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer f5e187da-f04a-4fae-b1ca-e30d3f920620
-Proxy-Connection: Keep-Alive
+GET http://127.0.0.1:9002/teacherCourseSchedule/findCourseAttendanceDetailHeadInfo?courseScheduleId=1701
+authorization: bearer b33a3aed-ca44-4537-b3ae-1fba38c2560a
+Content-Type: application/json
+Connection: Keep-Alive
 User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
 Accept-Encoding: br,deflate,gzip,x-gzip
 
-<> 2023-06-08T185918.200.json
+<> 2023-06-08T194906.200.json
 
 ###
 
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer f5e187da-f04a-4fae-b1ca-e30d3f920620
-Proxy-Connection: Keep-Alive
+GET http://127.0.0.1:9002/teacherCourseSchedule/findCourseAttendanceDetailHeadInfo?courseScheduleId=1701
+authorization: bearer 97fd8e85-bb3c-4967-8a07-47c44957f94a
+Content-Type: application/json
+Connection: Keep-Alive
 User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
 Accept-Encoding: br,deflate,gzip,x-gzip
 
-<> 2023-06-08T185609.200.json
+<> 2023-06-08T194556.200.json
 
 ###
 
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer f5e187da-f04a-4fae-b1ca-e30d3f920620
-Proxy-Connection: Keep-Alive
+GET http://127.0.0.1:9002/teacherCourseSchedule/findCourseAttendanceDetailHeadInfo?courseScheduleId=1701
+authorization: bearer 97fd8e85-bb3c-4967-8a07-47c44957f94a
+Content-Type: application/json
+Connection: Keep-Alive
 User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
 Accept-Encoding: br,deflate,gzip,x-gzip
 
-<> 2023-06-08T185500.200.json
+<> 2023-06-08T171149.200.json
 
 ###
 
-GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2006
-Authorization: bearer f5e187da-f04a-4fae-b1ca-e30d3f920620
-Proxy-Connection: Keep-Alive
+GET http://127.0.0.1:8005/task/closeLiveCourseRoom
+Connection: Keep-Alive
 User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
 Accept-Encoding: br,deflate,gzip,x-gzip
 
-<> 2023-06-08T185344.200.json
+<> 2023-06-08T163756.200.json
 
 ###
 
@@ -728,3 +608,144 @@ Accept-Encoding: br,deflate,gzip,x-gzip
 
 ###
 
+GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2030
+Authorization: bearer 2cd308e9-0b8b-4b08-b3cd-f34dc50a8dfd
+Proxy-Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-07T154917.200.json
+
+###
+
+GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2030
+Authorization: bearer 2cd308e9-0b8b-4b08-b3cd-f34dc50a8dfd
+Proxy-Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-07T154631.200.json
+
+###
+
+GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=2030
+Authorization: bearer 2cd308e9-0b8b-4b08-b3cd-f34dc50a8dfd
+Proxy-Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-07T154529.200.json
+
+###
+
+GET http://127.0.0.1:9002/teacherCourseSchedule/liveCourseScheduleTime?courseScheduleId=1678
+Authorization: bearer 2cd308e9-0b8b-4b08-b3cd-f34dc50a8dfd
+Proxy-Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-07T152014.200.json
+
+###
+
+GET http://127.0.0.1:8005/teacher/findTeacherByTenantId
+Authorization: bearer 7e4145d6-111d-429b-893a-4546df0f58ed
+tenantId: 1
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-06T170540.200.json
+
+###
+
+GET http://127.0.0.1:9002/classGroup/findTeacherClassStudents?classGroupId=191
+Authorization: bearer 7957b8d7-63d0-43e1-9c06-8a36b2cc85a4
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-05T193543.200.json
+
+###
+
+GET http://127.0.0.1:9002/classGroup/findTeacherClassStudents?classGroupId=197
+Authorization: bearer 7957b8d7-63d0-43e1-9c06-8a36b2cc85a4
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-05T193534.200.json
+
+###
+
+GET http://127.0.0.1:9002/classGroup/findTeacherClassStudents?courseScheduleId=1819
+Authorization: bearer 7957b8d7-63d0-43e1-9c06-8a36b2cc85a4
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-05T193400.200.json
+
+###
+
+GET http://127.0.0.1:9002/classGroup/findTeacherClassStudents?courseScheduleId=1270
+Authorization: bearer 7957b8d7-63d0-43e1-9c06-8a36b2cc85a4
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-05T193335.200.json
+
+###
+
+GET http://127.0.0.1:9002/classGroup/findTeacherClassStudents
+Authorization: bearer 7957b8d7-63d0-43e1-9c06-8a36b2cc85a4
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+<> 2023-06-05T193308.200.json
+
+###
+
+POST http://127.0.0.1:8005/studentManage/userPage
+Authorization: bearer b897da27-5a37-47df-8e76-54d80a61a55d
+Content-Type: application/json
+coopId: 25
+Content-Length: 137
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+//  "keyword": "一",
+//    "musicGroupId": 23050516201200001,
+  //  "subjectId": 2,
+  //  "vipFlag": true,
+//  "studentId": 2248340
+
+}
+
+<> 2023-06-02T201036.200.json
+
+###
+
+POST http://127.0.0.1:8005/studentManage/userDetail
+Authorization: bearer 81d0c352-fcc8-4812-87f5-0f7a68d10451
+Content-Type: application/json
+coopId: 25
+Content-Length: 63
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "studentId": 2248340,
+  "musicGroupId": 23042419330600001
+}
+
+<> 2023-06-02T201028.200.json
+
+###
+

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

@@ -2045,7 +2045,9 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      *
      * @return
      */
-    List<CourseSchedule> getCloseLiveCourseRoom(@Param("studentRemindTime") Integer studentRemindTime, @Param("closeTime") Integer closeTime);
+    List<CourseSchedule> getCloseLiveCourseRoom(@Param("studentRemindTime") Integer studentRemindTime,
+                                                @Param("closeTime") Integer closeTime,
+                                                @Param("tenantId") Integer tenantId);
 
     /**
      * 更新通知状态

+ 37 - 19
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -201,6 +201,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     @Autowired
     private SysMessageConfigDao sysMessageConfigDao;
 
+    @Autowired
+    private TenantInfoService tenantInfoService;
+
     private static final Logger LOGGER = LoggerFactory.getLogger(VipGroup.class);
 
     @Override
@@ -5080,35 +5083,48 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
     @Override
     public void closeLiveCourseRoom() {
 
+        List<TenantInfo> list = tenantInfoService.list();
+
         Integer studentRemindTime = Integer.parseInt(sysConfigService.findByParamName(SysConfigService.liveClassStudentRemindTime).getParanValue());
 
         Integer closeTime = Integer.parseInt(sysConfigService.findByParamName(SysConfigService.closeClassStudentRemindTime).getParanValue());
-        // 查询非连堂课  且  已经结束的课程
-        List<CourseSchedule> scheduleList = courseScheduleDao.getCloseLiveCourseRoom(studentRemindTime, null);
 
-        // 通知学生退出直播间
+        for (TenantInfo tenantInfo : list) {
+            // 是否是连堂课
+            String continueCourseTime = sysTenantConfigService.getTenantConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME, tenantInfo.getId());
+            if (StringUtils.isEmpty(continueCourseTime)) {
+                continueCourseTime = "5";
+            }
+            Integer messageTime = Integer.parseInt(continueCourseTime) + studentRemindTime;
 
-        scheduleList.forEach(data -> {
-            ImLiveBroadcastRoom imLiveBroadcastRoomVo = imLiveBroadcastRoomService.getByRoomUid(data.getLiveRoomId());
-            if (!Objects.isNull(imLiveBroadcastRoomVo) ) {
-                if(imLiveBroadcastRoomVo.getLiveState() == 1) {
 
-                    try {
-                        imLiveBroadcastRoomService.sendForcedOffline(imLiveBroadcastRoomVo);
+            // 查询非连堂课  且  已经结束的课程
+            List<CourseSchedule> scheduleList = courseScheduleDao.getCloseLiveCourseRoom(messageTime, null, tenantInfo.getId());
 
-                        courseScheduleDao.updateLiveRemind(data.getId(), 1);
-                    } catch (Exception e) {
-                        log.error("发送直播间退出消息失败", e);
+            // 通知学生退出直播间
+
+            scheduleList.forEach(data -> {
+                ImLiveBroadcastRoom imLiveBroadcastRoomVo = imLiveBroadcastRoomService.getByRoomUid(data.getLiveRoomId());
+                if (!Objects.isNull(imLiveBroadcastRoomVo)) {
+                    if (imLiveBroadcastRoomVo.getLiveState() == 1) {
+
+                        try {
+                            imLiveBroadcastRoomService.sendForcedOffline(imLiveBroadcastRoomVo);
+
+                            courseScheduleDao.updateLiveRemind(data.getId(), 1);
+                        } catch (Exception e) {
+                            log.error("发送直播间退出消息失败", e);
+                        }
+                    } else if (imLiveBroadcastRoomVo.getLiveState() == 2) {
+                        // 直播未开始 设置通知状态
+                        courseScheduleDao.updateLiveRemind(data.getId(), 2);
                     }
-                } else if (imLiveBroadcastRoomVo.getLiveState() == 2) {
-                    // 直播未开始 设置通知状态
-                    courseScheduleDao.updateLiveRemind(data.getId(), 2);
                 }
-            }
-        });
+            });
+        }
 
         // 没有直播流 关闭直播间
-        scheduleList = courseScheduleDao.getCloseLiveCourseRoom(null, closeTime);
+        List<CourseSchedule> scheduleList = courseScheduleDao.getCloseLiveCourseRoom(null, closeTime,null);
 
         // 检测直播间是否有直播流
         scheduleList.forEach(data -> {
@@ -5132,6 +5148,8 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             }
 
         });
-
     }
+
+
 }
+

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

@@ -4372,6 +4372,9 @@
             and CONCAT(class_date_,' ',end_class_time_) &lt;= date_format(date_add(now(),interval -#{closeTime} minute),'%Y-%m-%d %H:%i:%s')
             and live_remind_ = 1
         </if>
+        <if test="tenantId != null">
+            and tenant_id_ = #{tenantId}
+        </if>
     </select>
 
     <update id="updateLiveRemind">