package jnpf.dmsController;
|
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import jakarta.validation.Valid;
|
import jnpf.base.ActionResult;
|
import jnpf.base.UserInfo;
|
import jnpf.dmsEntity.storage.form.DmsDisableFlowEventForm;
|
import jnpf.dmsPermission.DmsCurrentIdentity;
|
import jnpf.dmsService.DmsApprovedDisableFlowService;
|
import jnpf.dmsService.DmsDisableOccupancyService;
|
import jnpf.dmsEntity.storage.form.DmsDisableSubmitValidationForm;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.web.bind.annotation.*;
|
|
@RestController
|
@SaCheckLogin
|
@RequiredArgsConstructor
|
@RequestMapping("/biz/wenjian/disable")
|
public class DmsApprovedDisableController {
|
private final DmsCurrentIdentity identity;
|
private final DmsApprovedDisableFlowService service;
|
private final DmsDisableOccupancyService occupancy;
|
@PostMapping("/chexiao/validate-submit")
|
public ActionResult<String> validateRevoke(@RequestBody @Valid DmsDisableSubmitValidationForm form) { return validate(form,"yichexiao"); }
|
@PostMapping("/shixiao/validate-submit")
|
public ActionResult<String> validateInvalidate(@RequestBody @Valid DmsDisableSubmitValidationForm form) { return validate(form,"yishixiao"); }
|
private ActionResult<String> validate(DmsDisableSubmitValidationForm form, String operation) {
|
UserInfo user = identity.requireUser();
|
occupancy.validateSubmission(identity.tenantId(user), user.getUserId(), operation, form);
|
return ActionResult.success("文件占用校验通过");
|
}
|
@PostMapping("/chexiao/flow-event")
|
public ActionResult<String> revoke(@RequestBody @Valid DmsDisableFlowEventForm form) {return sync(form,"yichexiao");}
|
@PostMapping("/shixiao/flow-event")
|
public ActionResult<String> invalidate(@RequestBody @Valid DmsDisableFlowEventForm form) {return sync(form,"yishixiao");}
|
private ActionResult<String> sync(DmsDisableFlowEventForm form,String operation) {
|
UserInfo user=identity.requireUser();String tenant=identity.tenantId(user);
|
service.onEvent(tenant,form.getFlowId().trim(),form.getTaskId().trim(),operation,form.getEventType());
|
return ActionResult.success("已处理文件撤销或失效流程事件");
|
}
|
@ExceptionHandler(org.springframework.web.client.HttpServerErrorException.class)
|
public org.springframework.http.ResponseEntity<ActionResult<String>> fileUnavailable(
|
org.springframework.web.client.HttpServerErrorException failure) {
|
ActionResult<String> result = new ActionResult<>();
|
result.setCode(failure.getStatusCode().value());
|
result.setMsg(failure.getStatusText());
|
return org.springframework.http.ResponseEntity.status(failure.getStatusCode()).body(result);
|
}
|
}
|