From cd33651deff9fff7e7d9651b766210771c075190 Mon Sep 17 00:00:00 2001
From: wfy <260536420@qq.com>
Date: 星期二, 14 九月 2021 17:26:16 +0800
Subject: [PATCH] Merge branch 'master' into wangfy-dev

---
 java110-generator/src/main/java/com/java110/code/TableToJson.java |   95 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 95 insertions(+), 0 deletions(-)

diff --git a/java110-generator/src/main/java/com/java110/code/TableToJson.java b/java110-generator/src/main/java/com/java110/code/TableToJson.java
new file mode 100644
index 0000000..5e76bad
--- /dev/null
+++ b/java110-generator/src/main/java/com/java110/code/TableToJson.java
@@ -0,0 +1,95 @@
+package com.java110.code;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.utils.util.StringUtil;
+
+public class TableToJson {
+
+    //show create table c_orders  鐢ㄨ繖涓鍙ヨ幏鍙�
+    public static final String createTableSql = "CREATE TABLE `building_room` (\n" +
+            "  `room_id` varchar(30) NOT NULL COMMENT '鎴垮眿ID',\n" +
+            "  `b_id` varchar(30) NOT NULL COMMENT '涓氬姟Id',\n" +
+            "  `room_num` varchar(12) NOT NULL COMMENT '鎴垮眿缂栧彿',\n" +
+            "  `unit_id` varchar(30) NOT NULL COMMENT '鍗曞厓ID',\n" +
+            "  `layer` int(11) NOT NULL COMMENT '灞傛暟',\n" +
+            "  `section` int(11) DEFAULT NULL COMMENT '瀹�',\n" +
+            "  `apartment` varchar(20) NOT NULL COMMENT '鎴峰瀷',\n" +
+            "  `built_up_area` decimal(6,2) NOT NULL COMMENT '寤虹瓚闈㈢Н',\n" +
+            "  `fee_coefficient` decimal(12,2) NOT NULL DEFAULT '1.00' COMMENT '绠楄垂绯绘暟',\n" +
+            "  `user_id` varchar(30) NOT NULL COMMENT '鐢ㄦ埛ID',\n" +
+            "  `remark` varchar(200) DEFAULT NULL COMMENT '澶囨敞',\n" +
+            "  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',\n" +
+            "  `status_cd` varchar(2) NOT NULL DEFAULT '0' COMMENT '鏁版嵁鐘舵�侊紝璇︾粏鍙傝�僣_status琛紝S 淇濆瓨锛�0, 鍦ㄧ敤 1澶辨晥',\n" +
+            "  `state` varchar(4) NOT NULL COMMENT '鎴垮眿鐘舵�侊紝濡傛埧灞嬪嚭鍞瓑锛岃鏌ョ湅state 琛�',\n" +
+            "  `community_id` varchar(30) DEFAULT NULL COMMENT '灏忓尯ID',\n" +
+            "  `room_type` varchar(12) NOT NULL DEFAULT '1010301' COMMENT '鎴垮眿绫诲瀷',\n" +
+            "  `room_sub_type` varchar(12) NOT NULL DEFAULT '110' COMMENT '鎴垮眿绫诲瀷 110 浣忓畢鎴垮眿锛�119 鍔炲叕瀹� 120 瀹胯垗',\n" +
+            "  `room_area` decimal(6,2) NOT NULL COMMENT '瀹ゅ唴闈㈢Н',\n" +
+            "  `room_rent` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '绉熼噾',\n" +
+            "  UNIQUE KEY `room_id` (`room_id`) USING BTREE,\n" +
+            "  UNIQUE KEY `idx_room_id` (`room_id`) USING BTREE,\n" +
+            "  KEY `idx_room_b_id` (`b_id`) USING BTREE,\n" +
+            "  KEY `i_br_unit_id` (`unit_id`)\n" +
+            ")";
+
+    public static void main(String[] args) {
+        //涓氬姟鍚嶇О desc 涓氬姟缂栫爜鍚嶇О鐢熸垚鍚庣被鍚� name 涓婚敭 id  闇�瑕佹斁鍒伴偅涓湇鍔� shareName
+        String newSql = createTableSql.substring(createTableSql.indexOf("(") + 1, createTableSql.lastIndexOf(")"));
+        String tableName = createTableSql.substring(createTableSql.indexOf("TABLE") + 5, createTableSql.indexOf("("));
+        tableName = tableName.replaceAll("`", "").trim();
+        newSql = newSql.replaceAll("\n", "");
+        String[] rowSqls = newSql.split("',");
+        JSONObject param = new JSONObject();
+        param.put("autoMove", true);
+        param.put("desc", "");
+        param.put("id", "");
+        param.put("name", "");
+        param.put("shareColumn", "community_id");
+        param.put("shareName", "");
+        param.put("shareParam", "communityId");
+        param.put("tableName", tableName);
+        JSONObject paramColumn = new JSONObject();
+        JSONArray requireds = new JSONArray();
+        JSONObject required = null;
+        String key = "";
+        for (String rowSql : rowSqls) {
+            required = new JSONObject();
+            key = rowSql.trim();
+            key = key.substring(0, key.indexOf(" "));
+            key = key.replaceAll("`", "");
+            if ("UNIQUE".equals(key)) {
+                continue;
+            }
+            if ("KEY".equals(key)) {
+                continue;
+            }
+            if ("b_id".equals(key)) {
+                continue;
+            }
+            if ("create_time".equals(key)) {
+                continue;
+            }
+            if (rowSql.toLowerCase().contains("not null")) {
+                required.put("code", StringUtil.lineToHump(key));
+                String comment = rowSql.contains("COMMENT") ? rowSql.substring(rowSql.indexOf("COMMENT '") + 9) : StringUtil.lineToHump(key);
+                comment = comment.trim();
+                if(comment.contains("锛�")){
+                    comment = comment.split("锛�")[0];
+                }
+                if(comment.contains(" ")){
+                    comment = comment.split(" ")[0];
+                }
+
+                required.put("msg", comment + "涓嶈兘涓虹┖");
+                requireds.add(required);
+            }
+            paramColumn.put(StringUtil.lineToHump(key), key);
+        }
+        param.put("param", paramColumn);
+        param.put("required", requireds);
+        System.out.println(param.toJSONString());
+
+    }
+
+}

--
Gitblit v1.8.0