Procházet zdrojové kódy

feat(预案模板库): 新增模板维护接口 save/delete

- POST /api/dispatch/plan-library/save:新增/编辑按 id 判空,自动填创建人/时间
- DELETE /{id}:删除模板(逻辑删除)
- 配合前端模板库管理抽屉(预案编辑页「模板库」按钮)
null před 5 dny
rodič
revize
a84e9ef3a5

+ 31 - 0
pipe-network-service/zksy-admin/src/main/java/com/zksy/web/controller/dispatch/DisPlanLibraryController.java

@@ -33,6 +33,37 @@ public class DisPlanLibraryController {
         return AjaxResult.success(service.listAll());
     }
 
+    @PostMapping("/save")
+    @ApiOperation("新增/编辑模板(按 id 判空)")
+    @Log(title = "预案模板保存", businessType = BusinessType.UPDATE)
+    public AjaxResult save(@RequestBody com.zksy.dispatch.domain.DisPlanLibrary entity) {
+        if (entity == null || org.apache.commons.lang3.StringUtils.isBlank(entity.getPlanName())) {
+            return AjaxResult.error("请输入模板名称");
+        }
+        java.time.LocalDateTime now = java.time.LocalDateTime.now();
+        if (entity.getId() == null) {
+            entity.setCreateBy(currentUser());
+            try {
+                entity.setCreateUserId(com.zksy.common.utils.SecurityUtils.getUserId());
+            } catch (Exception ignored) {
+                // 匿名上下文无用户ID
+            }
+            entity.setCreateTime(now);
+        }
+        entity.setUpdateTime(now);
+        entity.setDelFlag("0");
+        service.saveOrUpdate(entity);
+        return AjaxResult.success(entity);
+    }
+
+    @DeleteMapping("/{id}")
+    @ApiOperation("删除模板")
+    @Log(title = "预案模板删除", businessType = BusinessType.DELETE)
+    public AjaxResult remove(@PathVariable Long id) {
+        service.removeById(id);
+        return AjaxResult.success();
+    }
+
     @PostMapping("/match")
     @ApiOperation("按事件条件加权匹配预案")
     @Log(title = "匹配应急预案", businessType = BusinessType.OTHER)