package jnpf.dmsEntity.storage.form; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotEmpty; import jnpf.dmsEntity.storage.approval.DmsApprovedBatch; import jnpf.dmsEntity.storage.approval.DmsApprovedItem; import java.util.List; import java.util.UUID; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Size; import lombok.Data; /** Complete approved file set pushed by DMS after its registration progress has been committed. */ @Data public class DmsApprovedRegistrationForm { @NotBlank private String tenantId; @NotBlank private String attemptToken; @NotNull private UUID batchId; @NotBlank private String sourceDigest; @Valid @NotEmpty private List files; @NotBlank @Size(max = 120) private String sourceId; @NotBlank @Size(max = 160) private String taskId; @NotBlank @Pattern(regexp = "xinzeng_shenhe|xiuding_shenhe") private String auditType; public static DmsApprovedRegistrationForm from(DmsApprovedBatch batch) { DmsApprovedRegistrationForm form = new DmsApprovedRegistrationForm(); form.setTenantId(batch.getTenantId()); form.setAttemptToken(batch.getLeaseToken()); form.setBatchId(batch.getId()); form.setSourceDigest(batch.getSourceDigest()); form.setSourceId(batch.getFlowId()); form.setTaskId(batch.getTaskId()); form.setAuditType(batch.getAuditType()); form.setFiles(batch.getItems()); return form; } }