提交 e19e7a15 authored 作者: Matrix's avatar Matrix

fix(系统): 结构优化,数据脚本上传

上级 16bb641f
差异被折叠。
-- MySQL dump 10.13 Distrib 8.0.20, for macos10.15 (x86_64)
--
-- Host: 127.0.0.1 Database: message_demo
-- ------------------------------------------------------
-- Server version 8.0.20
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `component`
--
DROP TABLE IF EXISTS `component`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `component` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`com_number` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'ip',
`ip` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '组件编号',
`name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '组件名称',
`spec_able_ids` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '组件适用的规范列表Id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='组件';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `component`
--
LOCK TABLES `component` WRITE;
/*!40000 ALTER TABLE `component` DISABLE KEYS */;
INSERT INTO `component` VALUES (1,'2021-11-23 20:19:07','2021-11-23 20:19:07','x001x001','127.0.0.1','qq邮箱组件','1'),(2,'2021-11-23 20:19:07','2021-11-23 20:19:07','x001x002','127.0.0.1','新浪邮箱组件','1'),(3,'2021-11-23 20:19:07','2021-11-23 20:19:07','x000x001','127.0.0.1','测试组件1','0');
/*!40000 ALTER TABLE `component` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `inter_info`
--
DROP TABLE IF EXISTS `inter_info`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `inter_info` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '接口名称',
`des` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '接口描述',
`address` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '接口地址',
`request_method` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '请求方式 HTTP-GET/HTTP-POST/SOCKET',
`param_type` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '参数类型 - JSON',
`spec_id` bigint NOT NULL DEFAULT '0' COMMENT '关联的规范主键id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='接口信息';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `inter_info`
--
LOCK TABLES `inter_info` WRITE;
/*!40000 ALTER TABLE `inter_info` DISABLE KEYS */;
INSERT INTO `inter_info` VALUES (1,'2021-11-23 20:19:07','2021-11-23 20:19:07','发送邮件接口','给定指定消息数据,以邮件的形式发送出去','/send','socket','socket',1);
/*!40000 ALTER TABLE `inter_info` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `inter_param`
--
DROP TABLE IF EXISTS `inter_param`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `inter_param` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`field_name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '参数名称',
`field_des` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '参数描述',
`field_type` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '参数类型',
`required` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否必填 1true-必须填 0false-非必填',
`info_id` bigint NOT NULL DEFAULT '0' COMMENT '关联的接口信息id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='接口参数';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `inter_param`
--
LOCK TABLES `inter_param` WRITE;
/*!40000 ALTER TABLE `inter_param` DISABLE KEYS */;
INSERT INTO `inter_param` VALUES (1,'2021-11-23 20:19:07','2021-11-23 20:19:07','title','邮件标题','varchar',1,1),(2,'2021-11-23 20:19:07','2021-11-23 20:19:07','content','邮件内容','varchar',1,1),(3,'2021-11-23 20:19:07','2021-11-23 20:19:07','mailAddress','邮件接收方地址','varchar',1,1);
/*!40000 ALTER TABLE `inter_param` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `inter_response`
--
DROP TABLE IF EXISTS `inter_response`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `inter_response` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`field_name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '返回值参数名称',
`field_des` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '返回值参数描述',
`field_type` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '返回值参数类型',
`info_id` bigint NOT NULL DEFAULT '0' COMMENT '关联的接口信息id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='接口返回值';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `inter_response`
--
LOCK TABLES `inter_response` WRITE;
/*!40000 ALTER TABLE `inter_response` DISABLE KEYS */;
INSERT INTO `inter_response` VALUES (1,'2021-11-23 20:19:07','2021-11-23 20:19:07','code','返回码','varchar',1),(2,'2021-11-23 20:19:07','2021-11-23 20:19:07','msg','返回信息','varchar',1);
/*!40000 ALTER TABLE `inter_response` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `message_log`
--
DROP TABLE IF EXISTS `message_log`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `message_log` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`data_type` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '数据类型',
`send_com` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '发送组件',
`handle_com` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '处理组件',
`data_size` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '数据大小',
`is_limit` tinyint(1) DEFAULT NULL COMMENT '是否限流',
`result` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '通信结果',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='消息日志';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `message_log`
--
LOCK TABLES `message_log` WRITE;
/*!40000 ALTER TABLE `message_log` DISABLE KEYS */;
/*!40000 ALTER TABLE `message_log` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `specification`
--
DROP TABLE IF EXISTS `specification`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `specification` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`name` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '规范的名称',
`spec_number` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '规范编号',
`des` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '规范的描述',
`end_points` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '绑定的MQ的端点',
`apply_range` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '规范的适用范围',
`current_com_id` bigint NOT NULL DEFAULT '0' COMMENT '规范当前绑定的组件id,如果没有绑定则为0,默认为0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='规范标准';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `specification`
--
LOCK TABLES `specification` WRITE;
/*!40000 ALTER TABLE `specification` DISABLE KEYS */;
INSERT INTO `specification` VALUES (1,'2021-11-23 20:19:07','2021-11-23 20:19:07','邮件规范','x001','用来处理邮件相关事项的规范','mail','1',1);
/*!40000 ALTER TABLE `specification` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2022-01-21 15:45:11
......@@ -13,11 +13,11 @@ import org.matrix.actuators.httpclient.HttpResponseDetail;
import org.matrix.actuators.usecase.CaseActuator;
import org.matrix.config.HttpRequestConfig;
import org.matrix.database.entity.DynamicVariable;
import org.matrix.database.entity.Example;
import org.matrix.database.entity.Environment;
import org.matrix.database.entity.TestCase;
import org.matrix.database.service.IConnectService;
import org.matrix.database.service.IDynamicVariableService;
import org.matrix.database.service.IExampleService;
import org.matrix.database.service.IEnvironmentService;
import org.matrix.database.service.ITestCaseService;
import org.matrix.enums.DynamicVarType;
import org.matrix.exception.GlobalException;
......@@ -61,12 +61,12 @@ public class SqlExpActuator implements Actuator {
private final JdbcTemplate jdbcTemplate;
private final IDynamicVariableService varService;
private final IExampleService envService;
private final IEnvironmentService envService;
private final IConnectService connectService;
private final IDataSourceService dataSourceService;
private final ITestCaseService caseService;
public SqlExpActuator(JdbcTemplate jdbcTemplate, IDynamicVariableService varService, IExampleService envService, IConnectService connectService, IDataSourceService dataSourceService, ITestCaseService caseService) {
public SqlExpActuator(JdbcTemplate jdbcTemplate, IDynamicVariableService varService, IEnvironmentService envService, IConnectService connectService, IDataSourceService dataSourceService, ITestCaseService caseService) {
this.jdbcTemplate = jdbcTemplate;
this.varService = varService;
this.envService = envService;
......@@ -218,7 +218,7 @@ public class SqlExpActuator implements Actuator {
*/
private String replaceEnvVar(String sqlExp, Long envId) {
// SQL表达式首先尝试替换掉形如#{name}的共享环境变量 todo 这里的env的map应该做一个缓存
Example env = Optional.of(envService.getById(envId))
Environment env = Optional.of(envService.getById(envId))
.orElseThrow(() -> new GlobalException("没有找到对应ID的example(env)对象,id = " + envId));
Map<String, String> envMap = env.getVariable();
List<String> envList = ReUtil.findAll(ENV_VAR_EXP, sqlExp, 2, new ArrayList<>());
......
......@@ -25,8 +25,8 @@ import java.util.Map;
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Example对象", description = "实例表,项目对应的环境实例,例如:实验室环境,开发环境等")
@TableName(autoResultMap = true)
public class Example extends BaseEntity {
@TableName(autoResultMap = true,value = "environment")
public class Environment extends BaseEntity {
@ApiModelProperty("实例名称")
private String name;
......
package org.matrix.database.mapper;
import org.matrix.database.entity.Example;
import org.matrix.database.entity.Environment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
......@@ -13,6 +13,6 @@ import org.springframework.stereotype.Repository;
* @since 2022-01-15
*/
@Repository
public interface ExampleMapper extends BaseMapper<Example> {
public interface ExampleMapper extends BaseMapper<Environment> {
}
package org.matrix.database.service;
import org.matrix.database.entity.Example;
import org.matrix.database.entity.Environment;
import com.baomidou.mybatisplus.extension.service.IService;
/**
......@@ -11,6 +11,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @author matrix
* @since 2022-01-15
*/
public interface IExampleService extends IService<Example> {
public interface IEnvironmentService extends IService<Environment> {
}
package org.matrix.database.service.impl;
import org.matrix.database.entity.Example;
import org.matrix.database.entity.Environment;
import org.matrix.database.mapper.ExampleMapper;
import org.matrix.database.service.IExampleService;
import org.matrix.database.service.IEnvironmentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
......@@ -15,6 +15,6 @@ import org.springframework.stereotype.Service;
* @since 2022-01-15
*/
@Service
public class ExampleServiceImpl extends ServiceImpl<ExampleMapper, Example> implements IExampleService {
public class EnvironmentServiceImpl extends ServiceImpl<ExampleMapper, Environment> implements IEnvironmentService {
}
package org.matrix.actuators.sql;
import com.alibaba.fastjson.JSON;
import org.junit.Before;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.matrix.database.entity.Connect;
import org.matrix.database.entity.DynamicVariable;
import org.matrix.database.service.IConnectService;
import org.matrix.database.service.IDynamicVariableService;
import org.matrix.enums.DynamicVarType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
......@@ -27,17 +21,11 @@ class SqlExpActuatorTest {
@Autowired
private SqlExpActuator sqlExpActuator;
@Autowired
private IDynamicVariableService variableService;
@Autowired
private IConnectService connectService;
@Test
void parseVarByName() {
String reuslt = sqlExpActuator.parseVarByName("${componentName}[2]", 1L, 1L);
System.out.println(reuslt);
// todo 这里的递归校验要多写一点
String result = sqlExpActuator.parseVarByName("${componentName}[2]", 1L, 1L);
Assertions.assertNotNull(result);
}
@Test
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论