From 3c1353d79a33011d27c7f5f2c3dd1fdb3521fa71 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 31 七月 2019 10:41:03 +0800
Subject: [PATCH] redis 加入 密码支持
---
java110-code-generator/src/main/java/com/java110/code/relationship/GeneratorBindingComponent.java | 261 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 233 insertions(+), 28 deletions(-)
diff --git a/java110-code-generator/src/main/java/com/java110/code/relationship/GeneratorBindingComponent.java b/java110-code-generator/src/main/java/com/java110/code/relationship/GeneratorBindingComponent.java
index c6eb8c5..a1362f6 100644
--- a/java110-code-generator/src/main/java/com/java110/code/relationship/GeneratorBindingComponent.java
+++ b/java110-code-generator/src/main/java/com/java110/code/relationship/GeneratorBindingComponent.java
@@ -14,12 +14,144 @@
//澶勭悊缁勪欢
generatorComponentHtml(data);
generatorComponentJs(data);
- /* generatorComponentJava(data);
+ generatorComponentJava(data);
genneratorIListSmo(data);
genneratorListSmoImpl(data);
+
+
genneratorListListener(data);
- genneratorServiceCodeConstant(data);*/
+ genneratorServiceCodeConstant(data);
+
+
+ }
+
+ private void genneratorAddHtml(JSONObject data, String componentName) {
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/relationship/add/add.html").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceBindingTemplateContext(fileContext, data);
+
+ // 澶勭悊 th 淇℃伅
+
+ StringBuffer thSb = new StringBuffer();
+
+ JSONObject _currentObj = data.getJSONObject("components").getJSONObject(componentName);
+
+ JSONArray columns = _currentObj.getJSONArray("columns");
+ for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
+ JSONObject column = columns.getJSONObject(columnIndex);
+ if ("none".equals(column.getString("inputType"))) {
+ continue;
+ }
+ String required = column.getBoolean("required") ? "蹇呭~" : "閫夊~";
+ String inputStr = "";
+ if ("select".equals(column.getString("inputType"))) {
+
+ String[] selectValues = column.getString("selectValue").split(",");
+ String[] selectValueNames = column.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";
+
+ }
+
+ inputStr = "<select class=\"custom-select\" v-model=\"" + _currentObj.getString("templateCode") + "ViewInfo." + column.getString("code") + "\">\n" +
+ " <option selected disabled value=\"\">" + required + "锛岃閫夋嫨" + column.getString("cnCode") + "</option>\n" +
+ " " + option +
+ " </select>";
+ } else if ("textarea".equals(column.getString("inputType"))) {
+ inputStr = "<textarea placeholder=\"" + required + "锛岃濉啓" + column.getString("cnCode") + "\" class=\"form-control\"" +
+ " v-model=\"" + _currentObj.getString("templateCode") + "ViewInfo." + column.getString("code") + "\">" +
+ "</textarea>";
+ } else {
+ inputStr = " <input v-model=\"" + _currentObj.getString("templateCode") + "ViewInfo." + column.getString("code") + "\" " +
+ " type=\"text\" placeholder=\"" + required + "锛岃濉啓" + column.getString("cnCode") + "\" class=\"form-control\">\n";
+ }
+ thSb.append("<div class=\"form-group row\">\n" +
+ " <label class=\"col-sm-2 col-form-label\">" + column.getString("cnCode") + "</label>\n" +
+ " <div class=\"col-sm-10\">\n" +
+ inputStr +
+ " </div>\n" +
+ "</div>\n");
+
+ }
+
+ fileContext = fileContext.replace("@@addTemplateColumns@@", thSb.toString());
+
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/relationship/component/" + _currentObj.getString("package") + "/" + _currentObj.getString("templateCode") + "View/" + toUpperCaseFirstOne(_currentObj.getString("templateCode")) + "View.html";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
+ }
+
+ /**
+ * 鐢熸垚 html js java 绫�
+ *
+ * @param data
+ */
+ private void generatorAddJs(JSONObject data, String componentName) {
+
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/relationship/add/add.js").getFile());
+ String fileContext = sb.toString();
+
+ fileContext = super.replaceBindingTemplateContext(fileContext, data);
+
+
+ JSONObject _currentObj = data.getJSONObject("components").getJSONObject(componentName);
+ fileContext = fileContext.replace("@@columnTemplateCode@@", _currentObj.getString("templateCode"));
+ fileContext = fileContext.replace("@@ColumnTemplateCode@@", toUpperCaseFirstOne(_currentObj.getString("templateCode")));
+
+ //鏇挎崲 鍙橀噺@@templateCodeColumns@@
+ JSONArray columns = _currentObj.getJSONArray("columns");
+
+ StringBuffer variable = new StringBuffer();
+ String defaultValue = "";
+
+ String validateInfo = "";
+ for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
+ JSONObject column = columns.getJSONObject(columnIndex);
+ defaultValue = column.getBoolean("hasDefaultValue") ? column.getString("defaultValue") : "";
+ defaultValue = "'" + defaultValue + "'";
+ variable.append(column.getString("code") + ":" + defaultValue + ",\n");
+
+ validateInfo += "'" + _currentObj.getString("templateCode") + "ViewInfo." + column.getString("code") + "':[\n";
+ if (column.getBoolean("required")) {
+ validateInfo += "{\n" +
+ " limit:\"required\",\n" +
+ " param:\"\",\n" +
+ " errInfo:\"" + column.getString("cnCode") + "涓嶈兘涓虹┖\"\n" +
+ " },\n";
+ }
+
+ if (column.containsKey("limit") && !StringUtils.isEmpty(column.getString("limit"))) {
+ validateInfo += " {\n" +
+ " limit:\"" + column.getString("limit") + "\",\n" +
+ " param:\"" + column.getString("limitParam") + "\",\n" +
+ " errInfo:\"" + column.getString("limitErrInfo") + "\"\n" +
+ " },\n" +
+ " ],\n";
+ }
+
+ }
+ fileContext = fileContext.replace("@@templateCodeColumns@@", variable.toString());
+ fileContext = fileContext.replace("@@addTemplateCodeValidate@@", validateInfo);
+
+ // 鏇挎崲 鏁版嵁鏍¢獙閮ㄥ垎浠g爜
+
+
+ String writePath = this.getClass().getResource("/").getPath()
+ + "out/relationship/component/" + _currentObj.getString("package") + "/" + _currentObj.getString("templateCode") + "View/" + toUpperCaseFirstOne(_currentObj.getString("templateCode")) + "View.js";
+ System.out.printf("writePath: " + writePath);
+ writeFile(writePath,
+ fileContext);
}
@@ -30,13 +162,19 @@
* @param data
*/
private void genneratorServiceCodeConstant(JSONObject data) {
- StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/constant/ServiceCodeConstant.java").getFile());
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/relationship/constant/ServiceCodeConstant.java").getFile());
String fileContext = sb.toString();
- fileContext = super.replaceTemplateContext(fileContext, data);
+ fileContext = super.replaceBindingTemplateContext(fileContext, data);
+
+ String variable = data.getString("package").indexOf("Package") >0 ?
+ data.getString("package").replace("Package","") :
+ data.getString("package");
+ variable += ("." + data.getString("templateCode"));
+ fileContext = fileContext.replace("@@constantVariable@@", variable);
String writePath = this.getClass().getResource("/").getPath()
- + "out/web/constant/" + data.getString("templateCode") + "/ServiceCode" + toUpperCaseFirstOne(data.getString("templateCode")) + "Constant.java";
+ + "out/relationship/constant/" + data.getString("templateCode") + "/ServiceCode" + toUpperCaseFirstOne(data.getString("templateCode")) + "Constant.java";
System.out.printf("writePath: " + writePath);
writeFile(writePath,
fileContext);
@@ -69,7 +207,10 @@
" callBackFunction=\"notify\"\n" +
" ></vc:create>\n" +
" </div>\n");
-
+ //濡傛灉鐩稿簲缁勪欢涓嶅瓨鍦紝鍒欐牴鎹粍浠堕厤缃嚜鍔ㄧ敓鎴�
+ if (!flow.getBoolean("existsComponent")) {
+ genneratorAddHtml(data, flow.getString("vcName"));
+ }
}
int stepLastIndex = data.getBoolean("needAffirm") ? flows.size() : flows.size() - 1;
@@ -117,6 +258,11 @@
validateInfo.append("vc.emit('" + flow.getString("vcName") + "', 'onIndex', vc.component.serviceBindingInfo.index);\n");
+ //濡傛灉鐩稿簲缁勪欢涓嶅瓨鍦紝鍒欐牴鎹粍浠堕厤缃嚜鍔ㄧ敓鎴�
+ if (!flow.getBoolean("existsComponent")) {
+ generatorAddJs(data, flow.getString("vcName"));
+ }
+
}
String showAffirmPage = data.getBoolean("needAffirm") ? "纭淇℃伅" : "";
allStep.append(showAffirmPage);
@@ -144,13 +290,13 @@
*/
private void generatorComponentJava(JSONObject data) {
- StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/add/AddComponent.java").getFile());
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/relationship/binding/BindingComponent.java").getFile());
String fileContext = sb.toString();
- fileContext = super.replaceTemplateContext(fileContext, data);
+ fileContext = super.replaceBindingTemplateContext(fileContext, data);
String writePath = this.getClass().getResource("/").getPath()
- + "out/web/component/java/" + data.getString("templateCode") + "/Add" + toUpperCaseFirstOne(data.getString("templateCode")) + "Component.java";
+ + "out/relationship/component/java/" + data.getString("templateCode") + "/" + toUpperCaseFirstOne(data.getString("templateCode")) + "BindingComponent.java";
System.out.printf("writePath: " + writePath);
writeFile(writePath,
fileContext);
@@ -164,13 +310,13 @@
* @param data
*/
private void genneratorIListSmo(JSONObject data) {
- StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/add/IAddSMO.java").getFile());
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/relationship/binding/IBindingSMO.java").getFile());
String fileContext = sb.toString();
- fileContext = super.replaceTemplateContext(fileContext, data);
+ fileContext = super.replaceBindingTemplateContext(fileContext, data);
String writePath = this.getClass().getResource("/").getPath()
- + "out/web/smo/" + data.getString("templateCode") + "/IAdd" + toUpperCaseFirstOne(data.getString("templateCode")) + "SMO.java";
+ + "out/relationship/smo/" + data.getString("templateCode") + "/I" + toUpperCaseFirstOne(data.getString("templateCode")) + "BindingSMO.java";
System.out.printf("writePath: " + writePath);
writeFile(writePath,
fileContext);
@@ -182,18 +328,34 @@
* @param data
*/
private void genneratorListSmoImpl(JSONObject data) {
- StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/add/AddSMOImpl.java").getFile());
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/relationship/binding/BindingSMOImpl.java").getFile());
String fileContext = sb.toString();
- fileContext = super.replaceTemplateContext(fileContext, data);
+ fileContext = super.replaceBindingTemplateContext(fileContext, data);
//鏇挎崲鏍¢獙閮ㄥ垎浠g爜 @@validateTemplateColumns@@
- JSONArray columns = data.getJSONArray("columns");
+
+ JSONArray flows = data.getJSONArray("flows");
StringBuffer validateStr = new StringBuffer();
- for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
- JSONObject column = columns.getJSONObject(columnIndex);
- if (column.getBoolean("required")) {
- validateStr.append("Assert.hasKeyAndValue(paramIn, \"" + column.getString("code") + "\", \"" + column.getString("desc") + "\");\n");
+ for (int flowIndex = 0; flowIndex < flows.size(); flowIndex++) {
+
+ JSONObject flowObj = flows.getJSONObject(flowIndex);
+
+ if (flowObj.containsKey("existsComponent") && flowObj.getBoolean("existsComponent")) {
+ continue;
+ }
+
+ String vcName = flowObj.getString("vcName");
+
+ JSONObject vcObject = data.getJSONObject("components").getJSONObject(vcName);
+
+ JSONArray columns = vcObject.getJSONArray("columns");
+
+ for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
+ JSONObject column = columns.getJSONObject(columnIndex);
+ if (column.getBoolean("required")) {
+ validateStr.append("Assert.hasKeyByFlowData(infos, \"" + flowObj.getString("vcName") + "\", \"" + column.getString("code") + "\", \"" + column.getString("desc") + "\");\n");
+ }
}
}
@@ -201,7 +363,7 @@
String writePath = this.getClass().getResource("/").getPath()
- + "out/web/smo/" + data.getString("templateCode") + "/impl/Add" + toUpperCaseFirstOne(data.getString("templateCode")) + "SMOImpl.java";
+ + "out/relationship/smo/" + data.getString("templateCode") + "/impl/" + toUpperCaseFirstOne(data.getString("templateCode")) + "BindingSMOImpl.java";
System.out.printf("writePath: " + writePath);
writeFile(writePath,
fileContext);
@@ -213,26 +375,69 @@
* @param data
*/
private void genneratorListListener(JSONObject data) {
- StringBuffer sb = readFile(GeneratorStart.class.getResource("/web/add/SaveListener.java").getFile());
+ StringBuffer sb = readFile(GeneratorStart.class.getResource("/relationship/binding/BindingListener.java").getFile());
String fileContext = sb.toString();
- fileContext = super.replaceTemplateContext(fileContext, data);
+ fileContext = super.replaceBindingTemplateContext(fileContext, data);
//鏇挎崲鏍¢獙閮ㄥ垎浠g爜 @@validateTemplateColumns@@
- JSONArray columns = data.getJSONArray("columns");
+ JSONArray flows = data.getJSONArray("flows");
StringBuffer validateStr = new StringBuffer();
- for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
- JSONObject column = columns.getJSONObject(columnIndex);
- if (column.getBoolean("required")) {
- validateStr.append("Assert.hasKeyAndValue(reqJson, \"" + column.getString("code") + "\", \"" + column.getString("desc") + "\");\n");
+ StringBuffer variableStr = new StringBuffer();
+
+ StringBuffer ifCode = new StringBuffer();
+
+ StringBuffer methodCode = new StringBuffer();
+ for (int flowIndex = 0; flowIndex < flows.size(); flowIndex++) {
+
+ JSONObject flowObj = flows.getJSONObject(flowIndex);
+
+ String vcName = flowObj.getString("vcName");
+
+ variableStr.append("JSONObject " + vcName + " = getObj(infos, \"" + vcName + "\");\n");
+
+ ifCode.append("" +
+ " if(!hasKey("+vcName+", \"" + flowObj.getString("flowKey") + "\")){\n" +
+ " "+vcName+".put(\"" + flowObj.getString("flowKey") + "\", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_" + flowObj.getString("flowKey") + "));\n" +
+ " businesses.add(add" + toUpperCaseFirstOne(flowObj.getString("businessName")) + "("+vcName+", context));\n" +
+ " }\n");
+
+
+ methodCode.append("private JSONObject add"+toUpperCaseFirstOne(flowObj.getString("businessName"))+"(JSONObject paramInJson, DataFlowContext dataFlowContext) {\n" +
+ " JSONObject business = JSONObject.parseObject(\"{\\\"datas\\\":{}}\");\n" +
+ " business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant."+flowObj.getString("businessType")+");\n" +
+ " business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);\n" +
+ " business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);\n" +
+ " JSONObject businessObj = new JSONObject();\n" +
+ " businessObj.putAll(paramInJson);\n" +
+ " //璁$畻 搴旀敹閲戦\n" +
+ " business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(\""+flowObj.getString("businessName")+"\", businessObj);\n" +
+ " return business;\n" +
+ " }\n");
+ if (flowObj.containsKey("existsComponent") && flowObj.getBoolean("existsComponent")) {
+ continue;
+ }
+
+
+ JSONObject vcObject = data.getJSONObject("components").getJSONObject(vcName);
+
+ JSONArray columns = vcObject.getJSONArray("columns");
+
+ for (int columnIndex = 0; columnIndex < columns.size(); columnIndex++) {
+ JSONObject column = columns.getJSONObject(columnIndex);
+ if (column.getBoolean("required")) {
+ validateStr.append("Assert.hasKeyByFlowData(infos, \"" + flowObj.getString("vcName") + "\", \"" + column.getString("code") + "\", \"" + column.getString("desc") + "\");\n");
+ }
}
}
fileContext = fileContext.replace("@@validateTemplateColumns@@", validateStr.toString());
+ fileContext = fileContext.replace("@@doSoService@@", variableStr.toString() + ifCode.toString());
+ fileContext = fileContext.replace("@@bindingMethod@@", methodCode.toString());
String writePath = this.getClass().getResource("/").getPath()
- + "out/api/listener/" + data.getString("templateCode") + "/Save" + toUpperCaseFirstOne(data.getString("templateCode")) + "Listener.java";
+ + "out/api/listener/" + data.getString("templateCode") + "/Binding" + toUpperCaseFirstOne(data.getString("templateCode")) + "Listener.java";
System.out.printf("writePath: " + writePath);
writeFile(writePath,
fileContext);
--
Gitblit v1.8.0