package jnpf.dmsController.pdf;
|
|
import cn.dev33.satoken.same.SaSameUtil;
|
import jakarta.validation.Valid;
|
import jnpf.base.ActionResult;
|
import jnpf.dmsEntity.storage.form.DmsPersistentPdfInvalidationForm;
|
import jnpf.dmsService.pdf.DmsPdfGenerationTaskService;
|
import jnpf.exception.DataException;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestHeader;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
@RestController
|
@RequestMapping("/Internal/dms/persistent-pdf")
|
@RequiredArgsConstructor
|
public class DmsPersistentPdfRecoveryController {
|
private final DmsPdfGenerationTaskService taskService;
|
|
@PostMapping("/invalidations")
|
public ActionResult<Void> invalidate(
|
@RequestHeader(value = "X-DMS-Service-Id", required = false) String serviceId,
|
@RequestBody @Valid DmsPersistentPdfInvalidationForm form) {
|
SaSameUtil.checkCurrentRequestToken();
|
if (!"jnpf-file".equals(serviceId)) {
|
throw new DataException("仅文件服务可以上报 DMS 持久化 PDF 失效");
|
}
|
taskService.invalidateAndRequeue(form);
|
return ActionResult.success("持久化 PDF 失效已受理");
|
}
|
}
|