master
zhang chengzhi 2024-09-07 09:27:04 +08:00
parent 30cd9fc1c3
commit 5a55653454
40 changed files with 99 additions and 127 deletions

View File

@ -20,6 +20,10 @@
<dependencies> <dependencies>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-datasources-common</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.muyu</groupId> <groupId>com.muyu</groupId>
<artifactId>cloud-common-core</artifactId> <artifactId>cloud-common-core</artifactId>

View File

@ -1,7 +1,7 @@
package com.muyu.rule.common.basic.abstracts; package com.muyu.rule.common.basic.abstracts;
import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.common.domain.DataValue;
import com.muyu.rule.common.basic.handler.DataEngineDataSetHandler; import com.muyu.rule.common.basic.handler.DataEngineDataSetHandler;
/** /**

View File

@ -1,7 +1,7 @@
package com.muyu.rule.common.basic.abstracts; package com.muyu.rule.common.basic.abstracts;
import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.common.domain.DataValue;
import com.muyu.rule.common.basic.handler.DataEngineRowHandler; import com.muyu.rule.common.basic.handler.DataEngineRowHandler;
/** /**

View File

@ -1,7 +1,7 @@
package com.muyu.rule.common.basic.abstracts; package com.muyu.rule.common.basic.abstracts;
import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.common.domain.DataValue;
import com.muyu.rule.common.basic.handler.DataEngineValueHandler; import com.muyu.rule.common.basic.handler.DataEngineValueHandler;
/** /**

View File

@ -1,6 +1,6 @@
package com.muyu.rule.common.basic.handler; package com.muyu.rule.common.basic.handler;
import com.muyu.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
/** /**
* @Author * @Author
@ -8,7 +8,7 @@ import com.muyu.rule.common.domain.DataValue;
* @Projectcloud-etl-rule * @Projectcloud-etl-rule
* @nameDataEngineValueHandler * @nameDataEngineValueHandler
* @Date2024/8/29 14:35 * @Date2024/8/29 14:35
* @Description: * @Description:
*/ */
public class DataEngineDataSetHandler { public class DataEngineDataSetHandler {

View File

@ -4,7 +4,7 @@ package com.muyu.rule.common.basic.handler;
* @Author * @Author
* @Packagecom.muyu.rule.server.basic * @Packagecom.muyu.rule.server.basic
* @Projectcloud-etl-rule * @Projectcloud-etl-rule
* @nameDataEngineHandler * @name
* @Date2024/8/29 14:21 * @Date2024/8/29 14:21
*/ */
public class DataEngineHandler { public class DataEngineHandler {
@ -19,6 +19,7 @@ public class DataEngineHandler {
public static <T> T get(){ public static <T> T get(){
return (T) dataEngineHandler.get(); return (T) dataEngineHandler.get();
} }

View File

@ -1,14 +1,13 @@
package com.muyu.rule.common.basic.handler; package com.muyu.rule.common.basic.handler;
import com.muyu.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
/** /**
* @Author * @Author
* @Packagecom.muyu.rule.server.basic.handler * @Packagecom.muyu.rule.server.basic.handler
* @Projectcloud-etl-rule * @Projectcloud-etl-rule
* @nameDataEngineValueHandler * @name/
* @Date2024/8/29 14:35 * @Date2024/8/29 14:35
* @Description:
*/ */
public class DataEngineRowHandler { public class DataEngineRowHandler {

View File

@ -1,13 +1,13 @@
package com.muyu.rule.common.basic.handler; package com.muyu.rule.common.basic.handler;
import com.muyu.common.core.text.Convert; import com.muyu.common.core.text.Convert;
import com.muyu.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
/** /**
* @Author * @Author
* @Packagecom.muyu.rule.server.basic.handler * @Packagecom.muyu.rule.server.basic.handler
* @Projectcloud-etl-rule * @Projectcloud-etl-rule
* @nameDataEngineValueHandler * @name
* @Date2024/8/29 14:35 * @Date2024/8/29 14:35
*/ */
public class DataEngineValueHandler { public class DataEngineValueHandler {

View File

@ -1,49 +0,0 @@
package com.muyu.rule.common.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author
* @Packagecom.muyu.rule.common.domain
* @Projectcloud-etl-rule
* @nameData
* @Date2024/8/27 9:18
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataValue {
/**
*
*/
public String key;
/**
*
*/
public String type;
/**
*
*/
public String label;
/**
*
*/
public Object value;
}

View File

@ -25,12 +25,11 @@ public class VersionAddReq {
* *
*/ */
private String versionName; private String versionName;
/** /**
* *
*/ */
private String className; private String className;
/** /**
* *
*/ */
@ -67,13 +66,4 @@ public class VersionAddReq {
private String remark; private String remark;
} }

View File

@ -1,8 +1,8 @@
package com.muyu.rule.common.engine.dataSet; package com.muyu.rule.common.engine.dataSet;
import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineDataSetActuator; import com.muyu.rule.common.basic.abstracts.DataEngineDataSetActuator;
import com.muyu.rule.common.domain.DataValue; import com.muyu.rule.common.exception.DeliteException;
import com.muyu.rule.common.exception.ActionDiscard;
/** /**
@ -20,7 +20,7 @@ public class ENGINE_DataSet_asdf_S1 extends DataEngineDataSetActuator {
DataValue[][] dataValues = get(); DataValue[][] dataValues = get();
if (dataValues == null || "".equals(dataValues) || "null".equals(dataValues)) { if (dataValues == null || "".equals(dataValues) || "null".equals(dataValues)) {
throw new ActionDiscard(); throw new DeliteException();
}else { }else {
System.out.println("数据检测无异常"); System.out.println("数据检测无异常");
} }

View File

@ -1,7 +1,7 @@
package com.muyu.rule.common.engine.row; package com.muyu.rule.common.engine.row;
import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineRowActuator; import com.muyu.rule.common.basic.abstracts.DataEngineRowActuator;
import com.muyu.rule.common.domain.DataValue;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashSet; import java.util.HashSet;
@ -29,6 +29,8 @@ public class ENGINE_ROW_HANG_R1 extends DataEngineRowActuator {
// 将 Set 转换回数组 // 将 Set 转换回数组
DataValue[] uniqueArray = uniquePeople.toArray(new DataValue[0]); DataValue[] uniqueArray = uniquePeople.toArray(new DataValue[0]);
System.out.println(Arrays.toString(uniqueArray)); System.out.println(Arrays.toString(uniqueArray));
} }

View File

@ -1,13 +1,14 @@
package com.muyu.rule.common.engine.value; package com.muyu.rule.common.engine.value;
import com.muyu.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator; import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator;
import com.muyu.rule.common.exception.DeliteException;
/** /**
* @Author * @Author
* @Packagecom.muyu.rule.server.basic.engine * @Packagecom.muyu.rule.server.basic.engine
* @Projectcloud-etl-rule * @Projectcloud-etl-rule
* @nameENGINE_VALUE_VFD1000_V1 * @name
* @Date2024/8/29 15:51 * @Date2024/8/29 15:51
*/ */
public class ENGINE_VALUE_VFD1000_V1 extends DataEngineValueActuator { public class ENGINE_VALUE_VFD1000_V1 extends DataEngineValueActuator {
@ -15,11 +16,9 @@ public class ENGINE_VALUE_VFD1000_V1 extends DataEngineValueActuator {
public void run() { public void run() {
DataValue dataValue = get(); DataValue dataValue = get();
if (dataValue.getValue() == null){ if (dataValue.getValue() == null){
System.out.println("数据为空,需要丢弃"); throw new DeliteException("数据为空,需要丢弃!");
}else{ }else{
System.out.println("数据非空:"+dataValue.getValue()); System.out.println("数据非空:"+dataValue.getValue());
} }
} }
} }

View File

@ -1,8 +1,10 @@
package com.muyu.rule.common.engine.value; package com.muyu.rule.common.engine.value;
import com.muyu.common.domain.DataValue;
import com.muyu.common.enums.DataType;
import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator; import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator;
import com.muyu.rule.common.domain.DataValue;
import com.muyu.rule.common.utils.Desensitization; import java.time.LocalDateTime;
/** /**
* @Author * @Author
@ -14,9 +16,30 @@ import com.muyu.rule.common.utils.Desensitization;
public class ENGINE_VALUE_VFD1000_V2 extends DataEngineValueActuator { public class ENGINE_VALUE_VFD1000_V2 extends DataEngineValueActuator {
@Override @Override
public void run() { public void run() {
DataValue dataValue = get(); DataValue dataValue = get();
String string = Desensitization.mobilePhoneDesensitization((String) dataValue.getValue()); if (dataValue.getValue()==null){
System.out.println("手机号脱敏的结果是====>"+string);
DataType type = dataValue.getType();
//如果为空,添加默认值
//String string = DataType.convertTypeString((String) );
//为整数 默认值为0
// if ("Integer".equals(string)){
// dataValue.setValue(0);
// }
// //为字符串 默认值为null
// if ("String".equals(string)){
// dataValue.setValue(null);
// }
// //为时间 默认值为当前时间
// if ("Date".equals(string)){
// LocalDateTime dateTime = LocalDateTime.now();
// dataValue.setValue(dateTime);
// }
}
} }
} }

View File

@ -1,23 +1,26 @@
package com.muyu.rule.common.engine.value; package com.muyu.rule.common.engine.value;
import com.muyu.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator; import com.muyu.rule.common.basic.abstracts.DataEngineValueActuator;
/** /**
* @Author * @Author
* @Packagecom.muyu.rule.server.basic.engine * @Packagecom.muyu.rule.server.basic.engine
* @Projectcloud-etl-rule * @Projectcloud-etl-rule
* @name * @name
* @Date2024/8/29 15:51 * @Date2024/8/29 15:51
*/ */
public class ENGINE_phone_zzzzz_V9 extends DataEngineValueActuator { public class ENGINE_VALUE_VFD1000_V3 extends DataEngineValueActuator {
@Override @Override
public void run() { public void run() {
DataValue dataValue = get(); DataValue dataValue = get();
if (dataValue.getValue() == null){
System.out.println("数据为空");
}else {
System.out.println("数据非空:"+dataValue.getValue());
}
} }
} }

View File

@ -7,24 +7,24 @@ package com.muyu.rule.common.exception;
* @nameActionDiscard * @nameActionDiscard
* @Date2024/8/26 22:08 * @Date2024/8/26 22:08
*/ */
public class ActionDiscard extends RuntimeException { public class DeliteException extends RuntimeException {
public ActionDiscard() { public DeliteException() {
super(); super();
} }
public ActionDiscard(String message) { public DeliteException(String message) {
super(message); super(message);
} }
public ActionDiscard(String message, Throwable cause) { public DeliteException(String message, Throwable cause) {
super(message, cause); super(message, cause);
} }
public ActionDiscard(Throwable cause) { public DeliteException(Throwable cause) {
super(cause); super(cause);
} }
protected ActionDiscard(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { protected DeliteException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace); super(message, cause, enableSuppression, writableStackTrace);
} }
} }

View File

@ -1,6 +1,7 @@
package com.muyu.rule.server; package com.muyu.rule.server;
import com.muyu.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
import com.muyu.common.enums.DataType;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import java.util.Map; import java.util.Map;
@ -47,7 +48,7 @@ public class Main {
System.out.println("字段规则测试:"); System.out.println("字段规则测试:");
DataValue dataValue = DataValue.builder() DataValue dataValue = DataValue.builder()
.type("String") .type(DataType.valueOf("String"))
.label("姓名") .label("姓名")
.key("name") .key("name")
.value(null) .value(null)
@ -77,10 +78,6 @@ public class Main {
DataValue[][] dataValuesSet = new DataValue[3][3]; DataValue[][] dataValuesSet = new DataValue[3][3];
dataValuesSet[0][0] = new DataValue("name","String","姓名","张三");
dataValuesSet[0][1] = new DataValue("age","int","年龄",22);
dataValuesSet[0][2] = new DataValue("sex","String","性别","张三");
dataValuesSet[1][0] = new DataValue("name","String",null,"张三");
BasicEngine<DataValue[][]> engineDataSetAsdfS1 = engineDataSetMap.get("ENGINE_DataSet_asdf_S1"); BasicEngine<DataValue[][]> engineDataSetAsdfS1 = engineDataSetMap.get("ENGINE_DataSet_asdf_S1");

View File

@ -1,6 +1,7 @@
package com.muyu.rule.server; package com.muyu.rule.server;
import com.muyu.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
import com.muyu.common.enums.DataType;
import com.muyu.rule.common.utils.OssUtil; import com.muyu.rule.common.utils.OssUtil;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.server.complie.SourceCodeComplier; import com.muyu.rule.server.complie.SourceCodeComplier;
@ -56,7 +57,7 @@ public class OSSClassLoaderExample {
BasicEngine<DataValue> object =(BasicEngine<DataValue>)aClass.newInstance(); BasicEngine<DataValue> object =(BasicEngine<DataValue>)aClass.newInstance();
DataValue dataValue = DataValue.builder() DataValue dataValue = DataValue.builder()
.type("String") .type(DataType.valueOf("String"))
.label("姓名") .label("姓名")
.key("name") .key("name")
.value(null) .value(null)

View File

@ -1,9 +1,7 @@
package com.muyu.rule.server.controller; package com.muyu.rule.server.controller;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.rule.common.domain.DataValue;
import com.muyu.rule.server.service.SourceDisposeService; import com.muyu.rule.server.service.SourceDisposeService;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;

View File

@ -2,7 +2,7 @@ package com.muyu.rule.server.controller;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 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.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
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.server.service.RuleEngineVersionService; import com.muyu.rule.server.service.RuleEngineVersionService;
@ -106,15 +106,12 @@ public class RuleEngineVersionController {
* @return * @return
*/ */
@PostMapping("/deposit") @PostMapping("/deposit/{type}}")
public Result deposit(@RequestBody VersionAddReq ver ){ public Result deposit(@PathVariable("type")Integer type){
log.info("传入参数{}"+ver); log.info("传入参数{}"+type);
String versionClazz = ver.getVersionClazz(); String versionClass = versionService.deposit(type);
String className = ver.getClassName();
// versionService.Upload(versionClazz,className);
return Result.success(); return Result.success();
} }

View File

@ -1,7 +1,7 @@
package com.muyu.rule.server.service; package com.muyu.rule.server.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
import java.util.List; import java.util.List;
@ -74,4 +74,6 @@ public interface RuleEngineVersionService extends IService<RuleEngineVersion> {
*/ */
void testEngine(String className, DataValue dataValue); void testEngine(String className, DataValue dataValue);
String deposit(Integer type);
} }

View File

@ -5,10 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.rule.common.domain.DataValue; import com.muyu.common.domain.DataValue;
import com.muyu.rule.common.domain.RuleEngineVersion; import com.muyu.rule.common.domain.RuleEngineVersion;
import com.muyu.rule.common.utils.OssUtil; import com.muyu.rule.common.utils.OssUtil;
import com.muyu.rule.server.EngineConfig;
import com.muyu.rule.common.basic.BasicEngine; import com.muyu.rule.common.basic.BasicEngine;
import com.muyu.rule.server.load.ExternalClassLoader; import com.muyu.rule.server.load.ExternalClassLoader;
import com.muyu.rule.server.mapper.RuleEngineVersionMapper; import com.muyu.rule.server.mapper.RuleEngineVersionMapper;
@ -132,11 +131,6 @@ public static final String importClassAndPackPath="home/lib/";
public void complierClass(String className, String versionClazz) { public void complierClass(String className, String versionClazz) {
log.info("======>"+versionClazz); log.info("======>"+versionClazz);
String ossFilePath = className + Suffix_JAVA; String ossFilePath = className + Suffix_JAVA;
String ossFilePath2 = className + Suffix_CLASS;
EngineConfig engineConfig = new EngineConfig();
// String filePath ="home/"+ossFilePath;
String filePath = engineWorkSourcePath + ossFilePath;
//创建服务器项目容器的java源码文件目录路径 //创建服务器项目容器的java源码文件目录路径
File serverFile = new File(engineWorkSourcePath, ossFilePath); File serverFile = new File(engineWorkSourcePath, ossFilePath);
//如果目录不存在,则创建目录 //如果目录不存在,则创建目录
@ -166,6 +160,7 @@ public static final String importClassAndPackPath="home/lib/";
} else { } else {
System.out.println("错误"); System.out.println("错误");
} }
OssUtil.ssss(className); OssUtil.ssss(className);
@ -248,6 +243,18 @@ public static final String importClassAndPackPath="home/lib/";
valueBasicEngine.execution(); valueBasicEngine.execution();
} }
@Override
public String deposit(Integer type) {
return null;
}
/** /**
* *
* *

View File

@ -26,6 +26,4 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
</project> </project>