diff --git a/src/main/java/com/ycwl/basic/integration/device/client/DefaultConfigClient.java b/src/main/java/com/ycwl/basic/integration/device/client/DefaultConfigClient.java deleted file mode 100644 index 2163c676..00000000 --- a/src/main/java/com/ycwl/basic/integration/device/client/DefaultConfigClient.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.ycwl.basic.integration.device.client; - -import com.ycwl.basic.integration.common.response.CommonResponse; -import com.ycwl.basic.integration.common.response.PageResponse; -import com.ycwl.basic.integration.device.dto.defaults.*; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -/** - * 默认配置管理 Feign 客户端 - */ -@FeignClient(name = "zt-device", contextId = "device-default-config", path = "/api/device/config/v2/defaults") -public interface DefaultConfigClient { - - /** - * 获取默认配置列表 - */ - @GetMapping - CommonResponse> listDefaultConfigs(@RequestParam(value = "page", defaultValue = "1") int page, - @RequestParam(value = "pageSize", defaultValue = "10") int pageSize); - - /** - * 根据配置键获取默认配置 - */ - @GetMapping("/{configKey}") - CommonResponse getDefaultConfig(@PathVariable("configKey") String configKey); - - /** - * 创建默认配置 - */ - @PostMapping - CommonResponse createDefaultConfig(@RequestBody DefaultConfigRequest request); - - /** - * 更新默认配置 - */ - @PutMapping("/{configKey}") - CommonResponse> updateDefaultConfig(@PathVariable("configKey") String configKey, - @RequestBody Map updates); - - /** - * 删除默认配置 - */ - @DeleteMapping("/{configKey}") - CommonResponse deleteDefaultConfig(@PathVariable("configKey") String configKey); - - /** - * 批量更新默认配置 - */ - @PostMapping("/batch") - CommonResponse batchUpdateDefaultConfigs(@RequestBody BatchDefaultConfigRequest request); -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/device/client/DeviceConfigV2Client.java b/src/main/java/com/ycwl/basic/integration/device/client/DeviceConfigV2Client.java deleted file mode 100644 index 6f787582..00000000 --- a/src/main/java/com/ycwl/basic/integration/device/client/DeviceConfigV2Client.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.ycwl.basic.integration.device.client; - -import com.ycwl.basic.integration.common.response.CommonResponse; -import com.ycwl.basic.integration.device.dto.config.*; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -@FeignClient(name = "zt-device", contextId = "device-config-v2", path = "/api/device/config/v2") -public interface DeviceConfigV2Client { - - /** - * 获取设备所有配置 - */ - @GetMapping("/{deviceId}") - CommonResponse> getDeviceConfigs(@PathVariable("deviceId") Long deviceId); - - /** - * 根据设备编号获取设备所有配置 - */ - @GetMapping("/no/{no}") - CommonResponse> getDeviceConfigsByNo(@PathVariable("no") String no); - - /** - * 获取设备特定配置 - */ - @GetMapping("/{deviceId}/key/{configKey}") - CommonResponse getDeviceConfigByKey(@PathVariable("deviceId") Long deviceId, - @PathVariable("configKey") String configKey); - - /** - * 创建设备配置 - */ - @PostMapping("/{deviceId}") - CommonResponse createDeviceConfig(@PathVariable("deviceId") Long deviceId, - @RequestBody CreateDeviceConfigRequest request); - - /** - * 更新设备配置 - */ - @PutMapping("/{deviceId}/{id}") - CommonResponse updateDeviceConfig(@PathVariable("deviceId") Long deviceId, - @PathVariable("id") Long id, - @RequestBody UpdateDeviceConfigRequest request); - - /** - * 删除设备配置 - */ - @DeleteMapping("/{deviceId}/{id}") - CommonResponse deleteDeviceConfig(@PathVariable("deviceId") Long deviceId, - @PathVariable("id") Long id); - - /** - * 批量更新设备配置 - */ - @PostMapping("/{deviceId}/batch") - CommonResponse batchUpdateDeviceConfig(@PathVariable("deviceId") Long deviceId, - @RequestBody BatchDeviceConfigRequest request); - -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/device/client/DeviceStatusClient.java b/src/main/java/com/ycwl/basic/integration/device/client/DeviceStatusClient.java deleted file mode 100644 index 48c5bf64..00000000 --- a/src/main/java/com/ycwl/basic/integration/device/client/DeviceStatusClient.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.ycwl.basic.integration.device.client; - -import com.ycwl.basic.integration.common.response.CommonResponse; -import com.ycwl.basic.integration.device.dto.status.DeviceStatusDTO; -import com.ycwl.basic.integration.device.dto.status.OnlineStatusResponseDTO; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; - -import java.util.List; - -@FeignClient(name = "zt-device", contextId = "deviceStatusClient", path = "/api/device/status") -public interface DeviceStatusClient { - - /** - * 获取设备状态 - */ - @GetMapping("/{deviceNo}") - CommonResponse getDeviceStatus(@PathVariable("deviceNo") String deviceNo); - - /** - * 检查设备是否在线 - */ - @GetMapping("/{deviceNo}/online") - CommonResponse isDeviceOnline(@PathVariable("deviceNo") String deviceNo); - - /** - * 获取所有在线设备 - */ - @GetMapping("/online") - CommonResponse> getAllOnlineDevices(); - - /** - * 设置设备离线 - */ - @PostMapping("/{deviceNo}/offline") - CommonResponse setDeviceOffline(@PathVariable("deviceNo") String deviceNo); - - /** - * 设置设备在线 - */ - @PostMapping("/{deviceNo}/online") - CommonResponse setDeviceOnline(@PathVariable("deviceNo") String deviceNo); - - /** - * 清理过期设备状态 - */ - @PostMapping("/clean") - CommonResponse cleanExpiredDevices(); -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/device/client/DeviceV2Client.java b/src/main/java/com/ycwl/basic/integration/device/client/DeviceV2Client.java index c7351cbf..4b926649 100644 --- a/src/main/java/com/ycwl/basic/integration/device/client/DeviceV2Client.java +++ b/src/main/java/com/ycwl/basic/integration/device/client/DeviceV2Client.java @@ -2,48 +2,57 @@ package com.ycwl.basic.integration.device.client; import com.ycwl.basic.integration.common.response.CommonResponse; import com.ycwl.basic.integration.common.response.PageResponse; +import com.ycwl.basic.integration.device.dto.config.*; +import com.ycwl.basic.integration.device.dto.defaults.*; import com.ycwl.basic.integration.device.dto.device.*; +import com.ycwl.basic.integration.device.dto.status.DeviceStatusDTO; +import com.ycwl.basic.integration.device.dto.status.OnlineStatusResponseDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; -@FeignClient(name = "zt-device", contextId = "device-v2", path = "/api/device/v2") +import java.util.List; +import java.util.Map; + +@FeignClient(name = "zt-device", contextId = "device-v2", path = "/api/device") public interface DeviceV2Client { + // ==================== Device V2 Operations ==================== + /** * 获取设备核心信息 */ - @GetMapping("/{id}") + @GetMapping("v2/{id}") CommonResponse getDevice(@PathVariable("id") Long id); /** * 根据设备编号获取设备核心信息 */ - @GetMapping("/no/{no}") + @GetMapping("v2/no/{no}") CommonResponse getDeviceByNo(@PathVariable("no") String no); /** * 创建设备 */ - @PostMapping("/") + @PostMapping("v2/") CommonResponse createDevice(@RequestBody CreateDeviceRequest request); /** * 更新设备 */ - @PutMapping("/{id}") + @PutMapping("v2/{id}") CommonResponse updateDevice(@PathVariable("id") Long id, @RequestBody UpdateDeviceRequest request); /** * 删除设备 */ - @DeleteMapping("/{id}") + @DeleteMapping("v2/{id}") CommonResponse deleteDevice(@PathVariable("id") Long id); /** * 分页获取设备列表(核心信息) */ - @GetMapping("/") + @GetMapping("v2/") CommonResponse> listDevices( @RequestParam(value = "page", defaultValue = "1") Integer page, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, @@ -56,7 +65,135 @@ public interface DeviceV2Client { /** * 根据配置条件筛选设备 */ - @PostMapping("/filter-by-configs") + @PostMapping("v2/filter-by-configs") CommonResponse filterDevicesByConfigs( @RequestBody FilterDevicesByConfigsRequest request); + + // ==================== Device Config V2 Operations ==================== + + /** + * 获取设备所有配置 + */ + @GetMapping("config/v2/{deviceId}") + CommonResponse> getDeviceConfigs(@PathVariable("deviceId") Long deviceId); + + /** + * 根据设备编号获取设备所有配置 + */ + @GetMapping("config/v2/no/{no}") + CommonResponse> getDeviceConfigsByNo(@PathVariable("no") String no); + + /** + * 获取设备特定配置 + */ + @GetMapping("config/v2/{deviceId}/key/{configKey}") + CommonResponse getDeviceConfigByKey(@PathVariable("deviceId") Long deviceId, + @PathVariable("configKey") String configKey); + + /** + * 创建设备配置 + */ + @PostMapping("config/v2/{deviceId}") + CommonResponse createDeviceConfig(@PathVariable("deviceId") Long deviceId, + @RequestBody CreateDeviceConfigRequest request); + + /** + * 更新设备配置 + */ + @PutMapping("config/v2/{deviceId}/{id}") + CommonResponse updateDeviceConfig(@PathVariable("deviceId") Long deviceId, + @PathVariable("id") Long id, + @RequestBody UpdateDeviceConfigRequest request); + + /** + * 删除设备配置 + */ + @DeleteMapping("config/v2/{deviceId}/{id}") + CommonResponse deleteDeviceConfig(@PathVariable("deviceId") Long deviceId, + @PathVariable("id") Long id); + + /** + * 批量更新设备配置 + */ + @PostMapping("config/v2/{deviceId}/batch") + CommonResponse batchUpdateDeviceConfig(@PathVariable("deviceId") Long deviceId, + @RequestBody BatchDeviceConfigRequest request); + + // ==================== Default Config Operations ==================== + + /** + * 获取默认配置列表 + */ + @GetMapping("config/v2/defaults") + CommonResponse> listDefaultConfigs(@RequestParam(value = "page", defaultValue = "1") int page, + @RequestParam(value = "pageSize", defaultValue = "10") int pageSize); + + /** + * 根据配置键获取默认配置 + */ + @GetMapping("config/v2/defaults/{configKey}") + CommonResponse getDefaultConfig(@PathVariable("configKey") String configKey); + + /** + * 创建默认配置 + */ + @PostMapping("config/v2/defaults") + CommonResponse createDefaultConfig(@RequestBody DefaultConfigRequest request); + + /** + * 更新默认配置 + */ + @PutMapping("config/v2/defaults/{configKey}") + CommonResponse> updateDefaultConfig(@PathVariable("configKey") String configKey, + @RequestBody Map updates); + + /** + * 删除默认配置 + */ + @DeleteMapping("config/v2/defaults/{configKey}") + CommonResponse deleteDefaultConfig(@PathVariable("configKey") String configKey); + + /** + * 批量更新默认配置 + */ + @PostMapping("config/v2/defaults/batch") + CommonResponse batchUpdateDefaultConfigs(@RequestBody BatchDefaultConfigRequest request); + + // ==================== Device Status Operations ==================== + + /** + * 获取设备状态 + */ + @GetMapping("status/{deviceNo}") + CommonResponse getDeviceStatus(@PathVariable("deviceNo") String deviceNo); + + /** + * 检查设备是否在线 + */ + @GetMapping("status/{deviceNo}/online") + CommonResponse isDeviceOnline(@PathVariable("deviceNo") String deviceNo); + + /** + * 获取所有在线设备 + */ + @GetMapping("status/online") + CommonResponse> getAllOnlineDevices(); + + /** + * 设置设备离线 + */ + @PostMapping("status/{deviceNo}/offline") + CommonResponse setDeviceOffline(@PathVariable("deviceNo") String deviceNo); + + /** + * 设置设备在线 + */ + @PostMapping("status/{deviceNo}/online") + CommonResponse setDeviceOnline(@PathVariable("deviceNo") String deviceNo); + + /** + * 清理过期设备状态 + */ + @PostMapping("status/clean") + CommonResponse cleanExpiredDevices(); } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/device/service/DeviceConfigIntegrationService.java b/src/main/java/com/ycwl/basic/integration/device/service/DeviceConfigIntegrationService.java index 4379b6d6..9e97cf6c 100644 --- a/src/main/java/com/ycwl/basic/integration/device/service/DeviceConfigIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/device/service/DeviceConfigIntegrationService.java @@ -3,7 +3,7 @@ package com.ycwl.basic.integration.device.service; import com.ycwl.basic.integration.common.exception.IntegrationException; import com.ycwl.basic.integration.common.response.CommonResponse; import com.ycwl.basic.integration.common.service.IntegrationFallbackService; -import com.ycwl.basic.integration.device.client.DeviceConfigV2Client; +import com.ycwl.basic.integration.device.client.DeviceV2Client; import com.ycwl.basic.integration.device.dto.config.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -18,7 +18,7 @@ import java.util.Map; @RequiredArgsConstructor public class DeviceConfigIntegrationService { - private final DeviceConfigV2Client deviceConfigV2Client; + private final DeviceV2Client deviceConfigV2Client; private final IntegrationFallbackService fallbackService; private static final String SERVICE_NAME = "zt-device"; diff --git a/src/main/java/com/ycwl/basic/integration/device/service/DeviceDefaultConfigIntegrationService.java b/src/main/java/com/ycwl/basic/integration/device/service/DeviceDefaultConfigIntegrationService.java index 0c496123..97ba52a9 100644 --- a/src/main/java/com/ycwl/basic/integration/device/service/DeviceDefaultConfigIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/device/service/DeviceDefaultConfigIntegrationService.java @@ -4,7 +4,7 @@ import com.ycwl.basic.integration.common.exception.IntegrationException; import com.ycwl.basic.integration.common.response.CommonResponse; import com.ycwl.basic.integration.common.response.PageResponse; import com.ycwl.basic.integration.common.service.IntegrationFallbackService; -import com.ycwl.basic.integration.device.client.DefaultConfigClient; +import com.ycwl.basic.integration.device.client.DeviceV2Client; import com.ycwl.basic.integration.device.dto.defaults.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -21,7 +21,7 @@ import java.util.Map; @RequiredArgsConstructor public class DeviceDefaultConfigIntegrationService { - private final DefaultConfigClient defaultConfigClient; + private final DeviceV2Client defaultConfigClient; private final IntegrationFallbackService fallbackService; private static final String SERVICE_NAME = "zt-device"; diff --git a/src/main/java/com/ycwl/basic/integration/device/service/DeviceStatusIntegrationService.java b/src/main/java/com/ycwl/basic/integration/device/service/DeviceStatusIntegrationService.java index 01d4ca8c..579c883d 100644 --- a/src/main/java/com/ycwl/basic/integration/device/service/DeviceStatusIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/device/service/DeviceStatusIntegrationService.java @@ -3,7 +3,7 @@ package com.ycwl.basic.integration.device.service; import com.ycwl.basic.integration.common.exception.IntegrationException; import com.ycwl.basic.integration.common.response.CommonResponse; import com.ycwl.basic.integration.common.service.IntegrationFallbackService; -import com.ycwl.basic.integration.device.client.DeviceStatusClient; +import com.ycwl.basic.integration.device.client.DeviceV2Client; import com.ycwl.basic.integration.device.dto.status.DeviceStatusDTO; import com.ycwl.basic.integration.device.dto.status.OnlineStatusResponseDTO; import lombok.RequiredArgsConstructor; @@ -18,7 +18,7 @@ import java.util.Optional; @RequiredArgsConstructor public class DeviceStatusIntegrationService { - private final DeviceStatusClient deviceStatusClient; + private final DeviceV2Client deviceStatusClient; private final IntegrationFallbackService fallbackService; private static final String SERVICE_NAME = "zt-device"; diff --git a/src/main/java/com/ycwl/basic/integration/render/client/RenderWorkerConfigV2Client.java b/src/main/java/com/ycwl/basic/integration/render/client/RenderWorkerConfigV2Client.java deleted file mode 100644 index fa478c36..00000000 --- a/src/main/java/com/ycwl/basic/integration/render/client/RenderWorkerConfigV2Client.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.ycwl.basic.integration.render.client; - -import com.ycwl.basic.integration.common.response.CommonResponse; -import com.ycwl.basic.integration.render.dto.config.BatchRenderWorkerConfigRequest; -import com.ycwl.basic.integration.render.dto.config.RenderWorkerConfigV2DTO; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - * 渲染工作器配置V2客户端 - */ -@FeignClient(name = "zt-render-worker", contextId = "render-worker-config-v2", path = "/api/render/worker/config/v2") -public interface RenderWorkerConfigV2Client { - - /** - * 获取工作器所有配置 - */ - @GetMapping("/{workerId}") - CommonResponse> getWorkerConfigs(@PathVariable("workerId") Long workerId); - - /** - * 根据配置键获取特定配置 - */ - @GetMapping("/{workerId}/key/{configKey}") - CommonResponse getWorkerConfigByKey(@PathVariable("workerId") Long workerId, - @PathVariable("configKey") String configKey); - - /** - * 创建配置 - */ - @PostMapping("/{workerId}") - CommonResponse createWorkerConfig(@PathVariable("workerId") Long workerId, - @RequestBody RenderWorkerConfigV2DTO config); - - /** - * 更新配置 - */ - @PutMapping("/{workerId}/{id}") - CommonResponse updateWorkerConfig(@PathVariable("workerId") Long workerId, - @PathVariable("id") Long id, - @RequestBody Map updates); - - /** - * 删除配置 - */ - @DeleteMapping("/{workerId}/{id}") - CommonResponse deleteWorkerConfig(@PathVariable("workerId") Long workerId, - @PathVariable("id") Long id); - - /** - * 批量更新配置 - */ - @PostMapping("/{workerId}/batch") - CommonResponse batchUpdateWorkerConfigs(@PathVariable("workerId") Long workerId, - @RequestBody BatchRenderWorkerConfigRequest request); -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/render/client/RenderWorkerV2Client.java b/src/main/java/com/ycwl/basic/integration/render/client/RenderWorkerV2Client.java index 04389236..d1919050 100644 --- a/src/main/java/com/ycwl/basic/integration/render/client/RenderWorkerV2Client.java +++ b/src/main/java/com/ycwl/basic/integration/render/client/RenderWorkerV2Client.java @@ -2,45 +2,52 @@ package com.ycwl.basic.integration.render.client; import com.ycwl.basic.integration.common.response.CommonResponse; import com.ycwl.basic.integration.common.response.PageResponse; +import com.ycwl.basic.integration.render.dto.config.BatchRenderWorkerConfigRequest; +import com.ycwl.basic.integration.render.dto.config.RenderWorkerConfigV2DTO; import com.ycwl.basic.integration.render.dto.worker.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Map; + /** * 渲染工作器V2客户端 */ -@FeignClient(name = "zt-render-worker", contextId = "render-worker-v2", path = "/api/render/worker/v2") +@FeignClient(name = "zt-render-worker", contextId = "render-worker-v2", path = "/api/render/worker") public interface RenderWorkerV2Client { + // ==================== Worker V2 Operations ==================== + /** * 获取工作器核心信息 */ - @GetMapping("/{id}") + @GetMapping("v2/{id}") CommonResponse getWorker(@PathVariable("id") Long id); /** * 创建工作器 */ - @PostMapping + @PostMapping("v2") CommonResponse createWorker(@RequestBody CreateRenderWorkerRequest request); /** * 更新工作器 */ - @PutMapping("/{id}") + @PutMapping("v2/{id}") CommonResponse updateWorker(@PathVariable("id") Long id, @RequestBody UpdateRenderWorkerRequest request); /** * 删除工作器 */ - @DeleteMapping("/{id}") + @DeleteMapping("v2/{id}") CommonResponse deleteWorker(@PathVariable("id") Long id); /** * 分页查询工作器列表(核心信息) */ - @GetMapping + @GetMapping("v2") CommonResponse> listWorkers(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(required = false) Integer isEnabled, @@ -49,6 +56,50 @@ public interface RenderWorkerV2Client { /** * 根据key获取工作器核心信息 */ - @GetMapping("/key/{key}") + @GetMapping("v2/key/{key}") CommonResponse getWorkerByKey(@PathVariable("key") String key); + + // ==================== Worker Config V2 Operations ==================== + + /** + * 获取工作器所有配置 + */ + @GetMapping("config/v2/{workerId}") + CommonResponse> getWorkerConfigs(@PathVariable("workerId") Long workerId); + + /** + * 根据配置键获取特定配置 + */ + @GetMapping("config/v2/{workerId}/key/{configKey}") + CommonResponse getWorkerConfigByKey(@PathVariable("workerId") Long workerId, + @PathVariable("configKey") String configKey); + + /** + * 创建配置 + */ + @PostMapping("config/v2/{workerId}") + CommonResponse createWorkerConfig(@PathVariable("workerId") Long workerId, + @RequestBody RenderWorkerConfigV2DTO config); + + /** + * 更新配置 + */ + @PutMapping("config/v2/{workerId}/{id}") + CommonResponse updateWorkerConfig(@PathVariable("workerId") Long workerId, + @PathVariable("id") Long id, + @RequestBody Map updates); + + /** + * 删除配置 + */ + @DeleteMapping("config/v2/{workerId}/{id}") + CommonResponse deleteWorkerConfig(@PathVariable("workerId") Long workerId, + @PathVariable("id") Long id); + + /** + * 批量更新配置 + */ + @PostMapping("config/v2/{workerId}/batch") + CommonResponse batchUpdateWorkerConfigs(@PathVariable("workerId") Long workerId, + @RequestBody BatchRenderWorkerConfigRequest request); } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/render/service/RenderWorkerConfigIntegrationService.java b/src/main/java/com/ycwl/basic/integration/render/service/RenderWorkerConfigIntegrationService.java index 8952d0ce..dea19704 100644 --- a/src/main/java/com/ycwl/basic/integration/render/service/RenderWorkerConfigIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/render/service/RenderWorkerConfigIntegrationService.java @@ -3,7 +3,7 @@ package com.ycwl.basic.integration.render.service; import com.ycwl.basic.integration.common.exception.IntegrationException; import com.ycwl.basic.integration.common.response.CommonResponse; import com.ycwl.basic.integration.common.service.IntegrationFallbackService; -import com.ycwl.basic.integration.render.client.RenderWorkerConfigV2Client; +import com.ycwl.basic.integration.render.client.RenderWorkerV2Client; import com.ycwl.basic.integration.render.dto.config.BatchRenderWorkerConfigRequest; import com.ycwl.basic.integration.render.dto.config.RenderWorkerConfigV2DTO; import lombok.RequiredArgsConstructor; @@ -23,7 +23,7 @@ import java.util.Map; @RequiredArgsConstructor public class RenderWorkerConfigIntegrationService { - private final RenderWorkerConfigV2Client renderWorkerConfigV2Client; + private final RenderWorkerV2Client renderWorkerConfigV2Client; private final IntegrationFallbackService fallbackService; private static final String SERVICE_NAME = "zt-render-worker"; diff --git a/src/main/java/com/ycwl/basic/integration/scenic/client/DefaultConfigClient.java b/src/main/java/com/ycwl/basic/integration/scenic/client/DefaultConfigClient.java deleted file mode 100644 index 7c8e99e7..00000000 --- a/src/main/java/com/ycwl/basic/integration/scenic/client/DefaultConfigClient.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.ycwl.basic.integration.scenic.client; - -import com.ycwl.basic.integration.common.response.CommonResponse; -import com.ycwl.basic.integration.scenic.dto.config.DefaultConfigDTO; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -@FeignClient(name = "zt-scenic", contextId = "scenic-default-config", path = "/api/scenic/default-config") -public interface DefaultConfigClient { - - @GetMapping("/") - CommonResponse> listDefaultConfigs(); - - @GetMapping("/{configKey}") - CommonResponse getDefaultConfig(@PathVariable("configKey") String configKey); - - @PostMapping("/") - CommonResponse createDefaultConfig(@RequestBody DefaultConfigDTO request); - - @PutMapping("/{configKey}") - CommonResponse updateDefaultConfig(@PathVariable("configKey") String configKey, - @RequestBody DefaultConfigDTO request); - - @DeleteMapping("/{configKey}") - CommonResponse deleteDefaultConfig(@PathVariable("configKey") String configKey); -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/scenic/client/ScenicConfigV2Client.java b/src/main/java/com/ycwl/basic/integration/scenic/client/ScenicConfigV2Client.java deleted file mode 100644 index 6c5d84c2..00000000 --- a/src/main/java/com/ycwl/basic/integration/scenic/client/ScenicConfigV2Client.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.ycwl.basic.integration.scenic.client; - -import com.ycwl.basic.integration.common.response.CommonResponse; -import com.ycwl.basic.integration.scenic.dto.config.*; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -@FeignClient(name = "zt-scenic", contextId = "scenic-config-v2", path = "/api/scenic/config/v2") -public interface ScenicConfigV2Client { - - @GetMapping("/{scenicId}") - CommonResponse> listConfigs(@PathVariable("scenicId") Long scenicId); - - @GetMapping("/{scenicId}/key/{configKey}") - CommonResponse getConfigByKey(@PathVariable("scenicId") Long scenicId, - @PathVariable("configKey") String configKey); - - @PostMapping("/{scenicId}") - CommonResponse createConfig(@PathVariable("scenicId") Long scenicId, - @RequestBody CreateConfigRequest request); - - @PutMapping("/{scenicId}/{id}") - CommonResponse updateConfig(@PathVariable("scenicId") Long scenicId, - @PathVariable("id") String id, - @RequestBody UpdateConfigRequest request); - - @DeleteMapping("/{scenicId}/{id}") - CommonResponse deleteConfig(@PathVariable("scenicId") Long scenicId, - @PathVariable("id") String id); - - @PostMapping("/{scenicId}/batch") - CommonResponse batchUpdateConfigs(@PathVariable("scenicId") Long scenicId, - @RequestBody BatchConfigRequest request); -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/scenic/client/ScenicV2Client.java b/src/main/java/com/ycwl/basic/integration/scenic/client/ScenicV2Client.java index b4a52601..037c146d 100644 --- a/src/main/java/com/ycwl/basic/integration/scenic/client/ScenicV2Client.java +++ b/src/main/java/com/ycwl/basic/integration/scenic/client/ScenicV2Client.java @@ -1,39 +1,87 @@ package com.ycwl.basic.integration.scenic.client; import com.ycwl.basic.integration.common.response.CommonResponse; +import com.ycwl.basic.integration.common.response.PageResponse; +import com.ycwl.basic.integration.scenic.dto.config.*; import com.ycwl.basic.integration.scenic.dto.filter.ScenicFilterPageResponse; import com.ycwl.basic.integration.scenic.dto.filter.ScenicFilterRequest; import com.ycwl.basic.integration.scenic.dto.scenic.CreateScenicRequest; import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO; -import com.ycwl.basic.integration.common.response.PageResponse; import com.ycwl.basic.integration.scenic.dto.scenic.UpdateScenicRequest; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; -@FeignClient(name = "zt-scenic", contextId = "scenic-v2", path = "/api/scenic/v2") +@FeignClient(name = "zt-scenic", contextId = "scenic-v2", path = "/api/scenic") public interface ScenicV2Client { - @GetMapping("/{scenicId}") + // ==================== Scenic V2 Operations ==================== + + @GetMapping("v2/{scenicId}") CommonResponse getScenic(@PathVariable("scenicId") Long scenicId); - @PostMapping("/") + @PostMapping("v2/") CommonResponse createScenic(@RequestBody CreateScenicRequest request); - @PutMapping("/{scenicId}") + @PutMapping("v2/{scenicId}") CommonResponse updateScenic(@PathVariable("scenicId") Long scenicId, @RequestBody UpdateScenicRequest request); - @DeleteMapping("/{scenicId}") + @DeleteMapping("v2/{scenicId}") CommonResponse deleteScenic(@PathVariable("scenicId") Long scenicId); - @PostMapping("/filter") + @PostMapping("v2/filter") CommonResponse filterScenics(@RequestBody ScenicFilterRequest request); - @GetMapping("/") + @GetMapping("v2/") CommonResponse> listScenics(@RequestParam(defaultValue = "1") Integer page, @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(required = false) Integer status, @RequestParam(required = false) String name); + + // ==================== Scenic Config V2 Operations ==================== + + @GetMapping("config/v2/{scenicId}") + CommonResponse> listConfigs(@PathVariable("scenicId") Long scenicId); + + @GetMapping("config/v2/{scenicId}/key/{configKey}") + CommonResponse getConfigByKey(@PathVariable("scenicId") Long scenicId, + @PathVariable("configKey") String configKey); + + @PostMapping("config/v2/{scenicId}") + CommonResponse createConfig(@PathVariable("scenicId") Long scenicId, + @RequestBody CreateConfigRequest request); + + @PutMapping("config/v2/{scenicId}/{id}") + CommonResponse updateConfig(@PathVariable("scenicId") Long scenicId, + @PathVariable("id") String id, + @RequestBody UpdateConfigRequest request); + + @DeleteMapping("config/v2/{scenicId}/{id}") + CommonResponse deleteConfig(@PathVariable("scenicId") Long scenicId, + @PathVariable("id") String id); + + @PostMapping("config/v2/{scenicId}/batch") + CommonResponse batchUpdateConfigs(@PathVariable("scenicId") Long scenicId, + @RequestBody BatchConfigRequest request); + + // ==================== Default Config Operations ==================== + + @GetMapping("default-config/") + CommonResponse> listDefaultConfigs(); + + @GetMapping("default-config/{configKey}") + CommonResponse getDefaultConfig(@PathVariable("configKey") String configKey); + + @PostMapping("default-config/") + CommonResponse createDefaultConfig(@RequestBody DefaultConfigDTO request); + + @PutMapping("default-config/{configKey}") + CommonResponse updateDefaultConfig(@PathVariable("configKey") String configKey, + @RequestBody DefaultConfigDTO request); + + @DeleteMapping("default-config/{configKey}") + CommonResponse deleteDefaultConfig(@PathVariable("configKey") String configKey); } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicConfigIntegrationService.java b/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicConfigIntegrationService.java index a776a629..b40b3649 100644 --- a/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicConfigIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicConfigIntegrationService.java @@ -3,7 +3,7 @@ package com.ycwl.basic.integration.scenic.service; import com.ycwl.basic.integration.common.exception.IntegrationException; import com.ycwl.basic.integration.common.response.CommonResponse; import com.ycwl.basic.integration.common.service.IntegrationFallbackService; -import com.ycwl.basic.integration.scenic.client.ScenicConfigV2Client; +import com.ycwl.basic.integration.scenic.client.ScenicV2Client; import com.ycwl.basic.integration.scenic.dto.config.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -17,7 +17,7 @@ import java.util.Map; @RequiredArgsConstructor public class ScenicConfigIntegrationService { - private final ScenicConfigV2Client scenicConfigV2Client; + private final ScenicV2Client scenicConfigV2Client; private final IntegrationFallbackService fallbackService; private static final String SERVICE_NAME = "zt-scenic"; diff --git a/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicDefaultConfigIntegrationService.java b/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicDefaultConfigIntegrationService.java index 7c6870e3..85d2f9bb 100644 --- a/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicDefaultConfigIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicDefaultConfigIntegrationService.java @@ -2,7 +2,7 @@ package com.ycwl.basic.integration.scenic.service; import com.ycwl.basic.integration.common.exception.IntegrationException; import com.ycwl.basic.integration.common.response.CommonResponse; -import com.ycwl.basic.integration.scenic.client.DefaultConfigClient; +import com.ycwl.basic.integration.scenic.client.ScenicV2Client; import com.ycwl.basic.integration.scenic.dto.config.DefaultConfigDTO; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -15,7 +15,7 @@ import java.util.List; @RequiredArgsConstructor public class ScenicDefaultConfigIntegrationService { - private final DefaultConfigClient defaultConfigClient; + private final ScenicV2Client defaultConfigClient; public List listDefaultConfigs() { log.debug("获取默认配置列表"); diff --git a/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicIntegrationService.java b/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicIntegrationService.java index e69618f7..e39c06e7 100644 --- a/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicIntegrationService.java +++ b/src/main/java/com/ycwl/basic/integration/scenic/service/ScenicIntegrationService.java @@ -3,7 +3,6 @@ package com.ycwl.basic.integration.scenic.service; import com.ycwl.basic.integration.common.exception.IntegrationException; import com.ycwl.basic.integration.common.response.CommonResponse; import com.ycwl.basic.integration.common.service.IntegrationFallbackService; -import com.ycwl.basic.integration.scenic.client.ScenicConfigV2Client; import com.ycwl.basic.integration.scenic.client.ScenicV2Client; import com.ycwl.basic.integration.scenic.dto.filter.ScenicFilterPageResponse; import com.ycwl.basic.integration.scenic.dto.filter.ScenicFilterRequest; @@ -23,7 +22,6 @@ import java.util.Map; public class ScenicIntegrationService { private final ScenicV2Client scenicV2Client; - private final ScenicConfigV2Client scenicConfigV2Client; private final IntegrationFallbackService fallbackService; private static final String SERVICE_NAME = "zt-scenic";