package com.muyu.controller; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.domain.EngineVersion; import com.muyu.domain.model.TestData; import com.muyu.req.EngineVersionQueryReq; import com.muyu.req.VersionClassCreateReq; import com.muyu.resp.EngineConfigScopeResp; import com.muyu.resp.VersionClassCreateResp; import com.muyu.service.EngineVersionService; import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @Author:qdm * @Package:com.muyu.controller * @Project:cloud-etl-engine * @name:EngineVersionController * @Date:2024/8/22 21:59 */ @RestController @RequestMapping("/version") public class EngineVersionController { @Autowired EngineVersionService engineVersionService; /** * 查询引擎规则配置列表 */ @GetMapping("/list") public Result> list(EngineVersionQueryReq engineConfigQueryReq) { return Result.success(engineVersionService.list(EngineVersion.queryBuild(engineConfigQueryReq))); } @PostMapping("/insert") public Result insert(@RequestBody EngineVersion engineVersion) { return engineVersionService.add(engineVersion); } @PostMapping("/update") public EngineVersion update(@RequestBody EngineVersion engineVersion) { return engineVersionService.updateMsg(engineVersion); } @PostMapping("/delete/{id}") public Result delete(@PathVariable Long id) { boolean b = engineVersionService.removeById(id); return Result.success(b); } @GetMapping("/getVersion/{id}") public Result getVersion(@PathVariable("id") Long id) { EngineVersion engineVersion = engineVersionService.getById(id); return Result.success(engineVersion); } /** * 获取引擎配置作用域列表 */ @GetMapping("/getScopeList") public Result> getScopeList() { return Result.success(engineVersionService.getScopeList()); } /** * 通过引擎作用域编号获取引擎配置作用域信息 */ @RequiresPermissions("rule-engine:version:list") @GetMapping("/getScopeInfo/{id}") public Result getScopeInfoById(@PathVariable Integer id) { return Result.success(engineVersionService.getScopeInfoById(id)); } /** * 测试引擎规则配置 */ @PostMapping(value = "/test") public Result ruleTest(@RequestBody TestData testData) { return Result.success(engineVersionService.ruleTest(testData)); } /** * 创建代码版本类名和代码模板 */ @PostMapping("/createVersionClass") public Result createVersionClass(@RequestBody VersionClassCreateReq req) { VersionClassCreateResp versionClassCreateResp = engineVersionService.createVersionClass(req); return Result.success(versionClassCreateResp); } /** * 导出 */ @PostMapping("/export") public void export(HttpServletResponse httpServletResponse, EngineVersion engineVersion) { List list = engineVersionService.list(); ExcelUtil engineMaintenanceExcelUtil = new ExcelUtil<>(EngineVersion.class); engineMaintenanceExcelUtil.exportExcel(httpServletResponse, list, "规则引擎版本"); } }