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