|  | @@ -13,12 +13,10 @@ import com.ym.job.ScheduleManager;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  |  import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dao.StudentDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.SysConfigDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.TeacherDao;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.CourseSchedule;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.StudentAttendance;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.Teacher;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.TeacherAttendance;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.*;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.GroupType;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.SignStatusEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 | 
	
	
		
			
				|  | @@ -41,6 +39,7 @@ import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.annotation.Isolation;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.util.ArrayList;
 | 
	
	
		
			
				|  | @@ -98,6 +97,9 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private SysConfigDao sysConfigDao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Autowired
 | 
	
		
			
				|  |  | +    private StudentDao studentDao;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Value("${auth.sysconfig.tenantId}")
 | 
	
		
			
				|  |  |      private Integer lesseeOrganId;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -240,12 +242,13 @@ public class RoomServiceImpl implements RoomService {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  | -    @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | +    @Transactional(rollbackFor = Exception.class, isolation = Isolation.READ_COMMITTED)
 | 
	
		
			
				|  |  |      public void signIn(Long roomId) {
 | 
	
		
			
				|  |  |          SysUser sysUser = sysUserFeignService.queryUserInfo();
 | 
	
		
			
				|  |  |          Integer userId = sysUser.getId();
 | 
	
		
			
				|  |  |          log.info("roomSignIn: roomId={}, userId={}", roomId, userId);
 | 
	
		
			
				|  |  |          Teacher teacher = teacherDao.get(userId);
 | 
	
		
			
				|  |  | +        studentDao.lockUser(userId);
 | 
	
		
			
				|  |  |          CourseSchedule courseSchedule = courseScheduleDao.get(roomId);
 | 
	
		
			
				|  |  |          Date date = new Date();
 | 
	
		
			
				|  |  |          String continueCourseTime = sysConfigDao.findConfigValue(SysConfigService.ONLINE_CONTINUE_COURSE_TIME);
 |