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

View File

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

View File

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

View File

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

View File

@@ -2,6 +2,7 @@ package net.tccn.plat;
import lombok.Data; import lombok.Data;
import net.tccn.base.arango.Doc; import net.tccn.base.arango.Doc;
import org.redkale.convert.ConvertColumn;
import javax.persistence.Table; import javax.persistence.Table;
import java.util.List; import java.util.List;
@@ -11,7 +12,7 @@ import java.util.List;
* @author: liangxianyou at 2018/11/14 12:58. * @author: liangxianyou at 2018/11/14 12:58.
*/ */
@Data @Data
@Table(name = "MetaDb", catalog = "db_dev") @Table(name = "MetaDb", catalog = "db_meta")
public class MetaDb extends Doc<MetaDb> { public class MetaDb extends Doc<MetaDb> {
public static MetaDb dao = dao(MetaDb.class); public static MetaDb dao = dao(MetaDb.class);
@@ -21,6 +22,22 @@ public class MetaDb extends Doc<MetaDb> {
private String url; //数据库连接地址 private String url; //数据库连接地址
private String user; //账号 private String user; //账号
private String pwd; //密码 private String pwd; //密码
private List<String> catalogs; //库 private String[] catalogs; //库
private Integer status;//状态 1启用 0 未启用 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. * Created by liangxianyou at 2019/4/20 20:04.
*/ */
@Data @Data
@Table(name = "qtask", catalog = "db_meta") @Table(name = "DbTask", catalog = "db_meta")
public class TaskEntity extends Doc<TaskEntity> { public class DbTask extends Doc<DbTask> {
public static TaskEntity dao = dao(TaskEntity.class); public static DbTask dao = dao(DbTask.class);
private String name; // 任务标识码 private String name; // 任务标识码
private String title; // 任务名称 private String title; // 任务名称

View File

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

View File

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

View File

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