76 lines
2.6 KiB
Java
76 lines
2.6 KiB
Java
package com.muyu.constant;
|
||
|
||
import com.muyu.common.domain.RuleData;
|
||
import com.muyu.common.domain.RuleVersion;
|
||
import com.muyu.common.security.utils.SecurityUtils;
|
||
import org.springframework.stereotype.Component;
|
||
|
||
import java.text.SimpleDateFormat;
|
||
import java.util.Date;
|
||
|
||
/**
|
||
* @Author:蓬叁
|
||
* @Package:com.muyu.constant
|
||
* @Project:cloud-rule
|
||
* @name:GenerateConstant
|
||
* @Date:2024/8/30 上午12:49
|
||
* @Description: 规则引擎版本生成
|
||
*/
|
||
@Component
|
||
public class GenerateConstant {
|
||
|
||
public static final String DATA_FIELD = "DataEngineValueActuator";
|
||
public static final String DATA_RECORD = "DataEngineRecordActuator";
|
||
public static final String DATA_SET = "DataEngineSetActuator";
|
||
public static final String ACTION_IMPORT = "import com.muyu.rule.engine.action.ActionDiscard;\n";
|
||
public static final String SCOPE_IMPORT = "import com.muyu.rule.engine.scope.DataModelEngine";
|
||
public static final String PACKAGE_PATH = "package com.muyu.generate;";
|
||
|
||
public static String getClassName(String versionCode){
|
||
String[] splits = versionCode.split("_");
|
||
String className="";
|
||
for (String split : splits) {
|
||
className += split.substring(0,1).toUpperCase()+split.substring(1);
|
||
}
|
||
return className;
|
||
}
|
||
|
||
public static String generateConstant(RuleData ruleData, RuleVersion ruleVersion){
|
||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
|
||
String format = simpleDateFormat.format(new Date());
|
||
String level = selectType(ruleData.getRuleRegion());
|
||
return PACKAGE_PATH + "\n" +
|
||
ACTION_IMPORT + "\n" +
|
||
SCOPE_IMPORT+level+";\n" +
|
||
"\n" +
|
||
"/**\n" +
|
||
" * @Author: "+ SecurityUtils.getUsername() +"\n" +
|
||
" * @date: "+format+"\n" +
|
||
" * @Description: "+ruleVersion.getRuleVersionName()+"_"+ruleVersion.getRuleVersionCode()+"\n" +
|
||
" * @Version: 1.0\n" +
|
||
" */\n" +
|
||
"public class "+getClassName(ruleVersion.getRuleVersionType()) + " extends "+level+" {\n" +
|
||
" @Override\n" +
|
||
" public void run () {\n" +
|
||
" }\n" +
|
||
"}";
|
||
}
|
||
|
||
public static String selectType(String level){
|
||
String type = "";
|
||
switch (level) {
|
||
case "F":
|
||
type = DATA_FIELD;
|
||
break;
|
||
case "R":
|
||
type = DATA_RECORD;
|
||
break;
|
||
case "C":
|
||
type = DATA_SET;
|
||
break;
|
||
}
|
||
return type;
|
||
}
|
||
|
||
}
|