This commit is contained in:
2022-11-04 09:25:26 +08:00
parent 7d10b53028
commit 31e08a2028
9 changed files with 68 additions and 38 deletions

View File

@@ -9,7 +9,7 @@ import net.tccn.dict.Dict;
import net.tccn.meta.*;
import net.tccn.plat.MetaDb;
import net.tccn.plat.MetaPlat;
import net.tccn.qtask.TaskEntity;
import net.tccn.qtask.DbTask;
import net.tccn.qtask.TaskKit;
import net.tccn.user.MetaUser;
import org.redkale.convert.json.JsonConvert;
@@ -44,7 +44,7 @@ public final class MetaKit {
@Getter
private static List<MetaUser> users;
@Getter
private static List<TaskEntity> taskEntities;
private static List<DbTask> taskEntities;
@Getter
private static List<Dict> dicts;
@@ -60,7 +60,7 @@ public final class MetaKit {
reload(DbAccount.class);
reload(MetaPlat.class);
reload(MetaUser.class);
reload(TaskEntity.class);
reload(DbTask.class);
reload(Dict.class);
/*
@@ -122,8 +122,8 @@ public final class MetaKit {
Type type = new TypeToken<List<MetaUser>>() {
}.getType();
users = FileKit.readAs(file, type);;
} else if (TaskEntity.class == clazz) {
Type type = new TypeToken<List<TaskEntity>>() {
} else if (DbTask.class == clazz) {
Type type = new TypeToken<List<DbTask>>() {
}.getType();
taskEntities = FileKit.readAs(file, type);;
} else if (Dict.class == clazz) {
@@ -139,8 +139,8 @@ public final class MetaKit {
else if (MetaDb.class == clazz) dbPlats = DbAccount.dao.find();
else if (MetaPlat.class == clazz) sysPlats = MetaPlat.dao.find();
else if (MetaUser.class == clazz) users = MetaUser.dao.find();
else if (TaskEntity.class == clazz) {
taskEntities = TaskEntity.dao.find();
else if (DbTask.class == clazz) {
taskEntities = DbTask.dao.find();
TaskKit.init();
} else if (Dict.class == clazz) {
dicts = Dict.dao.find();
@@ -159,7 +159,7 @@ public final class MetaKit {
cacheSave(DbAccount.class);
cacheSave(MetaPlat.class);
cacheSave(MetaUser.class);
cacheSave(TaskEntity.class);
cacheSave(DbTask.class);
cacheSave(Dict.class);
}
@@ -171,7 +171,7 @@ public final class MetaKit {
else if (DbAccount.class == clazz) list = dbPlats;
else if (MetaPlat.class == clazz) list = sysPlats;
else if (MetaUser.class == clazz) list = users;
else if (TaskEntity.class == clazz) list = taskEntities;
else if (DbTask.class == clazz) list = taskEntities;
else if (Dict.class == clazz) list = dicts;
if (list == null || list.size() == 0) return;

View File

@@ -1,5 +1,8 @@
package net.tccn.base;
import net.tccn.base.dbq.jdbc.api.DbSource;
import net.tccn.base.dbq.jdbc.api.DbSourceMysql;
import java.lang.reflect.Array;
import java.util.*;
import java.util.stream.Collectors;
@@ -12,11 +15,12 @@ public class Utils {
/**
* 将集合数组合并到一个Set<T> 集合中
*
* @param <T> 泛型
* @param streams 集合数组
* @return
*/
public static <T> Stream<T> concat(Stream<T> ... streams) {
public static <T> Stream<T> concat(Stream<T>... streams) {
Stream<T> stream = Stream.empty();
for (int i = 0; i < streams.length; i++) {
stream = Stream.concat(stream, streams[i]);
@@ -26,6 +30,7 @@ public class Utils {
/**
* 将字符串第一个字母转大写
*
* @param str 待转换字符串
* @return
*/
@@ -36,6 +41,7 @@ public class Utils {
/**
* 转化集合为数组,带泛型支持
*
* @param values 集合
* @param <T> 泛型
* @return
@@ -53,6 +59,7 @@ public class Utils {
/**
* 转化集合为数组,带泛型支持
*
* @param values 集合
* @param <T> 泛型
* @return
@@ -66,13 +73,12 @@ public class Utils {
}
/**
*
* @param type 待加载的class 类型
* @param name class 的实现名称
* @param <T> 泛型<T>
* @param <T> 泛型<T>
* @return
*/
public static <T extends IService> T getDbSource(Class<T> type, String name) {
public static <T extends DbSource> T getDbSource(Class<T> type, String name) {
ServiceLoader<T> loader = ServiceLoader.load(type);
Iterator<T> iterator = loader.iterator();
@@ -82,6 +88,11 @@ public class Utils {
return t;
}
}
/*if ("mysql".equalsIgnoreCase(name)) {
return (T) new DbSourceMysql();
}*/
return null;
}

View File

@@ -5,6 +5,7 @@ import net.tccn.base.arango.Doc;
import org.redkale.convert.ConvertColumn;
import javax.persistence.Table;
import java.util.List;
/**
* 数据库平台
@@ -12,7 +13,7 @@ import javax.persistence.Table;
* @author: liangxianyou at 2018/11/14 12:58.
*/
@Data
@Table(name = "db_plat", catalog = "db_meta")
@Table(name = "MetaDb", catalog = "db_meta")
public class DbAccount extends Doc<DbAccount> {
public static DbAccount dao = dao(DbAccount.class);
@@ -22,7 +23,8 @@ public class DbAccount extends Doc<DbAccount> {
private String url; //数据库连接地址
private String user; //账号
private String pwd; //密码
private String[] catalogs; //库
private List<String> catalogs; //库
private Integer status;//状态 1启用 0 未启用
//----------------------------
private boolean tmp; // TODO: 处理临时连接对象

View File

@@ -9,9 +9,9 @@ import javax.persistence.Table;
* @author: liangxianyou at 2018/11/13 14:59.
*/
@Data
@Table(name = "qtask", catalog = "db_dev")
public class Qtask extends Doc<Qtask> {
public static Qtask dao = dao(Qtask.class);
@Table(name = "DbTask", catalog = "db_meta")
public class DbTask extends Doc<DbTask> {
public static DbTask dao = dao(DbTask.class);
private String queryId; //查询id
private String name; //业务名称

View File

@@ -2,6 +2,7 @@ package net.tccn.plat;
import lombok.Data;
import net.tccn.base.arango.Doc;
import org.redkale.convert.ConvertColumn;
import javax.persistence.Table;
import java.util.List;
@@ -11,7 +12,7 @@ import java.util.List;
* @author: liangxianyou at 2018/11/14 12:58.
*/
@Data
@Table(name = "MetaDb", catalog = "db_dev")
@Table(name = "MetaDb", catalog = "db_meta")
public class MetaDb extends Doc<MetaDb> {
public static MetaDb dao = dao(MetaDb.class);
@@ -21,6 +22,22 @@ public class MetaDb extends Doc<MetaDb> {
private String url; //数据库连接地址
private String user; //账号
private String pwd; //密码
private List<String> catalogs; //库
private String[] catalogs; //库
private Integer status;//状态 1启用 0 未启用
public String accountKey() {
int start = url.indexOf("//") + 2;
int end = url.indexOf("/", start);
int endDef = url.indexOf("?", end);
if (endDef == -1) {
endDef = url.length();
}
String host = url.substring(start, end == -1 ? url.length() : end);
return user + ":" + pwd + "@" + host;
}
@ConvertColumn(ignore = true)
public String getPwd() {
return pwd;
}
}

View File

@@ -9,9 +9,9 @@ import javax.persistence.Table;
* Created by liangxianyou at 2019/4/20 20:04.
*/
@Data
@Table(name = "qtask", catalog = "db_meta")
public class TaskEntity extends Doc<TaskEntity> {
public static TaskEntity dao = dao(TaskEntity.class);
@Table(name = "DbTask", catalog = "db_meta")
public class DbTask extends Doc<DbTask> {
public static DbTask dao = dao(DbTask.class);
private String name; // 任务标识码
private String title; // 任务名称

View File

@@ -14,7 +14,7 @@ import java.util.Optional;
*/
public class TaskKit {
static final JsonConvert convert = JsonConvert.root();
private static List<TaskEntity> taskEntities;
private static List<DbTask> taskEntities;
static {
init();
@@ -25,11 +25,11 @@ public class TaskKit {
}
public static Task buildTask(String name, String platToken, Kv para) {
TaskEntity taskEntity = getTaskEntity(name, platToken);
DbTask taskEntity = getTaskEntity(name, platToken);
return buildTask(taskEntity, para);
}
public static Task buildTask(TaskEntity taskEntity, Kv para) {
public static Task buildTask(DbTask taskEntity, Kv para) {
Task task = new Task();
task.setName(taskEntity.getName());
task.setTitle(taskEntity.getTitle());
@@ -51,11 +51,11 @@ public class TaskKit {
return task;
}
public static TaskEntity getTaskEntity(String name, String platToken) {
public static DbTask getTaskEntity(String name, String platToken) {
Objects.requireNonNull(name);
Objects.requireNonNull(platToken);
Optional<TaskEntity> any = taskEntities.stream()
Optional<DbTask> any = taskEntities.stream()
.filter(x -> name.equals(x.getName()) && MetaKit.getPlatId(platToken).equals(x.getSysPlatId()))
.findAny();
return any.get();
@@ -66,7 +66,7 @@ public class TaskKit {
return QRuner.query(task);
}
public static Object taskRun(TaskEntity entity) {
public static Object taskRun(DbTask entity) {
Task task = buildTask(entity, Kv.of());
return QRuner.query(task);
}

View File

@@ -13,19 +13,19 @@ import org.redkale.util.Comment;
public class _QtaskService extends BaseService {
@Comment("qtask列表")
public JBean list(TaskEntity task, Flipper flipper, @RestParam(name = "platToken") String token) {
public JBean list(DbTask task, Flipper flipper, @RestParam(name = "platToken") String token) {
if (task == null) {
task = new TaskEntity();
task = new DbTask();
}
task.setSysPlatId(platId(token));
PageBean<TaskEntity> page = TaskEntity.dao.findPage(task, flipper);
PageBean<DbTask> page = DbTask.dao.findPage(task, flipper);
return JBean.by(0, "", page);
}
@Comment("qtask保存")
public JBean save(TaskEntity task, @RestParam(name = "platToken") String token) {
public JBean save(DbTask task, @RestParam(name = "platToken") String token) {
JBean jBean = new JBean();
do {
@@ -35,11 +35,11 @@ public class _QtaskService extends BaseService {
}
// 同平台name 唯一校验
TaskEntity bean = new TaskEntity();
DbTask bean = new DbTask();
bean.setSysPlatId(platId(token));
bean.setName(task.getName());
TaskEntity entity = TaskEntity.dao.findFirst(bean);
DbTask entity = DbTask.dao.findFirst(bean);
if (entity != null && !entity.getKey().equals(task.getKey())) {
jBean.set(-1, "任务标识码被占用");
break;
@@ -60,7 +60,7 @@ public class _QtaskService extends BaseService {
}
@Comment("debug调试接口")
public JBean debug(TaskEntity task, @RestParam(name = "platToken") String token) {
public JBean debug(DbTask task, @RestParam(name = "platToken") String token) {
JBean jBean = new JBean();
Object res = TaskKit.taskRun(task);

View File

@@ -7,7 +7,7 @@ import net.tccn.dict.Dict;
import net.tccn.dict.DictKit;
import net.tccn.meta.MetaService;
import net.tccn.meta.MetaTable;
import net.tccn.qtask.TaskEntity;
import net.tccn.qtask.DbTask;
import net.tccn.qtask.TaskKit;
import net.tccn.user.MetaUser;
import org.apache.poi.ss.usermodel.Workbook;
@@ -284,7 +284,7 @@ public class RunTest<T> {
//@Test
public void taskRunTest() {
TaskEntity entity = TaskEntity.dao.findByKey("23074420");
DbTask entity = DbTask.dao.findByKey("23074420");
if (entity != null) {
System.out.printf("------------------------%n%s%n------------------------%n", convert.convertTo(TaskKit.taskRun(entity)));