Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/feature/0529-live' into feature/0529-live

zouxuan 2 rokov pred
rodič
commit
c6bde8474c
18 zmenil súbory, kde vykonal 467 pridanie a 417 odobranie
  1. 227 367
      .idea/httpRequests/http-requests-log.http
  2. 24 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentAttendanceViewDto.java
  3. 39 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/JoinCourseType.java
  4. 8 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/LiveGroupWrapper.java
  5. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveBroadcastRoomMemberService.java
  6. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveBroadcastRoomService.java
  7. 5 0
      mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java
  8. 23 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  9. 24 24
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 13 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomMemberServiceImpl.java
  11. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java
  12. 63 18
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java
  13. 5 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  14. 8 2
      mec-biz/src/main/resources/config/mybatis/LiveGroupPlusMapper.xml
  15. 11 2
      mec-biz/src/main/resources/config/mybatis/VipGroupMapper.xml
  16. 1 1
      mec-teacher/src/main/java/com/ym/mec/teacher/controller/TeacherCourseScheduleController.java
  17. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java
  18. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

+ 227 - 367
.idea/httpRequests/http-requests-log.http

@@ -1,3 +1,230 @@
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+authorization: bearer 1238347b-3b06-444e-9d35-d122639121ad
+Content-Type: application/json
+Content-Length: 152
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+//  "startTime": "2023-06-06 10:14:57",
+//  "endTime": "2023-06-08 10:14:57",
+//  "search": "",
+//  "status": "NOT_START"
+}
+
+<> 2023-06-08T112258.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+authorization: bearer 1238347b-3b06-444e-9d35-d122639121ad
+Content-Type: application/json
+Content-Length: 152
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+//  "startTime": "2023-06-06 10:14:57",
+//  "endTime": "2023-06-08 10:14:57",
+//  "search": "",
+//  "status": "NOT_START"
+}
+
+<> 2023-06-08T111901.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+authorization: bearer 1238347b-3b06-444e-9d35-d122639121ad
+Content-Type: application/json
+Content-Length: 152
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+//  "startTime": "2023-06-06 10:14:57",
+//  "endTime": "2023-06-08 10:14:57",
+//  "search": "",
+//  "status": "NOT_START"
+}
+
+<> 2023-06-08T111651.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+authorization: bearer 1238347b-3b06-444e-9d35-d122639121ad
+Content-Type: application/json
+Content-Length: 152
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+//  "startTime": "2023-06-06 10:14:57",
+//  "endTime": "2023-06-08 10:14:57",
+//  "search": "",
+//  "status": "NOT_START"
+}
+
+<> 2023-06-08T111624.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+authorization: bearer 1238347b-3b06-444e-9d35-d122639121ad
+Content-Type: application/json
+Content-Length: 146
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+  "startTime": "2023-06-06 10:14:57",
+  "endTime": "2023-06-08 10:14:57",
+  "search": "",
+//  "status": "NOT_START"
+}
+
+<> 2023-06-08T111544.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+Authorization: bearer 3c1eec84-6ee9-4c70-a4a8-d857d57338f6
+Content-Type: application/json
+Content-Length: 146
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+  "startTime": "2023-06-06 10:14:57",
+  "endTime": "2023-06-08 10:14:57",
+  "search": "",
+//  "status": "NOT_START"
+}
+
+<> 2023-06-08T110339.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+Authorization: bearer 3c1eec84-6ee9-4c70-a4a8-d857d57338f6
+Content-Type: application/json
+Content-Length: 146
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+  "startTime": "2023-06-08 10:14:57",
+  "endTime": "2023-06-08 10:14:57",
+  "search": "",
+//  "status": "NOT_START"
+}
+
+<> 2023-06-08T110325.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+Authorization: bearer 3c1eec84-6ee9-4c70-a4a8-d857d57338f6
+Content-Type: application/json
+Content-Length: 144
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+  "startTime": "2023-06-08 10:14:57",
+  "endTime": "2023-06-08 10:14:57",
+  "search": "",
+  "status": "NOT_START"
+}
+
+<> 2023-06-08T110304.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+Authorization: bearer 3c1eec84-6ee9-4c70-a4a8-d857d57338f6
+Content-Type: application/json
+Content-Length: 144
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+  "startTime": "2023-06-08 10:14:57",
+  "endTime": "2023-06-08 10:14:57",
+  "search": "",
+  "status": "NOT_START"
+}
+
+<> 2023-06-08T102617.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+Authorization: bearer 6dbea593-df93-4bf4-9f75-538c1bcc231e
+Content-Type: application/json
+Content-Length: 145
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10,
+  "startTime": "2023-06-08 10:14:57",
+  "endTime": "2023-06-08 10:14:57",
+  "search": "",
+  "status": "NOT_START",
+}
+
+<> 2023-06-08T101549.200.json
+
+###
+
+POST http://127.0.0.1:9002/teacherCourseSchedule/liveCoursePage
+Authorization: bearer 6dbea593-df93-4bf4-9f75-538c1bcc231e
+Content-Length: 29
+Content-Type: */*; charset=UTF-8
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
+Accept-Encoding: br,deflate,gzip,x-gzip
+
+{
+  "page": 1,
+  "rows": 10
+}
+
+<> 2023-06-08T100117.200.json
+
+###
+
 GET http://127.0.0.1:8005/task/liveCourseRemind
 Connection: Keep-Alive
 User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
@@ -521,370 +748,3 @@ Accept-Encoding: br,deflate,gzip,x-gzip
 
 ###
 
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 0fde0d90-4ffd-4d34-990c-eca290471d6b
-Content-Type: application/json
-Content-Length: 130
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-//    "groupType": "NORMAL",
-    "musicGroupId": "23050515070500001",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162816.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 0fde0d90-4ffd-4d34-990c-eca290471d6b
-Content-Type: application/json
-Content-Length: 118
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-//    "groupType": "NORMAL",
-//    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162734.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 9bdd96e1-8895-4200-aba5-241e1cb12e3c
-Content-Type: application/json
-Content-Length: 118
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-//    "groupType": "NORMAL",
-//    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162700.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 81d0c352-fcc8-4812-87f5-0f7a68d10451
-Content-Type: application/json
-Content-Length: 118
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-//    "groupType": "NORMAL",
-//    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162613.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 81d0c352-fcc8-4812-87f5-0f7a68d10451
-Content-Type: application/json
-Content-Length: 116
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-    "groupType": "NORMAL",
-//    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162603.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 81d0c352-fcc8-4812-87f5-0f7a68d10451
-Content-Type: application/json
-Content-Length: 114
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-    "groupType": "NORMAL",
-    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162557.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 114
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-    "groupType": "NORMAL",
-    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162533.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 114
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-    "groupType": "NORMAL",
-    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162517.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 118
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-//    "groupType": "NORMAL",
-//    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162055.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 114
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-    "groupType": "NORMAL",
-    "musicGroupId": "142",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162047.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryGroupList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 132
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//    "keyword": "乐团预报名",
-//    "groupType": "NORMAL",
-//    "musicGroupId": "23050515070500001",
-  //  "roleType": ""
-}
-
-<> 2023-06-01T162031.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryFriendList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 154
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//  "keyword": "宁老师",
-//  "groupType": "SCHOOL",
-  "roleType": "ORCHESTRA_MANAGER",
-  "musicGroupId": "23042416211000001",
-//  "lockFlag": false
-}
-
-<> 2023-06-01T161949.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryFriendList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 154
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//  "keyword": "宁老师",
-//  "groupType": "SCHOOL",
-  "roleType": "ORCHESTRA_MANAGER",
-  "musicGroupId": "23042416211000001",
-//  "lockFlag": false
-}
-
-<> 2023-06-01T161053.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryFriendList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 156
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//  "keyword": "宁老师",
-//  "groupType": "SCHOOL",
-//  "roleType": "ORCHESTRA_MANAGER",
-  "musicGroupId": "23042416211000001",
-//  "lockFlag": false
-}
-
-<> 2023-06-01T161046.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryFriendList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 156
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//  "keyword": "宁老师",
-//  "groupType": "SCHOOL",
-//  "roleType": "ORCHESTRA_MANAGER",
-  "musicGroupId": "23042416211000001",
-//  "lockFlag": false
-}
-
-<> 2023-06-01T160758.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryFriendList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 158
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//  "keyword": "宁老师",
-//  "groupType": "SCHOOL",
-//  "roleType": "ORCHESTRA_MANAGER",
-//  "musicGroupId": "23053118101300001",
-//  "lockFlag": false
-}
-
-<> 2023-06-01T160642.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryFriendList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 154
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//  "keyword": "宁老师",
-//  "groupType": "SCHOOL",
-  "roleType": "ORCHESTRA_MANAGER",
-  "musicGroupId": "23053118101300001",
-//  "lockFlag": false
-}
-
-<> 2023-06-01T160633.200.json
-
-###
-
-POST http://127.0.0.1:8005/imGroup/schoolQueryFriendList
-Authorization: bearer 241259a3-5563-410e-bed2-cd887f294b8b
-Content-Type: application/json
-Content-Length: 152
-Connection: Keep-Alive
-User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.6)
-Accept-Encoding: br,deflate,gzip,x-gzip
-
-{
-//  "keyword": "宁老师",
-//  "groupType": "SCHOOL",
-  "roleType": "ORCHESTRA_MANAGER",
-  "musicGroupId": "23053118101300001",
-  "lockFlag": false
-}
-
-<> 2023-06-01T160625.200.json
-
-###
-
-POST http://127.0.0.1:8005/studentManage/userDetail
-Authorization: bearer 81d0c352-fcc8-4812-87f5-0f7a68d10451
-Content-Type: application/json
-coopId: 1
-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-01T160136.200.json
-
-###
-

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentAttendanceViewDto.java

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dto;
 
+import com.ym.mec.biz.dal.enums.JoinCourseType;
 import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;
@@ -56,6 +57,29 @@ public class StudentAttendanceViewDto {
     @ApiModelProperty(value = "是否有待审核的退团申请",required = false)
     private Integer quitFlag;
 
+
+    @ApiModelProperty(value = "学员加入课程类型",required = false)
+    private JoinCourseType joinCourseType;
+
+    @ApiModelProperty(value = "观看时长",required = false)
+    private Integer watchTime;
+
+    public JoinCourseType getJoinCourseType() {
+        return joinCourseType;
+    }
+
+    public void setJoinCourseType(JoinCourseType joinCourseType) {
+        this.joinCourseType = joinCourseType;
+    }
+
+    public Integer getWatchTime() {
+        return watchTime;
+    }
+
+    public void setWatchTime(Integer watchTime) {
+        this.watchTime = watchTime;
+    }
+
     public String getCurrentClass() {
         return currentClass;
     }

+ 39 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/JoinCourseType.java

@@ -0,0 +1,39 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+//职务类型(指导老师、教务老师、教学主管)
+public enum JoinCourseType implements BaseEnum<String, JoinCourseType> {
+    // 购买
+    PURCHASE("PURCHASE", "购买"),
+
+    // 分享
+    SHARE("SHARE", "分享"),
+    ;
+
+	private String code;
+
+	private String msg;
+
+	JoinCourseType(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+
+	public String getMsg() {
+		return msg;
+	}
+
+	public void setMsg(String msg) {
+		this.msg = msg;
+	}
+
+	@Override
+	public String getCode() {
+		return this.code;
+	}
+}

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/LiveGroupWrapper.java

@@ -1,6 +1,8 @@
 package com.ym.mec.biz.dal.wrapper;
 
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
+import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -97,6 +99,12 @@ public class LiveGroupWrapper {
         @ApiModelProperty("结束时间")
         private Date endTime;
 
+        @ApiModelProperty("模糊查询")
+        private String search;
+
+        @ApiModelProperty("课程状态")
+        private CourseStatusEnum status;
+
         private Integer teacherId;
 
         private Integer tenantId;

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

@@ -10,6 +10,7 @@ import com.ym.mec.common.page.PageInfo;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * 直播间人员关系表(ImLiveBroadcastRoomMember)表服务接口
@@ -35,5 +36,7 @@ public interface ImLiveBroadcastRoomMemberService extends IService<ImLiveBroadca
      * 查询在房间人员
      */
     List<Integer> getLiveRoomMember(String roomUid);
+
+    List<ImLiveBroadcastRoomMember> getByRoomUidAndUserIds(String liveRoomId, Set<Long> userIds);
 }
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ImLiveBroadcastRoomService.java

@@ -236,5 +236,7 @@ public interface ImLiveBroadcastRoomService extends IService<ImLiveBroadcastRoom
      * @return TencentWrapper.LiveStreamState
      */
     TencentWrapper.LiveStreamState roomLiveStreamStatus(String roomUid);
+
+    void batchUpdateLiveRoomTitle(List<String> list, String roomTitle, String liveRemark);
 }
 

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/VipGroupService.java

@@ -476,4 +476,9 @@ public interface VipGroupService extends BaseService<Long, VipGroup> {
      * @param id 直播课id
      */
     Boolean del(Integer id);
+
+    /**
+     * 关闭直播间
+     */
+    void closeLiveCourseRoom();
 }

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

@@ -43,6 +43,7 @@ import java.math.BigDecimal;
 import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType.*;
@@ -164,6 +165,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     private CooperationOrganService cooperationOrganService;
     @Autowired
     private ClassGroupTeacherMapperDao classGroupTeacherMapperDao;
+
+    @Autowired
+    private ImLiveBroadcastRoomMemberService imLiveBroadcastRoomMemberService;
+
     @Override
     public BaseDAO<Integer, ClassGroup> getDAO() {
         return classGroupDao;
@@ -1898,8 +1903,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         truantStudent.addAll(otherStudent);
         truantStudent.addAll(leaveStudent);
         Set<Long> collect = truantStudent.stream().map(e -> e.getStudentId()).collect(Collectors.toSet());
+        CourseSchedule courseSchedule = courseScheduleDao.get(courseScheduleId);
         if (!CollectionUtils.isEmpty(truantStudent)) {
-            CourseSchedule schedule = courseScheduleDao.get(courseScheduleId);
+            CourseSchedule schedule = courseSchedule;
             if (schedule.getGroupType() == MUSIC) {
                 Map<Integer, String> paymentStatusMap = MapUtil.convertIntegerMap(musicGroupPaymentCalenderDao.queryUserCoursePaymentStatus(collect, schedule.getMusicGroupId()));
 
@@ -1949,6 +1955,22 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 }
             });
         }
+
+        // 如果是直播课  查询观看时长
+        if(courseSchedule.getGroupType().equals(GroupType.LIVE)) {
+            List<ImLiveBroadcastRoomMember> memberList = imLiveBroadcastRoomMemberService.getByRoomUidAndUserIds(courseSchedule.getLiveRoomId(), collect);
+            if (!CollectionUtils.isEmpty(memberList)) {
+                Map<Integer, ImLiveBroadcastRoomMember> memberMap = memberList.stream().collect(Collectors.toMap(ImLiveBroadcastRoomMember::getUserId, Function.identity()));
+                truantStudent.forEach(studentAttendanceViewDto -> {
+                    ImLiveBroadcastRoomMember member = memberMap.get(studentAttendanceViewDto.getStudentId().intValue());
+                    if (member != null) {
+                        studentAttendanceViewDto.setWatchTime(member.getTotalTime());
+                    }else {
+                        studentAttendanceViewDto.setWatchTime(0);
+                    }
+                });
+            }
+        }
         return truantStudent;
     }
 

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

@@ -1147,13 +1147,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		}
 
         for (CourseScheduleDto courseScheduleDto : studentCourseSchedulesWithDate) {
-            if (now.before(courseScheduleDto.getStartClassTime())) {
-                courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
-            } else if (now.after(courseScheduleDto.getEndClassTime())) {
-                courseScheduleDto.setStatus(CourseStatusEnum.OVER);
-            } else {
-                courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
-            }
+//            if (now.before(courseScheduleDto.getStartClassTime())) {
+//                courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
+//            } else if (now.after(courseScheduleDto.getEndClassTime())) {
+//                courseScheduleDto.setStatus(CourseStatusEnum.OVER);
+//            } else {
+//                courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
+//            }
             courseScheduleDto.setSubjectName(MapUtils.getString(subjectNameCourseMap, courseScheduleDto.getId()));
             courseScheduleDto.setSubjectId(MapUtils.getString(subjectIdCourseMap, courseScheduleDto.getId()));
 			courseScheduleDto.setReviewId(reviewIdMap.get(courseScheduleDto.getId().intValue()));
@@ -1357,33 +1357,33 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         for (CourseScheduleDto courseScheduleDto : teacherCourseSchedulesWithDate) {
             Long studentNum = studentNumCourseMap.get(courseScheduleDto.getId());
             if (Objects.nonNull(studentNum)) {
-            courseScheduleDto.setStudentAttendanceIsFirstTime(studentNum > 0 ? 0 : 1);
+                courseScheduleDto.setStudentAttendanceIsFirstTime(studentNum > 0 ? 0 : 1);
             } else {
-            courseScheduleDto.setStudentAttendanceIsFirstTime(1);
+                courseScheduleDto.setStudentAttendanceIsFirstTime(1);
             }
 
-            if (now.before(courseScheduleDto.getStartClassTime())) {
-            courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
-            } else if (now.after(courseScheduleDto.getEndClassTime())) {
-            courseScheduleDto.setStatus(CourseStatusEnum.OVER);
-            } else {
-            courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
-            }
+//            if (now.before(courseScheduleDto.getStartClassTime())) {
+//            courseScheduleDto.setStatus(CourseStatusEnum.NOT_START);
+//            } else if (now.after(courseScheduleDto.getEndClassTime())) {
+//            courseScheduleDto.setStatus(CourseStatusEnum.OVER);
+//            } else {
+//            courseScheduleDto.setStatus(CourseStatusEnum.UNDERWAY);
+//            }
             if (Objects.nonNull(courseScheduleDto.getClassGroupId())) {
-            //                String[] studentNames = classGroupStudentMapperDao.findCourseStudentName(courseScheduleDto.getId().intValue());
-            List<StudentNameAndPhoneDto> courseStudentNameAndPhone = classGroupStudentMapperDao.findCourseStudentNameAndPhone(courseScheduleDto.getId().intValue());
-            if(!CollectionUtils.isEmpty(courseStudentNameAndPhone)){
-            List<String> studentNames = courseStudentNameAndPhone.stream().filter(s->Objects.nonNull(s)&&Objects.nonNull(s.getUserName())).map(StudentNameAndPhoneDto::getUserName).collect(Collectors.toList());
-            courseScheduleDto.setStudentNames(StringUtils.join(studentNames, ","));
-            courseScheduleDto.setStudents(courseStudentNameAndPhone);
-            }
+                //                String[] studentNames = classGroupStudentMapperDao.findCourseStudentName(courseScheduleDto.getId().intValue());
+                List<StudentNameAndPhoneDto> courseStudentNameAndPhone = classGroupStudentMapperDao.findCourseStudentNameAndPhone(courseScheduleDto.getId().intValue());
+                if(!CollectionUtils.isEmpty(courseStudentNameAndPhone)){
+                    List<String> studentNames = courseStudentNameAndPhone.stream().filter(s->Objects.nonNull(s)&&Objects.nonNull(s.getUserName())).map(StudentNameAndPhoneDto::getUserName).collect(Collectors.toList());
+                    courseScheduleDto.setStudentNames(StringUtils.join(studentNames, ","));
+                    courseScheduleDto.setStudents(courseStudentNameAndPhone);
+                }
             }
             courseScheduleDto.setSubjectName(subjectNameCourseMap.get(courseScheduleDto.getId()));
             courseScheduleDto.setSubjectId(subjectIdCourseMap.get(courseScheduleDto.getId()));
             Long leaveStudentNum = courseLeaveStudentNumMap.get(courseScheduleDto.getId());
             Long normalStudentNum = classGroupStudentNumMap.get(courseScheduleDto.getClassGroupId());
             if(Objects.nonNull(leaveStudentNum)&&Objects.nonNull(normalStudentNum)&&leaveStudentNum.intValue()==normalStudentNum.intValue()){
-            courseScheduleDto.setEnableAdjustInToday(1);
+                courseScheduleDto.setEnableAdjustInToday(1);
             }
             List<CourseScheduleReview> courseScheduleReviews = idCourseReview.get(courseScheduleDto.getId().intValue());
             if(!CollectionUtils.isEmpty(courseScheduleReviews)){

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomMemberServiceImpl.java

@@ -177,5 +177,18 @@ public class ImLiveBroadcastRoomMemberServiceImpl extends ServiceImpl<ImLiveBroa
         return list.stream().map(ImLiveBroadcastRoomMember::getUserId).collect(Collectors.toList());
     }
 
+    @Override
+    public List<ImLiveBroadcastRoomMember> getByRoomUidAndUserIds(String liveRoomId, Set<Long> userIds) {
+
+        if (StringUtils.isBlank(liveRoomId) || CollectionUtils.isEmpty(userIds)) {
+            return new ArrayList<>();
+        }
+        return this.lambdaQuery()
+                .eq(ImLiveBroadcastRoomMember::getRoomUid, liveRoomId)
+                .in(ImLiveBroadcastRoomMember::getUserId, userIds)
+                .list();
+
+    }
+
 }
 

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ImLiveBroadcastRoomServiceImpl.java

@@ -3067,6 +3067,15 @@ public class ImLiveBroadcastRoomServiceImpl extends ServiceImpl<ImLiveBroadcastR
         return liveStreamState;
     }
 
+    @Override
+    public void batchUpdateLiveRoomTitle(List<String> list, String roomTitle, String liveRemark) {
+        this.lambdaUpdate()
+                .in(ImLiveBroadcastRoom::getRoomUid, list)
+                .set(ImLiveBroadcastRoom::getRoomTitle, roomTitle)
+                .set(ImLiveBroadcastRoom::getLiveRemark, liveRemark)
+                .update();
+    }
+
 
     /**
      * 查询直播间所有用户信息

+ 63 - 18
mec-biz/src/main/java/com/ym/mec/biz/service/impl/VipGroupServiceImpl.java

@@ -286,17 +286,20 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         //获取最后一节课
         CourseSchedule latestCourseSchedule = vipGroup.getCourseSchedules().stream().max(Comparator.comparing(CourseSchedule::getEndClassTime)).get();
 
-        if (firstCourseSchedule.getStartClassTime().before(new Date())) {
-            throw new BizException("开课时间不能小于当前时间");
-        }
+        if (!vipGroup1.getStatus().equals(VipGroupStatusEnum.PROGRESS)) {
+            if (firstCourseSchedule.getStartClassTime().before(new Date())) {
+                throw new BizException("开课时间不能小于当前时间");
+            }
 
-        if (vipGroupApplyBaseInfoDto.getRegistrationStartTime().after(vipGroupApplyBaseInfoDto.getPaymentExpireDate())) {
-            throw new BizException("报名开始时间必须在报名截至时间之前");
-        }
+            if (vipGroupApplyBaseInfoDto.getRegistrationStartTime().after(vipGroupApplyBaseInfoDto.getPaymentExpireDate())) {
+                throw new BizException("报名开始时间必须在报名截至时间之前");
+            }
+
+            if (vipGroupApplyBaseInfoDto.getPaymentExpireDate().after(firstCourseSchedule.getStartClassTime())
+                    || DateUtil.isSameDay(vipGroupApplyBaseInfoDto.getPaymentExpireDate(), firstCourseSchedule.getEndClassTime())) {
+                throw new BizException("创建失败,报名截止时间必须在开课时间前一天");
+            }
 
-        if (vipGroupApplyBaseInfoDto.getPaymentExpireDate().after(firstCourseSchedule.getStartClassTime())
-                || DateUtil.isSameDay(vipGroupApplyBaseInfoDto.getPaymentExpireDate(), firstCourseSchedule.getEndClassTime())) {
-            throw new BizException("创建失败,报名截止时间必须在开课时间前一天");
         }
 
         VipGroupCategory vipGroupCategory = vipGroupCategoryService.get(vipGroupApplyBaseInfoDto.getVipGroupCategoryId());
@@ -342,6 +345,10 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
             vipGroup.getVipGroupApplyBaseInfo().setLiveConfigJson(JSON.toJSONString(liveRoom));
         }
+
+        vipGroupApplyBaseInfoDto.setName(vipGroup.getLiveBroadcastRoom().getRoomTitle());
+        vipGroupApplyBaseInfoDto.setSubjectId(Integer.parseInt(vipGroup.getLiveBroadcastRoom().getSubjectId()));
+
         vipGroupDao.update(vipGroupApplyBaseInfoDto);
 
 
@@ -357,7 +364,6 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         } else {
             classGroup.setExpectStudentNum(vipGroupCategory.getStudentNum());
         }
-        classGroup.setStudentNum(0);
         classGroup.setName(vipGroupApplyBaseInfoDto.getName());
         classGroup.setTotalClassTimes(totalClassTimes);
         classGroup.setType(ClassGroupTypeEnum.valueOf(groupType));
@@ -432,8 +438,34 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
             courseSchedule.setName(vipGroupApplyBaseInfoDto.getName());
             courseSchedule.setOrganId(vipGroupApplyBaseInfoDto.getOrganId());
         });
+        if (vipGroup1.getStatus().equals(VipGroupStatusEnum.PROGRESS)) {
+            // 修改课程信息
+            // 修改直播间标题
+
+            // 查询未开始课程信息
+            List<CourseSchedule> scheduleList = courseScheduleDao.findByClassGroupAndStatus(classGroup.getId(), CourseStatusEnum.NOT_START.getCode());
+            Map<Long, CourseSchedule> scheduleMap = courseSchedules.stream().collect(Collectors.toMap(CourseSchedule::getId, Function.identity()));
+            scheduleList.forEach(courseSchedule -> {
+                CourseSchedule schedule = scheduleMap.get(courseSchedule.getId());
+                if(schedule == null ) {
+                    return;
+                }
+                courseSchedule.setName(vipGroupApplyBaseInfoDto.getName());
+                courseSchedule.setTeachingContent(schedule.getTeachingContent());
+                courseSchedule.setTeachingPoint(schedule.getTeachingPoint());
+            });
+            courseScheduleDao.batchUpdate(scheduleList);
 
-        courseScheduleService.checkNewCourseSchedules(courseSchedules, false, false);
+            // 直播间ID
+            List<String> list = scheduleList.stream().map(CourseSchedule::getLiveRoomId).filter(Objects::nonNull).collect(Collectors.toList());
+            if (list.size() > 0) {
+                imLiveBroadcastRoomService.batchUpdateLiveRoomTitle(list, vipGroup.getLiveBroadcastRoom().getRoomTitle(),vipGroup.getLiveBroadcastRoom().getLiveRemark());
+            }
+        }
+
+        if (!vipGroup1.getStatus().equals(VipGroupStatusEnum.PROGRESS)) {
+            courseScheduleService.checkNewCourseSchedules(courseSchedules, false, false);
+        }
         vipGroupApplyBaseInfoDto.setCourseSchedulesJson(JSON.toJSONString(courseSchedules));
         vipGroupDao.update(vipGroupApplyBaseInfoDto);
         return BaseController.succeed(vipGroupApplyBaseInfoDto.getAuditStatus().getCode());
@@ -557,6 +589,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
 
             vipGroupApplyBaseInfoDto.setName(vipGroup.getLiveBroadcastRoom().getRoomTitle());
+            vipGroupApplyBaseInfoDto.setSubjectId(Integer.parseInt(vipGroup.getLiveBroadcastRoom().getSubjectId()));
         }
         vipGroupDao.insert(vipGroupApplyBaseInfoDto);
 
@@ -1796,7 +1829,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         if (queryInfo.getGroupType().equals(GroupType.LIVE.getCode())) {
             queryInfo.setOrganId(null);
             queryInfo.setLiveOrganId(null);
-            queryInfo.setDelFlag(true);
+            queryInfo.setDelFlag(false);
         }
         PageInfo pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>();
@@ -4787,7 +4820,14 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 
         // 设置课程
         List<CourseSchedule> courseSchedules = JSON.parseArray(baseInfoDto.getCourseSchedulesJson(), CourseSchedule.class);
+        if (vipGroup.getStatus().equals(VipGroupStatusEnum.PROGRESS)) {
+            // 修改课程信息
+            ClassGroup classGroup = classGroupDao.findByVipGroup(vipGroup.getId(), GroupType.LIVE.getCode());
+
+            // 查询未开始课程信息
+            courseSchedules = courseScheduleDao.findClassGroupCourseSchedules(classGroup.getId());
 
+        }
         vipGroupApplyDto.setCourseSchedules(courseSchedules);
 
         // 直播信息
@@ -4947,16 +4987,16 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         }
 
 
-        SysMessageConfig sysMessageConfig = sysMessageConfigDao.queryByType(MessageTypeEnum.JIGUANG_LIVE_COURSE_START.getCode());
-        sysMessageConfig = sysMessageConfigDao.queryByType(MessageTypeEnum.JIGUANG_LIVE_COURSE_START_STUDENT.getCode());
-        sysMessageConfig = sysMessageConfigDao.queryByType(MessageTypeEnum.IM_LIVE_COURSE_START_GROUP.getCode());
+        SysMessageConfig sysMessageConfig1 = sysMessageConfigDao.queryByType(MessageTypeEnum.JIGUANG_LIVE_COURSE_START.getCode());
+        SysMessageConfig sysMessageConfig2 = sysMessageConfigDao.queryByType(MessageTypeEnum.JIGUANG_LIVE_COURSE_START_STUDENT.getCode());
+        SysMessageConfig sysMessageConfig3 = sysMessageConfigDao.queryByType(MessageTypeEnum.IM_LIVE_COURSE_START_GROUP.getCode());
 
 
         for (CourseSchedule courseSchedule : courseSchedules) {
-            String studentUrl = sysMessageConfig.getUrl();
-            String teacherUrl = sysMessageConfig.getUrl();
+            String studentUrl = sysMessageConfig1.getUrl();
+            String teacherUrl = sysMessageConfig2.getUrl();
 
-            String imUrl = sysMessageConfig.getUrl();
+            String imUrl = sysMessageConfig3.getUrl();
 
             // 获取班级名
             ClassGroup classGroup = classGroupDao.get(courseSchedule.getClassGroupId());
@@ -5018,4 +5058,9 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
         vipGroupDao.del(id);
         return true;
     }
+
+    @Override
+    public void closeLiveCourseRoom() {
+
+    }
 }

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

@@ -1360,6 +1360,9 @@
                 <if test="item.classDate != null">
                     class_date_ = #{item.classDate},
                 </if>
+                <if test="item.name != null">
+                    name_ = #{item.name},
+                </if>
                 <if test="item.endClassTime != null">
                     end_class_time_ = #{item.endClassTime},
                 </if>
@@ -2177,6 +2180,8 @@
                cs.name_,
                cs.student_num_,
                cs.leave_student_num_,
+               cs.teaching_point_,
+               cs.teaching_content_,
                cs.schoole_id_
         FROM course_schedule cs
         WHERE cs.class_group_id_ = #{classGroupId}

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/LiveGroupPlusMapper.xml

@@ -55,7 +55,7 @@
     WHERE
     (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
     AND (cs.is_lock_=0 OR cs.is_lock_ IS NULL)
-    and cs.type_ = 'LIVE' and ilbr.os_ = 'client'
+    and cs.type_ = 'LIVE'
     <if test="param.startTime != null">
         AND cs.class_date_ &gt;= date_format(#{param.startTime},'%Y-%m-%d')
     </if>
@@ -63,6 +63,12 @@
         AND cs.class_date_ &lt;= date_format(#{param.endTime},'%Y-%m-%d')
     </if>
     AND csts.user_id_ = #{param.teacherId} AND cs.pre_course_flag_ = 0
-    ORDER BY start_class_time_
+    <if test="param.status != null">
+        AND cs.status_ = #{param.status}
+    </if>
+    <if test="param.search != null and param.search != ''">
+        AND (cs.name_ LIKE CONCAT('%',#{param.search},'%'))
+    </if>
+    order by field(ilbr.live_state_, 1, 0, 2) asc, ilbr.live_start_time_ desc
     </select>
 </mapper>

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

@@ -254,13 +254,13 @@
          update_time_,teacher_school_id_,online_classes_num_,offline_classes_num_,registration_start_time_,
          name_,organ_id_list_,vip_group_activity_id_,group_status_,online_classes_unit_price_,offline_classes_unit_price_,
          total_price_,give_teach_mode_,vip_group_category_id_,organ_id_,stop_reason_,memo_,audit_status_,courses_start_date,
-         course_schedules_json_,student_id_list_,tenant_id_, group_type_, live_config_json_,original_total_price_)
+         course_schedules_json_,student_id_list_,tenant_id_, group_type_, live_config_json_,original_total_price_,subject_id_)
         VALUES(#{id},#{userId},#{singleClassMinutes},#{paymentExpireDate},#{coursesExpireDate},now(),now(),#{teacherSchoolId},
                #{onlineClassesNum},#{offlineClassesNum},#{registrationStartTime},#{name},#{organIdList},#{vipGroupActivityId},
                #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{onlineClassesUnitPrice},#{offlineClassesUnitPrice},
                #{totalPrice},#{giveTeachMode},#{vipGroupCategoryId},#{organId},#{stopReason},#{memo},
                #{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{courseStartDate},#{courseSchedulesJson},#{studentIdList},#{tenantId},
-               #{groupType}, #{liveConfigJson},#{originalTotalPrice})
+               #{groupType}, #{liveConfigJson},#{originalTotalPrice},#{subjectId})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -273,6 +273,9 @@
             <if test="paymentExpireDate != null">
                 payment_expire_date_ = #{paymentExpireDate},
             </if>
+            <if test="name != null">
+                name_ = #{name},
+            </if>
             <if test="userId != null">
                 user_id_ = #{userId},
             </if>
@@ -331,6 +334,9 @@
             <if test="courseSchedulesJson!=null">
                 course_schedules_json_=#{courseSchedulesJson},
             </if>
+            <if test="liveConfigJson!=null">
+                live_config_json_=#{liveConfigJson},
+            </if>
             <if test="studentIdList!=null">
                 student_id_list_=#{studentIdList},
             </if>
@@ -340,6 +346,9 @@
             <if test="originalTotalPrice != null">
                 original_total_price_=#{originalTotalPrice},
             </if>
+            <if test="subjectId != null">
+                subject_id_=#{subjectId},
+            </if>
         </set>
         WHERE id_ = #{id} and tenant_id_ = #{tenantId}
     </update>

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

@@ -395,7 +395,7 @@ public class TeacherCourseScheduleController extends BaseController {
 
     @ApiOperation(value = "老师乐直播直播课课程列表")
     @PostMapping("/liveCoursePage")
-    public HttpResponseResult<PageInfo<CourseScheduleDto>> liveCoursePage(LiveGroupWrapper.LiveCoursePageQuery queryInfo){
+    public HttpResponseResult<PageInfo<CourseScheduleDto>> liveCoursePage(@RequestBody LiveGroupWrapper.LiveCoursePageQuery queryInfo){
 
 
         SysUser user = sysUserService.getUser();

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -671,7 +671,7 @@ public class TaskController extends BaseController {
     @ApiOperation("关闭直播课房间")
     @GetMapping("/closeLiveCourseRoom")
     public Object closeLiveCourseRoom() {
-//        vipGroupService.closeLiveCourseRoom();
+        vipGroupService.closeLiveCourseRoom();
         return succeed();
     }
 }

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/VipGroupManageController.java

@@ -453,7 +453,7 @@ public class VipGroupManageController extends BaseController {
 
 
     @ApiOperation(value = "删除直播课")
-    @PostMapping(value = "/delLiveGroup/{id}")
+    @GetMapping(value = "/delLiveGroup/{id}")
     public HttpResponseResult<Object> delLiveGroup(@PathVariable Integer id){
 
         return succeed(vipGroupService.del(id));