package jnpf.dmsController.filecenter; import cn.dev33.satoken.same.SaSameUtil; import cn.dev33.satoken.stp.StpUtil; import jnpf.base.ActionResult; import jnpf.base.UserInfo; import jnpf.dmsEntity.storage.DmsRevisionEditRequest; import jnpf.dmsService.DmsRevisionEditService; import jnpf.util.UserProvider; import jnpf.util.NoDataSourceBind; import jnpf.database.util.TenantDataSourceUtil; import jnpf.exception.DataException; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.*; @RestController @RequiredArgsConstructor public class DmsRevisionEditController { private final DmsRevisionEditService service; @PostMapping("/revision-edit/prepare") public ActionResult>> prepare(@RequestBody DmsRevisionEditRequest request) { StpUtil.checkLogin(); StpUtil.checkPermission(request.getModelId()); UserInfo user=UserProvider.getUser(); String tenant=user.getTenantId()==null || user.getTenantId().isBlank()?"0":user.getTenantId(); return ActionResult.success(service.prepare(request,tenant,user.getUserId())); } @PostMapping("/Internal/dms/revision-edit/verify") @NoDataSourceBind public ActionResult> verify(@RequestBody DmsRevisionEditRequest request) { SaSameUtil.checkCurrentRequestToken(); if (request.getTenantId() == null || request.getTenantId().isBlank() || request.getOwnerId() == null || request.getOwnerId().isBlank()) throw new DataException("缺少修订编辑归属"); try { TenantDataSourceUtil.switchTenant(request.getTenantId()); return ActionResult.success(service.verify(request)); } finally { TenantDataSourceUtil.clearLocalTenantInfo(); } } }