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(" " + data.getString("templateKeyName") + "\n"); tdSb.append(" {{" + data.getString("templateCode") + "." + data.getString("templateKey") + "}}\n"); JSONArray columns = data.getJSONArray("columns"); for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) { JSONObject column = columns.getJSONObject(columnIndex); thSb.append(" " + column.getString("cnCode") + "\n"); tdSb.append(" {{" + data.getString("templateCode") + "." + column.getString("code") + "}}\n"); } thSb.append(" 操作\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); } }