master
Qin Dong Ming 2024-08-24 20:31:03 +08:00
parent d93674a8a6
commit 9e7a2ef147
27 changed files with 32709 additions and 6458 deletions

View File

@ -0,0 +1,20 @@
package com.muyu.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Authorqdm
* @Packagecom.muyu.domain
* @Projectcloud-etl-engine
* @nameType
* @Date2024/8/23 22:34
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Type {
private Integer id;
private String name;
}

View File

@ -0,0 +1,24 @@
package com.muyu.domain.constants;
/**
*
*
* @author CHX
* on 2024/5/7
*/
public class ConfigCodeConstants {
/**
*
*/
public final static String BASE_FILE_PATH = "D:\\work\\cloud-server\\muyu-modules\\muyu-rule-engine\\muyu-rule-engine-common\\src\\main\\java\\com\\muyu\\ruleEngine\\context\\";
/**
*
*/
public final static String[] CONFIG_FILE_NAME_ARRAY = new String[]{"TestClass.txt", "TaskContextHolder.java", "DataSetContextHolder.java", "RecordContextHolder.java", "DataModelContextHolder.java"};
/**
*
*/
public final static String[] CONFIG_FILE_TYPE_ARRAY = new String[]{"测试模版", "任务", "数据集", "资产记录", "资产模型"};
}

View File

@ -0,0 +1,15 @@
package com.muyu.domain.constants;
/**
*
*
* @author CHX
* on 2024/5/8
*/
public class EngineVersionConstants {
/**
*
*/
public final static String[] ENGINE = new String[]{"TaskEngine", "DataSetEngine", "RecordEngine", "DataModelEngine"};
}

View File

@ -0,0 +1,19 @@
package com.muyu.domain.constants;
/**
*
*
* @author CHX
* on 2024/5/7
*/
public class RuleOperationConstants {
/**
*
*/
public final static String CLASS_NAME = "TestClass";
/**
*
*/
public final static String FILE_SUFFIX = ".java";
}

View File

@ -0,0 +1,23 @@
package com.muyu.domain.model;
import lombok.Data;
import java.util.List;
/**
*
* @ClassName TestData
* @author CHX
* @Date 2024/5/3 16:13
*/
@Data
public class TestData {
/**
*
*/
private Long id;
/**
*
*/
private List<String> list;
}

View File

@ -0,0 +1,27 @@
package com.muyu.resp;
import lombok.Data;
import lombok.experimental.SuperBuilder;
import java.io.Serializable;
/**
*
* @ClassName RuleEngineScopeResp
* @author CHX
* @Date 2024/5/2 15:05
*/
@Data
@SuperBuilder
public class EngineConfigScopeResp implements Serializable {
private static final long serialVersionUID = 1L;
/** 类型 */
private String type;
/** 名称 */
private String name;
/** 代码 */
private String code;
}

View File

@ -0,0 +1,47 @@
package com.muyu.resp;
import com.muyu.domain.EngineVersion;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*
* @author CHX
* on 2024/5/7
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class EngineVersionListResp {
/** 编号 */
private Long id;
/** 名称 */
private String name;
/** 类型 */
private Integer type;
/** 作用域 */
private Integer scope;
/** 引擎编码 */
private String engineCode;
/** 是否激活 */
private String isActivate;
/** 状态 */
private String status;
/** 描述 */
private String description;
/** 规则引擎版本列表 */
private List<EngineVersion> engineVersionList;
}

View File

@ -0,0 +1,28 @@
package com.muyu.resp;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
*
*
* @author CHX
* on 2024/5/7
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class VersionClassCreateResp {
/**
*
*/
private String versionClass;
/**
*
*/
private String ruleContent;
}

View File

@ -101,6 +101,10 @@
</goals>
</execution>
</executions>
</plugin>
<!-- 加入maven deploy插件当在deploy时忽略些model-->
<plugin>
@ -110,6 +114,19 @@
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version> <!-- 确保使用支持该特性的版本 -->
<configuration>
<source>16</source>
<target>16</target>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>

View File

@ -36,7 +36,7 @@ public class EngIneController extends BaseController {
@PostMapping("/delete/{id}")
public Integer remove(@PathVariable Integer id) {
public Integer remove(@PathVariable Long id) {
return engIneService.deletes(id);
}
@ -52,11 +52,6 @@ public class EngIneController extends BaseController {
}
/**
*
*/

View File

@ -2,8 +2,11 @@ package com.muyu.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.domain.EngineVersion;
import com.muyu.domain.model.TestData;
import com.muyu.req.EngineVersionQueryReq;
import com.muyu.resp.EngineConfigScopeResp;
import com.muyu.service.EngineVersionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -40,9 +43,8 @@ public class EngineVersionController {
}
@PostMapping("/update")
public Result<EngineVersion> update(EngineVersion engineVersion) {
EngineVersion update = engineVersionService.updateMsg(engineVersion);
return Result.success(update);
public EngineVersion update(@RequestBody EngineVersion engineVersion) {
return engineVersionService.updateMsg(engineVersion);
}
@PostMapping("/delete/{id}")
@ -50,4 +52,73 @@ public class EngineVersionController {
boolean b = engineVersionService.removeById(id);
return Result.success(b);
}
@GetMapping("/getVersion/{id}")
public Result<EngineVersion> getVersion(@PathVariable("id") Long id) {
EngineVersion engineVersion = engineVersionService.getById(id);
return Result.success(engineVersion);
}
/**
*
*/
@RequiresPermissions("rule-engine:version:list")
@GetMapping("/getScopeList")
public Result<List<EngineConfigScopeResp>> getScopeList() {
return Result.success(engineVersionService.getScopeList());
}
/**
*
*/
@RequiresPermissions("rule-engine:version:list")
@GetMapping("/getScopeInfo/{id}")
public Result<EngineConfigScopeResp> getScopeInfoById(@PathVariable Integer id) {
return Result.success(engineVersionService.getScopeInfoById(id));
}
// /**
// * 测试引擎规则配置
// */
// @RequiresPermissions("rule-engine:version:add")
// @PostMapping(value = "/test")
// public Result<Object> ruleTest(@RequestBody TestData testData) {
// return Result.success(engineVersionService.ruleTest(testData));
// }
//
// /**
// * 新增引擎规则配置
// */
// @RequiresPermissions("rule-engine:version:add")
// @PostMapping
// public Result<String> add(@RequestBody EngineVersionSaveReq engineConfigSaveReq) {
// return toAjax(engineVersionService.save(EngineVersion.saveBuild(engineConfigSaveReq, SecurityUtils::getUsername)));
// }
//
// /**
// * 修改引擎规则配置
// */
// @RequiresPermissions("rule-engine:version:edit")
// @PutMapping("/{id}")
// public Result<String> edit(@PathVariable Long id, @RequestBody EngineVersionEditReq engineConfigEditReq) {
// return toAjax(engineVersionService.updateById(EngineVersion.editBuild(id,engineConfigEditReq, SecurityUtils::getUsername)));
// }
//
// /**
// * 删除引擎规则配置
// */
// @RequiresPermissions("rule-engine:version:remove")
// @DeleteMapping("/{ids}")
// public Result<String> remove(@PathVariable List<Long> ids) {
// return toAjax(engineVersionService.removeBatchByIds(ids));
// }
//
// /**
// * 创建代码版本类名和代码模板
// */
// @PostMapping("/createVersionClass")
// public Result<VersionClassCreateResp> createVersionClass(@RequestBody VersionClassCreateReq req) {
// VersionClassCreateResp versionClassCreateResp = engineVersionService.createVersionClass(req);
// return Result.success(versionClassCreateResp);
// }
}

View File

@ -0,0 +1,62 @@
package com.muyu.controller;
import com.muyu.domain.Result;
import com.muyu.domain.Type;
import com.muyu.service.TypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Authorqdm
* @Packagecom.muyu.controller
* @Projectcloud-etl-engine
* @nameTypeController
* @Date2024/8/23 22:35
*/
@RestController
@RequestMapping("/type")
public class TypeController {
@Autowired
TypeService typeService;
/**
*
* @return
*/
@PostMapping("/list")
public List<Type> list(){
return typeService.list();
}
/**
*
* @param type
* @return
*/
@PostMapping("/add")
public Result add(@RequestBody Type type){
return typeService.add(type);
}
/**
*
* @param type
* @return
*/
@PostMapping("/update")
public Result upadte(@RequestBody Type type){
return typeService.update(type);
}
/**
*
* @param id
* @return
*/
@PostMapping("/delete/{id}")
public Result delete(@PathVariable Integer id){
return typeService.delete(id);
}
}

View File

@ -29,5 +29,5 @@ public interface EngineMapper extends BaseMapper<EngineMaintenance> {
List<EngineMaintenance> getMaintenanceList(EngineMaintenanceQueryReq engineMaintenanceQueryReq);
Integer deletes(@Param("id") Integer id);
Integer deletes(@Param("id") Long id);
}

View File

@ -0,0 +1,26 @@
package com.muyu.mapper;
import com.muyu.domain.Type;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Authorqdm
* @Packagecom.muyu.mapper
* @Projectcloud-etl-engine
* @nameTypeMapper
* @Date2024/8/23 22:36
*/
@Mapper
public interface TypseMapper {
List<Type> list();
Integer add(Type type);
Integer update(Type type);
Integer delete(@Param("id") Integer id);
}

View File

@ -42,5 +42,5 @@ public interface EngIneService extends IService<EngineMaintenance> {
Result<PageResult<EngineMaintenance>> getMaintenanceList(EngineMaintenanceQueryReq engineMaintenanceQueryReq);
Integer deletes(Integer id);
Integer deletes(Long id);
}

View File

@ -1,7 +1,9 @@
package com.muyu.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.domain.Result;
import com.muyu.domain.EngineVersion;
import com.muyu.resp.EngineConfigScopeResp;
import java.util.List;
@ -25,4 +27,10 @@ public interface EngineVersionService extends IService<EngineVersion> {
EngineVersion add(EngineVersion engineVersion);
EngineVersion updateMsg(EngineVersion engineVersion);
Result<EngineVersion> updateVersion(EngineVersion engineVersion);
List<EngineConfigScopeResp> getScopeList();
EngineConfigScopeResp getScopeInfoById(Integer id);
}

View File

@ -0,0 +1,23 @@
package com.muyu.service;
import com.muyu.domain.Result;
import com.muyu.domain.Type;
import java.util.List;
/**
* @Authorqdm
* @Packagecom.muyu.service
* @Projectcloud-etl-engine
* @nameTypeService
* @Date2024/8/23 22:35
*/
public interface TypeService {
List<Type> list();
Result add(Type type);
Result update(Type type);
Result delete(Integer id);
}

View File

@ -98,7 +98,7 @@ public class EngIneServiceImpl extends ServiceImpl<EngineMapper, EngineMaintenan
@Override
public EngineVersionListResp getRuleEngineInfo(Long id) {
EngineMaintenance engineMaintenance = this.getOne(new LambdaQueryWrapper<>() {{
EngineMaintenance engineMaintenance = this.getOne(new LambdaQueryWrapper<EngineMaintenance>() {{
eq(EngineMaintenance::getId, id);
}});
List<EngineVersion> engineConfigs = engineConfigService.list();
@ -193,8 +193,9 @@ public class EngIneServiceImpl extends ServiceImpl<EngineMapper, EngineMaintenan
return Result.success(PageResult.toPageResult(engineMaintenancePageInfo.getTotal(), engineMaintenances));
}
@Override
public Integer deletes(Integer id) {
public Integer deletes(Long id) {
Integer res = engineMapper.deletes(id);
return res;
}

View File

@ -5,10 +5,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.domain.EngineVersion;
import com.muyu.domain.constants.ConfigCodeConstants;
import com.muyu.mapper.EngineVersionMapper;
import com.muyu.resp.EngineConfigScopeResp;
import com.muyu.service.EngineVersionService;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
/**
@ -51,10 +57,58 @@ public class EngineVersionServiceImpl extends ServiceImpl<EngineVersionMapper, E
@Override
public EngineVersion updateMsg(EngineVersion engineVersion) {
if (updateById(engineVersion)) {
return engineVersion;
boolean b = updateById(engineVersion);
if (b) {
return null;
}
return null;
}
@Override
public Result<EngineVersion> updateVersion(EngineVersion engineVersion) {
return null;
}
@Override
public List<EngineConfigScopeResp> getScopeList() {
List<EngineConfigScopeResp> list = new ArrayList<>();
try {
int i = 0;
for (String scope : ConfigCodeConstants.CONFIG_FILE_NAME_ARRAY) {
if (i == 0) {
i++;
continue;
}
String path = ConfigCodeConstants.BASE_FILE_PATH + scope;
String code = Files.readString(Paths.get(path));
String type = ConfigCodeConstants.CONFIG_FILE_TYPE_ARRAY[i++];
list.add(EngineConfigScopeResp.builder()
.type(type)
.name(scope)
.code(code)
.build());
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return list;
}
@Override
public EngineConfigScopeResp getScopeInfoById(Integer id) {
String scope = ConfigCodeConstants.CONFIG_FILE_NAME_ARRAY[id];
String type = ConfigCodeConstants.CONFIG_FILE_TYPE_ARRAY[id];
String path = ConfigCodeConstants.BASE_FILE_PATH + scope;
String code = null;
try {
code = Files.readString(Paths.get(path));
} catch (IOException e) {
throw new RuntimeException(e);
}
return EngineConfigScopeResp.builder()
.type(type)
.name(scope)
.code(code)
.build();
}
}

View File

@ -0,0 +1,47 @@
package com.muyu.service.serviceImpl;
import com.muyu.domain.Result;
import com.muyu.domain.Type;
import com.muyu.mapper.TypseMapper;
import com.muyu.service.TypeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Authorqdm
* @Packagecom.muyu.service.serviceImpl
* @Projectcloud-etl-engine
* @nameTypeServiceImpl
* @Date2024/8/23 22:35
*/
@Service
public class TypeServiceImpl implements TypeService {
@Autowired
TypseMapper typseMapper;
@Override
public List<Type> list() {
List<Type> list = typseMapper.list();
return list;
}
@Override
public Result add(Type type) {
Integer res = typseMapper.add(type);
return Result.success();
}
@Override
public Result update(Type type) {
Integer res = typseMapper.update(type);
return Result.success();
}
@Override
public Result delete(Integer id) {
Integer res = typseMapper.delete(id);
return Result.success(res);
}
}

View File

@ -1,6 +1,6 @@
# Tomcat
server:
port: 9702
port: 9703
# nacos线上地址
nacos:

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.mapper.TypseMapper">
<insert id="add">
insert t_type values(0,#{name})
</insert>
<update id="update">
update t_type set name = #{name}
where id = #{id}
</update>
<delete id="delete">
delete from t_type where id = #{id}
</delete>
<select id="list" resultType="com.muyu.domain.Type">
select *
from t_type
</select>
</mapper>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -21,5 +21,9 @@
<module>cloud-etl-remote</module>
<module>cloud-etl-server</module>
</modules>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.parameters>true</maven.compiler.parameters>
</properties>
</project>