From fd7eafe5b15a59728edd5d31c018590bd626ea83 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 26 四月 2022 19:36:47 +0800
Subject: [PATCH] 优化代码
---
java110-generator/src/main/java/com/java110/code/web/GeneratorManagerComponent.java | 368 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 368 insertions(+), 0 deletions(-)
diff --git a/java110-generator/src/main/java/com/java110/code/web/GeneratorManagerComponent.java b/java110-generator/src/main/java/com/java110/code/web/GeneratorManagerComponent.java
new file mode 100755
index 0000000..b3eaaee
--- /dev/null
+++ b/java110-generator/src/main/java/com/java110/code/web/GeneratorManagerComponent.java
@@ -0,0 +1,368 @@
+package com.java110.code.web;
+
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.code.back.BaseGenerator;
+import com.java110.code.util.FileUtilBase;
+
+public class GeneratorManagerComponent extends BaseGenerator {
+
+ public void generator(JSONObject data) throws Exception {
+
+ //澶勭悊缁勪欢
+ generatorComponentHtml(data);
+ generatorComponentJs(data);
+ // generatorComponentJava(data);
+ // genneratorIListSmo(data);
+ // genneratorListSmoImpl(data);
+// genneratorVo(data);
+
+// genneratorDataVo(data);
+
+
+ }
+
+ /**
+ * 鐢熸垚 html js java 绫�
+ *
+ * @param data
+ */
+ private void generatorComponentHtml(JSONObject data) {
+
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/manage/manage.html").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceTemplateContext(fileContext, data);
+
+ //澶勭悊鏌ヨ鏉′欢
+ JSONArray tmpConditions = data.getJSONArray("conditions");
+
+ StringBuffer conditionInput = new StringBuffer();
+ StringBuffer vcCreate = new StringBuffer();
+
+ for (int condIndex = 0; condIndex < tmpConditions.size(); condIndex++) {
+
+ JSONObject tmpCond = tmpConditions.getJSONObject(condIndex);
+
+ if (condIndex % 3 == 0) {
+ conditionInput.append("<div class=\"row\">\n");
+ }
+
+ if (condIndex % 3 == 0 || condIndex % 3 == 1) {
+ conditionInput.append("<div class=\"col-sm-4\" ");
+ } else if (condIndex % 3 == 2) {
+ conditionInput.append("<div class=\"col-sm-3\" ");
+ }
+
+ if (condIndex > 2) {
+ conditionInput.append("v-if=\"" + data.getString("templateCode") + "ManageInfo.moreCondition == true\">\n");
+ } else {
+ conditionInput.append(">\n");
+ }
+
+ if ("choose".equals(tmpCond.getString("inputType"))) {
+ conditionInput.append(" <div class=\"form-group input-group\">\n" +
+ " <input type=\"text\" placeholder=\"璇烽�夋嫨" + tmpCond.getString("name") +
+ "\" v-model=\"" + data.getString("templateCode") + "ManageInfo.conditions." + tmpCond.getString("code") + "\" class=\" form-control\">\n" +
+ " <div class=\"input-group-prepend\">\n" +
+ " <button type=\"button\" class=\"btn btn-primary btn-sm\" v-on:click=\"_open" + toUpperCaseFirstOne(tmpCond.getString("componentName")) + "Method()\"><i\n" +
+ " class=\"glyphicon glyphicon-search\"></i> 閫夋嫨\n" +
+ " </button>\n" +
+ " </div>\n" +
+ " </div>\n");
+
+ if (tmpCond.containsKey("componentName")) {
+ vcCreate.append("<vc:create path=\"" + tmpCond.getString("componentName") + "\"\n" +
+ " emit" + toUpperCaseFirstOne(tmpCond.getString("componentName")) + "=\"" + data.getString("templateCode") + "Manage\"\n" +
+ " emitLoadData=\"" + data.getString("templateCode") + "Manage\"\n" +
+ " ></vc:create>\n");
+
+ }
+
+ } else if ("input".equals(tmpCond.getString("inputType"))) {
+ conditionInput.append("<div class=\"form-group\">\n" +
+ " <input type=\"text\" placeholder=\"璇疯緭鍏�" + tmpCond.getString("name") + "\" v-model=\"" + data.getString("templateCode") + "ManageInfo.conditions." + tmpCond.getString("code") + "\" class=\" form-control\">\n" +
+ " </div>");
+ } else if ("select".equals(tmpCond.getString("inputType"))){
+
+ String[] selectValues = tmpCond.getString("selectValue").split(",");
+ String[] selectValueNames = tmpCond.getString("selectValueName").split(",");
+
+
+ String option = "";
+ for (int valueIndex = 0; valueIndex < selectValues.length; valueIndex++) {
+
+ String value = selectValues[valueIndex];
+
+ option += "<option value=\"" + value + "\">" + selectValueNames[valueIndex] + "</option>\n";
+
+ }
+
+ conditionInput.append("<select class=\"custom-select\" v-model=\"" + data.getString("templateCode") + "ManageInfo.conditions." + tmpCond.getString("code") +"\">\n" +
+ " <option selected value=\"\">璇烽�夋嫨" + tmpCond.getString("name") + "</option>\n" +
+ " " +option+
+ " </select>"
+ );
+
+ }
+
+ conditionInput.append(" </div>");
+ if (condIndex == 2) {
+ conditionInput.append("<div class=\"col-sm-1\">\n" +
+ " <button type=\"button\" class=\"btn btn-primary btn-sm\" v-on:click=\"_query" + toUpperCaseFirstOne(data.getString("templateCode")) + "Method()\">\n" +
+ " <i class=\"glyphicon glyphicon-search\"></i> 鏌ヨ\n" +
+ " </button>\n" +
+ " </div>");
+ } else if (condIndex % 3 == 2) {
+ conditionInput.append("<div class=\"col-sm-1\">\n" +
+ " </div>");
+
+ }
+
+
+ if (condIndex % 3 == 2 || condIndex == tmpConditions.size() - 1) {
+ conditionInput.append("</div>\n");
+ }
+ }
+
+ fileContext = fileContext.replace("@@conditionInput@@", conditionInput.toString());
+ fileContext = fileContext.replace("@@vcCreate@@", vcCreate.toString());
+
+ if (tmpConditions.size() > 3) {
+ fileContext = fileContext.replace("@@moreCondition@@", "<button type=\"button\" class=\"btn btn-link btn-sm\" style=\"margin-right:10px;\" v-on:click=\"_moreCondition()\">{{"+ data.getString("templateCode") +"ManageInfo.moreCondition == true?'闅愯棌':'鏇村'}}</button>");
+ } else {
+ fileContext = fileContext.replace("@@moreCondition@@", "");
+
+ }
+
+ // 澶勭悊 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);
+ if (column.getBoolean("show")) {
+ 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");
+ tdSb.append(" <td class=\"text-center\"><div class=\"btn-group\">\n" +
+ " <button class=\"btn-white btn btn-xs\" v-on:click=\"_openEdit" + toUpperCaseFirstOne(data.getString("templateCode")) + "Model(" + data.getString("templateCode") + ")\">淇敼</button>\n" +
+ " </div>\n" +
+ " <div class=\"btn-group\">\n" +
+ " <button class=\"btn-white btn btn-xs\" v-on:click=\"_openDelete" + toUpperCaseFirstOne(data.getString("templateCode")) + "Model(" + data.getString("templateCode") + ")\">鍒犻櫎</button>\n" +
+ " </div></td>\n");
+
+ fileContext = fileContext.replace("@@columnsCnCode@@", thSb.toString())
+ .replace("@@columnsName@@", tdSb.toString());
+
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/web/pages/" + data.getString("directories") + "/" + data.getString("templateCode") + "Manage/" + data.getString("templateCode") + "Manage.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/manage/manage.js").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceTemplateContext(fileContext, data);
+
+ //澶勭悊鏌ヨ鏉′欢
+ JSONArray tmpConditions = data.getJSONArray("conditions");
+
+ StringBuffer conditionInput = new StringBuffer();
+
+ StringBuffer conditionMethod = new StringBuffer();
+
+ StringBuffer conditionEvent = new StringBuffer();
+
+ for (int condIndex = 0; condIndex < tmpConditions.size(); condIndex++) {
+
+ JSONObject tmpCond = tmpConditions.getJSONObject(condIndex);
+ conditionInput.append(tmpCond.getString("code") + ":'',\n");
+ if(tmpCond.containsKey("key")){
+ conditionInput.append(tmpCond.getString("key") + ":'',\n");
+ }
+
+ if (tmpCond.containsKey("componentName")) {
+ conditionMethod.append(",\n _open" + toUpperCaseFirstOne(tmpCond.getString("componentName")) + "Method:function(){\n" +
+ " vc.emit('" + tmpCond.getString("componentName") + "','open" + toUpperCaseFirstOne(tmpCond.getString("componentName")) + "Model',{});\n" +
+ "\n" +
+ " }"
+ );
+
+ conditionEvent.append("vc.on('" + data.getString("templateCode") + "Manage','" + tmpCond.getString("componentName") + "',function(_param){\n" +
+ " vc.copyObject(_param,vc.component." + data.getString("templateCode") + "ManageInfo.conditions);\n" +
+ " });\n");
+ }
+
+ }
+
+ fileContext = fileContext.replace("@@conditions@@", conditionInput.toString());
+ fileContext = fileContext.replace("@@extendMethods@@", conditionMethod.toString());
+ fileContext = fileContext.replace("@@extendEvent@@", conditionEvent.toString());
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/web/pages/" + data.getString("directories") + "/" + data.getString("templateCode") + "Manage/" + data.getString("templateCode") + "Manage.js";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
+
+
+ }
+
+ /**
+ * 鐢熸垚 html js java 绫�
+ *
+ * @param data
+ */
+ private void generatorComponentJava(JSONObject data) throws Exception {
+
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/manage/ManageComponent.java").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceTemplateContext(fileContext, data);
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/web/component/java/" + data.getString("templateCode") + "/" + toUpperCaseFirstOne(data.getString("templateCode")) + "ManageComponent.java";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
+ //澶嶅埗鐢熸垚鐨勬枃浠跺埌瀵瑰簲鍒嗗尯鐩綍涓�
+ FileUtilBase.copyfile(writePath,"FrontService\\src\\main\\java\\com\\java110\\front\\components\\" +data.getString("templateCode") + "/" + toUpperCaseFirstOne(data.getString("templateCode")) + "ManageComponent.java");
+
+
+ }
+
+ /**
+ * 鐢熸垚鎺ュ彛绫�
+ *
+ * @param data
+ */
+ private void genneratorIListSmo(JSONObject data) throws Exception {
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/manage/IListSMO.java").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceTemplateContext(fileContext, data);
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/web/smo/" + data.getString("templateCode") + "/IList" + toUpperCaseFirstOne(data.getString("templateCode")) + "sSMO.java";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
+ //澶嶅埗鐢熸垚鐨勬枃浠跺埌瀵瑰簲鍒嗗尯鐩綍涓�
+ FileUtilBase.copyfile(writePath,"FrontService\\src\\main\\java\\com\\java110\\front\\smo\\" +data.getString("templateCode") + "/IList" + toUpperCaseFirstOne(data.getString("templateCode")) + "sSMO.java");
+
+ }
+
+ /**
+ * 鐢熸垚鎺ュ彛绫�
+ *
+ * @param data
+ */
+ private void genneratorListSmoImpl(JSONObject data) throws Exception {
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/manage/ListSMOImpl.java").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceTemplateContext(fileContext, data);
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/web/smo/" + data.getString("templateCode") + "/impl/List" + toUpperCaseFirstOne(data.getString("templateCode")) + "sSMOImpl.java";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
+ //澶嶅埗鐢熸垚鐨勬枃浠跺埌瀵瑰簲鍒嗗尯鐩綍涓�
+ FileUtilBase.copyfile(writePath,"FrontService\\src\\main\\java\\com\\java110\\front\\smo\\" +data.getString("templateCode") + "/impl/List" + toUpperCaseFirstOne(data.getString("templateCode")) + "sSMOImpl.java");
+
+ }
+
+ /**
+ * 鐢熸垚API 渚﹀惉澶勭悊绫�
+ *
+ * @param data
+ */
+ private void genneratorListListener(JSONObject data) {
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/manage/ListListener.java").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceTemplateContext(fileContext, data);
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/api/listener/" + data.getString("templateCode") + "/List" + toUpperCaseFirstOne(data.getString("templateCode")) + "sListener.java";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
+ }
+
+ private void genneratorVo(JSONObject data) {
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/manage/ApiVo.java").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceTemplateContext(fileContext, data);
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/api/vo/" + data.getString("templateCode") + "/Api" + toUpperCaseFirstOne(data.getString("templateCode")) + "Vo.java";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
+ }
+
+ private void genneratorDataVo(JSONObject data) {
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/manage/ApiDataVo.java").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceTemplateContext(fileContext, data);
+ JSONArray columns = data.getJSONArray("columns");
+ String variable = "";
+ String variableGetSet = "";
+
+ variable += "private String " + data.getString("templateKey") + ";\n";
+
+ variableGetSet += "public String get" + toUpperCaseFirstOne(data.getString("templateKey")) + "() {\n"
+ + " return " + data.getString("templateKey") + ";\n"
+ + " }\n";
+ variableGetSet += "public void set" + toUpperCaseFirstOne(data.getString("templateKey")) + "(String " + data.getString("templateKey") + ") {\n"
+ + " this." + data.getString("templateKey") + " = " + data.getString("templateKey") + ";\n"
+ + " }\n";
+
+ for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
+ JSONObject column = columns.getJSONObject(columnIndex);
+ String key = column.getString("code");
+ variable += "private String " + key + ";\n";
+
+ variableGetSet += "public String get" + toUpperCaseFirstOne(key) + "() {\n"
+ + " return " + key + ";\n"
+ + " }\n";
+ variableGetSet += "public void set" + toUpperCaseFirstOne(key) + "(String " + key + ") {\n"
+ + " this." + key + " = " + key + ";\n"
+ + " }\n";
+ }
+
+ fileContext = fileContext.replace("@@templateColumns@@", variable + variableGetSet);
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/api/vo/" + data.getString("templateCode") + "/Api" + toUpperCaseFirstOne(data.getString("templateCode")) + "DataVo.java";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
+ }
+
+}
--
Gitblit v1.8.0