cloud-etl-engine/cloud-etl-server/src/main/java/com/muyu/controller/EngineVersionController.java

205 lines
5.6 KiB
Java

package com.muyu.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.domain.EngineVersion;
import com.muyu.domain.model.TestData;
import com.muyu.javacomplier.OSSFileDownload;
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 com.muyu.test.JavaClass;
import com.muyu.utils.DownloadOssSynchronization;
import com.muyu.utils.OssUpload;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Component
@RestController
@Log4j2
@RequestMapping("/version")
public class EngineVersionController extends BaseController {
@Autowired
EngineVersionService engineVersionService;
/**
* 查询引擎规则配置列表
*/
@GetMapping("/list")
public Result<List<EngineVersion>> list(EngineVersionQueryReq engineConfigQueryReq) {
return Result.success(engineVersionService.list(EngineVersion.queryBuild(engineConfigQueryReq)));
}
/**
* 查看版本列表
*
* @return
*/
@GetMapping("/selectVersionList")
public Result<List<EngineVersion>> selectVersionList() {
return Result.success(engineVersionService.list());
}
/**
* 添加版本信息
*
* @param engineVersion
* @return
*/
@PostMapping("/insert")
public Result<EngineVersion> insert(@RequestBody EngineVersion engineVersion) {
return engineVersionService.add(engineVersion);
}
/**
* 修改版本信息
*
* @param engineVersion
* @return
*/
@PostMapping("/update")
public EngineVersion update(@RequestBody EngineVersion engineVersion) {
return engineVersionService.updateMsg(engineVersion);
}
/**
* 删除版本信息
*
* @param id
* @return
*/
@PostMapping("/delete/{id}")
public Result delete(@PathVariable Long id) {
boolean b = engineVersionService.removeById(id);
return Result.success(b);
}
/**
* 查询版本信息
*
* @param id
* @return
*/
@GetMapping("/getVersion/{id}")
public Result<EngineVersion> getVersion(@PathVariable("id") Long id) {
EngineVersion byId = engineVersionService.getById(id);
return Result.success(byId);
}
/**
* 获取引擎配置作用域列表
*/
@GetMapping("/getScopeList")
public Result<List<EngineConfigScopeResp>> getScopeList() {
return Result.success(engineVersionService.getScopeList());
}
/**
* 通过引擎作用域编号获取引擎配置作用域信息
*/
@RequiresPermissions("rule-engine:version:list")
@GetMapping("/getScopeInfo/{id}")
public Result<EngineConfigScopeResp> getScopeInfoById(@PathVariable Integer id) {
return Result.success(engineVersionService.getScopeInfoById(id));
}
/**
* 测试引擎规则配置
*/
@PostMapping(value = "/test")
public Result<Object> ruleTest(@RequestBody TestData testData) {
return Result.success(engineVersionService.ruleTest(testData));
}
/**
* 创建代码版本类名和代码模板
*/
@PostMapping("/createVersionClass")
public Result<VersionClassCreateResp> createVersionClass(@RequestBody VersionClassCreateReq req) {
VersionClassCreateResp versionClassCreateResp = engineVersionService.createVersionClass(req);
return Result.success(versionClassCreateResp);
}
/**
* 导出
*/
@PostMapping("/export")
public void export(HttpServletResponse httpServletResponse, EngineVersion engineVersion) {
List<EngineVersion> list = engineVersionService.list();
ExcelUtil<EngineVersion> engineMaintenanceExcelUtil = new ExcelUtil<>(EngineVersion.class);
engineMaintenanceExcelUtil.exportExcel(httpServletResponse, list, "规则引擎版本");
}
/**
* 查询版本列表
*
* @param id
* @return
*/
@PostMapping("/selectListById/{id}")
public Result selectListById(@PathVariable Long id) {
return Result.success(engineVersionService.getById(id));
}
/**
* 添加版本信息
*/
@PostMapping("/insertVersion")
public boolean insertVersion(@RequestBody EngineVersion engineVersion) {
// OssUpload.uploadFiles(engineVersion.getRuleContent(), engineVersion.getVersionCode());
//
// JavaClass.compile(engineVersion.getName());
engineVersion.setId(null);
boolean insert = engineVersionService.insert(engineVersion);
return insert;
}
/**
* 开启
*
* @param id
* @return
*/
@PostMapping("/open/{id}")
public Result open(@PathVariable Integer id) {
engineVersionService.onEngine(id);
return Result.success();
}
/**
* 关闭
*
* @param id
* @return
*/
@PostMapping("/close/{id}")
public Result close(@PathVariable Integer id) {
engineVersionService.close(id);
return Result.success();
}
/**
* 根据id查询版本信息
*/
@GetMapping("/getVersionById/{id}")
public Result getVersionById(@PathVariable("id") Long id) {
return Result.success(engineVersionService.getById(id));
}
}