SEBSERV-560 SEBSERV-563 implementation
This commit is contained in:
		
							parent
							
								
									303b3ac548
								
							
						
					
					
						commit
						e70a209217
					
				
					 3 changed files with 25 additions and 1 deletions
				
			
		|  | @ -79,4 +79,6 @@ public interface ScreenProctoringGroupDAO { | ||||||
|     Result<Collection<EntityKey>> deleteGroups(Long examId); |     Result<Collection<EntityKey>> deleteGroups(Long examId); | ||||||
| 
 | 
 | ||||||
|     void updateGroupSize(String groupUUID, Integer activeCount, Integer totalCount); |     void updateGroupSize(String groupUUID, Integer activeCount, Integer totalCount); | ||||||
|  | 
 | ||||||
|  |     void resetAllForExam(Long examId); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -243,7 +243,8 @@ public class ScreenProctoringGroupDAOImpl implements ScreenProctoringGroupDAO { | ||||||
| 
 | 
 | ||||||
|         try { |         try { | ||||||
| 
 | 
 | ||||||
|             UpdateDSL.updateWithMapper( |             UpdateDSL | ||||||
|  |                     .updateWithMapper( | ||||||
|                             this.screenProctoringGroopRecordMapper::update, |                             this.screenProctoringGroopRecordMapper::update, | ||||||
|                             ScreenProctoringGroopRecordDynamicSqlSupport.screenProctoringGroopRecord) |                             ScreenProctoringGroopRecordDynamicSqlSupport.screenProctoringGroopRecord) | ||||||
|                     .set(ScreenProctoringGroopRecordDynamicSqlSupport.size) |                     .set(ScreenProctoringGroopRecordDynamicSqlSupport.size) | ||||||
|  | @ -259,6 +260,26 @@ public class ScreenProctoringGroupDAOImpl implements ScreenProctoringGroupDAO { | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     @Transactional | ||||||
|  |     public void resetAllForExam(final Long examId) { | ||||||
|  |         try { | ||||||
|  | 
 | ||||||
|  |             UpdateDSL | ||||||
|  |                     .updateWithMapper( | ||||||
|  |                             this.screenProctoringGroopRecordMapper::update, | ||||||
|  |                             ScreenProctoringGroopRecordDynamicSqlSupport.screenProctoringGroopRecord) | ||||||
|  |                     .set(ScreenProctoringGroopRecordDynamicSqlSupport.size) | ||||||
|  |                     .equalTo(0) | ||||||
|  |                     .where(ScreenProctoringGroopRecordDynamicSqlSupport.examId, isEqualTo(examId)) | ||||||
|  |                     .build() | ||||||
|  |                     .execute(); | ||||||
|  | 
 | ||||||
|  |         } catch (final Exception e) { | ||||||
|  |             log.warn("Failed to reset SPS groups size: {}", e.getMessage()); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     private ScreenProctoringGroup toDomainModel(final ScreenProctoringGroopRecord record) { |     private ScreenProctoringGroup toDomainModel(final ScreenProctoringGroopRecord record) { | ||||||
|         return new ScreenProctoringGroup( |         return new ScreenProctoringGroup( | ||||||
|                 record.getId(), |                 record.getId(), | ||||||
|  |  | ||||||
|  | @ -318,6 +318,7 @@ public class ScreenProctoringServiceImpl implements ScreenProctoringService { | ||||||
| 
 | 
 | ||||||
|         if (event.exam.status != Exam.ExamStatus.UP_COMING) { |         if (event.exam.status != Exam.ExamStatus.UP_COMING) { | ||||||
|             this.screenProctoringAPIBinding.deactivateScreenProctoring(event.exam); |             this.screenProctoringAPIBinding.deactivateScreenProctoring(event.exam); | ||||||
|  |             this.screenProctoringGroupDAO.resetAllForExam(event.exam.id); | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 anhefti
						anhefti