Files
meta-kit/src/test/java/RunTest.java
2019-04-15 18:58:48 +08:00

225 lines
6.7 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 com.google.gson.Gson;
import net.tccn.base.Kv;
import net.tccn.base.MetaKit;
import net.tccn.base.TplKit;
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.MetaTable;
import net.tccn.qtask.QRuner;
import net.tccn.qtask.Task;
import net.tccn.user.User;
import org.junit.Test;
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> {
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() {
FBean fBean = new Gson().fromJson("{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.class);
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"));
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);
System.out.println(user);
}
@Test
public void tplTest() {
TplKit use = TplKit.use(true);
//use.addTpl(new File(FileKit.rootPath(), "tpl")); ok
//use.addTpl("/tpl/aql/db.sql"); //ok
use.addTpl("tpl\\aql\\db.sql"); //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("/tpl/_t.tpl");
buildMethod("table_link_list", "实体表包含link信息的列表");
}
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);
}
}