浏览代码

优化代码

java110 4 年之前
父节点
当前提交
aacd96f8b7

+ 27 - 0
java110-core/src/main/java/com/java110/core/language/Cn.java

@@ -1,5 +1,7 @@
 package com.java110.core.language;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.menu.MenuDto;
 import com.java110.dto.menuCatalog.MenuCatalogDto;
 import com.java110.utils.util.StringUtil;
@@ -52,6 +54,31 @@ public class Cn extends DefaultLanguage {
         return menuDtos;
     }
 
+    @Override
+    public JSONArray getPrivilegeMenuDto(JSONArray tmpPrivilegeArrays) {
+        String menuName = "";
+        JSONObject priObj = null;
+        for (int priIndex = 0;priIndex < tmpPrivilegeArrays.size(); priIndex++) {
+            priObj = tmpPrivilegeArrays.getJSONObject(priIndex);
+            menuName = menus.get(priObj.get("gName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("gName", menuName);
+            }
+
+            menuName = menus.get(priObj.get("mName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("mName", menuName);
+            }
+
+            menuName = menus.get(priObj.get("pName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("pName", menuName);
+            }
+
+        }
+        return tmpPrivilegeArrays;
+    }
+
     @Override
     public ResultVo getResultVo(ResultVo resultVo) {
         String msg = msgs.get(resultVo.getMsg());

+ 27 - 0
java110-core/src/main/java/com/java110/core/language/En.java

@@ -1,5 +1,7 @@
 package com.java110.core.language;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.menuCatalog.MenuCatalogDto;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
@@ -50,6 +52,31 @@ public class En extends DefaultLanguage{
         return menuDtos;
     }
 
+    @Override
+    public JSONArray getPrivilegeMenuDto(JSONArray tmpPrivilegeArrays) {
+        String menuName = "";
+        JSONObject priObj = null;
+        for (int priIndex = 0;priIndex < tmpPrivilegeArrays.size(); priIndex++) {
+            priObj = tmpPrivilegeArrays.getJSONObject(priIndex);
+            menuName = menus.get(priObj.get("gName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("gName", menuName);
+            }
+
+            menuName = menus.get(priObj.get("mName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("mName", menuName);
+            }
+
+            menuName = menus.get(priObj.get("pName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("pName", menuName);
+            }
+
+        }
+        return tmpPrivilegeArrays;
+    }
+
     @Override
     public ResultVo getResultVo(ResultVo resultVo) {
         String msg = msgs.get(resultVo.getMsg());

+ 8 - 0
java110-core/src/main/java/com/java110/core/language/Language.java

@@ -1,5 +1,6 @@
 package com.java110.core.language;
 
+import com.alibaba.fastjson.JSONArray;
 import com.java110.dto.menu.MenuDto;
 import com.java110.dto.menuCatalog.MenuCatalogDto;
 import com.java110.vo.ResultVo;
@@ -18,6 +19,13 @@ public interface Language {
      */
     List<Map> getMenuDto(List<Map> menuDtos);
 
+    /**
+     * 获取菜单
+     * @param tmpPrivilegeArrays
+     * @return
+     */
+    JSONArray getPrivilegeMenuDto(JSONArray tmpPrivilegeArrays);
+
 
     /**
      * 返回

+ 27 - 0
java110-core/src/main/java/com/java110/core/language/Tibetan.java

@@ -1,5 +1,7 @@
 package com.java110.core.language;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.menuCatalog.MenuCatalogDto;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
@@ -50,6 +52,31 @@ public class Tibetan extends DefaultLanguage {
         return menuDtos;
     }
 
+    @Override
+    public JSONArray getPrivilegeMenuDto(JSONArray tmpPrivilegeArrays) {
+        String menuName = "";
+        JSONObject priObj = null;
+        for (int priIndex = 0;priIndex < tmpPrivilegeArrays.size(); priIndex++) {
+            priObj = tmpPrivilegeArrays.getJSONObject(priIndex);
+            menuName = menus.get(priObj.get("gName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("gName", menuName);
+            }
+
+            menuName = menus.get(priObj.get("mName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("mName", menuName);
+            }
+
+            menuName = menus.get(priObj.get("pName"));
+            if (!StringUtil.isEmpty(menuName)) {
+                priObj.put("pName", menuName);
+            }
+
+        }
+        return tmpPrivilegeArrays;
+    }
+
     @Override
     public ResultVo getResultVo(ResultVo resultVo) {
         String msg = msgs.get(resultVo.getMsg());

+ 382 - 0
java110-generator/src/main/java/com/java110/code/DealHtml.java

@@ -1,5 +1,16 @@
 package com.java110.code;
 
+import com.alibaba.fastjson.JSONObject;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.FilterWriter;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
 /**
  * @ClassName DealHtml
  * @Description TODO
@@ -9,4 +20,375 @@ package com.java110.code;
  * add by wuxw 2022/4/20
  **/
 public class DealHtml {
+
+    public static void main(String[] args) throws Exception {
+        File file = new File("C:\\Users\\Administrator\\Documents\\project\\hc\\MicroCommunityWeb\\public\\components");
+        JSONObject js = new JSONObject();
+        listFiles(file, js);
+        System.out.println("js = " + js.toJSONString());
+    }
+
+//    public static void main(String[] args) throws Exception {
+//       String js = "<div id=\"addContractModel\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"exampleModalLabel\"\n" +
+//               "  aria-hidden=\"true\">\n" +
+//               "  <div class=\"modal-dialog modal-lg\">\n" +
+//               "    <div class=\"modal-content\">\n" +
+//               "      <div class=\"modal-body\">\n" +
+//               "        <h3 class=\"m-t-none m-b \">添加合同</h3>\n" +
+//               "        <div class=\"ibox-content\">\n" +
+//               "          <div>\n" +addPrivilege
+//               "            <div>\n" +
+//               "              <div class=\"row\">\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">合同名称</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.contractName\" type=\"text\" placeholder=\"必填,请填写合同名称\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">合同编号</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.contractCode\" type=\"text\" placeholder=\"必填,请填写合同编号\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">合同类型</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <select class=\"custom-select\" v-model=\"addContractInfo.contractType\"\n" +
+//               "                        @change=\"_changeContractType()\">\n" +
+//               "                        <option selected disabled value=\"\">必填,请选择合同类型</option>\n" +
+//               "                        <option v-for=\"(item,index) in addContractInfo.contractTypes\" :key=\"index\"\n" +
+//               "                          :value=\"item.contractTypeId\">{{item.typeName}}</option>\n" +
+//               "                      </select>\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "              </div>\n" +
+//               "              <div class=\"row\">\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">甲方</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.partyA\" type=\"text\" placeholder=\"必填,请填写甲方\" class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">甲方联系人</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.aContacts\" type=\"text\" placeholder=\"必填,请填写甲方联系人\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">甲方联系电话</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.aLink\" type=\"text\" placeholder=\"必填,请填写甲方联系电话\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "              </div>\n" +
+//               "              <div class=\"row\">\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">乙方</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.partyB\" type=\"text\" placeholder=\"必填,请填写乙方\" class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">乙方联系人</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.bContacts\" type=\"text\" placeholder=\"必填,请填写乙方联系人\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">乙方联系电话</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.bLink\" type=\"text\" placeholder=\"必填,请填写乙方联系电话\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "              </div>\n" +
+//               "              <div class=\"row\">\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">经办人</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.operator\" type=\"text\" placeholder=\"必填,请填写经办人\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">联系电话</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.operatorLink\" type=\"text\" placeholder=\"必填,请填写联系电话\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">合同金额</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.amount\" type=\"text\" placeholder=\"选填,请填写合同金额\" class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "              </div>\n" +
+//               "              <div class=\"row\">\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">开始时间</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.startTime\" type=\"text\" placeholder=\"必填,请填写开始时间\"\n" +
+//               "                        class=\"form-control addStartTime\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">结束时间</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.endTime\" type=\"text\" placeholder=\"必填,请填写结束时间\"\n" +
+//               "                        class=\"form-control addEndTime\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">签订时间</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.signingTime\" type=\"text\" placeholder=\"必填,请填写签订时间\"\n" +
+//               "                        class=\"form-control addSigningTime\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "              </div>\n" +
+//               "              <div class=\"row\">\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">楼栋</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.allNum\" type=\"text\" placeholder=\"选填,请填写 楼栋编码\" class=\"form-control\" @blur=\"_queryRoom\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">业主</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.ownerName\" disabled=\"disabled\" type=\"text\" placeholder=\"必填,请填写业主\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "                <div class=\"col-sm-4\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">业主电话</label>\n" +
+//               "                    <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                      <input v-model=\"addContractInfo.link\" disabled=\"disabled\" type=\"text\" placeholder=\"必填,请填写业主电话\"\n" +
+//               "                        class=\"form-control\">\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "              </div>\n" +
+//               "              <div v-for=\"(item,index) in addContractInfo.contractTypeSpecs\">\n" +
+//               "                <div class=\"row\" v-if=\"index % 3 == 0\">\n" +
+//               "                  <div class=\"col-sm-4\">\n" +
+//               "                    <div class=\"form-group row\">\n" +
+//               "                      <label class=\"col-sm-3 col-form-label padding-lr-sm text-right\">{{item.specName}}</label>\n" +
+//               "                      <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                        <input v-model=\"item.value\" type=\"text\" :placeholder=\"item.specHoldplace\" class=\"form-control\">\n" +
+//               "                      </div>\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                  <div class=\"col-sm-4\" v-if=\"index < addContractInfo.contractTypeSpecs.length-1\">\n" +
+//               "                    <div class=\"form-group row\">\n" +
+//               "                      <label\n" +
+//               "                        class=\"col-sm-3 col-form-label padding-lr-sm text-right\">{{addContractInfo.contractTypeSpecs[index+1].specName}}</label>\n" +
+//               "                      <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                        <input v-model=\"addContractInfo.contractTypeSpecs[index+1].value\" type=\"text\"\n" +
+//               "                          :placeholder=\"addContractInfo.contractTypeSpecs[index+1].specHoldplace\" class=\"form-control\">\n" +
+//               "                      </div>\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                  <div class=\"col-sm-4\" v-if=\"index < addContractInfo.contractTypeSpecs.length-2\">\n" +
+//               "                    <div class=\"form-group row\">\n" +
+//               "                      <label\n" +
+//               "                        class=\"col-sm-3 col-form-label padding-lr-sm text-right\">{{addContractInfo.contractTypeSpecs[index+2].specName}}</label>\n" +
+//               "                      <div class=\"col-sm-9 padding-lr-xs\">\n" +
+//               "                        <input v-model=\"addContractInfo.contractTypeSpecs[index+2].value\" type=\"text\"\n" +
+//               "                          :placeholder=\"addContractInfo.contractTypeSpecs[index+2].specHoldplace\" class=\"form-control\">\n" +
+//               "                      </div>\n" +
+//               "                    </div>\n" +
+//               "                  </div>\n" +
+//               "                </div>\n" +
+//               "              </div>\n" +
+//               "  \n" +
+//               "              <div class=\"row\">\n" +
+//               "                <div class=\"col-sm-10\">\n" +
+//               "                  <div class=\"form-group row\">\n" +
+//               "                    <label class=\"col-sm-2 col-form-label\">合同附件</label>\n" +
+//               "                    <div class=\"col-sm-10\">\n" +
+//               "                        <div class=\"row \" style=\"margin-left: 0px;\">\n" +
+//               "                            <button type=\"button\" class=\"btn btn-primary\" @click=\"addFileStep()\">添加附件</button>\n" +
+//               "                        </div>\n" +
+//               "                        <div v-for=\"(item,index) in addContractInfo.contractFilePo\">\n" +
+//               "                            <div class=\"row margin-0 margin-top\">\n" +
+//               "                                <div  class=\"col-sm-1 text-center\">\n" +
+//               "                                    <label class=\"col-form-label\">第{{index+1}}个</label>\n" +
+//               "                                </div>\n" +
+//               "                                <input type=\"file\"\n" +
+//               "                                class=\"custom-file-input form-control\" name=\"excelTemplate\" style=\"width: 11%;opacity: 1;\"\n" +
+//               "                                v-on:change=\"getFile($event,index)\" accept=\".png,.pdf,.jpg\">\n" +
+//               "                                <label  class=\"col-sm-5 col-form-label padding-lr-sm text-right\">{{item.fileRealName}}</label>\n" +
+//               "                                <div>\n" +
+//               "                                    <button type=\"button\" class=\"btn btn-link\" @click=\"deleteStep(item)\">删除附件</button>\n" +
+//               "                                </div>\n" +
+//               "                              \n" +
+//               "                            </div>\n" +
+//               "                           \n" +
+//               "                        </div>\n" +
+//               "                    </div>\n" +
+//               "                </div>\n" +
+//               "                </div>\n" +
+//               "              </div>\n" +
+//               "\n" +
+//               "              <div class=\"ibox-content\">\n" +
+//               "                <button class=\"btn btn-primary float-right\" type=\"button\" v-on:click=\"saveContractInfo()\"><i\n" +
+//               "                    class=\"fa fa-check\"></i>&nbsp;保存</button>\n" +
+//               "                <button type=\"button\" class=\"btn btn-warning float-right\" style=\"margin-right:20px;\"\n" +
+//               "                  data-dismiss=\"modal\">取消</button>\n" +
+//               "              </div>\n" +
+//               "            </div>\n" +
+//               "          </div>\n" +
+//               "        </div>\n" +
+//               "      </div>\n" +
+//               "    </div>\n" +
+//               "  </div>\n" +
+//               "</div>";
+//        Pattern p = Pattern.compile("=\"([\u4e00-\u9fa5]|,|,| )+");
+//
+//        Matcher m = p.matcher(js);
+//
+//        while (m.find()) {
+//            String chinese = m.group();//匹配出的中文
+//            chinese = chinese.replace("=\"", "");
+//            System.out.println(chinese);
+//        }
+//    }
+
+    public static void listFiles(File file, JSONObject js) throws Exception {
+        if (file.isFile()) {
+            if (file.getName().endsWith(".html")) {
+                doDealHtml(file, js);
+
+            }
+            return;
+        }
+
+        File[] files = file.listFiles();
+
+        for (File tmpFile : files) {
+            listFiles(tmpFile, js);
+        }
+    }
+
+    private static void doDealHtml(File tmpFile, JSONObject js) throws Exception {
+
+        String fileName = tmpFile.getName().replace(".html", "");
+        System.out.println("fileName=" + fileName + ",dir=" + tmpFile.getPath());
+        BufferedReader in = new BufferedReader(new FileReader(tmpFile));
+        String str;
+        String context = "";
+        JSONObject fileNameObj = new JSONObject();
+        while ((str = in.readLine()) != null) {
+            context += (doDealHtmlNode(str, fileName, fileNameObj) + "\n");
+            //doDealHtmlNode(str,fileName);
+        }
+        js.put(fileName, fileNameObj);
+        System.out.println(context);
+        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(tmpFile));
+        bufferedWriter.write(context);
+        bufferedWriter.close();
+
+
+    }
+
+    private static String doDealHtmlNode(String str, String fileName, JSONObject fileNameObj) {
+//        Pattern p = Pattern.compile("=\"([\u4e00-\u9fa5]|,)+");
+//
+//        Matcher m = p.matcher(str);
+        Pattern p = Pattern.compile("=\"([\u4e00-\u9fa5]|,|,| )+");
+
+        Matcher m = p.matcher(str);
+
+        while (m.find()) {
+            String chinese = m.group();//匹配出的中文
+            chinese = chinese.replace("=\"", "");
+            fileNameObj.put(chinese, chinese);
+            //m.appendReplacement(buf, "><vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+            str = str.replace(chinese, "vc.i18n('" + chinese + "','" + fileName + "')");
+            str = str.replace("placeholder", ":placeholder");
+        }
+
+        p = Pattern.compile(">[\u4e00-\u9fa5]+");
+
+        m = p.matcher(str);
+
+        while (m.find()) {
+            String chinese = m.group();//匹配出的中文
+            chinese = chinese.replace(">", "");
+            fileNameObj.put(chinese, chinese);
+            //m.appendReplacement(buf, "><vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+            str = str.replace(chinese, "<vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+        }
+
+        p = Pattern.compile("}}[\u4e00-\u9fa5]+");
+
+        m = p.matcher(str);
+
+        while (m.find()) {
+            String chinese = m.group();//匹配出的中文
+            chinese = chinese.replace("}}", "");
+            fileNameObj.put(chinese, chinese);
+            //m.appendReplacement(buf, "><vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+            str = str.replace(chinese, "<vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+        }
+
+        p = Pattern.compile("> [\u4e00-\u9fa5]+");
+
+        m = p.matcher(str);
+
+        while (m.find()) {
+            String chinese = m.group();//匹配出的中文
+            chinese = chinese.replace("> ", "");
+            fileNameObj.put(chinese, chinese);
+            //m.appendReplacement(buf, "><vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+            str = str.replace(chinese, "<vc:i18n name=\"" + chinese + "\" namespace=\"" + fileName + "\"></vc:i18n>");
+        }
+
+
+        return str;
+    }
 }

文件差异内容过多而无法显示
+ 1 - 0
java110-generator/src/main/java/com/java110/code/cnJson.json


文件差异内容过多而无法显示
+ 828 - 0
java110-generator/src/main/java/com/java110/code/enJson.json


+ 69 - 0
java110-generator/src/main/java/com/java110/code/translate.java

@@ -1,5 +1,14 @@
 package com.java110.code;
 
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.parser.Feature;
+import com.java110.utils.util.StringUtil;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.Set;
+
 /**
  * @ClassName translate
  * @Description TODO
@@ -9,4 +18,64 @@ package com.java110.code;
  * add by wuxw 2022/4/21
  **/
 public class translate {
+
+    public static void main(String[] args) throws Exception {
+        String enJsonStr = getJsonStr("C:\\Users\\Administrator\\Documents\\project\\hc\\MicroCommunity\\java110-generator\\src\\main\\java\\com\\java110\\code\\enJson.json");
+        String cnJsonStr = getJsonStr("C:\\Users\\Administrator\\Documents\\project\\hc\\MicroCommunity\\java110-generator\\src\\main\\java\\com\\java110\\code\\cnJson.json");
+
+
+        JSONObject enJson = JSONObject.parseObject(enJsonStr, Feature.OrderedField);
+        JSONObject cnJson = JSONObject.parseObject(cnJsonStr, Feature.OrderedField);
+
+        for (String key : cnJson.keySet()) {
+            Object keyValue = cnJson.get(key);
+            if (keyValue instanceof JSONObject) {
+                JSONObject keyObj = cnJson.getJSONObject(key);
+                int keyIndex = 0;
+                for(String subKeyObj :keyObj.keySet()){
+                   String value = getObjValue(enJson,key,keyIndex);
+                   keyObj.put(subKeyObj,value);
+                    keyIndex++;
+                }
+            }
+        }
+
+        System.out.println(cnJson.toJSONString());
+    }
+
+    public static String getObjValue(JSONObject enJson, String objKey, int keyIndex) {
+        JSONObject jsonObject = null;
+        if(StringUtil.isEmpty(objKey)){
+            jsonObject = enJson;
+        }else{
+            jsonObject = enJson.getJSONObject(objKey);
+        }
+        if(jsonObject == null){
+            return "";
+        }
+        int index = 0;
+        for (String key : jsonObject.keySet()) {
+            if (index == keyIndex) {
+                return jsonObject.getString(key);
+            }
+            index++;
+        }
+
+        return "";
+
+    }
+
+    public static String getJsonStr(String jsonStr) throws Exception {
+        File file = new File(jsonStr);
+        BufferedReader in = new BufferedReader(new FileReader(file));
+        String str;
+        String context = "";
+        while ((str = in.readLine()) != null) {
+            context += (str + "\n");
+            //doDealHtmlNode(str,fileName);
+        }
+        return context;
+    }
+
+
 }

+ 13 - 0
service-api/src/main/java/com/java110/api/smo/impl/PrivilegeServiceSMOImpl.java

@@ -6,6 +6,9 @@ import com.java110.api.smo.DefaultAbstractComponentSMO;
 import com.java110.core.context.IPageData;
 import com.java110.api.smo.IGetCommunityStoreInfoSMO;
 import com.java110.api.smo.IPrivilegeServiceSMO;
+import com.java110.core.language.Language;
+import com.java110.utils.constant.CommonConstant;
+import com.java110.utils.factory.ApplicationContextFactory;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -240,6 +243,16 @@ public class PrivilegeServiceSMOImpl extends DefaultAbstractComponentSMO impleme
             privilegeObj = privilegeArrays.getJSONObject(privilegeIndex);
             hasSameData(privilegeObj, tmpPrivilegeArrays);
         }
+
+
+        Object lang = pd.getHeaders().get(CommonConstant.JAVA110_LANG);
+        if (!StringUtil.isNullOrNone(lang) && !CommonConstant.LANG_ZH_CN.equals(lang)) {
+            Language language = ApplicationContextFactory.getBean(lang.toString(), Language.class);
+            if (language != null) {
+                tmpPrivilegeArrays = language.getPrivilegeMenuDto(tmpPrivilegeArrays);
+            }
+
+        }
         return new ResponseEntity<String>(tmpPrivilegeArrays.toJSONString(), HttpStatus.OK);
     }