浏览代码

Merge branch 'master' of http://git.dayaedu.com/yonge/cooleshow

liujunchi 3 年之前
父节点
当前提交
55c2a04421
共有 18 个文件被更改,包括 93 次插入65 次删除
  1. 2 2
      cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/AdminFeignService.java
  2. 1 1
      cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/CmsFeignService.java
  3. 3 3
      cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/MallAdminFeignService.java
  4. 1 1
      cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/MallPortalFeignService.java
  5. 3 1
      cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/StudentFeignService.java
  6. 2 1
      cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/TeacherFeignService.java
  7. 2 1
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/AppConstant.java
  8. 13 0
      cooleshow-task/src/main/resources/bootstrap-dev.yml
  9. 1 4
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImNetworkRoomService.java
  10. 15 7
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseScheduleServiceImpl.java
  11. 22 35
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ImNetworkRoomServiceImpl.java
  12. 1 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseStudent.java
  13. 11 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentHomePage.java
  14. 3 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  15. 2 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleStudentPaymentMapper.xml
  16. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ImNetworkRoomMemberMapper.xml
  17. 6 3
      cooleshow-user/user-classroom/src/main/java/com/yonge/cooleshow/classroom/controller/ImNetworkRoomController.java
  18. 4 0
      toolset/utils/src/main/java/com/yonge/toolset/utils/date/DateUtil.java

+ 2 - 2
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/AdminFeignService.java

@@ -15,8 +15,8 @@ import org.springframework.web.bind.annotation.PostMapping;
  * @author liujunchi
  * @date 2022-05-06
  */
-@FeignClient(name = AppConstant.APPLICATION_ADMIN, configuration = FeignConfiguration.class,
-             fallback = AdminFeignServiceFallback.class)
+@FeignClient(name = AppConstant.APPLICATION_ADMIN + AppConstant.SERVER, configuration = FeignConfiguration.class,
+        fallback = AdminFeignServiceFallback.class)
 public interface AdminFeignService {
     /***
      * 轮询用户订单

+ 1 - 1
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/CmsFeignService.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.GetMapping;
  * @date 2022-04-29
  */
 
-@FeignClient(name = AppConstant.APPLICATION_CMS, configuration = FeignConfiguration.class, fallback = CmsFeignServiceFallback.class)
+@FeignClient(name = AppConstant.APPLICATION_CMS + AppConstant.SERVER, configuration = FeignConfiguration.class, fallback = CmsFeignServiceFallback.class)
 public interface CmsFeignService {
 
     /**

+ 3 - 3
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/MallAdminFeignService.java

@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import java.util.List;
 import java.util.Map;
 
-@FeignClient(name = AppConstant.APPLICATION_MALL_ADMIN, configuration = FeignConfiguration.class,
+@FeignClient(name = AppConstant.APPLICATION_MALL_ADMIN + AppConstant.SERVER, configuration = FeignConfiguration.class,
         fallback = MallAdminFeignServiceFallback.class)
 public interface MallAdminFeignService {
 
@@ -27,11 +27,11 @@ public interface MallAdminFeignService {
      *              userIdList=[1,2]                    --用户id集合
      * }
      * @updateTime 2022/5/5 10:57
-     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>
+     * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.util.List < java.util.Map < java.lang.String, java.lang.Object>>>
      *      {
      *          userId:1,                               --用户id
      *          receiveTime:毫秒值        --订单完成时间
      *      }
      */
-    HttpResponseResult<List<Map<String,Object>>> userOrderInfoList(@RequestBody Map<String,Object> param);
+    HttpResponseResult<List<Map<String, Object>>> userOrderInfoList(@RequestBody Map<String, Object> param);
 }

+ 1 - 1
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/MallPortalFeignService.java

@@ -6,7 +6,7 @@ import com.yonge.toolset.feign.config.FeignConfiguration;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 
-@FeignClient(name = AppConstant.APPLICATION_MALL_PORTAL, configuration = FeignConfiguration.class,
+@FeignClient(name = AppConstant.APPLICATION_MALL_PORTAL + AppConstant.SERVER, configuration = FeignConfiguration.class,
         fallback = MallPortalFeignServiceFallback.class)
 public interface MallPortalFeignService {
 

+ 3 - 1
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/StudentFeignService.java

@@ -1,12 +1,13 @@
 package com.yonge.cooleshow.api.feign;
 
 import com.yonge.cooleshow.api.feign.fallback.StudentFeignServiceFallback;
+import com.yonge.cooleshow.common.constant.AppConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.feign.config.FeignConfiguration;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 
-@FeignClient(name = "student-server", configuration = FeignConfiguration.class, fallback = StudentFeignServiceFallback.class)
+@FeignClient(name = AppConstant.APPLICATION_STUDENT + AppConstant.SERVER, configuration = FeignConfiguration.class, fallback = StudentFeignServiceFallback.class)
 public interface StudentFeignService {
 
     /***
@@ -17,6 +18,7 @@ public interface StudentFeignService {
      */
     @GetMapping(value = "/task/queryStudentTotal")
     Object queryStudentTotal();
+
     /***
      * 半小时一次
      * @author liweifan

+ 2 - 1
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/TeacherFeignService.java

@@ -1,12 +1,13 @@
 package com.yonge.cooleshow.api.feign;
 
 import com.yonge.cooleshow.api.feign.fallback.TeacherFeignServiceFallback;
+import com.yonge.cooleshow.common.constant.AppConstant;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.feign.config.FeignConfiguration;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 
-@FeignClient(name = "teacher-server", configuration = FeignConfiguration.class, fallback = TeacherFeignServiceFallback.class)
+@FeignClient(name = AppConstant.APPLICATION_TEACHER + AppConstant.SERVER, configuration = FeignConfiguration.class, fallback = TeacherFeignServiceFallback.class)
 public interface TeacherFeignService {
 
     /***

+ 2 - 1
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/AppConstant.java

@@ -32,7 +32,7 @@ public interface AppConstant {
     /**
      * CMS
      */
-    String APPLICATION_CMS= "cms";
+    String APPLICATION_CMS = "cms";
     /**
      * 商城管理端
      */
@@ -50,4 +50,5 @@ public interface AppConstant {
      */
     String APPLICATION_AUDIO_ANALYSIS = "audio-analysis";
 
+    String SERVER = "-server";
 }

+ 13 - 0
cooleshow-task/src/main/resources/bootstrap-dev.yml

@@ -0,0 +1,13 @@
+spring:
+  cloud:
+    nacos:
+      config:
+        server-addr: 47.114.1.200:8848
+        namespace: 6f8374a9-598f-4889-bb17-476070ffb8de
+        group: DEFAULT_GROUP
+        prefix: task
+        file-extension: yaml
+        refresh:
+          enabled: true
+        enabled: true
+

+ 1 - 4
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ImNetworkRoomService.java

@@ -28,11 +28,8 @@ public interface ImNetworkRoomService extends IService<ImNetworkRoom> {
     //加入网络教室失败
     void joinRoomFailure(String roomId);
 
-    //退出房间
-    void leaveRoom(String roomId) throws Exception;
-
     //退出房间成功
-    void leaveRoomSuccess(String roomId, Long userId) throws Exception;
+    void quitRoomSuccess(String roomId, Long userId) throws Exception;
 
     //控制用户节拍器
     void sendImPlayMidiMessage(ImNetworkCustomMessage customMessage) throws Exception;

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

@@ -1139,6 +1139,12 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
             throw new BizException("课程无人购买");
         }
 
+        //课程改为过去式避免校验时报错
+        baseMapper.update(null,Wrappers.<CourseSchedule>lambdaUpdate()
+                .eq(CourseSchedule::getId,adjustVo.getCourseId())
+                .set(CourseSchedule::getStartTime,DateUtil.getYesterday())
+                .set(CourseSchedule::getEndTime,DateUtil.getYesterday()));
+
         CourseTimeEntity timeEntity = new CourseTimeEntity();
         timeEntity.setStartTime(startTime);
         timeEntity.setEndTime(endTime);
@@ -1169,7 +1175,7 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
         }
         if (studentId == null) {
             StudentHomePage.RecentCourses coursesPractice = baseMapper.selectRecentCoursesPractice(teacherId);
-            StudentHomePage.RecentCourses coursesLive = baseMapper.selectRecentCoursesLive(teacherId);
+            StudentHomePage.RecentCourses coursesLive = baseMapper.selectRecentCoursesLive(teacherId);//直播课&琴房课共用coursesLive
 
             if (coursesPractice == null && coursesLive != null) {
                 homePage.setRecentCourses(coursesLive);
@@ -1486,12 +1492,14 @@ public class CourseScheduleServiceImpl extends ServiceImpl<CourseScheduleDao, Co
      * @return
      */
     public List<DateChangeVo> splicingDate(String day, List<DateVo> strDateList, List<DateChangeVo> rList) {
-        for (DateVo vo : strDateList) {
-            if (vo != null) {
-                DateChangeVo dateChange = new DateChangeVo();
-                dateChange.setStartTime(DateUtil.strToDate(day + " " + vo.getStartTime()));
-                dateChange.setEndTime(DateUtil.strToDate(day + " " + vo.getEndTime()));
-                rList.add(dateChange);
+        if (CollectionUtils.isNotEmpty(strDateList)){
+            for (DateVo vo : strDateList) {
+                if (vo != null) {
+                    DateChangeVo dateChange = new DateChangeVo();
+                    dateChange.setStartTime(DateUtil.strToDate(day + " " + vo.getStartTime()));
+                    dateChange.setEndTime(DateUtil.strToDate(day + " " + vo.getEndTime()));
+                    rList.add(dateChange);
+                }
             }
         }
         return rList;

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

@@ -19,14 +19,14 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.util.*;
-import java.util.function.BiConsumer;
-import java.util.function.Consumer;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -58,6 +58,10 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
     private IMHelper imHelper;
     @Resource
     private MusicSheetAccompanimentService musicSheetAccompanimentService;
+    @Resource
+    private RedisTemplate<String,Object> redisTemplate;
+
+    private String QUIT_ROOM_SUCCESS = "quitRoomSuccess:";
 
     @Override
     public ImNetworkRoomDao getDao() {
@@ -180,48 +184,32 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void leaveRoom(String roomId) throws Exception {
-        Long userId = sysUserService.getUserId();
-        log.info("leaveRoom: roomId={}, userId={}", roomId, userId);
-        long courseScheduleId = Long.parseLong(roomId);
-        Long teacherId = Optional.ofNullable(courseScheduleService.getById(courseScheduleId)).
-                map(CourseSchedule::getTeacherId).
-                orElseThrow(()->new BizException("房间信息不存在"));
-        UserRoleEnum userRole = UserRoleEnum.STUDENT;
-        if(teacherId.equals(userId)){
-            userRole = UserRoleEnum.TEACHER;
-        }
-        if (userRole == UserRoleEnum.TEACHER){
-            //如果老师退出房间,关闭伴奏
-            courseScheduleStudentMusicSheetService.getDao().closePlayStatus(courseScheduleId,null);
-            courseScheduleStudentPaymentService.getDao().adjustPlayMidi(courseScheduleId, null, null);
-            courseScheduleStudentPaymentService.getDao().adjustExamSong(courseScheduleId, null, null);
+    public void quitRoomSuccess(String roomId, Long userId) throws Exception {
+        log.info("quitRoomSuccess: roomId={}, userId={}", roomId, userId);
+        //防止幂等
+        StringBuffer sb  = new StringBuffer(QUIT_ROOM_SUCCESS).append(roomId).append(userId);
+        if (!redisTemplate.opsForValue().setIfAbsent(sb.toString(),userId,1l, TimeUnit.SECONDS)){
+            log.info("quitRoomSuccess break: roomId={}, userId={}", roomId, userId);
+            return;
         }
         ImNetworkRoomMember roomMember = imNetworkRoomMemberService.getDao().findByRidAndUid(roomId, userId);
-        //删除用户信息
-        imNetworkRoomMemberService.getDao().delByRidAndUid(roomId,userId);
-        //发送退出房间的消息
-        ImNetworkRoomMemberChangedMessage msg = new ImNetworkRoomMemberChangedMessage(roomMember,ImNetworkRoomMemberChangedEnum.JOIN);
-        imHelper.publishMessage(userId.toString(), roomId, msg);
-        imHelper.quit(new String[]{userId.toString()}, roomId);
-        //记录考勤信息
-        //是否删除房间信息
-    }
-
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void leaveRoomSuccess(String roomId, Long userId) throws Exception {
-        log.info("leaveRoomSuccess: roomId={}, userId={}", roomId, userId);
+        if(Objects.isNull(roomMember)){
+            return;
+        }
         CourseSchedule courseSchedule = Optional.ofNullable(courseScheduleService.getById(roomId))
                 .orElseThrow(()->new BizException("房间信息不存在"));
+        Long courseScheduleId = courseSchedule.getId();
         UserRoleEnum roleEnum = UserRoleEnum.STUDENT;
         if(Objects.equals(courseSchedule.getTeacherId(),userId)){
             roleEnum = UserRoleEnum.TEACHER;
         }
         //记录考勤信息
-
         ImNetworkRoom room = baseMapper.findByRoomId(roomId);
         if (roleEnum == UserRoleEnum.TEACHER){
+            //如果老师退出房间,关闭伴奏
+            courseScheduleStudentMusicSheetService.getDao().closePlayStatus(courseScheduleId,null);
+            courseScheduleStudentPaymentService.getDao().adjustPlayMidi(courseScheduleId, null, null);
+            courseScheduleStudentPaymentService.getDao().adjustExamSong(courseScheduleId, null, null);
             if (isUserDisplay(room.getDisplay(), userId)) {
                 room.setDisplay("");
                 this.updateDisplay(userId,room);
@@ -229,7 +217,6 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
             //老师退出房间,初始化节拍器和伴奏播放配置
             courseScheduleStudentPaymentService.adjustPlayMidiAndMusicSheet(courseSchedule.getId(), null, null,"");
         }
-        ImNetworkRoomMember roomMember = imNetworkRoomMemberService.getDao().findByRidAndUid(roomId, userId);
         int memberNum = imNetworkRoomMemberService.getDao().countByRoomId(roomId);
         if (memberNum <= 1) {
             imHelper.dismiss(userId.toString(), roomId);
@@ -363,7 +350,7 @@ public class ImNetworkRoomServiceImpl extends ServiceImpl<ImNetworkRoomDao, ImNe
         String roomId = deviceControl.getRoomId();
         Long userId = deviceControl.getUserId();
         Boolean enable = deviceControl.getEnable();
-        log.info("controlDevice: roomId:{} ,deviceType:{} ,enable:{} ,userId:{}", roomId,deviceControl.getDeviceType(),enable);
+        log.info("controlDevice: roomId:{} ,deviceType:{} ,enable:{} ,userId:{}", roomId,deviceControl.getDeviceType(),enable,userId);
         if(enable){
             long scheduleId = Long.parseLong(roomId);
             ImNetworkDeviceStateChangedMessage deviceResourceMessage = new ImNetworkDeviceStateChangedMessage(deviceControl.getDeviceType().ordinal(),enable);

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/CourseStudent.java

@@ -30,7 +30,7 @@ public class CourseStudent implements Serializable {
     @ApiModelProperty(value = "课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)")
     private String status;
 
-    @ApiModelProperty(value = "课程类型(LIVE:直播课 PRACTICE:陪练课")
+    @ApiModelProperty(value = "课程类型(LIVE:直播课 PRACTICE:陪练课 PIANO_ROOM_CLASS:琴房课")
     private String courseType;
 
     @ApiModelProperty(value = "用户id")

+ 11 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/StudentHomePage.java

@@ -22,6 +22,8 @@ public class StudentHomePage implements Serializable {
     private RecentCourses recentCourses;
 
     public static class RecentCourses{
+        @ApiModelProperty(value = "学生id")
+        private Long studentId;
         @ApiModelProperty(value = "老师id")
         private Long teacherId;
         @ApiModelProperty(value = "老师姓名")
@@ -36,13 +38,21 @@ public class StudentHomePage implements Serializable {
         private Long courseGroupId;
         @ApiModelProperty(value = "课程组名称")
         private String courseGroupName;
-        @ApiModelProperty(value = "课程类型(PRACTICE陪练课 LIVE直播课)")
+        @ApiModelProperty(value = "课程类型(PRACTICE陪练课 LIVE直播课 PIANO_ROOM_CLASS琴房课)")
         private String courseType;
         @ApiModelProperty(value = "课程状态(NOT_START未开始 ING进行中 )")
         private String status;
         @ApiModelProperty(value = "开课时间")
         private Date courseStartTime;
 
+        public Long getStudentId() {
+            return studentId;
+        }
+
+        public void setStudentId(Long studentId) {
+            this.studentId = studentId;
+        }
+
         public String getRealName() {
             return realName;
         }

+ 3 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -614,6 +614,7 @@
     </select>
     <select id="selectRecentCoursesPractice" resultType="com.yonge.cooleshow.biz.dal.vo.StudentHomePage$RecentCourses">
         SELECT
+            p.user_id_ AS studentId,
             u.id_ AS teacherId,
             u.username_ AS teacherName,
             u.real_name_ AS realName,
@@ -627,6 +628,7 @@
         FROM course_schedule s
         LEFT JOIN sys_user u ON s.teacher_id_=u.id_
         LEFT JOIN course_group g ON s.course_group_id_=g.id_
+        LEFT JOIN course_schedule_student_payment p ON s.id_=p.course_id_
         WHERE s.teacher_id_=#{teacherId}
         AND s.type_='PRACTICE'
         AND s.status_ = 'ING'
@@ -650,7 +652,7 @@
         LEFT JOIN sys_user u ON s.teacher_id_=u.id_
         LEFT JOIN course_group g ON s.course_group_id_=g.id_
         WHERE s.teacher_id_=#{teacherId}
-        AND s.type_='LIVE'
+        AND s.type_ IN ('LIVE','PIANO_ROOM_CLASS')
         AND s.status_ ='ING'
         ORDER BY ABS(NOW() - s.start_time_) ASC
         limit 1

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

@@ -69,8 +69,8 @@
             <if test="content != null and content != ''">
                 cssp.open_play_midi_ = #{content},cssp.updated_time_ = NOW(),
             </if>
-            <if test="examSongJson != null">
-                cssp.exam_song_download_json_ = #{examSongJson}
+            <if test="musicSheetJson != null">
+                cssp.music_sheet_download_json_ = #{musicSheetJson}
             </if>
         </set>
         <where>

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/ImNetworkRoomMemberMapper.xml

@@ -53,7 +53,7 @@
         SELECT <include refid="Base_Column_List"/> FROM im_network_room_member WHERE room_id_ = #{roomId}
     </select>
     <select id="countByRoomId" resultType="java.lang.Integer">
-        SELECT id_ FROM im_network_room_member WHERE room_id_ = #{roomId}
+        SELECT COUNT(id_) FROM im_network_room_member WHERE room_id_ = #{roomId}
     </select>
     <select id="findByRoomAndRole" resultMap="BaseResultMap">
         SELECT <include refid="Base_Column_List"/> FROM im_network_room_member WHERE room_id_ = #{roomId} AND role_ = #{role}

+ 6 - 3
cooleshow-user/user-classroom/src/main/java/com/yonge/cooleshow/classroom/controller/ImNetworkRoomController.java

@@ -4,6 +4,7 @@ package com.yonge.cooleshow.classroom.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.yonge.cooleshow.biz.dal.dto.*;
 import com.yonge.cooleshow.biz.dal.service.ImNetworkRoomService;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.toolset.base.exception.BizException;
@@ -36,6 +37,8 @@ public class ImNetworkRoomController extends BaseController {
      */
     @Resource
     private ImNetworkRoomService imNetworkRoomService;
+    @Resource
+    private SysUserService sysUserService;
 
     @ApiOperation("加入网络教室")
     @PostMapping(value = "/join")
@@ -73,7 +76,7 @@ public class ImNetworkRoomController extends BaseController {
                 break;
             case 12:
                 //成员退出
-                imNetworkRoomService.leaveRoomSuccess(notify.getRoomId(),Long.parseLong(notify.getUserId()));
+                imNetworkRoomService.quitRoomSuccess(notify.getRoomId(),Long.parseLong(notify.getUserId()));
                 break;
         }
     }
@@ -81,9 +84,9 @@ public class ImNetworkRoomController extends BaseController {
     @ApiOperation("退出网络教室")
     @PostMapping(value = "/leave")
     public HttpResponseResult leaveRoom(@RequestBody ImNetworkBaseDto imNetworkBaseDto) throws Exception {
-        imNetworkRoomService.leaveRoom(Optional.ofNullable(imNetworkBaseDto)
+        imNetworkRoomService.quitRoomSuccess(Optional.ofNullable(imNetworkBaseDto)
                 .map(ImNetworkBaseDto::getRoomId)
-                .orElseThrow(()->new BizException("房间号不可为空")).toString());
+                .orElseThrow(()->new BizException("房间号不可为空")).toString(),sysUserService.getUserId());
         return succeed();
     }
 

+ 4 - 0
toolset/utils/src/main/java/com/yonge/toolset/utils/date/DateUtil.java

@@ -1453,6 +1453,10 @@ public class DateUtil {
 		return sdf1.format(calendar1.getTime());
 	}
 
+	public static Date getYesterday(){
+		return new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24);
+	}
+
 	public static void main(String[] args) throws ParseException {
 		// DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 		DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");