Cui YongXing 2024-09-10 01:51:07 +08:00
parent 20b7e6d1eb
commit 6e7cf8e5af
26 changed files with 222 additions and 110 deletions

View File

@ -2,12 +2,15 @@ package com.muyu.client.basic;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
public interface RuleConfig { public interface RuleConfig {
public Result<RuleEngineVersion> findVersionById( Long id); public Result<RuleEngineVersion> findVersionById( Long id);
public Result testEngine(String className,DataValue dataValue); public Result testEngine(String className, DataValueFie dataValue);
public Result testEngine(String className,DataValue[] dataValue); public Result testEngine(String className, DataValueRow dataValue);
public Result DataSetEngine(String className, DataValue[][] dataValues); public Result DataSetEngine(String className, DataValueRows dataValues);
} }

View File

@ -3,6 +3,9 @@ package com.muyu.client.basic.impl;
import com.muyu.client.basic.RuleConfig; import com.muyu.client.basic.RuleConfig;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
import com.muyu.rule.remote.RuleFeign; import com.muyu.rule.remote.RuleFeign;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -20,17 +23,17 @@ public class RuleConfigImpl implements RuleConfig {
} }
@Override @Override
public Result testEngine(String className, DataValue dataValue) { public Result testEngine(String className, DataValueFie dataValue) {
return ruleFeign.testEngine(className, dataValue); return ruleFeign.testEngine(className, dataValue);
} }
@Override @Override
public Result testEngine(String className, DataValue[] dataValue) { public Result testEngine(String className, DataValueRow dataValue) {
return ruleFeign.testEngine(className, dataValue); return ruleFeign.testEngine(className, dataValue);
} }
@Override @Override
public Result DataSetEngine(String className, DataValue[][] dataValues) { public Result DataSetEngine(String className, DataValueRows dataValues) {
return ruleFeign.DataSetEngine(className, dataValues); return ruleFeign.DataSetEngine(className, dataValues);
} }
} }

View File

@ -5,6 +5,8 @@ import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.common.basic.handler.DataEngineDataSetHandler; import com.muyu.rule.common.basic.handler.DataEngineDataSetHandler;
import com.muyu.rule.common.basic.handler.DataEngineHandler; import com.muyu.rule.common.basic.handler.DataEngineHandler;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
/** /**
* @Author * @Author
@ -13,22 +15,15 @@ import com.muyu.rule.common.basic.handler.DataEngineHandler;
* @nameDataEngineValueAu * @nameDataEngineValueAu
* @Date2024/8/29 15:11 * @Date2024/8/29 15:11
*/ */
public abstract class DataEngineDataSetActuator implements BasicEngine<DataValue[][]> { public abstract class DataEngineDataSetActuator implements BasicEngine<DataValueRows> {
public void setDataValue(String dataValue){ public void set(DataValueRows dataValue){
DataEngineHandler.set(dataValue);
}
public String getDataValue(){return DataEngineHandler.get();}
public void set(DataValue[][] dataValue){
DataEngineDataSetHandler.set(dataValue); DataEngineDataSetHandler.set(dataValue);
} }
public DataValue[][] get(){ public DataValueRows get(){
return DataEngineDataSetHandler.get(); return DataEngineDataSetHandler.get();
} }

View File

@ -3,6 +3,7 @@ package com.muyu.rule.common.basic.abstracts;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.common.basic.handler.DataEngineRowHandler; import com.muyu.rule.common.basic.handler.DataEngineRowHandler;
import com.muyu.rule.common.domain.DataValueRow;
/** /**
* @Author * @Author
@ -11,13 +12,13 @@ import com.muyu.rule.common.basic.handler.DataEngineRowHandler;
* @nameDataEngineValueAu * @nameDataEngineValueAu
* @Date2024/8/29 15:11 * @Date2024/8/29 15:11
*/ */
public abstract class DataEngineRowActuator implements BasicEngine<DataValue[]> { public abstract class DataEngineRowActuator implements BasicEngine<DataValueRow> {
public void set(DataValue[] dataValue){ public void set(DataValueRow dataValue){
DataEngineRowHandler.set(dataValue); DataEngineRowHandler.set(dataValue);
} }
public DataValue[] get(){ public DataValueRow get(){
return DataEngineRowHandler.get(); return DataEngineRowHandler.get();
} }

View File

@ -4,6 +4,7 @@ package com.muyu.rule.common.basic.abstracts;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.common.basic.handler.DataEngineValueHandler; import com.muyu.rule.common.basic.handler.DataEngineValueHandler;
import com.muyu.rule.common.domain.DataValueFie;
/** /**
* @Author * @Author
@ -12,13 +13,13 @@ import com.muyu.rule.common.basic.handler.DataEngineValueHandler;
* @nameDataEngineValueAu * @nameDataEngineValueAu
* @Date2024/8/29 15:11 * @Date2024/8/29 15:11
*/ */
public abstract class DataEngineValueActuator implements BasicEngine<DataValue> { public abstract class DataEngineValueActuator implements BasicEngine<DataValueFie> {
public void set(DataValue dataValue){ public void set(DataValueFie dataValue){
DataEngineValueHandler.set(dataValue); DataEngineValueHandler.set(dataValue);
} }
public DataValue get(){ public DataValueFie get(){
return DataEngineValueHandler.get(); return DataEngineValueHandler.get();
} }

View File

@ -1,6 +1,8 @@
package com.muyu.rule.common.basic.handler; package com.muyu.rule.common.basic.handler;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
/** /**
* @Author * @Author
@ -12,9 +14,9 @@ import com.muyu.etl.domain.DataValue;
*/ */
public class DataEngineDataSetHandler { public class DataEngineDataSetHandler {
public static void set(DataValue[][] dataDescribe){DataEngineHandler.set(dataDescribe);} public static void set(DataValueRows dataDescribe){DataEngineHandler.set(dataDescribe);}
public static DataValue[][] get(){ public static DataValueRows get(){
return DataEngineHandler.get(); return DataEngineHandler.get();
} }

View File

@ -1,6 +1,8 @@
package com.muyu.rule.common.basic.handler; package com.muyu.rule.common.basic.handler;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
/** /**
* @Author * @Author
@ -11,9 +13,9 @@ import com.muyu.etl.domain.DataValue;
*/ */
public class DataEngineRowHandler { public class DataEngineRowHandler {
public static void set(DataValue[] dataDescribe){DataEngineHandler.set(dataDescribe);} public static void set(DataValueRow dataDescribe){DataEngineHandler.set(dataDescribe);}
public static DataValue[] get(){ public static DataValueRow get(){
return DataEngineHandler.get(); return DataEngineHandler.get();
} }

View File

@ -2,6 +2,7 @@ package com.muyu.rule.common.basic.handler;
import com.muyu.common.core.text.Convert; import com.muyu.common.core.text.Convert;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueFie;
/** /**
* @Author * @Author
@ -13,12 +14,12 @@ import com.muyu.etl.domain.DataValue;
public class DataEngineValueHandler { public class DataEngineValueHandler {
public static void set(DataValue dataValue){ public static void set(DataValueFie dataValue){
DataEngineHandler.set(dataValue); DataEngineHandler.set(dataValue);
} }
public static DataValue get(){ public static DataValueFie get(){
return DataEngineHandler.get(); return DataEngineHandler.get();
} }
@ -26,12 +27,5 @@ public class DataEngineValueHandler {
DataEngineHandler.remove(); DataEngineHandler.remove();
} }
public static Object getValue(){
return get().getValue();
}
public static Integer getInt(){
return Convert.toInt(getValue(),null);
}
} }

View File

@ -0,0 +1,16 @@
package com.muyu.rule.common.domain;
import com.muyu.etl.domain.DataValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataValueFie {
private String key;
private DataValue dataValue;
}

View File

@ -0,0 +1,16 @@
package com.muyu.rule.common.domain;
import com.muyu.etl.domain.DataValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataValueRow {
private String key;
private DataValue[] dataValue;
}

View File

@ -0,0 +1,16 @@
package com.muyu.rule.common.domain;
import com.muyu.etl.domain.DataValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataValueRows {
private String key;
private DataValue[][] dataValue;
}

View File

@ -1,7 +1,10 @@
package com.muyu.rule.common.engine; package com.muyu.rule.common.engine;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineDataSetActuator; import com.muyu.rule.common.basic.abstracts.DataEngineDataSetActuator;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.exception.DeliteException; import com.muyu.rule.common.exception.DeliteException;
@ -17,7 +20,11 @@ public class ENGINE_DataSet_asdf_S1 extends DataEngineDataSetActuator {
@Override @Override
public void run() { public void run() {
DataValue[][] dataValues = get(); DataValueRows dataValueRows = get();
DataValue[][] dataValues = dataValueRows.getDataValue();
String key = dataValueRows.getKey();
JSONObject jsonObject = JSON.parseObject(key);
String o = (String) jsonObject.get(key);
if (dataValues == null || "".equals(dataValues) || "null".equals(dataValues)) { if (dataValues == null || "".equals(dataValues) || "null".equals(dataValues)) {
throw new DeliteException(); throw new DeliteException();
}else { }else {

View File

@ -5,6 +5,7 @@ import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineDataSetActuator; import com.muyu.rule.common.basic.abstracts.DataEngineDataSetActuator;
import com.muyu.rule.common.domain.DataValueRows;
/** /**
@ -20,12 +21,10 @@ public class ENGINE_DataSet_ytrrt_S2 extends DataEngineDataSetActuator {
@Override @Override
public void run() { public void run() {
DataValue[][] dataValues = get(); DataValueRows dataValueRows = get();
DataValue[][] dataValues = dataValueRows.getDataValue();
String dataValue = getDataValue(); String key1 = dataValueRows.getKey();
JSONObject jsonObject = JSON.parseObject(key1);
JSONObject jsonObject = JSON.parseObject(dataValue);
String key = (String)jsonObject.get("key"); String key = (String)jsonObject.get("key");
for (DataValue[] value : dataValues) { for (DataValue[] value : dataValues) {
@ -35,7 +34,5 @@ public class ENGINE_DataSet_ytrrt_S2 extends DataEngineDataSetActuator {
} }
} }
} }
set(dataValues);
} }
} }

View File

@ -2,6 +2,7 @@ package com.muyu.rule.common.engine;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineRowActuator; import com.muyu.rule.common.basic.abstracts.DataEngineRowActuator;
import com.muyu.rule.common.domain.DataValueRow;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
@ -21,17 +22,9 @@ public class ENGINE_ROW_HANG_R1 extends DataEngineRowActuator {
*/ */
@Override @Override
public void run() { public void run() {
DataValue[] dataValues = get(); DataValueRow dataValueRow = get();
System.out.println(Arrays.toString(dataValues));
// 使用 HashSet 去重
Set<DataValue> uniquePeople = new HashSet<>(Arrays.asList(dataValues));
// 将 Set 转换回数组
DataValue[] uniqueArray = uniquePeople.toArray(new DataValue[0]);
System.out.println(Arrays.toString(uniqueArray));
set(uniqueArray);
DataValue[] dataValues1 = get();
System.out.println(Arrays.toString(dataValues1));
} }
} }

View File

@ -2,6 +2,7 @@ package com.muyu.rule.common.engine;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator; import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.exception.DeliteException; import com.muyu.rule.common.exception.DeliteException;
/** /**
@ -14,7 +15,8 @@ import com.muyu.rule.common.exception.DeliteException;
public class ENGINE_VALUE_VFD1000_V1 extends DataEngineValueActuator { public class ENGINE_VALUE_VFD1000_V1 extends DataEngineValueActuator {
@Override @Override
public void run() { public void run() {
DataValue dataValue = get(); DataValueFie dataValueFie = get();
DataValue dataValue = dataValueFie.getDataValue();
if (dataValue.getValue() == null){ if (dataValue.getValue() == null){
throw new DeliteException("数据为空,需要丢弃!"); throw new DeliteException("数据为空,需要丢弃!");
}else{ }else{

View File

@ -6,6 +6,7 @@ import com.muyu.etl.domain.DataValue;
import com.muyu.etl.enums.DataType; import com.muyu.etl.enums.DataType;
import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator; import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator;
import com.muyu.rule.common.domain.DataValueFie;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -20,7 +21,8 @@ public class ENGINE_VALUE_VFD1000_V2 extends DataEngineValueActuator {
@Override @Override
public void run() { public void run() {
DataValue dataValue = get(); DataValueFie dataValueFie = get();
DataValue dataValue = dataValueFie.getDataValue();
if (dataValue.getValue()==null){ if (dataValue.getValue()==null){

View File

@ -2,6 +2,7 @@ package com.muyu.rule.common.engine;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator; import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator;
import com.muyu.rule.common.domain.DataValueFie;
/** /**
* @Author * @Author
@ -14,12 +15,7 @@ public class ENGINE_VALUE_VFD1000_V3 extends DataEngineValueActuator {
@Override @Override
public void run() { public void run() {
DataValue dataValue = get(); DataValueFie dataValueFie = get();
} }

View File

@ -2,6 +2,9 @@ package com.muyu.rule.common.utils;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.load.ExternalClassLoader; import com.muyu.rule.common.load.ExternalClassLoader;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -23,9 +26,9 @@ import static com.muyu.rule.common.constant.SuffixClass.Suffix_CLASS;
@Log4j2 @Log4j2
@Component @Component
public class LoadEngineClass { public class LoadEngineClass {
public static Map<String, BasicEngine<DataValue>> engineMap = new ConcurrentHashMap<>(); public static Map<String, BasicEngine<DataValueFie>> engineMap = new ConcurrentHashMap<>();
public static Map<String, BasicEngine<DataValue[]>> engineRowMap = new ConcurrentHashMap<>(); public static Map<String, BasicEngine<DataValueRow>> engineRowMap = new ConcurrentHashMap<>();
public static Map<String, BasicEngine<DataValue[][]>> engineDataSetMap = new ConcurrentHashMap<>(); public static Map<String, BasicEngine<DataValueRows>> engineDataSetMap = new ConcurrentHashMap<>();
/** /**
* java * java
*/ */
@ -75,7 +78,7 @@ public class LoadEngineClass {
Object instance = clazz.getDeclaredConstructor().newInstance(); Object instance = clazz.getDeclaredConstructor().newInstance();
//将加载出来引擎实例存入map集合中 //将加载出来引擎实例存入map集合中
engineMap.put(className,(BasicEngine<DataValue>) instance); engineMap.put(className,(BasicEngine<DataValueFie>) instance);
} catch (IOException | InvocationTargetException | InstantiationException | IllegalAccessException | } catch (IOException | InvocationTargetException | InstantiationException | IllegalAccessException |
NoSuchMethodException e) { NoSuchMethodException e) {
@ -108,7 +111,7 @@ public class LoadEngineClass {
Object instance = clazz.getDeclaredConstructor().newInstance(); Object instance = clazz.getDeclaredConstructor().newInstance();
//将加载出来引擎实例存入map集合中 //将加载出来引擎实例存入map集合中
engineRowMap.put(className,(BasicEngine<DataValue[]>) instance); engineRowMap.put(className,(BasicEngine<DataValueRow>) instance);
} catch (IOException | InvocationTargetException | InstantiationException | IllegalAccessException | } catch (IOException | InvocationTargetException | InstantiationException | IllegalAccessException |
NoSuchMethodException e) { NoSuchMethodException e) {
@ -141,7 +144,7 @@ public class LoadEngineClass {
Object instance = clazz.getDeclaredConstructor().newInstance(); Object instance = clazz.getDeclaredConstructor().newInstance();
//将加载出来引擎实例存入map集合中 //将加载出来引擎实例存入map集合中
engineDataSetMap.put(className,(BasicEngine<DataValue[][]>) instance); engineDataSetMap.put(className,(BasicEngine<DataValueRows>) instance);
} catch (IOException | InvocationTargetException | InstantiationException | IllegalAccessException | } catch (IOException | InvocationTargetException | InstantiationException | IllegalAccessException |
NoSuchMethodException e) { NoSuchMethodException e) {
@ -151,42 +154,42 @@ public class LoadEngineClass {
} }
public DataValue testEngine(String className, DataValue dataValue) { public DataValue testEngine(String className, DataValueFie dataValue) {
log.info("测试的数据[]{}:" + dataValue); log.info("测试的数据[]{}:" + dataValue);
loadValueEngineClass(className); loadValueEngineClass(className);
BasicEngine<DataValue> valueBasicEngine = engineMap.get(className); BasicEngine<DataValueFie> valueBasicEngine = engineMap.get(className);
valueBasicEngine.set(dataValue); valueBasicEngine.set(dataValue);
valueBasicEngine.execution(); valueBasicEngine.execution();
DataValue value = valueBasicEngine.get(); DataValueFie value = valueBasicEngine.get();
return value; return value.getDataValue();
} }
public DataValue[] testEngine(String className, DataValue[] dataValue) { public DataValue[] testEngine(String className, DataValueRow dataValue) {
log.info("测试的数据[]{}:" + dataValue); log.info("测试的数据[]{}:" + dataValue);
loadRowEngineClass(className); loadRowEngineClass(className);
BasicEngine<DataValue[]> basicEngine = engineRowMap.get(className); BasicEngine<DataValueRow> basicEngine = engineRowMap.get(className);
basicEngine.set(dataValue); basicEngine.set(dataValue);
basicEngine.execution(); basicEngine.execution();
DataValue[] dataValues = basicEngine.get(); DataValueRow dataValues = basicEngine.get();
return dataValues; return dataValues.getDataValue();
} }
public DataValue[][] testEngine(String className, DataValue[][] dataValues) { public DataValue[][] testEngine(String className, DataValueRows dataValues) {
loadDataSetEngineClass(className); loadDataSetEngineClass(className);
BasicEngine<DataValue[][]> basicEngine = engineDataSetMap.get(className); BasicEngine<DataValueRows> basicEngine = engineDataSetMap.get(className);
basicEngine.set(dataValues); basicEngine.set(dataValues);
basicEngine.execution(); basicEngine.execution();
DataValue[][] dataValues1 = basicEngine.get(); DataValueRows dataValues1 = basicEngine.get();
return dataValues1; return dataValues1.getDataValue();
} }
} }

View File

@ -3,6 +3,9 @@ package com.muyu.rule.remote.Factory;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
import com.muyu.rule.remote.RuleFeign; import com.muyu.rule.remote.RuleFeign;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -23,19 +26,19 @@ public class RuleFactory implements FallbackFactory<RuleFeign> {
} }
@Override @Override
public Result testEngine(String className, DataValue dataValue) { public Result testEngine(String className, DataValueFie dataValue) {
log.info(cause); log.info(cause);
return Result.error("网络开小差......"); return Result.error("网络开小差......");
} }
@Override @Override
public Result testEngine(String className, DataValue[] dataValue) { public Result testEngine(String className, DataValueRow dataValue) {
log.info(cause); log.info(cause);
return Result.error("网络开小差......"); return Result.error("网络开小差......");
} }
@Override @Override
public Result DataSetEngine(String className, DataValue[][] dataValues) { public Result DataSetEngine(String className, DataValueRows dataValues) {
log.info(cause); log.info(cause);
return Result.error("网络开小差......"); return Result.error("网络开小差......");
} }

View File

@ -3,6 +3,9 @@ package com.muyu.rule.remote;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
import com.muyu.rule.remote.Factory.RuleFactory; import com.muyu.rule.remote.Factory.RuleFactory;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -18,9 +21,9 @@ public interface RuleFeign {
@PostMapping("/version/findVersionById/{id}") @PostMapping("/version/findVersionById/{id}")
public Result<RuleEngineVersion> findVersionById(@PathVariable("id") Long id); public Result<RuleEngineVersion> findVersionById(@PathVariable("id") Long id);
@PostMapping("/version/testEngine/{className}") @PostMapping("/version/testEngine/{className}")
public Result testEngine(@PathVariable("className") String className,@RequestBody DataValue dataValue); public Result testEngine(@PathVariable("className") String className,@RequestBody DataValueFie dataValue);
@PostMapping("/version/rowEngine/{className}") @PostMapping("/version/rowEngine/{className}")
public Result testEngine(@PathVariable("className") String className,@RequestBody DataValue[] dataValue); public Result testEngine(@PathVariable("className") String className,@RequestBody DataValueRow dataValue);
@PostMapping("/version/DataSetEngine/{className}") @PostMapping("/version/DataSetEngine/{className}")
public Result DataSetEngine(@PathVariable("className") String className,@RequestBody DataValue[][] dataValues); public Result DataSetEngine(@PathVariable("className") String className,@RequestBody DataValueRows dataValues);
} }

View File

@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
import com.muyu.rule.common.domain.req.VersionAddReq; import com.muyu.rule.common.domain.req.VersionAddReq;
import com.muyu.rule.common.utils.LoadEngineClass; import com.muyu.rule.common.utils.LoadEngineClass;
@ -293,7 +296,7 @@ public Result<List<RuleEngineVersion>> selectVersionById(@PathVariable("id") Lon
@PostMapping("/testEngine/{className}") @PostMapping("/testEngine/{className}")
@Operation(summary = "字段规则引擎测试", description = "传入规则引擎的类名,和数据,用规则引擎进行测试数据") @Operation(summary = "字段规则引擎测试", description = "传入规则引擎的类名,和数据,用规则引擎进行测试数据")
public Result testEngine(@PathVariable("className") String className,@RequestBody DataValue dataValue){ public Result testEngine(@PathVariable("className") String className,@RequestBody DataValueFie dataValue){
log.info("数据:" + dataValue); log.info("数据:" + dataValue);
//加载对应的规则引擎 //加载对应的规则引擎
loadEngineClass.loadValueEngineClass(className); loadEngineClass.loadValueEngineClass(className);
@ -305,7 +308,7 @@ public Result<List<RuleEngineVersion>> selectVersionById(@PathVariable("id") Lon
@PostMapping("/rowEngine/{className}") @PostMapping("/rowEngine/{className}")
@Operation(summary = "行/记录规则引擎测试", description = "传入规则引擎的类名,和数据,用规则引擎进行测试数据") @Operation(summary = "行/记录规则引擎测试", description = "传入规则引擎的类名,和数据,用规则引擎进行测试数据")
public Result testEngine(@PathVariable("className") String className,@RequestBody DataValue[] dataValue){ public Result testEngine(@PathVariable("className") String className,@RequestBody DataValueRow dataValue){
log.info("数据:" + dataValue); log.info("数据:" + dataValue);
//加载对应的规则引擎 //加载对应的规则引擎
loadEngineClass.loadRowEngineClass(className); loadEngineClass.loadRowEngineClass(className);
@ -316,7 +319,7 @@ public Result<List<RuleEngineVersion>> selectVersionById(@PathVariable("id") Lon
} }
@PostMapping("/DataSetEngine/{className}") @PostMapping("/DataSetEngine/{className}")
@Operation(summary = "数据集的规则引擎测试", description = "传入规则引擎的类名,和数据,用规则引擎进行测试数据") @Operation(summary = "数据集的规则引擎测试", description = "传入规则引擎的类名,和数据,用规则引擎进行测试数据")
public Result DataSetEngine(@PathVariable("className") String className,@RequestBody DataValue[][] dataValues){ public Result DataSetEngine(@PathVariable("className") String className,@RequestBody DataValueRows dataValues){
loadEngineClass.loadDataSetEngineClass(className); loadEngineClass.loadDataSetEngineClass(className);

View File

@ -2,6 +2,9 @@ package com.muyu.rule.server.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
import java.util.List; import java.util.List;
@ -78,9 +81,9 @@ public interface RuleEngineVersionService extends IService<RuleEngineVersion> {
* @return * @return
*/ */
public DataValue testEngine(String className, DataValue dataValue); public DataValue testEngine(String className, DataValueFie dataValue);
public DataValue[] testEngine(String className, DataValue[] dataValue); public DataValue[] testEngine(String className, DataValueRow dataValue);
public DataValue[][] testEngine( String className, DataValue[][] dataValues); public DataValue[][] testEngine( String className, DataValueRows dataValues);
} }

View File

@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.enums.SystemYesNo; import com.muyu.common.core.enums.SystemYesNo;
import com.muyu.etl.domain.DataValue; import com.muyu.etl.domain.DataValue;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
import com.muyu.rule.common.load.ExternalClassLoader; import com.muyu.rule.common.load.ExternalClassLoader;
import com.muyu.rule.common.utils.OssUtil; import com.muyu.rule.common.utils.OssUtil;
@ -199,65 +202,65 @@ public class RuleEngineVersionServiceImpl extends ServiceImpl<RuleEngineVersionM
* @return * @return
*/ */
@Override @Override
public DataValue testEngine(String className, DataValue dataValue) { public DataValue testEngine(String className, DataValueFie dataValue) {
log.info("测试的数据[]{}:" + dataValue); log.info("测试的数据[]{}:" + dataValue);
BasicEngine<DataValue> valueBasicEngine = engineMap.get(className); BasicEngine<DataValueFie> valueBasicEngine = engineMap.get(className);
valueBasicEngine.set(dataValue); valueBasicEngine.set(dataValue);
valueBasicEngine.execution(); valueBasicEngine.execution();
DataValue value = valueBasicEngine.get(); DataValueFie value = valueBasicEngine.get();
return value; return value.getDataValue();
} }
@Override @Override
public DataValue[] testEngine(String className, DataValue[] dataValue) { public DataValue[] testEngine(String className, DataValueRow dataValue) {
log.info("测试的数据[]{}:" + dataValue); log.info("测试的数据[]{}:" + dataValue);
BasicEngine<DataValue[]> basicEngine = engineRowMap.get(className); BasicEngine<DataValueRow> basicEngine = engineRowMap.get(className);
basicEngine.set(dataValue); basicEngine.set(dataValue);
basicEngine.execution(); basicEngine.execution();
DataValue[] dataValues = basicEngine.get(); DataValueRow dataValues = basicEngine.get();
return dataValues; return dataValues.getDataValue();
} }
@Override @Override
public DataValue[][] testEngine(String className, DataValue[][] dataValues) { public DataValue[][] testEngine(String className, DataValueRows dataValues) {
BasicEngine<DataValue[][]> basicEngine = engineDataSetMap.get(className); BasicEngine<DataValueRows> basicEngine = engineDataSetMap.get(className);
basicEngine.set(dataValues); basicEngine.set(dataValues);
basicEngine.execution(); basicEngine.execution();
DataValue[][] dataValues1 = basicEngine.get(); DataValueRows dataValues1 = basicEngine.get();
return dataValues1; return dataValues1.getDataValue();
} }
public void execution(String engineKey,DataValue dataValue){ public void execution(String engineKey,DataValueFie dataValue){
BasicEngine<DataValue> dataValueBasicEngine = engineMap.get(engineKey); BasicEngine<DataValueFie> dataValueBasicEngine = engineMap.get(engineKey);
dataValueBasicEngine.set(dataValue); dataValueBasicEngine.set(dataValue);
dataValueBasicEngine.execution(); dataValueBasicEngine.execution();
} }
public void execution(String engineKey,DataValue[] dataValue){ public void execution(String engineKey,DataValueRow dataValue){
BasicEngine<DataValue[]> dataValueBasicEngine = engineRowMap.get(engineKey); BasicEngine<DataValueRow> dataValueBasicEngine = engineRowMap.get(engineKey);
dataValueBasicEngine.set(dataValue); dataValueBasicEngine.set(dataValue);
dataValueBasicEngine.execution(); dataValueBasicEngine.execution();
} }
public void execution(String engineKey,DataValue[][] dataValue){ public void execution(String engineKey,DataValueRows dataValue){
BasicEngine<DataValue[][]> dataValueBasicEngine = engineDataSetMap.get(engineKey); BasicEngine<DataValueRows> dataValueBasicEngine = engineDataSetMap.get(engineKey);
dataValueBasicEngine.set(dataValue); dataValueBasicEngine.set(dataValue);
dataValueBasicEngine.execution(); dataValueBasicEngine.execution();
} }

View File

@ -0,0 +1,16 @@
package com.muyu.rule.common.domain;
import com.muyu.etl.domain.DataValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataValueFie {
private String key;
private DataValue dataValue;
}

View File

@ -0,0 +1,16 @@
package com.muyu.rule.common.domain;
import com.muyu.etl.domain.DataValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataValueRow {
private String key;
private DataValue[] dataValue;
}

View File

@ -0,0 +1,16 @@
package com.muyu.rule.common.domain;
import com.muyu.etl.domain.DataValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataValueRows {
private String key;
private DataValue[][] dataValue;
}