From 7d40b8043de9f4addccb7ef546765698bccf8f6e Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Wed, 27 Aug 2025 10:12:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(basic):=20=E6=B7=BB=E5=8A=A0=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E9=85=8D=E7=BD=AE=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 实现了默认配置的列表获取、单个配置获取、创建、更新和删除功能- 使用日志记录操作信息- 异常处理确保错误信息返回给客户端 --- .../pc/DefaultConfigController.java | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 src/main/java/com/ycwl/basic/controller/pc/DefaultConfigController.java diff --git a/src/main/java/com/ycwl/basic/controller/pc/DefaultConfigController.java b/src/main/java/com/ycwl/basic/controller/pc/DefaultConfigController.java new file mode 100644 index 0000000..8ddfe5c --- /dev/null +++ b/src/main/java/com/ycwl/basic/controller/pc/DefaultConfigController.java @@ -0,0 +1,100 @@ +package com.ycwl.basic.controller.pc; + +import com.ycwl.basic.integration.scenic.dto.config.DefaultConfigDTO; +import com.ycwl.basic.integration.scenic.service.DefaultConfigIntegrationService; +import com.ycwl.basic.utils.ApiConst; +import com.ycwl.basic.utils.ApiResponse; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 默认配置管理控制器 + * 提供默认配置的增删查改功能 + */ +@Slf4j +@RestController +@RequestMapping("/api/default-config") +@RequiredArgsConstructor +public class DefaultConfigController { + + private final DefaultConfigIntegrationService defaultConfigIntegrationService; + + /** + * 获取默认配置列表 + */ + @GetMapping("/") + public ApiResponse> listDefaultConfigs() { + log.info("获取默认配置列表"); + try { + List configs = defaultConfigIntegrationService.listDefaultConfigs(); + return ApiResponse.success(configs); + } catch (Exception e) { + log.error("获取默认配置列表失败", e); + return ApiResponse.fail("获取默认配置列表失败: " + e.getMessage()); + } + } + + /** + * 根据配置键获取默认配置 + */ + @GetMapping("/{configKey}") + public ApiResponse getDefaultConfig(@PathVariable String configKey) { + log.info("获取默认配置, configKey: {}", configKey); + try { + DefaultConfigDTO config = defaultConfigIntegrationService.getDefaultConfig(configKey); + return ApiResponse.success(config); + } catch (Exception e) { + log.error("获取默认配置失败, configKey: {}", configKey, e); + return ApiResponse.fail("获取默认配置失败: " + e.getMessage()); + } + } + + /** + * 创建默认配置 + */ + @PostMapping("/") + public ApiResponse createDefaultConfig(@RequestBody DefaultConfigDTO request) { + log.info("创建默认配置, configKey: {}", request.getConfigKey()); + try { + DefaultConfigDTO config = defaultConfigIntegrationService.createDefaultConfig(request); + return ApiResponse.success(config); + } catch (Exception e) { + log.error("创建默认配置失败, configKey: {}", request.getConfigKey(), e); + return ApiResponse.fail("创建默认配置失败: " + e.getMessage()); + } + } + + /** + * 更新默认配置 + */ + @PutMapping("/{configKey}") + public ApiResponse updateDefaultConfig(@PathVariable String configKey, + @RequestBody DefaultConfigDTO request) { + log.info("更新默认配置, configKey: {}", configKey); + try { + DefaultConfigDTO config = defaultConfigIntegrationService.updateDefaultConfig(configKey, request); + return ApiResponse.success(config); + } catch (Exception e) { + log.error("更新默认配置失败, configKey: {}", configKey, e); + return ApiResponse.fail("更新默认配置失败: " + e.getMessage()); + } + } + + /** + * 删除默认配置 + */ + @DeleteMapping("/{configKey}") + public ApiResponse deleteDefaultConfig(@PathVariable String configKey) { + log.info("删除默认配置, configKey: {}", configKey); + try { + defaultConfigIntegrationService.deleteDefaultConfig(configKey); + return ApiResponse.buildResponse(ApiConst.Code.CODE_SUCCESS.code(), null, "删除成功"); + } catch (Exception e) { + log.error("删除默认配置失败, configKey: {}", configKey, e); + return ApiResponse.fail("删除默认配置失败: " + e.getMessage()); + } + } +} \ No newline at end of file