package com.java110.code.web;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.java110.code.BaseGenerator;
|
|
/**
|
* @ClassName GeneratorChooseComponent
|
* @Description TODO
|
* @Author wuxw
|
* @Date 2019/7/27 10:26
|
* @Version 1.0
|
* add by wuxw 2019/7/27
|
**/
|
public class GeneratorChooseComponent extends BaseGenerator {
|
public void generator(JSONObject data) {
|
|
//处理组件
|
generatorComponentHtml(data);
|
generatorComponentJs(data);
|
generatorComponentJava(data);
|
|
}
|
|
|
/**
|
* 生成 html js java 类
|
*
|
* @param data
|
*/
|
private void generatorComponentHtml(JSONObject data) {
|
|
StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/choose/choose.html").getFile());
|
String fileContext = sb.toString();
|
|
fileContext = super.replaceTemplateContext(fileContext, data);
|
|
// 处理 th 信息
|
|
StringBuffer thSb = new StringBuffer();
|
StringBuffer tdSb = new StringBuffer();
|
thSb.append(" <th class=\"text-center\">" + data.getString("templateKeyName") + "</th>\n");
|
|
tdSb.append(" <td class=\"text-center\">{{" + data.getString("templateCode") + "." + data.getString("templateKey") + "}}</td>\n");
|
|
JSONArray columns = data.getJSONArray("columns");
|
for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
|
JSONObject column = columns.getJSONObject(columnIndex);
|
thSb.append(" <th class=\"text-center\">" + column.getString("cnCode") + "</th>\n");
|
|
tdSb.append(" <td class=\"text-center\">{{" + data.getString("templateCode") + "." + column.getString("code") + "}}</td>\n");
|
}
|
thSb.append(" <th class=\"text-center\">操作</th>\n");
|
|
fileContext = fileContext.replace("@@columnsCnCode@@", thSb.toString())
|
.replace("@@columnsName@@", tdSb.toString());
|
|
|
|
String writePath = this.getClass().getResource("/").getPath()
|
+"out/web/component/"+data.getString("templateCode")+"Package/choose-"+data.getString("templateCode")+"/choose"+toUpperCaseFirstOne(data.getString("templateCode"))+".html";
|
System.out.printf("writePath: " + writePath);
|
writeFile(writePath,
|
fileContext);
|
|
|
}
|
|
/**
|
* 生成 html js java 类
|
*
|
* @param data
|
*/
|
private void generatorComponentJs(JSONObject data) {
|
|
StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/choose/choose.js").getFile());
|
String fileContext = sb.toString();
|
|
fileContext = super.replaceTemplateContext(fileContext, data);
|
|
String writePath = this.getClass().getResource("/").getPath()
|
+"out/web/component/"+data.getString("templateCode")+"Package/choose-"+data.getString("templateCode")+"/choose"+toUpperCaseFirstOne(data.getString("templateCode"))+".js";
|
System.out.printf("writePath: " + writePath);
|
writeFile(writePath,
|
fileContext);
|
|
|
}
|
|
/**
|
* 生成 html js java 类
|
*
|
* @param data
|
*/
|
private void generatorComponentJava(JSONObject data) {
|
|
StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/choose/ChooseComponent.java").getFile());
|
String fileContext = sb.toString();
|
|
fileContext = super.replaceTemplateContext(fileContext, data);
|
|
String writePath = this.getClass().getResource("/").getPath()
|
+"out/web/component/java/"+data.getString("templateCode")+"/Choose"+toUpperCaseFirstOne(data.getString("templateCode"))+"Component.java";
|
System.out.printf("writePath: " + writePath);
|
writeFile(writePath,
|
fileContext);
|
|
|
}
|
|
|
}
|