package jnpf.dmsController.watermark; import cn.dev33.satoken.annotation.SaCheckPermission; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jnpf.base.ActionResult; import jnpf.base.vo.PageListVO; import jnpf.base.vo.PaginationVO; import jnpf.dmsEntity.watermark.form.DmsWatermarkConfigForm; import jnpf.dmsEntity.watermark.form.DmsWatermarkQuery; import jnpf.dmsEntity.watermark.form.DmsWatermarkRevisionForm; import jnpf.dmsEntity.watermark.vo.DmsWatermarkConfigVO; import jnpf.dmsService.DmsWatermarkConfigService; import jnpf.exception.DataException; import jnpf.util.JsonUtil; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.UUID; @Tag(name = "DMS水印管理") @RestController @RequestMapping("/watermarks") @RequiredArgsConstructor public class DmsWatermarkConfigController { private final DmsWatermarkConfigService service; @Operation(summary = "分页查询水印配置") @SaCheckPermission("dms.watermark") @GetMapping public ActionResult> list(DmsWatermarkQuery query) throws DataException { List rows = service.list(query); return ActionResult.page(rows, JsonUtil.getJsonToBean(query, PaginationVO.class)); } @Operation(summary = "查询水印配置详情") @SaCheckPermission("dms.watermark") @GetMapping("/{id}") public ActionResult detail(@PathVariable UUID id) throws DataException { return ActionResult.success(service.detail(id)); } @Operation(summary = "新增水印配置") @SaCheckPermission("dms.watermark") @PostMapping public ActionResult create(@RequestBody DmsWatermarkConfigForm form) throws DataException { return ActionResult.success(service.create(form)); } @Operation(summary = "编辑水印配置") @SaCheckPermission("dms.watermark") @PutMapping("/{id}") public ActionResult update(@PathVariable UUID id, @RequestBody DmsWatermarkConfigForm form) throws DataException { return ActionResult.success(service.update(id, form)); } @Operation(summary = "启用或停用水印配置") @SaCheckPermission("dms.watermark") @PutMapping("/{id}/enabled") public ActionResult setEnabled(@PathVariable UUID id, @RequestBody DmsWatermarkRevisionForm form) throws DataException { return ActionResult.success(service.setEnabled(id, form.getRevision(), form.getEnabled())); } @Operation(summary = "删除水印配置") @SaCheckPermission("dms.watermark") @DeleteMapping("/{id}") public ActionResult delete(@PathVariable UUID id, @RequestParam Long revision) throws DataException { return ActionResult.success(service.delete(id, revision)); } }