Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
405451b1e0

+ 4 - 0
edu-im/edu-im-server/src/main/java/com/keao/edu/im/common/BaseResponse.java

@@ -36,6 +36,10 @@ public class BaseResponse<T> {
         setData(data);
     }
 
+    public void setErrCode(int errCode) {
+        this.errCode = errCode;
+    }
+
     public void setErr(ErrorEnum error, String errDetail) {
         this.errCode = error.getErrCode();
         this.errMsg = error.getErrMsg();

+ 2 - 3
edu-im/edu-im-server/src/main/java/com/keao/edu/im/controller/RoomController.java

@@ -31,10 +31,9 @@ public class RoomController{
     SysUserFeignService sysUserFeignService;
 
     @RequestMapping(value = "/join", method = RequestMethod.POST)
-    public Object joinRoom(@RequestBody ReqUserData data)
+    public BaseResponse joinRoom(@RequestBody ReqUserData data)
             throws Exception {
-        RoomResult roomResult = roomService.joinRoom(data.getRegistrationId(), data.isAudience(), data.isDisableCamera(),data.isMusicMode(),data.getRoomId());
-        return new BaseResponse<>(roomResult);
+        return roomService.joinRoom(data.getRegistrationId(), data.isAudience(), data.isDisableCamera(),data.isMusicMode(),data.getRoomId());
     }
 
     @RequestMapping(value = "/joinRecorded", method = RequestMethod.POST)

+ 21 - 6
edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/Impl/RoomServiceImpl.java

@@ -8,6 +8,7 @@ import com.keao.edu.im.api.entity.MemberChangedMessage;
 import com.keao.edu.im.api.entity.PublishMessageDto;
 import com.keao.edu.im.api.entity.ReqUserData;
 import com.keao.edu.im.common.ApiException;
+import com.keao.edu.im.common.BaseResponse;
 import com.keao.edu.im.common.ErrorEnum;
 import com.keao.edu.im.config.IMProperties;
 import com.keao.edu.im.dao.*;
@@ -189,9 +190,14 @@ public class RoomServiceImpl implements RoomService {
         return roomResult;
     }
 
+    private BaseResponse getBaseResponse(BaseResponse baseResponse){
+        baseResponse.setErrCode(500);
+        return baseResponse;
+    }
+
     @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
     @Override
-    public RoomResult joinRoom(Long registrationId, boolean isAudience, boolean isDisableCamera,boolean isMusicMode,String roomId) throws ApiException, Exception {
+    public BaseResponse joinRoom(Long registrationId, boolean isAudience, boolean isDisableCamera, boolean isMusicMode, String roomId) throws ApiException, Exception {
         if(registrationId != null){
             StudentExamResultApiDto examResult = eduUserFeignService.getExamResult(registrationId);
             Integer recordFlag = examResult.getRecordFlag();
@@ -234,6 +240,7 @@ public class RoomServiceImpl implements RoomService {
         }*/
         RoleEnum roleEnum;
         RoomResult roomResult = new RoomResult();
+        BaseResponse baseResponse = new BaseResponse(roomResult);
         RoomResult.MemberResult userResult = new RoomResult.MemberResult();
         List<RoomMember> memberList = roomMemberDao.findByRidAndUid(roomId, userId);
         if (memberList.isEmpty()) {
@@ -244,10 +251,14 @@ public class RoomServiceImpl implements RoomService {
             }else {
                 ExamRoomStudentRelation examRoomStudentRelation = eduUserFeignService.getExamRoomStudentRelation(registrationId);
                 if(examRoomStudentRelation == null){
-                    throw new BizException("学员考试数据异常");
+                    log.info("user join the room: roomId={} , userId={}", roomId, userId);
+                    baseResponse.setErrMsg("学员考试数据异常");
+                    return getBaseResponse(baseResponse);
                 }
                 if(examRoomStudentRelation.getClassroomSwitch() == YesOrNoEnum.NO){
-                    throw new BizException("考级入口已关闭");
+                    log.info("user join the room: roomId={} , userId={}", roomId, userId);
+                    baseResponse.setErrMsg("考级入口已关闭");
+                    return getBaseResponse(baseResponse);
                 }
                 roleEnum = Student;
             }
@@ -267,10 +278,14 @@ public class RoomServiceImpl implements RoomService {
             if(roleEnum == Student){
                 ExamRoomStudentRelation examRoomStudentRelation = eduUserFeignService.getExamRoomStudentRelation(registrationId);
                 if(examRoomStudentRelation == null){
-                    throw new BizException("学员考试数据异常");
+                    log.info("user join the room: roomId={} , userId={}", roomId, userId);
+                    baseResponse.setErrMsg("学员考试数据异常");
+                    return getBaseResponse(baseResponse);
                 }
                 if(examRoomStudentRelation.getClassroomSwitch() == YesOrNoEnum.NO){
-                    throw new BizException("考级入口已关闭");
+                    log.info("user join the room: roomId={} , userId={}", roomId, userId);
+                    baseResponse.setErrMsg("考级入口已关闭");
+                    return getBaseResponse(baseResponse);
                 }
             }
 //            roomMemberDao.updateCameraByRidAndUid(roomId, userId, !isDisableCamera);
@@ -326,7 +341,7 @@ public class RoomServiceImpl implements RoomService {
         if(registrationId != null){
             this.publishMessage(eduUserFeignService.getPublishMessage(registrationId));
         }
-        return roomResult;
+        return baseResponse;
     }
 
     @Override

+ 2 - 1
edu-im/edu-im-server/src/main/java/com/keao/edu/im/service/RoomService.java

@@ -3,6 +3,7 @@ package com.keao.edu.im.service;
 import com.keao.edu.im.api.entity.PublishMessageDto;
 import com.keao.edu.im.api.entity.ReqUserData;
 import com.keao.edu.im.common.ApiException;
+import com.keao.edu.im.common.BaseResponse;
 import com.keao.edu.im.pojo.*;
 
 import java.io.IOException;
@@ -13,7 +14,7 @@ import java.util.List;
  */
 public interface RoomService {
     //everyone
-    public RoomResult joinRoom(Long registrationId, boolean isAudience, boolean isDisableCamera, boolean isMusicMode,String roomId) throws ApiException, Exception;
+    public BaseResponse joinRoom(Long registrationId, boolean isAudience, boolean isDisableCamera, boolean isMusicMode, String roomId) throws ApiException, Exception;
 
     void signIn(Long roomId);
 

+ 6 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/SubjectController.java

@@ -58,6 +58,12 @@ public class SubjectController extends BaseController {
         return succeed(subjectService.queryPage(queryInfo));
     }
 
+    @ApiOperation(value = "学生端分页查询科目列表")
+    @GetMapping("/studentQueryPage")
+    public HttpResponseResult<PageInfo<Subject>> studentQueryPage(SubjectQueryInfo queryInfo){
+        return succeed(subjectService.queryPage(queryInfo));
+    }
+
     @ApiOperation(value = "分页查询科目树状列表")
     @GetMapping("/queryPageTree")
     @PreAuthorize("@pcs.hasPermissions('subject/queryPageTree')")

+ 1 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamRoomStudentRelationService.java

@@ -76,7 +76,7 @@ public interface ExamRoomStudentRelationService extends BaseService<Long, ExamRo
      */
     void nextBit(Long nextExamRoomStudentRelationId, Long examRoomStudentRelationId, Integer examStatus,Long roomId);
 
-    public void publishMessage(ExamRoomStudentRelation examRoomStudentRelation,Integer action);
+    public void publishMessage(ExamRoomStudentRelation examRoomStudentRelation,Integer action,Boolean isPush);
 
     public PublishMessageDto getPublishMessage(Long examRegistrationId);
 

+ 12 - 7
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamRoomStudentRelationServiceImpl.java

@@ -278,9 +278,9 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 			//关闭学员房间入口
 			examRoomStudentRelation.setClassroomSwitch(YesOrNoEnum.NO);
 			examRoomStudentRelationDao.update(examRoomStudentRelation);
-			publishMessage(examRoomStudentRelation,MemberChangedMessage.Action_Recorded);
+			publishMessage(examRoomStudentRelation,MemberChangedMessage.Action_Recorded,true);
 		}
-		nextStudent(nextExamRoomStudentRelationId);
+		nextStudent(nextExamRoomStudentRelationId,true);
 	}
 
 	@Override
@@ -320,6 +320,7 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 
 	@Override
 	public void nextBit(Long nextExamRoomStudentRelationId, Long currentExamRoomStudentRelationId, Integer examStatus,Long examRoomId) {
+		Boolean isPush = true;
 		if(currentExamRoomStudentRelationId != null){
 			ExamRoomStudentRelation examRoomStudentRelation = examRoomStudentRelationDao.get(currentExamRoomStudentRelationId);
 			//将当前学员退出教室并添加参考状态,如果考试未完成,清除签到时间,重新签到
@@ -334,9 +335,10 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 			//关闭学员房间入口
 			examRoomStudentRelation.setClassroomSwitch(YesOrNoEnum.NO);
 			examRoomStudentRelationDao.update(examRoomStudentRelation);
-			publishMessage(examRoomStudentRelation,MemberChangedMessage.Student_Queue);
+			publishMessage(examRoomStudentRelation,MemberChangedMessage.Student_Queue,isPush);
+			isPush = false;
 		}
-		nextStudent(nextExamRoomStudentRelationId);
+		nextStudent(nextExamRoomStudentRelationId,isPush);
 
 		/*try {
 			SysUser sysUser = sysUserFeignService.queryUserInfo();
@@ -347,18 +349,21 @@ public class ExamRoomStudentRelationServiceImpl extends BaseServiceImpl<Long, Ex
 		}*/
 	}
 
-	private void nextStudent(Long nextExamRoomStudentRelationId){
+	private void nextStudent(Long nextExamRoomStudentRelationId,Boolean isPush){
 		if(nextExamRoomStudentRelationId != null){
 			ExamRoomStudentRelation examRoomStudentRelation = examRoomStudentRelationDao.get(nextExamRoomStudentRelationId);
 			//开启学员房间入口
 			examRoomStudentRelation.setClassroomSwitch(YesOrNoEnum.YES);
 			examRoomStudentRelationDao.update(examRoomStudentRelation);
-			publishMessage(examRoomStudentRelation,MemberChangedMessage.Student_Queue);
+			publishMessage(examRoomStudentRelation,MemberChangedMessage.Student_Queue,isPush);
 		}
 	}
 
 	@Override
-	public void publishMessage(ExamRoomStudentRelation examRoomStudentRelation,Integer action){
+	public void publishMessage(ExamRoomStudentRelation examRoomStudentRelation,Integer action,Boolean isPush){
+		if (!isPush){
+			return;
+		}
 		PublishMessageDto publishMessageDto = new PublishMessageDto();
 		String userId = examRoomStudentRelation.getStudentId().toString();
 		publishMessageDto.setUserId(userId);

+ 5 - 2
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamSongMapper.xml

@@ -132,10 +132,13 @@
 				AND FIND_IN_SET(#{subjectList},es.subject_list_)
 			</if>
 			<if test="level != null">
-				AND FIND_IN_SET(#{subjectList},es.subject_list_)
+				AND FIND_IN_SET(#{level},es.level_list_)
 			</if>
 			<if test="tenantIds != null">
-				AND FIND_IN_SET(#{tenantIds},es.tenant_id_)
+				AND es.tenant_id_ IN
+				<foreach collection="tenantIds" open="(" close=")" separator="," item="item">
+					#{item}
+				</foreach>
 			</if>
 		</where>
 	</sql>