This commit is contained in:
2019-04-15 18:58:48 +08:00
parent 9a7953aa47
commit c3b3cec3cb
6 changed files with 139 additions and 6 deletions

View File

@@ -112,6 +112,14 @@ public class TplKit {
return sqlPara.getSql().replaceAll("[\\s]+", " ");
}
public String getTpl(String key, Map data, boolean delSpace) {
if (!hadParse)
parseTpl();
SqlPara sqlPara = kit.getSqlPara(key, data);
return delSpace ? sqlPara.getSql().replaceAll("[\\s]+", " ") : sqlPara.getSql();
}
public String getTpl(String key, Object m) {
if (!hadParse)
parseTpl();

View File

@@ -200,6 +200,32 @@ public class MetadataService extends BaseService { //arango
return JBean.by(0, "");
}
@RestMapping(name = "table_link_list", comment = "实体表包含link信息的列表")
public JBean tableLinkList(@RestParam(name = "platToken") String token) {
JBean jBean = new JBean();
List<Kv> list =
MetaKit.getMetaTables().stream().filter(x ->
(isEmpty.test(token) || x.getSysPlatId().equals(platId(token)))
).map(x -> {
Kv kv = Kv.of("name", x.getName())
.set("comment", x.getComment())
.set("alias", x.getAlias())
.set("linkCount", 0);
//关联表数量
long count = MetaKit.getMetaLinks().stream().filter(link -> {
String[] tables = link.getTables();
return x.getAlias().equals(tables[0]) || x.getAlias().equals(tables[1]);
}).count();
kv.set("linkCount", count);
return kv;
}).collect(Collectors.toList());
return jBean.setBody(list);
}
@RestMapping(name = "link_list", comment = "实体关系列表")
public JBean linkList() {
JBean jBean = new JBean();
@@ -210,7 +236,7 @@ public class MetadataService extends BaseService { //arango
return jBean;
}
@RestMapping(name = "link_list", comment = "实体关系列表")
@RestMapping(name = "link_save", comment = "实体关系列表")
public JBean linkSave(MetaLink link, @RestParam(name = "platToken") String token) {
if (link.getKey() != null) {
link.update();

View File

@@ -0,0 +1,7 @@
#sql("service.method")
@RestMapping(name = "#(url)", comment = "#(comment)")
public JBean #(methodName)() {
return JBean.OK;
}
#end

View File

@@ -189,4 +189,36 @@ public class RunTest<T> {
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);
}
}