205 lines
5.6 KiB
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));
|
|
}
|
|
}
|