package com.vincent.rsf.openApi.controller.platform; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vincent.rsf.openApi.entity.app.ApiFunction; import com.vincent.rsf.openApi.entity.dto.CommonResponse; import com.vincent.rsf.openApi.service.ApiFunctionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * ApiFunction管理Controller * * @author vincent * @since 2026-01-04 */ @RestController @RequestMapping("/api/function") @Api(tags = "接口功能管理") public class ApiFunctionController { @Autowired private ApiFunctionService apiFunctionService; @ApiOperation("分页查询接口功能列表") @GetMapping("/page") public CommonResponse page(@RequestParam(defaultValue = "1") Integer current, @RequestParam(defaultValue = "10") Integer size) { Page page = apiFunctionService.page(new Page<>(current, size)); return CommonResponse.ok().setData(page); } @ApiOperation("查询所有接口功能") @GetMapping("/list") public CommonResponse list() { List list = apiFunctionService.list(); return CommonResponse.ok().setData(list); } @ApiOperation("根据ID查询接口功能") @GetMapping("/{id}") public CommonResponse getById(@PathVariable String id) { ApiFunction function = apiFunctionService.getById(id); return CommonResponse.ok().setData(function); } @ApiOperation("新增接口功能") @PostMapping public CommonResponse save(@RequestBody ApiFunction function) { boolean result = apiFunctionService.save(function); if (result) { apiFunctionService.refreshCache(); return CommonResponse.ok().setMsg("新增成功"); } return CommonResponse.error("新增失败"); } @ApiOperation("更新接口功能") @PutMapping public CommonResponse update(@RequestBody ApiFunction function) { boolean result = apiFunctionService.updateById(function); if (result) { apiFunctionService.refreshCache(); return CommonResponse.ok().setMsg("更新成功"); } return CommonResponse.error("更新失败"); } @ApiOperation("删除接口功能") @DeleteMapping("/{id}") public CommonResponse delete(@PathVariable String id) { boolean result = apiFunctionService.removeById(id); if (result) { apiFunctionService.refreshCache(); return CommonResponse.ok().setMsg("删除成功"); } return CommonResponse.error("删除失败"); } @ApiOperation("批量删除接口功能") @DeleteMapping("/batch") public CommonResponse deleteBatch(@RequestBody List ids) { boolean result = apiFunctionService.removeByIds(ids); if (result) { apiFunctionService.refreshCache(); return CommonResponse.ok().setMsg("批量删除成功"); } return CommonResponse.error("批量删除失败"); } @ApiOperation("刷新功能缓存") @PostMapping("/refresh") public CommonResponse refresh() { apiFunctionService.refreshCache(); return CommonResponse.ok().setMsg("缓存刷新成功"); } }