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 { 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 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 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 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); } }