Merge branch 'RED-10353-4.3' into 'release/2.589.x'

RED-10353: Reset processingErrorCounter when rules are updated

See merge request redactmanager/persistence-service!815
This commit is contained in:
Dominique Eifländer 2024-10-31 11:26:47 +01:00
commit 3fbed91ed0
3 changed files with 14 additions and 0 deletions

View File

@ -26,6 +26,7 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.FileU
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
import com.iqser.red.service.persistence.management.v1.processor.service.RulesValidationService;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.AuditPersistenceService;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.RulesPersistenceService;
import com.iqser.red.service.persistence.management.v1.processor.utils.RulesValidationMapper;
import com.iqser.red.service.persistence.service.v1.api.external.resource.RulesResource;
@ -52,6 +53,7 @@ public class RulesController implements RulesResource {
private final RulesPersistenceService rulesPersistenceService;
private final RulesValidationService rulesValidationService;
private final AuditPersistenceService auditPersistenceService;
private final FileStatusPersistenceService fileStatusPersistenceService;
@Override
@ -75,6 +77,7 @@ public class RulesController implements RulesResource {
}
if (!rules.isDryRun()) {
rulesPersistenceService.setRules(rulesUploadRequest.getRules(), rulesUploadRequest.getDossierTemplateId(), rulesUploadRequest.getRuleFileType());
fileStatusPersistenceService.resetErrorCounter(rules.getDossierTemplateId());
}
auditPersistenceService.audit(AuditRequest.builder()

View File

@ -636,6 +636,10 @@ public class FileStatusPersistenceService {
fileRepository.updateFileModificationDate(fileId, fileManipulationDate);
}
@Transactional
public void resetErrorCounter(String dossierTemplateId){
fileRepository.updateErrorCounter(dossierTemplateId, 0);
}
@Transactional
public void updateHasHighlights(String fileId, boolean hasHighlights) {

View File

@ -125,6 +125,13 @@ public interface FileRepository extends JpaRepository<FileEntity, String> {
@Param("processingErrorCounter") int processingErrorCounter);
@Modifying(clearAutomatically = true)
@Query("update FileEntity f set f.processingErrorCounter = :processingErrorCounter "
+ "where f.dossierId in (select fe.dossierId from FileEntity fe inner join DossierEntity d on d.id = fe.dossierId where d.dossierTemplateId = :dossierTemplateId) and f.processingStatus = 'ERROR'")
void updateErrorCounter(@Param("dossierTemplateId") String dossierTemplateId,
@Param("processingErrorCounter") int processingErrorCounter);
@Modifying
@Query("update FileEntity f set f.errorCause = :cause, f.errorQueue = :queue, f.errorService = :service, f.errorTimestamp = :timestamp " + "where f.id = :fileId")
void updateStatusErrorInfo(@Param("fileId") String fileId,