You've already forked FrameTour-BE
refactor(basic): 重构渲染机相关代码
- 移除了 RenderWorkerMapper 中的未使用的接口 - 精简了 RenderWorkerEntity 中的字段 -重构了 RenderWorkerRepository 中的缓存逻辑 - 更新了 RenderWorkerService 接口和实现类,使用新的 RenderWorkerRespVO 响应对象 - 调整了 TaskTaskServiceImpl 中的渲染机相关代码,使用新的配置管理方式
This commit is contained in:
@@ -0,0 +1,302 @@
|
||||
package com.ycwl.basic.controller.pc;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.model.pc.renderWorker.entity.RenderWorkerEntity;
|
||||
import com.ycwl.basic.model.pc.renderWorker.req.RenderWorkerReqQuery;
|
||||
import com.ycwl.basic.model.pc.renderWorker.resp.RenderWorkerRespVO;
|
||||
import com.ycwl.basic.service.pc.RenderWorkerService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import jakarta.validation.Valid;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 渲染机管理 V2 版本控制器
|
||||
*
|
||||
* @author Claude Code
|
||||
* @date 2025-09-05
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/api/renderWorker/v2")
|
||||
@RequiredArgsConstructor
|
||||
public class RenderWorkerV2Controller {
|
||||
|
||||
private final RenderWorkerService renderWorkerService;
|
||||
|
||||
// ========== 渲染机基础 CRUD 操作 ==========
|
||||
|
||||
/**
|
||||
* 渲染机分页列表查询
|
||||
*/
|
||||
@GetMapping("/")
|
||||
public ApiResponse<PageInfo<RenderWorkerRespVO>> listRenderWorkers(@RequestParam(defaultValue = "1") Integer page,
|
||||
@RequestParam(defaultValue = "10") Integer pageSize,
|
||||
@RequestParam(required = false) String name,
|
||||
@RequestParam(required = false) String platform,
|
||||
@RequestParam(required = false) Long scenicOnly,
|
||||
@RequestParam(required = false) Integer testOnly,
|
||||
@RequestParam(required = false) Integer online,
|
||||
@RequestParam(required = false) Integer status) {
|
||||
log.info("分页查询渲染机列表, page: {}, pageSize: {}, name: {}, platform: {}, scenicOnly: {}, testOnly: {}, online: {}, status: {}",
|
||||
page, pageSize, name, platform, scenicOnly, testOnly, online, status);
|
||||
|
||||
// 参数验证:限制pageSize最大值为100
|
||||
if (pageSize > 100) {
|
||||
pageSize = 100;
|
||||
}
|
||||
|
||||
try {
|
||||
RenderWorkerReqQuery queryReq = new RenderWorkerReqQuery();
|
||||
queryReq.setPageNum(page);
|
||||
queryReq.setPageSize(pageSize);
|
||||
queryReq.setName(name);
|
||||
queryReq.setPlatform(platform);
|
||||
queryReq.setScenicOnly(scenicOnly);
|
||||
queryReq.setTestOnly(testOnly);
|
||||
queryReq.setOnline(online);
|
||||
queryReq.setStatus(status);
|
||||
|
||||
return renderWorkerService.pageQuery(queryReq);
|
||||
} catch (Exception e) {
|
||||
log.error("分页查询渲染机列表失败", e);
|
||||
return ApiResponse.fail("分页查询渲染机列表失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据ID获取渲染机详情
|
||||
*/
|
||||
@GetMapping("/{id}")
|
||||
public ApiResponse<RenderWorkerRespVO> getRenderWorker(@PathVariable Long id) {
|
||||
try {
|
||||
return renderWorkerService.detail(id);
|
||||
} catch (Exception e) {
|
||||
log.error("获取渲染机详情失败, id: {}", id, e);
|
||||
return ApiResponse.fail("获取渲染机详情失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建渲染机
|
||||
*/
|
||||
@PostMapping("/")
|
||||
public ApiResponse<Integer> createRenderWorker(@Valid @RequestBody RenderWorkerEntity renderWorker) {
|
||||
log.info("创建渲染机, name: {}, accessKey: {}, scenicOnly: {}, testOnly: {}",
|
||||
renderWorker.getName(), renderWorker.getAccessKey(), renderWorker.getScenicOnly(), renderWorker.getTestOnly());
|
||||
try {
|
||||
return renderWorkerService.add(renderWorker);
|
||||
} catch (Exception e) {
|
||||
log.error("创建渲染机失败", e);
|
||||
return ApiResponse.fail("创建渲染机失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新渲染机信息
|
||||
*/
|
||||
@PutMapping("/{id}")
|
||||
public ApiResponse<Integer> updateRenderWorker(@PathVariable Long id, @Valid @RequestBody RenderWorkerEntity renderWorker) {
|
||||
log.info("更新渲染机信息, id: {}", id);
|
||||
try {
|
||||
renderWorker.setId(id);
|
||||
return renderWorkerService.update(renderWorker);
|
||||
} catch (Exception e) {
|
||||
log.error("更新渲染机信息失败, id: {}", id, e);
|
||||
return ApiResponse.fail("更新渲染机信息失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除渲染机
|
||||
*/
|
||||
@DeleteMapping("/{id}")
|
||||
public ApiResponse<Integer> deleteRenderWorker(@PathVariable Long id) {
|
||||
log.info("删除渲染机, id: {}", id);
|
||||
try {
|
||||
return renderWorkerService.deleteById(id);
|
||||
} catch (Exception e) {
|
||||
log.error("删除渲染机失败, id: {}", id, e);
|
||||
return ApiResponse.fail("删除渲染机失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 状态管理操作 ==========
|
||||
|
||||
/**
|
||||
* 启用渲染机
|
||||
*/
|
||||
@PutMapping("/{id}/enable")
|
||||
public ApiResponse<String> enableRenderWorker(@PathVariable Long id) {
|
||||
log.info("启用渲染机, id: {}", id);
|
||||
try {
|
||||
// 获取渲染机信息
|
||||
ApiResponse<RenderWorkerRespVO> detailResponse = renderWorkerService.detail(id);
|
||||
if (!detailResponse.isSuccess()) {
|
||||
return ApiResponse.fail("渲染机不存在");
|
||||
}
|
||||
|
||||
// 更新状态
|
||||
RenderWorkerEntity entity = new RenderWorkerEntity();
|
||||
entity.setId(id);
|
||||
entity.setStatus(1); // 1表示启用
|
||||
|
||||
ApiResponse<Integer> updateResponse = renderWorkerService.update(entity);
|
||||
if (updateResponse.isSuccess()) {
|
||||
return ApiResponse.success("渲染机启用成功");
|
||||
} else {
|
||||
return ApiResponse.fail("渲染机启用失败");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("启用渲染机失败, id: {}", id, e);
|
||||
return ApiResponse.fail("启用渲染机失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 禁用渲染机
|
||||
*/
|
||||
@PutMapping("/{id}/disable")
|
||||
public ApiResponse<String> disableRenderWorker(@PathVariable Long id) {
|
||||
log.info("禁用渲染机, id: {}", id);
|
||||
try {
|
||||
// 获取渲染机信息
|
||||
ApiResponse<RenderWorkerRespVO> detailResponse = renderWorkerService.detail(id);
|
||||
if (!detailResponse.isSuccess()) {
|
||||
return ApiResponse.fail("渲染机不存在");
|
||||
}
|
||||
|
||||
// 更新状态
|
||||
RenderWorkerEntity entity = new RenderWorkerEntity();
|
||||
entity.setId(id);
|
||||
entity.setStatus(0); // 0表示禁用
|
||||
|
||||
ApiResponse<Integer> updateResponse = renderWorkerService.update(entity);
|
||||
if (updateResponse.isSuccess()) {
|
||||
return ApiResponse.success("渲染机禁用成功");
|
||||
} else {
|
||||
return ApiResponse.fail("渲染机禁用失败");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("禁用渲染机失败, id: {}", id, e);
|
||||
return ApiResponse.fail("禁用渲染机失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 配置管理操作 ==========
|
||||
// 注意:以下配置管理方法需要根据实际的RenderWorker配置服务进行调整
|
||||
// 目前暂时保留接口结构,等待配置相关服务的具体实现
|
||||
|
||||
/**
|
||||
* 获取渲染机配置列表
|
||||
*/
|
||||
@GetMapping("/{id}/config")
|
||||
public ApiResponse<List<Map<String, Object>>> getRenderWorkerConfigs(@PathVariable Long id) {
|
||||
log.info("获取渲染机配置列表, renderWorkerId: {}", id);
|
||||
try {
|
||||
// TODO: 需要实现RenderWorker配置服务
|
||||
return ApiResponse.fail("配置管理功能待实现");
|
||||
} catch (Exception e) {
|
||||
log.error("获取渲染机配置列表失败, renderWorkerId: {}", id, e);
|
||||
return ApiResponse.fail("获取渲染机配置列表失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取渲染机扁平化配置
|
||||
*/
|
||||
@GetMapping("/{id}/flat-config")
|
||||
public ApiResponse<Map<String, Object>> getRenderWorkerFlatConfig(@PathVariable Long id) {
|
||||
log.info("获取渲染机扁平化配置, renderWorkerId: {}", id);
|
||||
try {
|
||||
// TODO: 需要实现RenderWorker配置服务
|
||||
return ApiResponse.fail("配置管理功能待实现");
|
||||
} catch (Exception e) {
|
||||
log.error("获取渲染机扁平化配置失败, renderWorkerId: {}", id, e);
|
||||
return ApiResponse.fail("获取渲染机扁平化配置失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据配置键获取配置
|
||||
*/
|
||||
@GetMapping("/{id}/config/{configKey}")
|
||||
public ApiResponse<Map<String, Object>> getRenderWorkerConfigByKey(@PathVariable Long id,
|
||||
@PathVariable String configKey) {
|
||||
log.info("根据键获取渲染机配置, renderWorkerId: {}, configKey: {}", id, configKey);
|
||||
try {
|
||||
// TODO: 需要实现RenderWorker配置服务
|
||||
return ApiResponse.fail("配置管理功能待实现");
|
||||
} catch (Exception e) {
|
||||
log.error("根据键获取渲染机配置失败, renderWorkerId: {}, configKey: {}", id, configKey, e);
|
||||
return ApiResponse.fail("根据键获取渲染机配置失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建渲染机配置
|
||||
*/
|
||||
@PostMapping("/{id}/config")
|
||||
public ApiResponse<Map<String, Object>> createRenderWorkerConfig(@PathVariable Long id,
|
||||
@Valid @RequestBody Map<String, Object> request) {
|
||||
log.info("创建渲染机配置, renderWorkerId: {}", id);
|
||||
try {
|
||||
// TODO: 需要实现RenderWorker配置服务
|
||||
return ApiResponse.fail("配置管理功能待实现");
|
||||
} catch (Exception e) {
|
||||
log.error("创建渲染机配置失败, renderWorkerId: {}", id, e);
|
||||
return ApiResponse.fail("创建渲染机配置失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量创建/更新渲染机配置
|
||||
*/
|
||||
@PostMapping("/{id}/config/batch")
|
||||
public ApiResponse<Map<String, Object>> batchUpdateRenderWorkerConfig(@PathVariable Long id,
|
||||
@Valid @RequestBody Map<String, Object> request) {
|
||||
log.info("批量更新渲染机配置, renderWorkerId: {}", id);
|
||||
try {
|
||||
// TODO: 需要实现RenderWorker配置服务
|
||||
return ApiResponse.fail("配置管理功能待实现");
|
||||
} catch (Exception e) {
|
||||
log.error("批量更新渲染机配置失败, renderWorkerId: {}", id, e);
|
||||
return ApiResponse.fail("批量更新渲染机配置失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新渲染机配置
|
||||
*/
|
||||
@PutMapping("/{id}/config/{configId}")
|
||||
public ApiResponse<String> updateRenderWorkerConfig(@PathVariable Long id, @PathVariable Long configId,
|
||||
@Valid @RequestBody Map<String, Object> request) {
|
||||
log.info("更新渲染机配置, renderWorkerId: {}, configId: {}", id, configId);
|
||||
try {
|
||||
// TODO: 需要实现RenderWorker配置服务
|
||||
return ApiResponse.fail("配置管理功能待实现");
|
||||
} catch (Exception e) {
|
||||
log.error("更新渲染机配置失败, renderWorkerId: {}, configId: {}", id, configId, e);
|
||||
return ApiResponse.fail("更新渲染机配置失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除渲染机配置
|
||||
*/
|
||||
@DeleteMapping("/{id}/config/{configId}")
|
||||
public ApiResponse<String> deleteRenderWorkerConfig(@PathVariable Long id, @PathVariable Long configId) {
|
||||
log.info("删除渲染机配置, renderWorkerId: {}, configId: {}", id, configId);
|
||||
try {
|
||||
// TODO: 需要实现RenderWorker配置服务
|
||||
return ApiResponse.fail("配置管理功能待实现");
|
||||
} catch (Exception e) {
|
||||
log.error("删除渲染机配置失败, renderWorkerId: {}, configId: {}", id, configId, e);
|
||||
return ApiResponse.fail("删除渲染机配置失败: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user