Files
meta-kit/src/test/java/RunTest.java

374 lines
11 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import net.tccn.base.*;
import net.tccn.dbq.fbean.FBean;
import net.tccn.dbq.jdbc.api.DbAccount;
import net.tccn.dbq.jdbc.api.DbKit;
import net.tccn.dbq.parser.ParseMysql;
import net.tccn.meta.MetaService;
import net.tccn.meta.MetaTable;
import net.tccn.qtask.TaskEntity;
import net.tccn.qtask.TaskKit;
import net.tccn.user.User;
import org.apache.poi.ss.usermodel.Workbook;
import org.junit.Test;
import org.redkale.convert.json.JsonConvert;
import org.redkale.source.CacheMemorySource;
import org.redkale.util.TypeToken;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static java.util.Arrays.asList;
/**
* @author: liangxianyou at 2019/1/20 12:43.
*/
public class RunTest<T> {
JsonConvert convert = JsonConvert.root();
/*public static Task A = new Task("mysql", "select * from user where userid=#(userid)", "查询用户列表", Kv.of("userid", 1));
public static Task B = new Task("method", "User.say", "user调用", Kv.of("name", "张三").set("age", 13));
public static Task C = new Task("http", "http://127.0.0.1/meta/db_plat_list?platToken=3421432", "查询数据平台列表", Kv.of("abx", "abx111"));
public static Task d = new Task("es", "http://192.168.91.5:9200/_sql?", "查询数据平台列表", Kv.of("sql", "select * from basic_iotdevice_all limit 10"));
public static Task e = new Task("http", "http://192.168.91.5:9200/_sql?sql=select%20*%20from%20basic_iotdevice_all%20limit%2010", "查询数据平台列表", Kv.of());
*/
//@Test
/*public void qtaskTest() {
long start = System.currentTimeMillis();
Object query = QRuner.query(d);
System.out.printf("耗时:%s MS" ,System.currentTimeMillis() - start);
System.out.println();
System.out.println(query);
//System.out.println(query.getClass());
}*/
ParseMysql parser = new ParseMysql();
//@Test
public void parseFBeanTest() {
String str = "{name:'user_service', filters:[{col:'a.username',type:'like',value:'lxy'}], orders:[{col:a.`id`,desc: -1},{col:a.`deptName`,desc: 1}], limit:{ps:2,pn:10}}";
//FBean fBean = new Gson().fromJson(str, FBean.class);
FBean fBean = convert.convertFrom(FBean.class, str);
String[] parse = parser.parse(fBean);
System.out.println("count:" + parse[0]);
System.out.println("list:" + parse[1]);
}
@Test
public void jdbcTest() {
//DbAccount jdbcAccount = new DbAccount("jdbc:mysql://192.168.202.11:3306/gxbii_dev", "root", "eversec123098");
DbAccount dbAccount = new DbAccount();
dbAccount.setCate("mysql");
dbAccount.setUrl("jdbc:mysql://192.168.202.11:3306/gxbii_dev");
dbAccount.setUser("root");
dbAccount.setPwd("eversec123098");
DbKit dbKit = new DbKit(dbAccount, "");
//String sql = "select * from basic_concat limit 1";
String sql = "show databases;";
// find list
List<Map> list = dbKit.findList(sql, Map.class);
System.out.println(list.get(0));
//find count
/*long total = dbKit.queryColumn("select count(1) from basic_device", long.class);
System.out.println(total);
System.out.println(int.class);*/
}
@Test
public void toAsTest() {
Date date = Kv.toAs("2019-03-17 12:11:12", Date.class);
System.out.println(date);
System.out.println("--------------");
Long aLong = Kv.toAs("34132213", Long.class);
System.out.println(aLong);
System.out.println("--------------");
Integer integer = Kv.toAs("34132213", Integer.class);
System.out.println(integer);
System.out.println("--------------");
Short aShort = Kv.toAs("121", short.class);
System.out.println(aShort);
System.out.println("--------------");
Double aDouble = Kv.toAs("4658132213", double.class);
System.out.println(aDouble);
System.out.println("--------------");
String s = Kv.toAs("4658132213", String.class);
System.out.println(s);
System.out.println("--------------");
//Date date1 = Kv.toAs("Sun Mar 17 12:11:12 CST 2019", Date.class);
//System.out.println(date1);
}
//@Test
public void buildeDetailTest() {
Kv kv = MetaKit.buildeDetail(MetaKit.getMetaService("user_service", "3421432"));
System.out.println(kv);
}
@Test
public void upDb$() {
/*MetaKit.getMetaServices().forEach(m -> {
List<String> shows = new ArrayList<>();
m.getShows().forEach(x -> {
shows.add(x.replace(".", "$"));
});
m.setShows(shows);
m.update();
});*/
//System.out.println("a$id".split("[$]")[0]);
System.out.println("x.abx".replace(".", "\\."));
}
@Test
public void findMaxNum() {
int xx = asList("1", "5", "3").stream().filter(x -> !x.isEmpty()).mapToInt(x -> {
return Integer.parseInt(x) * 2;
}).min().orElseGet(()-> 0);
System.out.println(xx);
}
//@Test
public void userCreate() {
User user = new User();
user.setUsername("admin");
user.setCreateTime(System.currentTimeMillis());
user.setPwd(User.md5IfNeed("123456"));
user.setStatus(1);
user.save();
}
@Test
public void t() {
System.out.println(MetaKit.nextAlias());
}
@Test
public void kvTest() {
Map map = new HashMap<>();
map.put("name", "xxxx");
map.put("age", 12);
map.put("abx", 123);
UserBean user = Kv.toBean(map, UserBean.class);
Kv kv = Kv.toKv(user, "name", "abxx=age");
System.out.println(user);
System.out.println(kv);
}
@Test
public void tplTest() {
TplKit use = TplKit.use(true);
use.addTpl(new File(FileKit.rootPath(), "tpl")); //ok
String tpl = use.getTpl("db.table_list", Kv.of("catalogs", asList("redbbs")));
System.out.println(tpl);
}
//@Test
public void T() {
List<MetaTable> metaTables = MetaKit.getMetaTables();
System.out.println(metaTables.size());
}
TplKit tplKit = TplKit.use();
// @Test
public void buildMethod() {
tplKit.addTpl(new File(FileKit.rootPath(), "/tpl/_t.tpl"));
//buildMethod("table_link_list", "实体表包含link信息的列表");
buildMethod("link_info", "关联信息 ");
}
private void buildMethod(String url, String comment) {
String[] arr = url.split("_");
String methodName = "";
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
methodName = arr[i].toLowerCase();
} else {
methodName += toUpperCaseFirst(arr[i].toLowerCase());
}
}
Kv kv = Kv.of("url", url).set("comment", comment).set("methodName", methodName);
String tpl = tplKit.getTpl("service.method", kv, false);
System.out.println(tpl);
}
private String toUpperCaseFirst(String str){
return str.substring(0, 1).toUpperCase() + str.substring(1);
}
//@Test
public void taskRunTest() {
TaskEntity entity = TaskEntity.dao.findByKey("23074420");
if (entity != null) {
System.out.printf("------------------------%n%s%n------------------------%n", convert.convertTo(TaskKit.taskRun(entity)));
}
}
@Test
public void dataToFileTest() {
List<MetaService> metaServices = MetaService.dao.find();
MetaKit metaKit = new MetaKit();
try {
File file = new File("tmp/metaKit.json");
file.getParentFile().mkdirs();
FileKit.strToFile(convert.convertTo(metaKit), file);
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void readJson() {
File file = new File("tmp/MetaService.json");
try {
Type type = new TypeToken<List<MetaService>>() {
}.getType();
List<MetaService> list = convert.convertFrom(type, new FileInputStream(file));
System.out.println(list);
} catch (IOException e) {
e.printStackTrace();
}
Class clazz = MetaService.class;
//File file = new File(String.format("tmp/%s.json", clazz.getSimpleName()));
/*
写入数据到 文件
MetaKit.cacheSave(MetaTable.class);
MetaKit.cacheSave(MetaLink.class);
MetaKit.cacheSave(MetaService.class);
MetaKit.cacheSave(DbAccount.class);
MetaKit.cacheSave(SysPlat.class);*/
}
//@Test
public void cacheMemorySourceTest() {
CacheMemorySource source = new CacheMemorySource();
//MetaKit.dcate = "db";
//MetaKit.init();
List<MetaTable> list = MetaKit.getMetaTables();
list.forEach(x -> {
source.set(x.getKey(), x.getClass(), x);
});
MetaTable metaTable = (MetaTable) source.get(list.get(0).getKey(), MetaTable.class);
metaTable.setAlias("xxxxx");
metaTable = (MetaTable) source.get(list.get(0).getKey(), MetaTable.class);
System.out.println(metaTable);
}
public List<Map> dbKitTest() {
DbAccount dbAccount = new DbAccount();
dbAccount.setCate("mysql");
dbAccount.setUrl("jdbc:mysql://192.168.202.11:3306/gxbii_dev");
dbAccount.setUser("root");
dbAccount.setPwd("eversec123098");
DbKit dbKit = new DbKit(dbAccount, "");
String sql = "select platID,platDomain,platIP from basic_domain limit 10";
String countSql = "select count(*) from basic_domain";
// find list
List<Map> list = dbKit.findList(sql, Map.class);
int total = dbKit.queryColumn(countSql, int.class);
System.out.println("总记录数:" + total);
System.out.println(list);
return list;
}
// 通用导出组件测试
@Test
public void exportTest() {
List<Map> list = dbKitTest();
Kv kv = Kv.of("platID", "平台id")
.set("platDomain", "平台域名").set("platIP", "平台IP");
try {
Workbook workbook = ExcelKit.exportExcel(list, kv);
workbook.write(new FileOutputStream(new File("tmp/basic_domain.xls")));
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void switchTest() {
String a = "2";
switch (a){
case "1":
System.out.println(1);
case "2":
System.out.println(2);
case "3":
System.out.println(3);
case "4":
System.out.println(4);
}
System.out.println("end");
}
}