feat:新增作用域模型类

ruoyi_test
sunshine7058 2024-05-07 20:06:26 +08:00
parent e0fbb445a1
commit db59d7edc8
37 changed files with 707 additions and 66 deletions

View File

@ -16,7 +16,7 @@ import org.apache.velocity.VelocityContext;
/**
*
*
* @author ruoyi
* @author muyu
*/
public class VelocityUtils {
/**

View File

@ -22,7 +22,7 @@
//
// // quartz参数
// Properties prop = new Properties();
// prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler");
// prop.put("org.quartz.scheduler.instanceName", "muyuScheduler");
// prop.put("org.quartz.scheduler.instanceId", "AUTO");
// // 线程池配置
// prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
@ -42,7 +42,7 @@
// prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");
// factory.setQuartzProperties(prop);
//
// factory.setSchedulerName("RuoyiScheduler");
// factory.setSchedulerName("muyuScheduler");
// // 延时启动
// factory.setStartupDelay(1);
// factory.setApplicationContextSchedulerContextKey("applicationContextKey");

View File

@ -14,7 +14,7 @@ public class ConfigCodeConstants {
/**
*
*/
public final static String BASE_FILE_PATH="D:/workspace/gtl-ruoyi-server/ruoyi-modules/ruoyi-rule_engine/ruoyi-rule_engine-server/src/main/java/com/ruoyi/ruleEngine/scope/";
public final static String BASE_FILE_PATH="D:/workspace/gtl-muyu-server/muyu-modules/muyu-rule_engine/muyu-rule_engine-server/src/main/java/com/muyu/ruleEngine/scope/";
/**
*
*/

View File

@ -0,0 +1,37 @@
package com.muyu.ruleEngine.context;
import com.muyu.ruleEngine.model.process.DataModelProcessModel;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
*
* @ClassName DataModelContextHolder
* @Author
*/
@Data
@SuperBuilder
public class DataModelContextHolder{
private static final ThreadLocal<DataModelProcessModel> THREAD_LOCAL=new ThreadLocal<>();
private RecordContextHolder recordContextHolder;
public static DataModelContextHolder build(RecordContextHolder recordContextHolder){
return DataModelContextHolder.builder()
.recordContextHolder(recordContextHolder)
.build();
}
public static DataModelProcessModel get() {
return THREAD_LOCAL.get();
}
public static void set(DataModelProcessModel dataModelProcessModel) {
THREAD_LOCAL.set(dataModelProcessModel);
}
public static void remove() {
THREAD_LOCAL.remove();
}
}

View File

@ -0,0 +1,37 @@
package com.muyu.ruleEngine.context;
import com.muyu.ruleEngine.model.process.DataSetProcessModel;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
*
* @ClassName DataSetContextHolder
* @Author
*/
@Data
@SuperBuilder
public class DataSetContextHolder{
private static final ThreadLocal<DataSetProcessModel> THREAD_LOCAL=new ThreadLocal<>();
private TaskContextHolder taskContextHolder;
public static DataSetContextHolder build(TaskContextHolder taskContextHolder){
return DataSetContextHolder.builder()
.taskContextHolder(taskContextHolder)
.build();
}
public static DataSetProcessModel get() {
return THREAD_LOCAL.get();
}
public static void set(DataSetProcessModel dataSetProcessModel) {
THREAD_LOCAL.set(dataSetProcessModel);
}
public static void remove() {
THREAD_LOCAL.remove();
}
}

View File

@ -0,0 +1,37 @@
package com.muyu.ruleEngine.context;
import com.muyu.ruleEngine.model.process.RecordProcessModel;
import lombok.Data;
import lombok.experimental.SuperBuilder;
/**
*
* @ClassName RecordContextHolder
* @Author
*/
@Data
@SuperBuilder
public class RecordContextHolder{
private static final ThreadLocal<RecordProcessModel> THREAD_LOCAL=new ThreadLocal<>();
private DataSetContextHolder dataSetContextHolder;
public static RecordContextHolder build(DataSetContextHolder dataSetContextHolder){
return RecordContextHolder.builder()
.dataSetContextHolder(dataSetContextHolder)
.build();
}
public static RecordProcessModel get() {
return THREAD_LOCAL.get();
}
public static void set(RecordProcessModel recordProcessModel) {
THREAD_LOCAL.set(recordProcessModel);
}
public static void remove() {
THREAD_LOCAL.remove();
}
}

View File

@ -1,10 +1,10 @@
package com.muyu.ruleEngine.scope;
package com.muyu.ruleEngine.context;
/**
*
* @ClassName TaskContextHolder
* @Author hufangming
* @Version: 1.0
*
*/
public class TaskContextHolder {

View File

@ -46,16 +46,47 @@ public class EngineConfig extends BaseEntity {
@ApiModelProperty(name = "版本编码", value = "版本编码", required = true)
private String versionCode;
/** 版本编码 */
@Excel(name = "版本类名")
@ApiModelProperty(name = "版本类名", value = "版本类名", required = true)
private String versionClass;
/** 版本编码 */
@Excel(name = "版本名称")
@ApiModelProperty(name = "版本名称", value = "版本名称", required = true)
private String name;
/** 规则内容 */
@Excel(name = "规则内容")
@ApiModelProperty(name = "规则内容", value = "规则内容", required = true)
private String ruleContent;
/** 是否激活 Y已激活N未激活 */
@Excel(name = "是否激活")
@ApiModelProperty(name = "是否激活", value = "是否激活", required = true)
private String isActivate;
/** "测试状态 (字典表 1测试通过/0测试失败/-1未测试默认-1 */
@Excel(name = "测试状态")
@ApiModelProperty(name = "测试状态", value = "测试状态", required = true)
private Long testStatus;
/** "测试状态 (字典表 1测试通过/0测试失败/-1未测试默认-1 */
@Excel(name = "状态")
@ApiModelProperty(name = "状态", value = "状态", required = true)
private Long status;
/** 引擎维护编号 */
@Excel(name = "引擎维护编号")
@ApiModelProperty(name = "引擎维护编号", value = "引擎维护编号", required = true)
private Long engineMaintenanceId;
/** 版本描述 */
@Excel(name = "版本描述")
@ApiModelProperty(name = "版本描述", value = "版本描述", required = true)
private String description;
/**
*
*/
@ -64,6 +95,11 @@ public class EngineConfig extends BaseEntity {
.versionCode(engineConfigQueryReq.getVersionCode())
.ruleContent(engineConfigQueryReq.getRuleContent())
.engineMaintenanceId(engineConfigQueryReq.getEngineMaintenanceId())
.isActivate(engineConfigQueryReq.getIsActivate())
.versionClass(engineConfigQueryReq.getVersionClass())
.name(engineConfigQueryReq.getName())
.testStatus(engineConfigQueryReq.getTestStatus())
.status(engineConfigQueryReq.getStatus())
.build();
}
@ -75,6 +111,11 @@ public class EngineConfig extends BaseEntity {
.versionCode(engineConfigSaveReq.getVersionCode())
.ruleContent(engineConfigSaveReq.getRuleContent())
.engineMaintenanceId(engineConfigSaveReq.getEngineMaintenanceId())
.isActivate(engineConfigSaveReq.getIsActivate())
.versionClass(engineConfigSaveReq.getVersionClass())
.name(engineConfigSaveReq.getName())
.testStatus(engineConfigSaveReq.getTestStatus())
.status(engineConfigSaveReq.getStatus())
.remark(engineConfigSaveReq.getRemark())
.createBy(createBy.get())
.createTime(new Date())
@ -90,6 +131,11 @@ public class EngineConfig extends BaseEntity {
.versionCode(engineConfigEditReq.getVersionCode())
.ruleContent(engineConfigEditReq.getRuleContent())
.engineMaintenanceId(engineConfigEditReq.getEngineMaintenanceId())
.isActivate(engineConfigEditReq.getIsActivate())
.versionClass(engineConfigEditReq.getVersionClass())
.name(engineConfigEditReq.getName())
.testStatus(engineConfigEditReq.getTestStatus())
.status(engineConfigEditReq.getStatus())
.remark(engineConfigEditReq.getRemark())
.updateBy(updateBy.get())
.updateTime(new Date())

View File

@ -1,5 +1,6 @@
package com.muyu.ruleEngine.domain.req;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -35,4 +36,27 @@ public class EngineConfigEditReq extends BaseEntity {
/** 引擎维护编号 */
@ApiModelProperty(name = "引擎维护编号", value = "引擎维护编号", required = true)
private Long engineMaintenanceId;
/** 版本编码 */
@ApiModelProperty(name = "版本类名", value = "版本类名", required = true)
private String versionClass;
/** 版本编码 */
@ApiModelProperty(name = "版本名称", value = "版本名称", required = true)
private String name;
/** 是否激活 Y已激活N未激活 */
@ApiModelProperty(name = "是否激活", value = "是否激活", required = true)
private String isActivate;
/** "测试状态 (字典表 1测试通过/0测试失败/-1未测试默认-1 */
@ApiModelProperty(name = "测试状态", value = "测试状态", required = true)
private Long testStatus;
/** "测试状态 (字典表 1测试通过/0测试失败/-1未测试默认-1 */
@ApiModelProperty(name = "状态", value = "状态", required = true)
private Long status;
/** 版本描述 */
@ApiModelProperty(name = "版本描述", value = "版本描述", required = true)
private String description;
}

View File

@ -35,4 +35,29 @@ public class EngineConfigQueryReq extends BaseEntity {
/** 引擎维护编号 */
@ApiModelProperty(name = "引擎维护编号", value = "引擎维护编号")
private Long engineMaintenanceId;
/** 版本编码 */
@ApiModelProperty(name = "版本类名", value = "版本类名", required = true)
private String versionClass;
/** 版本编码 */
@ApiModelProperty(name = "版本名称", value = "版本名称", required = true)
private String name;
/** 是否激活 Y已激活N未激活 */
@ApiModelProperty(name = "是否激活", value = "是否激活", required = true)
private String isActivate;
/** "测试状态 (字典表 1测试通过/0测试失败/-1未测试默认-1 */
@ApiModelProperty(name = "测试状态", value = "测试状态", required = true)
private Long testStatus;
/** "测试状态 (字典表 1测试通过/0测试失败/-1未测试默认-1 */
@ApiModelProperty(name = "状态", value = "状态", required = true)
private Long status;
/** 版本描述 */
@ApiModelProperty(name = "版本描述", value = "版本描述", required = true)
private String description;
}

View File

@ -1,5 +1,6 @@
package com.muyu.ruleEngine.domain.req;
import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -44,4 +45,29 @@ public class EngineConfigSaveReq extends BaseEntity {
@ApiModelProperty(name = "引擎维护编号", value = "引擎维护编号", required = true)
private Long engineMaintenanceId;
/** 版本编码 */
@ApiModelProperty(name = "版本类名", value = "版本类名", required = true)
private String versionClass;
/** 版本编码 */
@ApiModelProperty(name = "版本名称", value = "版本名称", required = true)
private String name;
/** 是否激活 Y已激活N未激活 */
@ApiModelProperty(name = "是否激活", value = "是否激活", required = true)
private String isActivate;
/** "测试状态 (字典表 1测试通过/0测试失败/-1未测试默认-1 */
@ApiModelProperty(name = "测试状态", value = "测试状态", required = true)
private Long testStatus;
/** "测试状态 (字典表 1测试通过/0测试失败/-1未测试默认-1 */
@ApiModelProperty(name = "状态", value = "状态", required = true)
private Long status;
/** 版本描述 */
@ApiModelProperty(name = "版本描述", value = "版本描述", required = true)
private String description;
}

View File

@ -0,0 +1,26 @@
package com.muyu.ruleEngine.domain.req;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author HuFangMing
* @ClassName: VersionClassCreateReq
* @createTime: 2024/5/7 16:34
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@ApiModel(value = "VersionClassCreateReq", description = "引擎版本")
public class VersionClassCreateReq {
private String engineCode;
private String versionCode;
private String scope;
}

View File

@ -0,0 +1,23 @@
package com.muyu.ruleEngine.domain.resp;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author HuFangMing
* @ClassName: VersionClassCreateResp
* @createTime: 2024/5/7 17:22
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class VersionClassCreateResp {
private String versionClass;
private String ruleContent;
}

View File

@ -0,0 +1,14 @@
package com.muyu.ruleEngine.engine;
/**
*
* @ClassName Engine
* @Author:
* @Date: 2024/5/6 13:48
*/
public interface Engine<V> {
public void execution();
public V get();
}

View File

@ -0,0 +1,10 @@
package com.muyu.ruleEngine.engine.action;
/**
*
* @ClassName ActionDiscard
* @Author:
* @Date: 2024/5/6 13:48
*/
public class ActionDiscard extends RuntimeException{
}

View File

@ -0,0 +1,21 @@
package com.muyu.ruleEngine.engine.custom;
import com.muyu.ruleEngine.engine.action.ActionDiscard;
import com.muyu.ruleEngine.engine.scope.DataModelEngine;
/**
*
* @ClassName IsNotNullEngineCustom
* @Author:
* @Date: 2024/5/6 13:48
*/
public class IsNotNullEngineCustom extends DataModelEngine {
@Override
public void execution () {
Object value = getValue();
if (value == null || "".equals(value) || "null".equals(value)) {
throw new ActionDiscard();
}
}
}

View File

@ -0,0 +1,46 @@
package com.muyu.ruleEngine.engine.scope;
import com.muyu.ruleEngine.engine.Engine;
import com.muyu.ruleEngine.model.DataModel;
import com.muyu.ruleEngine.model.process.DataModelProcessModel;
import com.muyu.ruleEngine.context.DataModelContextHolder;
/**
*
* @ClassName DataModelEngine
* @Author:
* @Date: 2024/5/6 13:48
*/
public abstract class DataModelEngine implements Engine<DataModelProcessModel> {
@Override
public DataModelProcessModel get (){
return DataModelContextHolder.get();
}
public DataModel getModel(){
return get().getDataModel();
}
public String getKey () {
return getModel().getKey();
}
public Object getValue () {
return getModel().getValue();
}
public String getSourceType () {
return getModel().getSourceType();
}
public String getProcessType () {
return getModel().getProcessType();
}
public Class<?> getProcessClass () {
return getModel().getProcessClass();
}
}

View File

@ -0,0 +1,31 @@
package com.muyu.ruleEngine.engine.scope;
import com.muyu.ruleEngine.context.DataSetContextHolder;
import com.muyu.ruleEngine.engine.Engine;
import com.muyu.ruleEngine.model.DataSetModel;
import com.muyu.ruleEngine.model.RecordModel;
import com.muyu.ruleEngine.model.process.DataSetProcessModel;
import java.util.List;
/**
*
* @ClassName DataSetEngine
* @Author:
* @Date: 2024/5/6 13:48
*/
public abstract class DataSetEngine implements Engine<DataSetProcessModel> {
@Override
public DataSetProcessModel get (){
return DataSetContextHolder.get();
}
public DataSetModel getModel(){
return get().getDataSetModel();
}
public List<RecordModel> getRecordModels () {
return getModel().getRecordModels();
}
}

View File

@ -0,0 +1,34 @@
package com.muyu.ruleEngine.engine.scope;
import com.muyu.ruleEngine.context.RecordContextHolder;
import com.muyu.ruleEngine.engine.Engine;
import com.muyu.ruleEngine.model.DataModel;
import com.muyu.ruleEngine.model.RecordModel;
import com.muyu.ruleEngine.model.process.RecordProcessModel;
import java.util.List;
/**
*
* @ClassName RecordEngine
* @Author:
* @Date: 2024/5/6 13:48
*/
public abstract class RecordEngine implements Engine<RecordProcessModel> {
@Override
public RecordProcessModel get (){
return RecordContextHolder.get();
}
public List<String> getKeys(){
return get().getKeys();
}
public RecordModel getModel(){
return get().getRecordModel();
}
public List<DataModel> getDataModels () {
return getModel().getDataModels();
}
}

View File

@ -0,0 +1,43 @@
package com.muyu.ruleEngine.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
* @ClassName DataModel
* @Author
* @Date 2024/5/5 18:48
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DataModel {
/**
*
*/
private String key;
/**
*
*/
private Object value;
/**
*
*/
private String sourceType;
/**
*
*/
private String processType;
/**
*
*/
private Class<?> processClass;
}

View File

@ -0,0 +1,20 @@
package com.muyu.ruleEngine.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
*
* @ClassName DataSetModel
* @Author
* @Date 2024/5/5 18:48
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DataSetModel {
private List<RecordModel> recordModels;
}

View File

@ -0,0 +1,22 @@
package com.muyu.ruleEngine.model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
*
* @ClassName RecordModel
* @Author
* @Date 2024/5/5 18:48
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RecordModel {
private List<DataModel> dataModels;
}

View File

@ -0,0 +1,15 @@
package com.muyu.ruleEngine.model.process;
import com.muyu.ruleEngine.model.DataModel;
import lombok.Data;
/**
*
* @ClassName DataModelProcessModel
* @Author
* @Date 2024/5/5 18:37
*/
@Data
public class DataModelProcessModel {
private DataModel dataModel;
}

View File

@ -0,0 +1,19 @@
package com.muyu.ruleEngine.model.process;
import com.muyu.ruleEngine.model.DataSetModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
* @ClassName DataSetProcessModel
* @Author
* @Date 2024/5/5 18:37
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DataSetProcessModel {
private DataSetModel dataSetModel;
}

View File

@ -0,0 +1,17 @@
package com.muyu.ruleEngine.model.process;
import com.muyu.ruleEngine.model.RecordModel;
import lombok.Data;
import java.util.List;
/**
*
* @ClassName RecordProcessModel
* @Author
* @Date 2024/5/5 18:37
*/
@Data
public class RecordProcessModel {
private List<String> keys;
private RecordModel recordModel;
}

View File

@ -0,0 +1,55 @@
package com.muyu.ruleEngine.util;
import com.muyu.ruleEngine.context.DataSetContextHolder;
import com.muyu.ruleEngine.model.DataModel;
import com.muyu.ruleEngine.model.DataSetModel;
import com.muyu.ruleEngine.model.RecordModel;
import com.muyu.ruleEngine.model.process.DataSetProcessModel;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
/**
*
* @ClassName ScopeContextHolderUtil
* @Author
* @Date 2024/5/6 20:51
*/
public class ScopeContextHolderUtil {
public static void setDataSetContextHolder(Connection connection){
try {
PreparedStatement preparedStatement = connection.prepareStatement("select * from table_info limit 0,10");
ResultSet resultSet = preparedStatement.executeQuery();
List<RecordModel> recordModels=new ArrayList<>();
while (resultSet.next()){
int index=1;
ResultSetMetaData data = resultSet.getMetaData();
int columnCount = data.getColumnCount();
List<DataModel> dataModels=new ArrayList<>();
while (index<=columnCount){
DataModel dataModel = DataModel.builder()
.key(data.getColumnName(index))
.value(resultSet.getString(index))
.sourceType(data.getColumnTypeName(index))
.processType(data.getColumnClassName(index))
.processClass(Class.forName(data.getColumnClassName(index)))
.build();
dataModels.add(dataModel);
index++;
}
RecordModel recordModel = new RecordModel(dataModels);
recordModels.add(recordModel);
}
connection.close();
DataSetModel dataSetModel = new DataSetModel(recordModels);
DataSetProcessModel dataSetProcessModel = new DataSetProcessModel(dataSetModel);
//存入本地线程
DataSetContextHolder.set(dataSetProcessModel);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

View File

@ -11,7 +11,9 @@ import com.muyu.ruleEngine.domain.model.TestData;
import com.muyu.ruleEngine.domain.req.EngineConfigEditReq;
import com.muyu.ruleEngine.domain.req.EngineConfigQueryReq;
import com.muyu.ruleEngine.domain.req.EngineConfigSaveReq;
import com.muyu.ruleEngine.domain.req.VersionClassCreateReq;
import com.muyu.ruleEngine.domain.resp.EngineConfigScopeResp;
import com.muyu.ruleEngine.domain.resp.VersionClassCreateResp;
import com.muyu.ruleEngine.service.EngineConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -115,4 +117,37 @@ public class EngineConfigController extends BaseController {
return toAjax(engineConfigService.removeBatchByIds(ids));
}
/**
*
*/
@PutMapping("/activate/{id}")
@RequiresPermissions("ruleEngine:config:activate")
@Log(title = "激活引擎", businessType = BusinessType.UPDATE)
public Result updateActivateStatus(@PathVariable Long id) {
engineConfigService.updateActivateStatus(id);
return Result.success();
}
/**
*
*/
@PutMapping("/close/{id}")
@RequiresPermissions("ruleEngine:config:close")
@Log(title = "关闭引擎" , businessType = BusinessType.UPDATE)
public Result updateCloseStatus(@PathVariable Long id) {
engineConfigService.updateCloseStatus(id);
return Result.success();
}
/**
*
*/
@PostMapping("/createVersionClass")
@RequiresPermissions("ruleEngine:config:createVersionClass")
public Result<VersionClassCreateResp> createVersionClass(@RequestBody VersionClassCreateReq versionClassCreateReq) {
return Result.success(engineConfigService.createVersionClass(versionClassCreateReq));
}
}

View File

@ -1,19 +0,0 @@
package com.muyu.ruleEngine.scope;
import lombok.Data;
/**
*
* @ClassName DataModelContextHolder
* @Author hufangming
* @Version: 1.0
*/
@Data
public class DataModelContextHolder {
private final RecordContextHolder recordContextHolder;
public static DataModelContextHolder build(RecordContextHolder recordContextHolder){
return new DataModelContextHolder(recordContextHolder);
}
}

View File

@ -1,19 +0,0 @@
package com.muyu.ruleEngine.scope;
import lombok.Data;
/**
*
* @ClassName DataSetContextHolder
* @Author hufangming
* @Version: 1.0
*/
@Data
public class DataSetContextHolder {
private final TaskContextHolder taskContextHolder;
public static DataSetContextHolder build(TaskContextHolder taskContextHolder){
return new DataSetContextHolder(taskContextHolder);
}
}

View File

@ -1,19 +0,0 @@
package com.muyu.ruleEngine.scope;
import lombok.Data;
/**
*
* @ClassName RecordContextHolder
* @Author hufangming
* @Version: 1.0
*/
@Data
public class RecordContextHolder {
private final DataSetContextHolder dataSetContextHolder;
public static RecordContextHolder build(DataSetContextHolder dataSetContextHolder){
return new RecordContextHolder(dataSetContextHolder);
}
}

View File

@ -3,7 +3,9 @@ package com.muyu.ruleEngine.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.ruleEngine.domain.EngineConfig;
import com.muyu.ruleEngine.domain.model.TestData;
import com.muyu.ruleEngine.domain.req.VersionClassCreateReq;
import com.muyu.ruleEngine.domain.resp.EngineConfigScopeResp;
import com.muyu.ruleEngine.domain.resp.VersionClassCreateResp;
import java.util.List;
/**
@ -40,4 +42,10 @@ public interface EngineConfigService extends IService<EngineConfig> {
* @param testData
*/
Object ruleTest(TestData testData);
void updateActivateStatus(Long id);
void updateCloseStatus(Long id);
VersionClassCreateResp createVersionClass(VersionClassCreateReq versionClassCreateReq);
}

View File

@ -1,6 +1,8 @@
package com.muyu.ruleEngine.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.core.utils.ObjUtils;
@ -8,7 +10,9 @@ import com.muyu.ruleEngine.constant.ConfigCodeConstants;
import com.muyu.ruleEngine.constant.RuleOperationConstants;
import com.muyu.ruleEngine.domain.EngineConfig;
import com.muyu.ruleEngine.domain.model.TestData;
import com.muyu.ruleEngine.domain.req.VersionClassCreateReq;
import com.muyu.ruleEngine.domain.resp.EngineConfigScopeResp;
import com.muyu.ruleEngine.domain.resp.VersionClassCreateResp;
import com.muyu.ruleEngine.dynamicLoad.DynamicLoader;
import com.muyu.ruleEngine.mapper.EngineConfigMapper;
import com.muyu.ruleEngine.service.EngineConfigService;
@ -136,4 +140,27 @@ public class EngineConfigServiceImpl extends ServiceImpl<EngineConfigMapper, Eng
return invoke;
}
@Override
public void updateActivateStatus(Long id) {
this.update(new UpdateWrapper<>(){{
eq("engineMaintenanceId",id);
set("isActivate", "Y");
}});
}
@Override
public void updateCloseStatus(Long id) {
this.update(new LambdaUpdateWrapper<>(){{
eq(EngineConfig::getEngineMaintenanceId,id);
set(EngineConfig::getIsActivate,"N");
}});
}
@Override
public VersionClassCreateResp createVersionClass(VersionClassCreateReq versionClassCreateReq) {
return null;
}
}

View File

@ -79,8 +79,8 @@ public class EngineMaintenanceServiceImpl extends ServiceImpl<EngineMaintenanceM
@Transactional
public boolean saveEngineMaintenance(EngineMaintenance engineMaintenance) {
boolean save = this.save(engineMaintenance);
EngineConfigScopeResp scopeInfo = engineConfigService.getScopeInfoById(engineMaintenance.getScope());
engineConfigService.save(EngineConfig.builder().versionCode("1.0").ruleContent(scopeInfo.getCode()).build());
EngineConfigScopeResp scopeInfo = engineConfigService.getScopeInfoById(0);
engineConfigService.save(EngineConfig.builder().versionCode("1.0").ruleContent(scopeInfo.getCode()).engineMaintenanceId(engineMaintenance.getId()).build());
return save;
}

View File

@ -58,7 +58,7 @@
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info"/>
<logger name="com.muyu" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>