feat(EngineOperationController):新增规则版本测试成功后修改版本测试状态

dev
gtl 2024-05-12 16:50:29 +08:00
parent 7496035269
commit dc7bb6a28f
6 changed files with 59 additions and 6 deletions

View File

@ -14,6 +14,7 @@ import com.ruoyi.ruleEngine.client.model.RecordModel;
import com.ruoyi.ruleEngine.client.model.process.DataModelProcessModel;
import com.ruoyi.ruleEngine.client.model.process.DataSetProcessModel;
import com.ruoyi.ruleEngine.client.model.process.RecordProcessModel;
import com.ruoyi.ruleEngine.remote.RemoteRuleEngineService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -35,6 +36,9 @@ public class EngineOperationServiceImpl implements EngineOperationService {
@Autowired
private RuleEngineVersionFactory ruleEngineVersionFactory;
@Autowired
private RemoteRuleEngineService remoteRuleEngineService;
@Override
public Object testVersion(TestDataReq testDataReq) {
// 根据作用域编号放入对应的上下文中
@ -74,9 +78,13 @@ public class EngineOperationServiceImpl implements EngineOperationService {
Method mainMethod = clazz.getDeclaredMethod("execution");
mainMethod.invoke(clazz.newInstance());
} catch (Exception e) {
e.printStackTrace();
log.info("测试失败,{}",e.getMessage());
//修改测试状态
remoteRuleEngineService.edit(testDataReq.getVersionId(),"0");
throw new ServiceException("测试失败,"+e.getMessage());
}
//修改测试状态
remoteRuleEngineService.edit(testDataReq.getVersionId(),"1");
// 处理后的测试数据
return switch (testDataReq.getScope()) {
case 2 -> DataSetContextHolder.get().getDataSetModel();

View File

@ -7,8 +7,9 @@ import com.ruoyi.ruleEngine.domain.req.EngineVersionQueryReq;
import com.ruoyi.ruleEngine.remote.factory.RemoteRuleEngineFactory;
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.PutMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
@ -29,4 +30,10 @@ public interface RemoteRuleEngineService {
*/
@GetMapping("/list")
public Result<List<EngineVersion>> list(@RequestParam("engineConfigQueryReq") EngineVersionQueryReq engineConfigQueryReq);
/**
*
*/
@PutMapping("/{id}/{testStatus}")
public Result<String> edit(@PathVariable("id") Long id, @PathVariable("testStatus") String testStatus);
}

View File

@ -21,6 +21,11 @@ public class RemoteRuleEngineFactory implements FallbackFactory<RemoteRuleEngine
public Result<List<EngineVersion>> list(EngineVersionQueryReq engineConfigQueryReq) {
return Result.error(cause.getMessage());
}
@Override
public Result<String> edit(Long id, String testStatus) {
return Result.error(cause.getMessage());
}
};
}
}

View File

@ -58,7 +58,7 @@ public class EngineVersionController extends BaseController {
*
*/
@RequiresPermissions("ruleEngine:version:add")
@Log(title = "引擎规则配置", businessType = BusinessType.INSERT)
@Log(title = "引擎规则版本", businessType = BusinessType.INSERT)
@PostMapping
@ApiOperation("新增引擎规则版本")
public Result<String> add(@RequestBody EngineVersionSaveReq engineConfigSaveReq) {
@ -69,18 +69,29 @@ public class EngineVersionController extends BaseController {
*
*/
@RequiresPermissions("ruleEngine:version:edit")
@Log(title = "引擎规则配置", businessType = BusinessType.UPDATE)
@PutMapping("/{id}")
@Log(title = "引擎规则版本", businessType = BusinessType.UPDATE)
@PutMapping("/edit/{id}")
@ApiOperation("修改引擎规则版本")
public Result<String> edit(@PathVariable Long id, @RequestBody EngineVersionEditReq engineConfigEditReq) {
return toAjax(engineVersionService.updateById(EngineVersion.editBuild(id,engineConfigEditReq, SecurityUtils::getUsername)));
}
/**
*
*/
@RequiresPermissions("ruleEngine:version:edit")
@Log(title = "引擎规则版本", businessType = BusinessType.UPDATE)
@PutMapping("/{id}/{testStatus}")
@ApiOperation("修改引擎规则版本的测试状态")
public Result<String> edit(@PathVariable Long id, @PathVariable String testStatus) {
return toAjax(engineVersionService.update(id,testStatus));
}
/**
*
*/
@RequiresPermissions("ruleEngine:version:remove")
@Log(title = "引擎规则配置", businessType = BusinessType.DELETE)
@Log(title = "引擎规则版本", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
@ApiOperation("删除引擎规则版本")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = String.class, example = "1,2,3,4")

View File

@ -28,4 +28,12 @@ public interface EngineVersionService extends IService<EngineVersion> {
* @return
*/
VersionClassCreateResp createVersionClass(VersionClassCreateReq req);
/**
*
* @param id
* @param testStatus
* @return
*/
boolean update(Long id, String testStatus);
}

View File

@ -1,6 +1,7 @@
package com.ruoyi.ruleEngine.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.ObjUtils;
import com.ruoyi.ruleEngine.constant.EngineVersionConstants;
@ -77,5 +78,18 @@ public class EngineVersionServiceImpl extends ServiceImpl<EngineVersionMapper, E
.build();
}
/**
*
* @param id
* @param testStatus
* @return
*/
@Override
public boolean update(Long id, String testStatus) {
return this.update(new LambdaUpdateWrapper<EngineVersion>()
.eq(EngineVersion::getId,id)
.set(EngineVersion::getTestStatus,testStatus));
}
}