From 31e08a20287cb520122c4aad224432ac22e6982c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E6=98=BE=E4=BC=98?= <237809796@qq.com> Date: Fri, 4 Nov 2022 09:25:26 +0800 Subject: [PATCH] . --- src/main/java/net/tccn/base/MetaKit.java | 18 ++++++++-------- src/main/java/net/tccn/base/Utils.java | 19 +++++++++++++---- .../net/tccn/base/dbq/jdbc/api/DbAccount.java | 6 ++++-- .../dbq/qtask/{Qtask.java => DbTask.java} | 6 +++--- src/main/java/net/tccn/plat/MetaDb.java | 21 +++++++++++++++++-- .../qtask/{TaskEntity.java => DbTask.java} | 6 +++--- src/main/java/net/tccn/qtask/TaskKit.java | 12 +++++------ .../java/net/tccn/qtask/_QtaskService.java | 14 ++++++------- src/test/java/RunTest.java | 4 ++-- 9 files changed, 68 insertions(+), 38 deletions(-) rename src/main/java/net/tccn/base/dbq/qtask/{Qtask.java => DbTask.java} (83%) rename src/main/java/net/tccn/qtask/{TaskEntity.java => DbTask.java} (80%) diff --git a/src/main/java/net/tccn/base/MetaKit.java b/src/main/java/net/tccn/base/MetaKit.java index 89cb900..636b11b 100644 --- a/src/main/java/net/tccn/base/MetaKit.java +++ b/src/main/java/net/tccn/base/MetaKit.java @@ -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 users; @Getter - private static List taskEntities; + private static List taskEntities; @Getter private static List 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>() { }.getType(); users = FileKit.readAs(file, type);; - } else if (TaskEntity.class == clazz) { - Type type = new TypeToken>() { + } else if (DbTask.class == clazz) { + Type type = new TypeToken>() { }.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; diff --git a/src/main/java/net/tccn/base/Utils.java b/src/main/java/net/tccn/base/Utils.java index 9aa56b4..d8b7fc3 100644 --- a/src/main/java/net/tccn/base/Utils.java +++ b/src/main/java/net/tccn/base/Utils.java @@ -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 集合中 + * * @param 泛型 * @param streams 集合数组 * @return */ - public static Stream concat(Stream ... streams) { + public static Stream concat(Stream... streams) { Stream 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 泛型 * @return @@ -53,6 +59,7 @@ public class Utils { /** * 转化集合为数组,带泛型支持 + * * @param values 集合 * @param 泛型 * @return @@ -66,13 +73,12 @@ public class Utils { } /** - * * @param type 待加载的class 类型 * @param name class 的实现名称 - * @param 泛型 + * @param 泛型 * @return */ - public static T getDbSource(Class type, String name) { + public static T getDbSource(Class type, String name) { ServiceLoader loader = ServiceLoader.load(type); Iterator iterator = loader.iterator(); @@ -82,6 +88,11 @@ public class Utils { return t; } } + + /*if ("mysql".equalsIgnoreCase(name)) { + return (T) new DbSourceMysql(); + }*/ + return null; } diff --git a/src/main/java/net/tccn/base/dbq/jdbc/api/DbAccount.java b/src/main/java/net/tccn/base/dbq/jdbc/api/DbAccount.java index 6424e50..9349526 100644 --- a/src/main/java/net/tccn/base/dbq/jdbc/api/DbAccount.java +++ b/src/main/java/net/tccn/base/dbq/jdbc/api/DbAccount.java @@ -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 { public static DbAccount dao = dao(DbAccount.class); @@ -22,7 +23,8 @@ public class DbAccount extends Doc { private String url; //数据库连接地址 private String user; //账号 private String pwd; //密码 - private String[] catalogs; //库 + private List catalogs; //库 + private Integer status;//状态 1启用, 0 未启用 //---------------------------- private boolean tmp; // TODO: 处理临时连接对象 diff --git a/src/main/java/net/tccn/base/dbq/qtask/Qtask.java b/src/main/java/net/tccn/base/dbq/qtask/DbTask.java similarity index 83% rename from src/main/java/net/tccn/base/dbq/qtask/Qtask.java rename to src/main/java/net/tccn/base/dbq/qtask/DbTask.java index 04e2a29..89ba0fc 100644 --- a/src/main/java/net/tccn/base/dbq/qtask/Qtask.java +++ b/src/main/java/net/tccn/base/dbq/qtask/DbTask.java @@ -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 { - public static Qtask dao = dao(Qtask.class); +@Table(name = "DbTask", catalog = "db_meta") +public class DbTask extends Doc { + public static DbTask dao = dao(DbTask.class); private String queryId; //查询id private String name; //业务名称 diff --git a/src/main/java/net/tccn/plat/MetaDb.java b/src/main/java/net/tccn/plat/MetaDb.java index 4506ea5..29d0877 100644 --- a/src/main/java/net/tccn/plat/MetaDb.java +++ b/src/main/java/net/tccn/plat/MetaDb.java @@ -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 { public static MetaDb dao = dao(MetaDb.class); @@ -21,6 +22,22 @@ public class MetaDb extends Doc { private String url; //数据库连接地址 private String user; //账号 private String pwd; //密码 - private List 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; + } } diff --git a/src/main/java/net/tccn/qtask/TaskEntity.java b/src/main/java/net/tccn/qtask/DbTask.java similarity index 80% rename from src/main/java/net/tccn/qtask/TaskEntity.java rename to src/main/java/net/tccn/qtask/DbTask.java index cd71426..c960197 100644 --- a/src/main/java/net/tccn/qtask/TaskEntity.java +++ b/src/main/java/net/tccn/qtask/DbTask.java @@ -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 { - public static TaskEntity dao = dao(TaskEntity.class); +@Table(name = "DbTask", catalog = "db_meta") +public class DbTask extends Doc { + public static DbTask dao = dao(DbTask.class); private String name; // 任务标识码 private String title; // 任务名称 diff --git a/src/main/java/net/tccn/qtask/TaskKit.java b/src/main/java/net/tccn/qtask/TaskKit.java index ec004bf..ef8f70e 100644 --- a/src/main/java/net/tccn/qtask/TaskKit.java +++ b/src/main/java/net/tccn/qtask/TaskKit.java @@ -14,7 +14,7 @@ import java.util.Optional; */ public class TaskKit { static final JsonConvert convert = JsonConvert.root(); - private static List taskEntities; + private static List 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 any = taskEntities.stream() + Optional 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); } diff --git a/src/main/java/net/tccn/qtask/_QtaskService.java b/src/main/java/net/tccn/qtask/_QtaskService.java index 96ce4a2..c23b1f1 100644 --- a/src/main/java/net/tccn/qtask/_QtaskService.java +++ b/src/main/java/net/tccn/qtask/_QtaskService.java @@ -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 page = TaskEntity.dao.findPage(task, flipper); + PageBean 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); diff --git a/src/test/java/RunTest.java b/src/test/java/RunTest.java index 1f88a4c..4ccfeed 100644 --- a/src/test/java/RunTest.java +++ b/src/test/java/RunTest.java @@ -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 { //@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)));