package com.admin.controller; import com.admin.common.annotation.RequireRole; import com.admin.common.aop.LogAnnotation; import com.admin.common.dto.NodeDto; import com.admin.common.dto.NodeUpdateDto; import com.admin.common.lang.R; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Map; /** *

* 前端控制器 *

* * @author QAQ * @since 2025-06-03 */ @RestController @CrossOrigin @RequestMapping("/api/v1/node") public class NodeController extends BaseController { @LogAnnotation @RequireRole @PostMapping("/create") public R create(@Validated @RequestBody NodeDto nodeDto) { return nodeService.createNode(nodeDto); } @LogAnnotation @RequireRole @PostMapping("/list") public R list() { return nodeService.getAllNodes(); } @LogAnnotation @RequireRole @PostMapping("/update") public R update(@Validated @RequestBody NodeUpdateDto nodeUpdateDto) { return nodeService.updateNode(nodeUpdateDto); } @LogAnnotation @RequireRole @PostMapping("/delete") public R delete(@RequestBody Map params) { Long id = Long.valueOf(params.get("id").toString()); return nodeService.deleteNode(id); } @LogAnnotation @RequireRole @PostMapping("/install") public R getInstallCommand(@RequestBody Map params) { Long id = Long.valueOf(params.get("id").toString()); return nodeService.getInstallCommand(id); } /** * 更新节点排序 * @param params 包含nodes数组的参数,每个元素包含id和inx * @return 更新结果 */ @LogAnnotation @RequireRole @PostMapping("/update-order") public R updateNodeOrder(@RequestBody Map params) { return nodeService.updateNodeOrder(params); } }