package net.srt.controller; import io.swagger.v3.oas.annotations.Operation; import lombok.AllArgsConstructor; import net.srt.dto.ApiConfigDto; import net.srt.entity.ApiConfigEntity; import net.srt.framework.common.page.PageResult; import net.srt.framework.common.utils.Result; import net.srt.framework.common.utils.TreeNodeVo; import net.srt.query.ApiConfigQuery; import net.srt.service.ApiConfigService; import net.srt.vo.ApiConfig; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; @RestController @RequestMapping("/api-config") @AllArgsConstructor public class ApiConfigController { private final ApiConfigService apiConfigService; /** * 查询文件分组树 * * @return 结果列表 */ @GetMapping("/api-group") @Operation(summary = "查询文件分组树") public Result> listTree() { return Result.ok(apiConfigService.listTree()); } /** * 分页查询API配置 * @param query API配置查询对象 * @return 分页结果 */ @GetMapping("/page") @Operation(summary = "分页") @PreAuthorize("hasAuthority('data-service:api-config:page')") public Result> page(@Valid ApiConfigQuery query) { PageResult page = apiConfigService.page(query); return Result.ok(page); } /** * 获取IP和端口信息 * * @return 返回IP和端口信息 */ @GetMapping("/getIpPort") public Result getIpPort() { return Result.ok(apiConfigService.getIpPort()); } /** * 根据ID获取API配置信息 * * @param id API配置ID * @return API配置实体对象 */ @GetMapping("/{id}") @Operation(summary = "查看") @PreAuthorize("hasAuthority('data-service:api-config:info')") public Result get(@PathVariable("id") Long id) { ApiConfigEntity apiConfig = apiConfigService.getByI(id); return Result.ok(apiConfig); } @PutMapping("/{id}") @Operation(summary = "修改") @PreAuthorize("hasAuthority('data-service:api-config:update')") public Result update(@PathVariable Long id, @RequestBody @Valid ApiConfigEntity vo) { apiConfigService.update(id,vo); return Result.ok(); } @PutMapping("/{id}/offline") @Operation(summary = "下线") @PreAuthorize("hasAuthority('data-service:api-config:update')") public Result xia(@PathVariable Long id) { apiConfigService.xia(id); return Result.ok(); } @PutMapping("/{id}/online") @Operation(summary = "上线") @PreAuthorize("hasAuthority('data-service:api-config:update')") public Result shang(@PathVariable Long id) { apiConfigService.shang(id); return Result.ok(); } @PostMapping @Operation(summary = "新增") @PreAuthorize("hasAuthority('data-service:api-config:save')") public Result insert(@RequestBody ApiConfig vo) { apiConfigService.sav(vo); return Result.ok(); } @DeleteMapping @Operation(summary = "删除") @PreAuthorize("hasAuthority('data-service:api-config:delete')") public Result delete(@RequestBody List idList) { apiConfigService.removeByI(idList); return Result.ok(); } }