-- MySQL dump 10.13  Distrib 5.7.17, for macos10.12 (x86_64)
--
-- Host: apijson.cn    Database: sys
-- ------------------------------------------------------
-- Server version	5.7.33-log

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `Document`
--

DROP TABLE IF EXISTS `Document`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `Document` (
  `id` bigint(15) NOT NULL AUTO_INCREMENT COMMENT '唯一标识',
  `userId` bigint(15) NOT NULL COMMENT '管理员用户id。\n需要先建Admin表，新增登录等相关接口。',
  `testAccountId` bigint(15) NOT NULL DEFAULT '0' COMMENT '测试账号id。0-不限',
  `version` tinyint(4) NOT NULL DEFAULT '3' COMMENT '接口版本号\n<=0 - 不限制版本，任意版本都可用这个接口；\n>0 - 在这个版本添加的接口。\n\n可在给新版文档前调高默认值，新增的测试用例就不用手动设置版本号了。',
  `name` varchar(100) NOT NULL COMMENT '接口名称',
  `type` varchar(5) NOT NULL DEFAULT 'JSON' COMMENT 'PARAM - GET  url parameters,\nFORM - POST  application/www-x-form-url-encoded,\nJSON - POST  application/json',
  `url` varchar(250) NOT NULL COMMENT '请求地址',
  `request` text NOT NULL COMMENT '请求\n用json格式会导致强制排序，而请求中引用赋值只能引用上面的字段，必须有序。',
  `header` text COMMENT '请求头 Request Header：\nkey: value  //注释',
  `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1612031683616 DEFAULT CHARSET=utf8 COMMENT='测试用例文档\n后端开发者在测试好后，把选好的测试用例上传，这样就能共享给前端/客户端开发者';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `Document`
--

LOCK TABLES `Document` WRITE;
/*!40000 ALTER TABLE `Document` DISABLE KEYS */;
INSERT INTO `Document` VALUES (1,82001,82001,1,'登录','JSON','/login','{\n    \"type\": 0, //密码类型，0-登录密码  1-验证码\n    \"phone\": \"13000082001\",  //手机号\n    \"password\": \"123456\",  //登录密码或验证码\n    \"version\": 1,  //版本号\n    \"remember\": false  //记住登录\n}',NULL,'2017-11-26 07:35:19'),(2,82001,0,1,'注册(先获取验证码type:1)','JSON','/register','{\n    \"Privacy\": {\n        \"phone\": \"13000083333\",\n        \"_password\": \"123456\"\n    },\n    \"User\": {\n        \"name\": \"APIJSONUser\"\n    },\n    \"verify\": \"6840\" //验证码，需要先调用接口 /post/verify\n}',NULL,'2017-11-26 07:35:19'),(3,82001,0,1,'退出登录','JSON','/logout','{}',NULL,'2017-11-26 09:56:10'),(1511689914599,82001,0,1,'获取用户隐私信息','JSON','/gets','{\"tag\": \"Privacy\", \"Privacy\": {\"id\": 82001}}',NULL,'2017-11-26 09:51:54'),(1511796155276,82001,0,1,'获取验证码','JSON','/post/verify','{\n    \"type\": 0,  //类型: 0-登录 1-注册 2-修改登录密码 3-修改支付密码\n    \"phone\": \"13000082001\"  //手机号\n}',NULL,'2017-11-27 15:23:28'),(1511796208671,82001,0,1,'检查验证码是否存在','JSON','/heads/verify','{\n    \"type\": 0,  //类型: 0-登录 1-注册 2-修改登录密码 3-修改支付密码\n    \"phone\": \"13000082001\"  //手机号\n}',NULL,'2017-11-27 15:23:28'),(1511796589078,82001,82001,1,'修改登录密码(先获取验证码type:2)-手机号+验证码','JSON','/put/password','{\n    \"verify\": \"10322\",  //验证码，需要先调用接口 /post/verify\n    \"Privacy\": {\n        \"phone\": \"13000082001\",\n        \"_password\": \"666666\"\n    }\n}',NULL,'2017-11-27 15:23:28'),(1511796882184,82001,82001,1,'充值(需要支付密码)/提现','JSON','/put/balance','{\"tag\": \"Privacy\", \"Privacy\": {\"id\": 82001, \"balance+\": 100.15, \"_payPassword\": \"123456\"}}',NULL,'2017-11-27 15:34:42'),(1511969417633,82001,82001,1,'点赞/取消点赞','JSON','/put','{\n    \"Moment\": {\n        \"id\": 15,\n        \"praiseUserIdList-\": [\n            82001\n        ]\n    },\n    \"tag\": \"Moment\"\n}',NULL,'2017-11-29 15:30:17'),(1511969630372,82001,82001,1,'新增评论','JSON','/post','{     \"Comment\": {         \"momentId\": 15,         \"content\": \"测试新增评论\"     },     \"tag\": \"Comment\" }',NULL,'2017-11-29 15:33:50'),(1511970009072,82001,82001,1,'新增动态','JSON','/post','{     \"Moment\": {         \"content\": \"测试新增动态\",         \"pictureList\": [\"http://static.oschina.net/uploads/user/48/96331_50.jpg\"         ]     },     \"tag\": \"Moment\" }',NULL,'2017-11-29 15:40:09'),(1511970224333,82001,82001,1,'修改用户信息','JSON','/put','{\r     \"User\": {\r         \"id\": 82001,\r         \"name\": \"测试账号\"\r     },\r     \"tag\": \"User\"\r }',NULL,'2017-11-29 15:43:44'),(1521901518765,88888,0,2,'功能符(对象关键词): ⑤从pictureList获取第0张图片：','JSON','/get','{     \"User\": {         \"id\": 38710,         \"@position\": 0,         \"firstPicture()\": \"getFromArray(pictureList,@position)\"     } }',NULL,'2018-03-24 14:25:18'),(1521901610784,88888,0,2,'功能符(对象关键词): ④查询 按userId分组、id最大值>=100 的Moment数组','JSON','/get','{\"[]\":{\"count\":10,\"Moment\":{\"@column\":\"userId;max(id):maxId\",\"@group\":\"userId\",\"@having\":\"maxId>=100\"}}}',NULL,'2018-03-24 14:26:50'),(1521901682846,88888,0,2,'功能符(对象关键词): ③查询按userId分组的Moment数组','JSON','/get','{\"[]\":{\"count\":10,\"Moment\":{\"@column\":\"userId,id\",\"@group\":\"userId,id\"}}}',NULL,'2018-03-24 14:28:02'),(1521901746809,88888,0,2,'功能符(对象关键词): ②查询按 name降序、id默认顺序 排序的User数组','JSON','/get','{\"[]\":{\"count\":10,\"User\":{\"@column\":\"name,id\",\"@order\":\"name-,id\"}}}',NULL,'2018-03-24 14:29:06'),(1521901787203,88888,0,2,'功能符(对象关键词): ①只查询id,sex,name这几列并且请求结果也按照这个顺序','JSON','/get','{\"User\":{\"@column\":\"id,sex,name\",\"id\":38710}}',NULL,'2018-03-24 14:29:47'),(1521902033332,88888,0,2,'功能符(数组关键词): ③查询User数组和对应的User总数','JSON','/get','{\"[]\":{\"query\":2,\"count\":5,\"User\":{}},\"total@\":\"/[]/total\"}',NULL,'2018-03-24 14:33:53'),(1521902069871,88888,0,2,'功能符(数组关键词): ②查询第3页的User数组，每页5个','JSON','/get','{\"[]\":{\"count\":5,\"page\":3,\"User\":{}}}',NULL,'2018-03-24 14:34:29'),(1521902110680,88888,0,2,'功能符(数组关键词): ①查询User数组，最多5个','JSON','/get','{\"[]\":{\"count\":5,\"User\":{}}}',NULL,'2018-03-24 14:35:10'),(1521903761689,88888,0,2,'功能符(逻辑运算): ③ ! 非运算','JSON','/head','{\"User\":{\"id!{}\":[82001,38710]}}',NULL,'2018-03-24 15:02:41'),(1521903828410,88888,0,2,'功能符(逻辑运算): ② | 或运算','JSON','/head','{\"User\":{\"id|{}\":\">90000,<=80000\"}}',NULL,'2018-03-24 15:03:48'),(1521903882830,88888,0,2,'功能符(逻辑运算): ① & 与运算','JSON','/head','{\"User\":{\"id&{}\":\">80000,<=90000\"}}',NULL,'2018-03-24 15:04:42'),(1521904098111,88888,0,2,'功能符: 减少 或 去除','JSON','/put/balance','{\n    \n    \"Privacy\": {\n        \"id\": 82001,\n        \"balance+\": -100,\n        \"_payPassword\": \"123456\"\n    },\"tag\": \"Privacy\"\n}',NULL,'2018-03-24 15:08:18'),(1521904162066,88888,0,2,'功能符: 增加 或 扩展','JSON','/put','{\n    \"Moment\": {\n        \"id\": 15,\n        \"praiseUserIdList+\": [\n            82001\n        ]\n    },\n    \"tag\": \"Moment\"\n}',NULL,'2018-03-24 15:09:22'),(1521904337054,88888,0,2,'功能符: 新建别名','JSON','/get','{\"Comment\":{\"@column\":\"id,toId:parentId\",\"id\":51}}',NULL,'2018-03-24 15:12:17'),(1521904394042,88888,0,2,'功能符: 正则匹配','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"name~\":\"^[0-9]+$\"}}}',NULL,'2018-03-24 15:13:14'),(1521904437584,88888,0,2,'功能符: 模糊搜索','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"name$\":\"%m%\"}}}',NULL,'2018-03-24 15:13:57'),(1521904547992,88888,0,2,'功能符: 引用赋值','JSON','/get','{\"Moment\":{\n   \"userId\":38710\n},\n\"User\":{\n   \"id@\":\"/Moment/userId\"\n}}',NULL,'2018-03-24 15:15:47'),(1521904617127,88888,0,2,'功能符: 远程调用函数','JSON','/get','{     \"Moment\": {         \"id\": 301,         \"@column\": \"userId,praiseUserIdList\",         \"isPraised()\": \"isContain(praiseUserIdList,userId)\"     } }',NULL,'2018-03-24 15:16:57'),(1521904653622,88888,0,2,'功能符: 包含选项范围','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"contactIdList<>\":38710}}}',NULL,'2018-03-24 15:17:33'),(1521904698935,88888,0,2,'功能符: 匹配条件范围','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"id{}\":\"<=80000,>90000\"}}}',NULL,'2018-03-24 15:18:18'),(1521904756674,88888,0,2,'功能符: 查询数组','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{}}}',NULL,'2018-03-24 15:19:16'),(1521905263828,88888,82001,2,'操作方法(DELETE):  删除数据','JSON','/delete','{\n   \"Moment\":{\n     \"id\":120\n   },\n   \"tag\":\"Moment\"\n}',NULL,'2018-03-24 15:27:43'),(1521905599150,88888,82001,2,'操作方法(PUT):  修改数据，只修改所传的字段','JSON','/put','{\n   \"Moment\":{\n     \"id\":235,\n     \"content\":\"APIJSON,let interfaces and documents go to hell !\"\n   },\n   \"tag\":\"Moment\"\n}',NULL,'2018-03-24 15:33:19'),(1521905680680,88888,82001,2,'操作方法(POST):  新增数据','JSON','/post','{     \"Moment\": {          \"content\": \"APIJSON,let interfaces and documents go to hell !\"     },     \"tag\": \"Moment\" }',NULL,'2018-03-24 15:34:40'),(1521905787850,88888,82001,2,'操作方法(HEADS):  安全/私密获取数量，用于获取银行卡数量等 对安全性要求高的数据总数','JSON','/heads','{\n    \"Login\": {\n        \"userId\": 38710,\"type\":1\n    },\n    \"tag\": \"Login\"\n}',NULL,'2018-03-24 15:36:27'),(1521905868719,88888,82001,2,'操作方法(GETS):  安全/私密获取数据，用于获取钱包等 对安全性要求高的数据','JSON','/gets','{\n    \"Privacy\": {\n        \"id\": 82001\n    },\n    \"tag\": \"Privacy\"\n}',NULL,'2018-03-24 15:37:48'),(1521905895591,88888,82001,2,'操作方法(HEAD):  普通获取数量，可用浏览器调试','JSON','/head','{\n   \"Moment\":{\n     \"userId\":38710\n   }\n}',NULL,'2018-03-24 15:38:15'),(1521905913188,88888,82001,2,'操作方法(GET):  普通获取数据，可用浏览器调试','JSON','/get','{\n   \"Moment\":{\n     \"id\":235\n   }\n}',NULL,'2018-03-24 15:38:33'),(1521906240332,88888,0,2,'User发布的Moment列表，每个Moment包括 1.发布者User 2.前3条Comment: ③不查已获取的User','JSON','/get','{\n   \"[]\":{\n     \"page\":0,\n     \"count\":3, \n     \"Moment\":{\n       \"userId\":38710\n     },\n     \"Comment[]\":{\n       \"count\":3,\n       \"Comment\":{\n         \"momentId@\":\"[]/Moment/id\"\n       }\n     }\n   }\n}',NULL,'2018-03-24 15:44:00'),(1521906265960,88888,0,2,'User发布的Moment列表，每个Moment包括 1.发布者User 2.前3条Comment: ②省去重复的User','JSON','/get','{\n   \"User\":{\n     \"id\":38710\n   },\n   \"[]\":{\n     \"page\":0,\n     \"count\":3, \n     \"Moment\":{\n       \"userId\":38710\n     }, \n     \"Comment[]\":{\n       \"count\":3,\n       \"Comment\":{\n         \"momentId@\":\"[]/Moment/id\"\n       }\n     }\n   }\n}',NULL,'2018-03-24 15:44:25'),(1521906517001,88888,0,2,'User发布的Moment列表，每个Moment包括 1.发布者User 2.前3条Comment: ①指定id','JSON','/get','{\n    \"[]\": {\n        \"page\": 0,\n        \"count\": 3,\n        \"Moment\":{\"userId\":38710}, \"User\":{\"id\":38710} ,\n        \"Comment[]\": {\n            \"count\": 3,\n            \"Comment\": {\n                \"momentId@\": \"[]/Moment/id\"\n            }\n        }\n    }\n}',NULL,'2018-03-24 15:48:37'),(1521907009308,88888,0,2,'Moment列表，每个Moment包括 1.发布者User 2.前3条Comment','JSON','/get','{\n   \"[]\":{\n     \"page\":0, \n     \"count\":3, \n     \"Moment\":{}, \n     \"User\":{\n       \"id@\":\"/Moment/userId\"\n     },\n     \"Comment[]\":{\n       \"count\":3,\n       \"Comment\":{\n         \"momentId@\":\"[]/Moment/id\"\n       }\n     }\n   }\n}',NULL,'2018-03-24 15:56:49'),(1521907303540,88888,0,2,'User列表','JSON','/get','{\n   \"User[]\":{\n     \"page\":0,\n     \"count\":3, \n     \"User\":{\n       \"sex\":0\n     }\n   }\n}',NULL,'2018-03-24 16:01:43'),(1521907317871,88888,0,2,'Moment和对应的User','JSON','/get','{\n   \"Moment\":{\n     \"userId\":38710\n   }, \n   \"User\":{\n     \"id\":38710\n   }\n}',NULL,'2018-03-24 16:01:57'),(1521907333041,88888,0,2,'User','JSON','/get','{\n   \"User\":{\n     \"id\":38710\n   }\n}',NULL,'2018-03-24 16:02:13'),(1521907333043,88888,82002,3,'微信个人资料-用户信息+最近3个有照片的动态的第0张照片','JSON','/get','{\n    \"User\": {\n        \"id\": 82002\n    },\n    \"Moment-firstPicture[]\": {\n        \"count\": 3,\n        \"Moment\": {\n            \"userId@\": \"User/id\",\n            \"@column\": \"pictureList\",\n            \"@having\": \"json_length(pictureList)>0\",\n            \"firstPicture()\": \"getFromArray(pictureList,0)\"\n        }\n    }\n}',NULL,'2018-03-24 16:03:13'),(1521907333044,82001,82002,3,'微信个人资料-用户信息+最近3个有照片的动态的第0张照片','JSON','/get','{\r     \"User\": {\r         \"id\": 82002\r     },\r     \"Moment-firstPicture[]\": {\r         \"count\": 3,\r         \"Moment\": {\r             \"userId@\": \"User/id\",\r             \"@column\": \"userId,pictureList\",\r             \"@having\": \"json_length(pictureList)>0\",\r             \"firstPicture()\": \"getFromArray(pictureList,0)\"\r         }\r     }\r }',NULL,'2018-03-24 16:03:13'),(1521907333046,88888,0,2,'获取粉丝的动态列表','JSON','/get','{     \"Moment[]\": {         \"join\": \"&/User/id@\",         \"Moment\": {},         \"User\": {             \"id@\": \"/Moment/userId\",             \"contactIdList<>\": 82001,             \"@column\": \"id\"         }     } }',NULL,'2018-03-24 16:03:13'),(1521907546129,88888,0,2,'获取类似微信朋友圈的动态列表','JSON','/get','{\n    \"[]\": {\n        \"page\": 0,\n        \"count\": 2,\n        \"Moment\": {\n            \"content$\": \"%a%\"\n        },\n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"Comment[]\": {\n            \"count\": 2,\n            \"Comment\": {\n                \"momentId@\": \"[]/Moment/id\"\n            }\n        }\n    }\n}',NULL,'2018-03-24 16:05:46'),(1521907570452,88888,0,2,'获取动态及发布者用户','JSON','/get','{\n    \"Moment\": {},\n    \"User\": {\n        \"id@\": \"Moment/userId\"\n    }\n}',NULL,'2018-03-24 16:06:10'),(1521907587430,88888,0,2,'获取用户列表','JSON','/get','{\n    \"[]\": {\n        \"count\": 3,\n        \"User\": {\n            \"@column\": \"id,name\"\n        }\n    }\n}',NULL,'2018-03-24 16:06:27'),(1521907601299,88888,0,2,'获取用户','JSON','/get','{\n  \"User\":{\n  }\n}',NULL,'2018-03-24 16:06:41'),(1522905263828,82001,0,2,'操作方法(DELETE):  删除数据','JSON','/delete','{\n   \"Moment\":{\n     \"id\":120\n   },\n   \"tag\":\"Moment\"\n}',NULL,'2018-03-24 13:27:43'),(1522905599150,82001,0,2,'操作方法(PUT):  修改数据，只修改所传的字段','JSON','/put','{\n   \"Moment\":{\n     \"id\":235,\n     \"content\":\"APIJSON,let interfaces and documents go to hell !\"\n   },\n   \"tag\":\"Moment\"\n}',NULL,'2018-03-24 13:33:19'),(1522905680680,82001,0,2,'操作方法(POST):  新增数据','JSON','/post','{     \"Moment\": {          \"content\": \"APIJSON,let interfaces and documents go to hell !\"     },     \"tag\": \"Moment\" }',NULL,'2018-03-24 13:34:40'),(1522905787850,82001,0,2,'操作方法(HEADS):  安全/私密获取数量，用于获取银行卡数量等 对安全性要求高的数据总数','JSON','/heads','{\n    \"Login\": {\n        \"userId\": 38710,\"type\":1\n    },\n    \"tag\": \"Login\"\n}',NULL,'2018-03-24 13:36:27'),(1522905868719,82001,0,2,'操作方法(GETS):  安全/私密获取数据，用于获取钱包等 对安全性要求高的数据','JSON','/gets','{\n    \"Privacy\": {\n        \"id\": 82001\n    },\n    \"tag\": \"Privacy\"\n}',NULL,'2018-03-24 13:37:48'),(1522905895591,82001,0,2,'操作方法(HEAD):  普通获取数量，可用浏览器调试','JSON','/head','{\n   \"Moment\":{\n     \"userId\":38710\n   }\n}',NULL,'2018-03-24 13:38:15'),(1522905913188,82001,0,2,'操作方法(GET):  普通获取数据，可用浏览器调试','JSON','/get','{\n   \"Moment\":{\n     \"id\":235\n   }\n}',NULL,'2018-03-24 13:38:33'),(1544881887527,88888,0,3,'Moment INNER JOIN User LEFT JOIN Comment','JSON','/get','{\n    \"[]\": {\n        \"count\": 10,\n        \"page\": 0,\n        \"join\": \"&/User/id@,</Comment/momentId@\",\n        \"Moment\": {\n            \"@order\": \"date+\"\n        },\n        \"User\": {\n            \"name~\": [\n                \"a\",\n                \"t\"\n            ],\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"Comment\": {\n            \"momentId@\": \"/Moment/id\",\n            \"@column\": \"id,momentId,content\"\n        }\n    }\n}',NULL,'2018-12-15 13:51:27'),(1544882007411,88888,0,3,'Moment LEFT JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</User/id@\",\n        \"Moment\": {\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:53:27'),(1544882038386,88888,0,3,'Comment LEFT JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</User/id@\",\n        \"Comment\": {\n            \"@column\": \"id,userId,content\",\"@order\":\"date-\"\n        },\n        \"User\": {\n            \"@column\": \"id,name\",\n            \"id@\": \"/Comment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:53:58'),(1544882070832,88888,0,3,'Moment INNER JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/User/id@\",\n        \"Moment\": {\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\"name~\":[\"a\",\"t\"],\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:54:30'),(1544882126906,88888,0,3,'Comment INNER JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/User/id@\",\n        \"Comment\": {\n            \"content~\": \"a\",\n            \"@order\": \"date-\"\n        },\n        \"User\": {\n            \"name~\": [\n                \"a\",\n                \"t\"\n            ],\n            \"@column\": \"id,name\",\n            \"id@\": \"/Comment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:55:26'),(1544882162662,88888,0,3,'Moment APP JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"@/User/id@\",\n        \"Moment\": {\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:56:02'),(1544882183671,88888,0,3,'Comment APP JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"@/User/id@\",\n        \"Comment\": {\n            \"content~\": \"a\",\n            \"@order\": \"date-\"\n        },\n        \"User\": {\n            \"name~\": [\n                \"a\",\n                \"t\"\n            ],\n            \"@column\": \"id,name\",\n            \"id@\": \"/Comment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:56:23'),(1544882236758,88888,0,3,'朋友圈 LEFT JOIN','JSON','/get','{\n    \"[]\": {\n        \"count\": 5,\n        \"page\": 0,\n        \"join\": \"</User/id@\",\n        \"Moment\": {\n            \"@order\": \"date+\"\n        },\n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"User[]\": {\n            \"count\": 10,\n            \"User\": {\n                \"id{}@\": \"[]/Moment/praiseUserIdList\",\n                \"@column\": \"id,name\"\n            }\n        },\n        \"[]\": {\n            \"count\": 6, \"join\": \"</User/id@\",\n            \"Comment\": {\n                \"@order\": \"date+\",\n                \"momentId@\": \"[]/Moment/id\"\n            },\n            \"User\": {\n                \"id@\": \"/Comment/userId\",\n                \"@column\": \"id,name\"\n            }\n        }\n    }\n}',NULL,'2018-12-15 13:57:16'),(1544882253771,88888,0,3,'朋友圈 APP JOIN','JSON','/get','{\n    \"[]\": {\n        \"count\": 5,\n        \"page\": 0,\n        \"join\": \"@/User/id@\",\n        \"Moment\": {\n            \"@order\": \"date+\"\n        },\n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"User[]\": {\n            \"count\": 10,\n            \"User\": {\n                \"id{}@\": \"[]/Moment/praiseUserIdList\",\n                \"@column\": \"id,name\"\n            }\n        },\n        \"[]\": {\n            \"count\": 6,\n            \"join\": \"@/User/id@\",\n            \"Comment\": {\n                \"@order\": \"date+\",\n                \"momentId@\": \"[]/Moment/id\"\n            },\n            \"User\": {\n                \"id@\": \"/Comment/userId\",\n                \"@column\": \"id,name\"\n            }\n        }\n    }\n}',NULL,'2018-12-15 13:57:33'),(1544882327374,88888,0,3,'Comment SIDE JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"^/User/id@\",\n        \"Comment\": {\n            \"@column\": \"id,userId,content\",\n            \"@order\": \"date-\"\n        },\n        \"User\": {\n            \"@column\": \"id,name\",\n            \"id@\": \"/Comment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:58:47'),(1544882345510,88888,0,3,'Moment SIDE JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"^/User/id@\",\n        \"Moment\": {\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:59:05'),(1544883133787,88888,0,3,'Moment^User each with condition','JSON','/get','{\n    \"[]\": {\n        \"join\": \"^/User/id@\",\n        \"Moment\": {\"content~\":\"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\"sex\":1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 14:12:13'),(1544883165350,88888,0,3,'Moment<User each with condition','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</User/id@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 14:12:45'),(1544883183460,88888,0,3,'Moment&User each with condition','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/User/id@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 14:13:03'),(1544883206003,88888,0,3,'Moment|User each with condition','JSON','/get','{\n    \"[]\": {\n        \"join\": \"|/User/id@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 14:13:26'),(1544883224060,88888,0,3,'Moment!User each with condition','JSON','/get','{\n    \"[]\": {\n        \"join\": \"!/User/id@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 14:13:44'),(1544883250598,88888,0,3,'Moment>User each with condition','JSON','/get','{\n    \"[]\": {\n        \"join\": \">/User/id@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 14:14:10'),(1544883278939,88888,0,3,'Moment@User each with condition','JSON','/get','{\n    \"[]\": {\n        \"join\": \"@/User/id@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 14:14:38'),(1544883352884,88888,0,3,'Moment<User<Comment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</User/id@,</Comment/momentId@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        },\n        \"Comment\": {\n            \"momentId@\": \"/Moment/id\"\n        }\n    }\n}',NULL,'2018-12-15 14:15:52'),(1544883368286,88888,0,3,'Moment&User<Comment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/User/id@,</Comment/momentId@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        },\n        \"Comment\": {\n            \"momentId@\": \"/Moment/id\"\n        }\n    }\n}',NULL,'2018-12-15 14:16:08'),(1544883407371,88888,0,3,'Moment|User<Comment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"|/User/id@,</Comment/momentId@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        },\n        \"Comment\": {\n            \"momentId@\": \"/Moment/id\"\n        }\n    }\n}',NULL,'2018-12-15 14:16:47'),(1544883431831,88888,0,3,'Moment^User<Comment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"^/User/id@,</Comment/momentId@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        },\n        \"Comment\": {\n            \"momentId@\": \"/Moment/id\"\n        }\n    }\n}',NULL,'2018-12-15 14:17:11'),(1544883455364,88888,0,3,'Moment@User<Comment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"@/User/id@,</Comment/momentId@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        },\n        \"Comment\": {\n            \"momentId@\": \"/Moment/id\"\n        }\n    }\n}',NULL,'2018-12-15 14:17:35'),(1544884133788,88888,0,3,'Moment@User each with condition','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@\",         \"Moment\": {\"content~\":\"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {\"sex\":1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         }     } }',NULL,'2018-12-15 14:12:13'),(1544884165351,88888,0,3,'Moment@User each with condition','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         }     } }',NULL,'2018-12-15 14:12:45'),(1544884183460,88888,0,3,'Moment@User each with condition','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         }     } }',NULL,'2018-12-15 14:13:03'),(1544884206003,88888,0,3,'Moment@User each with condition','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         }     } }',NULL,'2018-12-15 14:13:26'),(1544884224060,88888,0,3,'Moment@User each with condition','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         }     } }',NULL,'2018-12-15 14:13:44'),(1544884250598,88888,0,3,'Moment@User each with condition','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         }     } }',NULL,'2018-12-15 14:14:10'),(1544884278939,88888,0,3,'Moment@User each with condition','JSON','/get','{\n    \"[]\": {\n        \"join\": \"@/User/id@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 14:14:38'),(1544884352884,88888,0,3,'Moment@User<Comment','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@,</Comment/momentId@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         },         \"Comment\": {             \"momentId@\": \"/Moment/id\"         }     } }',NULL,'2018-12-15 14:15:52'),(1544884368286,88888,0,3,'Moment@User<Comment','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@,</Comment/momentId@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         },         \"Comment\": {             \"momentId@\": \"/Moment/id\"         }     } }',NULL,'2018-12-15 14:16:08'),(1544884407371,88888,0,3,'Moment@User<Comment','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@,</Comment/momentId@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         },         \"Comment\": {             \"momentId@\": \"/Moment/id\"         }     } }',NULL,'2018-12-15 14:16:47'),(1544884431831,88888,0,3,'Moment@User<Comment','JSON','/get','{     \"[]\": {         \"join\": \"@/User/id@,</Comment/momentId@\",         \"Moment\": {             \"content~\": \"a\",             \"@column\": \"id,userId,content\"         },         \"User\": {             \"sex\": 1,             \"@column\": \"id,name\",             \"id@\": \"/Moment/userId\"         },         \"Comment\": {             \"momentId@\": \"/Moment/id\"         }     } }',NULL,'2018-12-15 14:17:11'),(1544884455364,88888,0,3,'Moment@User<Comment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"@/User/id@,</Comment/momentId@\",\n        \"Moment\": {\n            \"content~\": \"a\",\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"sex\": 1,\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        },\n        \"Comment\": {\n            \"momentId@\": \"/Moment/id\"\n        }\n    }\n}',NULL,'2018-12-15 14:17:35'),(1546414155879,82001,82001,3,'获取类似微信朋友圈的动态列表','JSON','/get','{\n    \"[]\": {\n        \"page\": 0,\n        \"count\": 2,\n        \"Moment\": {\n            \"content$\": \"%a%\"\n        },\n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"Comment[]\": {\n            \"count\": 2,\n            \"Comment\": {\n                \"momentId@\": \"[]/Moment/id\"\n            }\n        }\n    }\n}',NULL,'2019-01-02 07:29:15'),(1546414179257,82001,82001,3,'获取动态及发布者用户','JSON','/get','{\n    \"Moment\": {},\n    \"User\": {\n        \"id@\": \"Moment/userId\"\n    }\n}',NULL,'2019-01-02 07:29:39'),(1546414192830,82001,82001,3,'获取用户列表','JSON','/get','{\n    \"[]\": {\n        \"count\": 3,\n        \"User\": {\n            \"@column\": \"id,name\"\n        }\n    }\n}',NULL,'2019-01-02 07:29:52'),(1546414207052,82001,82001,3,'获取用户','JSON','/get','{\n  \"User\":{\n  }\n}',NULL,'2019-01-02 07:30:07'),(1546881887421,88888,0,1,'子查询 WHERE id IN(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\n    \"[]\": {\n        \"User\": {\n            \"id{}@\": {\n                \"from\": \"Comment\",\n                \"Comment\": {\n                    \"momentId\": 15,\n                    \"@column\": \"userId\"\n                }\n            },\n            \"@column\": \"id,sex,name\"\n        }\n    }\n}',NULL,'2018-02-24 14:25:18'),(1546881887422,88888,0,1,'子查询 WHERE EXISTS(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\n    \"[]\": {\n        \"User\": {\n            \"id}{@\": {\n                \"from\": \"Comment\",\n                \"Comment\": {\n                    \"momentId\": 15,\n                    \"@column\": \"userId\"\n                }\n            },\n            \"@column\": \"id,sex,name\"\n        }\n    }\n}',NULL,'2018-02-24 14:25:18'),(1546881887423,88888,0,1,'子查询 WHERE id=(SELECT min(userId) FROM Comment)','JSON','/get','{\n    \"User\": {\n        \"id@\": {\n            \"from\": \"Comment\",\n            \"Comment\": {\n                \"@column\": \"min(userId)\"\n            }\n        }\n    }\n}',NULL,'2018-02-24 14:28:18'),(1546881887521,82001,82001,1,'子查询 WHERE id IN(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\n    \"[]\": {\n        \"User\": {\n            \"id{}@\": {\n                \"from\": \"Comment\",\n                \"Comment\": {\n                    \"momentId\": 15,\n                    \"@column\": \"userId\"\n                }\n            },\n            \"@column\": \"id,sex,name\"\n        }\n    }\n}',NULL,'2018-02-24 14:25:18'),(1546881887522,82001,82001,1,'子查询 WHERE EXISTS(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\n    \"[]\": {\n        \"User\": {\n            \"id}{@\": {\n                \"from\": \"Comment\",\n                \"Comment\": {\n                    \"momentId\": 15,\n                    \"@column\": \"userId\"\n                }\n            },\n            \"@column\": \"id,sex,name\"\n        }\n    }\n}',NULL,'2018-02-24 14:25:18'),(1546881887523,82001,82001,1,'子查询 WHERE id=(SELECT min(userId) FROM Comment)','JSON','/get','{\n    \"User\": {\n        \"id@\": {\n            \"from\": \"Comment\",\n            \"Comment\": {\n                \"@column\": \"min(userId)\"\n            }\n        }\n    }\n}',NULL,'2018-02-24 14:28:18'),(1546881887524,88888,88888,1,'存储过程','JSON','/get','{\n    \"User\": {\n        \"@limit\": 10,\n        \"@offset\": 0,\n        \"@procedure()\": \"getCommentByUserId(id,@limit,@offset)\"\n    }\n}',NULL,'2018-03-24 13:34:40'),(1546881887525,82001,82001,1,'存储过程','JSON','/get','{\n    \"User\": {\n        \"@limit\": 10,\n        \"@offset\": 0,\n        \"@procedure()\": \"getCommentByUserId(id,@limit,@offset)\"\n    }\n}',NULL,'2018-03-24 13:34:40'),(1546881887527,82001,0,1,'Moment INNER JOIN User LEFT JOIN Comment','JSON','/get','{\n    \"[]\": {\n        \"count\": 10,\n        \"page\": 0,\n        \"join\": \"&/User/id@,</Comment/momentId@\",\n        \"Moment\": {\n            \"@order\": \"date+\"\n        },\n        \"User\": {\n            \"name~\": [\n                \"a\",\n                \"t\"\n            ],\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"Comment\": {\n            \"momentId@\": \"/Moment/id\",\n            \"@column\": \"id,momentId,content\"\n        }\n    }\n}',NULL,'2018-12-15 13:51:27'),(1546882007411,82001,0,1,'Moment LEFT JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</User/id@\",\n        \"Moment\": {\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:53:27'),(1546882038386,82001,0,1,'Comment LEFT JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</User/id@\",\n        \"Comment\": {\n            \"@column\": \"id,userId,content\",\"@order\":\"date-\"\n        },\n        \"User\": {\n            \"@column\": \"id,name\",\n            \"id@\": \"/Comment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:53:58'),(1546882070832,82001,0,1,'Moment INNER JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/User/id@\",\n        \"Moment\": {\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\"name~\":[\"a\",\"t\"],\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:54:30'),(1546882126906,82001,0,1,'Comment INNER JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/User/id@\",\n        \"Comment\": {\n            \"content~\": \"a\",\n            \"@order\": \"date-\"\n        },\n        \"User\": {\n            \"name~\": [\n                \"a\",\n                \"t\"\n            ],\n            \"@column\": \"id,name\",\n            \"id@\": \"/Comment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:55:26'),(1546882162662,82001,0,1,'Moment APP JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"@/User/id@\",\n        \"Moment\": {\n            \"@column\": \"id,userId,content\"\n        },\n        \"User\": {\n            \"@column\": \"id,name\",\n            \"id@\": \"/Moment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 13:56:02'),(1546882183671,82001,0,1,'Comment APP JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"@/User/id@\",\n        \"Comment\": {\n            \"content~\": \"a\",\n            \"@order\": \"date-\"\n        },\n        \"User\": {\n            \"name~\": [\n                \"a\",\n                \"t\"\n            ],\n            \"@column\": \"id,name\",\n            \"id@\": \"/Comment/userId\"\n        }\n    }\n}',NULL,'2018-12-15 12:56:23'),(1546882236758,82001,0,1,'朋友圈 LEFT JOIN','JSON','/get','{\n    \"[]\": {\n        \"count\": 5,\n        \"page\": 0,\n        \"join\": \"</User/id@\",\n        \"Moment\": {\n            \"@order\": \"date+\"\n        },\n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"User[]\": {\n            \"count\": 10,\n            \"User\": {\n                \"id{}@\": \"[]/Moment/praiseUserIdList\",\n                \"@column\": \"id,name\"\n            }\n        },\n        \"[]\": {\n            \"count\": 6, \"join\": \"</User/id@\",\n            \"Comment\": {\n                \"@order\": \"date+\",\n                \"momentId@\": \"[]/Moment/id\"\n            },\n            \"User\": {\n                \"id@\": \"/Comment/userId\",\n                \"@column\": \"id,name\"\n            }\n        }\n    }\n}',NULL,'2018-12-15 12:57:16'),(1546882253771,82001,0,1,'朋友圈 APP JOIN','JSON','/get','{\n    \"[]\": {\n        \"count\": 5,\n        \"page\": 0,\n        \"join\": \"@/User/id@\",\n        \"Moment\": {\n            \"@order\": \"date+\"\n        },\n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"User[]\": {\n            \"count\": 10,\n            \"User\": {\n                \"id{}@\": \"[]/Moment/praiseUserIdList\",\n                \"@column\": \"id,name\"\n            }\n        },\n        \"[]\": {\n            \"count\": 6,\n            \"join\": \"@/User/id@\",\n            \"Comment\": {\n                \"@order\": \"date+\",\n                \"momentId@\": \"[]/Moment/id\"\n            },\n            \"User\": {\n                \"id@\": \"/Comment/userId\",\n                \"@column\": \"id,name\"\n            }\n        }\n    }\n}',NULL,'2018-12-15 12:57:33'),(1546901518765,82001,0,2,'功能符(对象关键词): ⑤从pictureList获取第0张图片：','JSON','/get','{     \"User\": {         \"id\": 38710,         \"@position\": 0,         \"firstPicture()\": \"getFromArray(pictureList,@position)\"     } }',NULL,'2018-03-24 14:25:18'),(1546902069871,82001,0,2,'功能符(数组关键词): ②查询第3页的User数组，每页5个','JSON','/get','{\"[]\":{\"count\":5,\"page\":3,\"User\":{}}}',NULL,'2018-03-24 14:34:29'),(1546902110680,82001,0,2,'功能符(数组关键词): ①查询User数组，最多5个','JSON','/get','{\"[]\":{\"count\":5,\"User\":{}}}',NULL,'2018-03-24 14:35:10'),(1546903761689,82001,0,2,'功能符(逻辑运算): ③ ! 非运算','JSON','/head','{\"User\":{\"id!{}\":[82001,38710]}}',NULL,'2018-03-24 15:02:41'),(1546903828410,82001,0,2,'功能符(逻辑运算): ② | 或运算','JSON','/head','{\"User\":{\"id|{}\":\">90000,<=80000\"}}',NULL,'2018-03-24 15:03:48'),(1546903882830,82001,0,2,'功能符(逻辑运算): ① & 与运算','JSON','/head','{\"User\":{\"id&{}\":\">80000,<=90000\"}}',NULL,'2018-03-24 15:04:42'),(1546904098111,82001,82001,2,'功能符: 减少 或 去除','JSON','/put/balance','{\n    \n    \"Privacy\": {\n        \"id\": 82001,\n        \"balance+\": -100,\n        \"_payPassword\": \"123456\"\n    },\"tag\": \"Privacy\"\n}',NULL,'2018-03-24 15:08:18'),(1546904162066,82001,82001,2,'功能符: 增加 或 扩展','JSON','/put','{\n    \"Moment\": {\n        \"id\": 15,\n        \"praiseUserIdList+\": [\n            82001\n        ]\n    },\n    \"tag\": \"Moment\"\n}',NULL,'2018-03-24 15:09:22'),(1546904337054,82001,0,2,'功能符: 新建别名','JSON','/get','{\"Comment\":{\"@column\":\"id,toId:parentId\",\"id\":51}}',NULL,'2018-03-24 15:12:17'),(1546904394042,82001,0,2,'功能符: 正则匹配','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"name~\":\"^[0-9]+$\"}}}',NULL,'2018-03-24 15:13:14'),(1546904437584,82001,0,2,'功能符: 模糊搜索','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"name$\":\"%m%\"}}}',NULL,'2018-03-24 15:13:57'),(1546904547992,82001,0,2,'功能符: 引用赋值','JSON','/get','{\"Moment\":{\n   \"userId\":38710\n},\n\"User\":{\n   \"id@\":\"/Moment/userId\"\n}}',NULL,'2018-03-24 15:15:47'),(1546904617127,82001,0,2,'功能符: 远程调用函数','JSON','/get','{     \"Moment\": {         \"id\": 301,         \"@column\": \"userId,praiseUserIdList\",         \"isPraised()\": \"isContain(praiseUserIdList,userId)\"     } }',NULL,'2018-03-24 15:16:57'),(1546904653622,82001,0,2,'功能符: 包含选项范围','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"contactIdList<>\":38710}}}',NULL,'2018-03-24 15:17:33'),(1546904698935,82001,0,2,'功能符: 匹配条件范围','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"id{}\":\"<=80000,>90000\"}}}',NULL,'2018-03-24 15:18:18'),(1546904756674,82001,0,2,'功能符: 查询数组','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{}}}',NULL,'2018-03-24 15:19:16'),(1546907333046,82001,0,1,'获取粉丝的动态列表','JSON','/get','{     \"Moment[]\": {         \"join\": \"&/User/id@\",         \"Moment\": {},         \"User\": {             \"id@\": \"/Moment/userId\",             \"contactIdList<>\": 82001,             \"@column\": \"id\"         }     } }',NULL,'2018-03-24 16:03:13'),(1547401498195,88888,0,1,'子查询FROM和IN','JSON','/get','{\r     \"sql@\": {\r         \"from\": \"Comment\",\r         \"Comment\": {\r             \"momentId\": 12,\r             \"@column\": \"userId\",\r             \"@group\": \"userId\"\r         }\r     },\r     \"Comment-userId[]\": {\r         \"Comment\": {\r             \"@from@\": \"sql\"\r         }\r     },\r     \"[]\": {\r         \"User\": {\r             \"id{}@\": \"sql\",\r             \"sex\": 1,\r             \"@column\": \"id,sex,name\"\r         }\r     }\r }',NULL,'2019-01-13 17:44:58'),(1548728831507,82001,82001,3,'get test','JSON','/get','{\n    \"User\": {\n        \"id\": 82001\n    },\n    \"[]\": {\n        \"Comment\": {\n            \"userId@\": \"User/id\"\n        }\n    }\n}',NULL,'2019-01-29 02:27:11'),(1556385621907,82001,0,1,'子查询 WHERE id IN(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\n    \"subquery@\": {\n        \"from\": \"Comment\",\n        \"Comment\": {\n            \"momentId\": 15,\n            \"@column\": \"userId\"\n        }\n    },\n    \"[]\": {\n        \"User\": {\n            \"id{}@\": \"subquery\",\n            \"@column\": \"id,sex,name\"\n        }\n    }\n}',NULL,'2018-02-24 14:28:18'),(1556385621908,88888,0,1,'子查询 WHERE id IN(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\n    \"subquery@\": {\n        \"from\": \"Comment\",\n        \"Comment\": {\n            \"momentId\": 15,\n            \"@column\": \"userId\"\n        }\n    },\n    \"[]\": {\n        \"User\": {\n            \"id{}@\": \"subquery\",\n            \"@column\": \"id,sex,name\"\n        }\n    }\n}',NULL,'2018-02-24 14:28:18'),(1556385677607,82001,0,1,'子查询 WHERE EXISTS(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\n    \"subquery@\": {\n        \"from\": \"Comment\",\n        \"Comment\": {\n            \"momentId\": 15,\n            \"@column\": \"userId\"\n        }\n    },\n    \"[]\": {\n        \"User\": {\n            \"id}{@\": \"subquery\",\n            \"@column\": \"id,sex,name\"\n        }\n    }\n}',NULL,'2018-02-24 14:28:18'),(1556385677608,88888,0,1,'子查询 WHERE EXISTS(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\n    \"subquery@\": {\n        \"from\": \"Comment\",\n        \"Comment\": {\n            \"momentId\": 15,\n            \"@column\": \"userId\"\n        }\n    },\n    \"[]\": {\n        \"User\": {\n            \"id}{@\": \"subquery\",\n            \"@column\": \"id,sex,name\"\n        }\n    }\n}',NULL,'2018-02-24 14:28:18'),(1558944411696,82001,82001,3,'关联查询 Comment.userId = User.id','JSON','/get','{\n    \"User\": {\n        \"id\": 82001\n    },\n    \"[]\": {\n        \"Comment\": {\n            \"userId@\": \"User/id\"\n        }\n    }\n}',NULL,'2019-05-27 08:06:51'),(1559995734352,82001,0,3,'get 自定义关键词和远程函数的应用','JSON','/get','{\n    \"User\": {\n        \"id\": 82001,\n        \"@column\": \"contactIdList\",\n        \"@value\": 82006,\n        \"isContect()\": \"isContain(contactIdList,@value)\"\n    }\n}\n/*\n1、获取User表中的id==82001的数据块；\n2、获取contactIdList列中的数据；\n3、设定自定义关键词和值\"@value\": 82006；\n4、调用远程函数isContain判断 contactIdList 中是否存在值为82006的id；\n5、判断结果看 isContect的值。\n*/',NULL,'2019-06-08 12:08:54'),(1560075285563,82001,0,3,'Comment JOIN User','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</User/id@\",\n        \"Comment\": {\n            \"@order\": \"date-\"\n        },\n        \"User\": {\n            \"id@\": \"/Comment/userId\"\n        }\n    }\n}',NULL,'2019-06-09 10:14:45'),(1560244940013,82001,82001,3,'测试查询','JSON','/get','{\n    \"User\": {\n        \"id\": 82001\n    },\n    \"[]\": {\n        \"Comment\": {\n            \"userId@\": \"User/id\"\n        }\n    }\n}',NULL,'2019-06-11 09:22:20'),(1560737118846,82001,82001,3,'get User','JSON','/get','{\n    \"User\": {\n        \"id\": 82002\n    }\n}',NULL,'2019-06-17 02:05:18'),(1563115049174,88888,0,3,'去重 DISTINCT','JSON','/get','{\n    \"[]\": {\n        \"Comment\": {\n            \"@column\": \"DISTINCT momentId;count(DISTINCT userId)\",\n            \"@group\": \"momentId\"\n        }\n    },\n    \"@explain\": true\n}',NULL,'2018-03-20 14:25:18'),(1563120735968,82001,0,3,'去重 DISTINCT','JSON','/get','{\n    \"[]\": {\n        \"Comment\": {\n            \"@column\": \"DISTINCT momentId;count(DISTINCT userId)\",\n            \"@group\": \"momentId\"\n        }\n    },\n    \"@explain\": true\n}',NULL,'2018-03-20 14:25:18'),(1563983388528,82001,0,3,'热更新 权限控制、请求校验、远程函数 等配置','JSON','/reload','{\n    \"type\": \"REQUEST\", // ALL-全部, ACCESS-权限, REQUEST-请求校验, FUNCTION-远程函数\n    \"phone\": \"13000082001\",\n    \"verify\": \"1234\" //验证码，调用 /post/verify ，type:4 获取\n}',NULL,'2019-07-24 15:49:48'),(1563983969937,88888,0,3,'热更新 权限控制、请求校验、远程函数 等配置','JSON','/reload','{\n    \"type\": \"REQUEST\", // ALL-全部, ACCESS-权限, REQUEST-请求校验, FUNCTION-远程函数\n    \"phone\": \"13000082001\",\n    \"verify\": \"1234\" //验证码，调用 /post/verify ，type:4 获取\n}',NULL,'2019-07-24 15:59:29'),(1564388238598,1564369325432,82001,3,'测试上传','JSON','/get','{\n    \"User\": {\n        \"id\": 82001\n    },\n    \"[]\": {\n        \"Comment\": {\n            \"userId@\": \"User/id\"\n        }\n    }\n}',NULL,'2019-07-29 08:43:18'),(1564483634765,1564369325432,82001,1,'登录','JSON','/login','{\r     \"type\": 0, //密码类型，0-登录密码  1-验证码\r     \"phone\": \"13000082001\",  //手机号\r     \"password\": \"123456\",  //登录密码或验证码\r     \"version\": 1,  //版本号\r     \"remember\": false  //记住登录\r }',NULL,'2019-07-29 08:43:18'),(1564483634766,1564369325432,0,1,'注册(先获取验证码type:1)','JSON','/register','{\r     \"Privacy\": {\r         \"phone\": \"13000083333\",\r         \"_password\": \"123456\"\r     },\r     \"User\": {\r         \"name\": \"APIJSONUser\"\r     },\r     \"verify\": \"6840\" //验证码，需要先调用接口 /post/verify\r }',NULL,'2019-07-29 08:43:18'),(1564483634841,82001,0,2,'视图表 ViewTable 查单条记录 /get','JSON','/get','{\n    \"ViewTable\": {\"id\": 82001}\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1564483634842,82001,0,2,'视图表 ViewTable 查列表带条件','JSON','/get','{\n    \"ViewTable[]\": {\n        \"ViewTable\": {\n            \"toId\": 0,\n            \"content~\": \"a\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1564483634843,82001,0,2,'视图表 ViewTable INNER JOIN Moment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/Moment/id@\",\n        \"ViewTable\": {\"toId\":0},\n        \"Moment\": {\"content~\":\"a\",\n            \"id@\": \"/ViewTable/momentId\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1564483634844,82001,0,2,'视图表 ViewTable 子查询','JSON','/get','{\n    \"ViewTable[]\": {\n        \"ViewTable\": {\n            \"momentId{}@\": {\n                \"from\": \"Moment\",\n                \"Moment\": {\n                    \"@column\": \"id\"\n                }\n            }\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1564483634845,82001,0,2,'视图表 ViewTable LEFT JOIN Moment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</Moment/id@\",\n        \"ViewTable\": {},\n        \"Moment\": {\n            \"id@\": \"/ViewTable/momentId\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1564483634846,82001,0,2,'全局关键词','JSON','/get','{\n    \"[]\": {\n        \"count\": 3,\n        \"Moment\": {},\n      \n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"[]\": {\n            \"count\": 6,\n            \"Comment\": {\n                \"momentId@\": \"[]/Moment/id\"\n            },\n            \"User\": {\n                \"id@\": \"/Comment/userId\",\n                \"@column\": \"id,name\"\n            }\n        }\n    },\n    \"format\": false,\n    \"tag\": \"Moment[]\",\n    \"version\": 0,\n    \"@role\": \"CIRCLE\",\n    \"@database\": \"MYSQL\",\n    \"@schema\": \"sys\",\n    \"@explain\": true,\n    \"@cache\": 0\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1564483634853,1564369325432,0,1,'退出登录','JSON','/logout','{}',NULL,'2019-07-29 08:43:18'),(1564483634854,1564369325432,0,1,'获取用户隐私信息','JSON','/gets','{\"tag\": \"Privacy\", \"Privacy\": {\"id\": 82001}}',NULL,'2019-07-29 08:43:18'),(1564483634855,1564369325432,0,1,'获取验证码','JSON','/post/verify','{\r     \"type\": 0,  //类型: 0-登录 1-注册 2-修改登录密码 3-修改支付密码\r     \"phone\": \"13000082001\"  //手机号\r }',NULL,'2019-07-29 08:43:18'),(1564483634856,1564369325432,0,1,'检查验证码是否存在','JSON','/heads/verify','{\r     \"type\": 0,  //类型: 0-登录 1-注册 2-修改登录密码 3-修改支付密码\r     \"phone\": \"13000082001\"  //手机号\r }',NULL,'2019-07-29 08:43:18'),(1564483634857,1564369325432,82001,1,'修改登录密码(先获取验证码type:2)-手机号+验证码','JSON','/put/password','{\r     \"verify\": \"10322\",  //验证码，需要先调用接口 /post/verify\r     \"Privacy\": {\r         \"phone\": \"13000082001\",\r         \"_password\": \"666666\"\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634858,1564369325432,82001,1,'充值(需要支付密码)/提现','JSON','/put/balance','{\"tag\": \"Privacy\", \"Privacy\": {\"id\": 82001, \"balance+\": 100.15, \"_payPassword\": \"123456\"}}',NULL,'2019-07-29 08:43:18'),(1564483634859,1564369325432,82001,1,'点赞/取消点赞','JSON','/put','{\r     \"Moment\": {\r         \"id\": 15,\r         \"praiseUserIdList-\": [\r             82001\r         ]\r     },\r     \"tag\": \"Moment\"\r }',NULL,'2019-07-29 08:43:18'),(1564483634860,1564369325432,82001,1,'新增评论','JSON','/post','{     \"Comment\": {         \"momentId\": 15,         \"content\": \"测试新增评论\"     },     \"tag\": \"Comment\" }',NULL,'2019-07-29 08:43:18'),(1564483634861,1564369325432,82001,1,'新增动态','JSON','/post','{     \"Moment\": {         \"content\": \"测试新增动态\",         \"pictureList\": [\"http://static.oschina.net/uploads/user/48/96331_50.jpg\"         ]     },     \"tag\": \"Moment\" }',NULL,'2019-07-29 08:43:18'),(1564483634862,1564369325432,82001,1,'修改用户信息','JSON','/put','{\r     \"User\": {\r         \"id\": 82001,\r         \"name\": \"测试账号\"\r     },\r     \"tag\": \"User\"\r }',NULL,'2019-07-29 08:43:18'),(1564483634863,1564369325432,82002,3,'微信个人资料-用户信息+最近3个有照片的动态的第0张照片','JSON','/get','{\r     \"User\": {\r         \"id\": 82002\r     },\r     \"Moment-firstPicture[]\": {\r         \"count\": 3,\r         \"Moment\": {\r             \"userId@\": \"User/id\",\r             \"@column\": \"userId,pictureList\",\r             \"@having\": \"json_length(pictureList)>0\",...',NULL,'2019-07-29 08:43:18'),(1564483634864,1564369325432,0,2,'操作方法(DELETE):  删除数据','JSON','/delete','{\r    \"Moment\":{\r      \"id\":120\r    },\r    \"tag\":\"Moment\"\r }',NULL,'2019-07-29 08:43:18'),(1564483634865,1564369325432,0,2,'操作方法(PUT):  修改数据，只修改所传的字段','JSON','/put','{\r    \"Moment\":{\r      \"id\":235,\r      \"content\":\"APIJSON,let interfaces and documents go to hell !\"\r    },\r    \"tag\":\"Moment\"\r }',NULL,'2019-07-29 08:43:18'),(1564483634866,1564369325432,0,2,'操作方法(POST):  新增数据','JSON','/post','{     \"Moment\": {          \"content\": \"APIJSON,let interfaces and documents go to hell !\"     },     \"tag\": \"Moment\" }',NULL,'2019-07-29 08:43:18'),(1564483634867,1564369325432,0,2,'操作方法(HEADS):  安全/私密获取数量，用于获取银行卡数量等 对安全性要求高的数据总数','JSON','/heads','{\r     \"Login\": {\r         \"userId\": 38710,\"type\":1\r     },\r     \"tag\": \"Login\"\r }',NULL,'2019-07-29 08:43:18'),(1564483634868,1564369325432,0,2,'操作方法(GETS):  安全/私密获取数据，用于获取钱包等 对安全性要求高的数据','JSON','/gets','{\r     \"Privacy\": {\r         \"id\": 82001\r     },\r     \"tag\": \"Privacy\"\r }',NULL,'2019-07-29 08:43:18'),(1564483634869,1564369325432,0,2,'操作方法(HEAD):  普通获取数量，可用浏览器调试','JSON','/head','{\r    \"Moment\":{\r      \"userId\":38710\r    }\r }',NULL,'2019-07-29 08:43:18'),(1564483634870,1564369325432,0,2,'操作方法(GET):  普通获取数据，可用浏览器调试','JSON','/get','{\r    \"Moment\":{\r      \"id\":235\r    }\r }',NULL,'2019-07-29 08:43:18'),(1564483634871,1564369325432,82001,3,'获取类似微信朋友圈的动态列表','JSON','/get','{\r     \"[]\": {\r         \"page\": 0,\r         \"count\": 2,\r         \"Moment\": {\r             \"content$\": \"%a%\"\r         },\r         \"User\": {\r             \"id@\": \"/Moment/userId\",\r             \"@column\": \"id,name,head\"\r         },\r         \"Comment[]\": {\r             \"...',NULL,'2019-07-29 08:43:18'),(1564483634872,1564369325432,82001,3,'获取动态及发布者用户','JSON','/get','{\r     \"Moment\": {},\r     \"User\": {\r         \"id@\": \"Moment/userId\"\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634873,1564369325432,82001,3,'获取用户列表','JSON','/get','{\r     \"[]\": {\r         \"count\": 3,\r         \"User\": {\r             \"@column\": \"id,name\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634874,1564369325432,82001,3,'获取用户','JSON','/get','{\r   \"User\":{\r   }\r }',NULL,'2019-07-29 08:43:18'),(1564483634875,1564369325432,82001,1,'子查询 WHERE id IN(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\r     \"[]\": {\r         \"User\": {\r             \"id{}@\": {\r                 \"from\": \"Comment\",\r                 \"Comment\": {\r                     \"momentId\": 15,\r                     \"@column\": \"userId\"\r                 }\r             },\r             \"@column\": \"id...',NULL,'2019-07-29 08:43:18'),(1564483634876,1564369325432,82001,1,'子查询 WHERE EXISTS(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\r     \"[]\": {\r         \"User\": {\r             \"id}{@\": {\r                 \"from\": \"Comment\",\r                 \"Comment\": {\r                     \"momentId\": 15,\r                     \"@column\": \"userId\"\r                 }\r             },\r             \"@column\": \"id...',NULL,'2019-07-29 08:43:18'),(1564483634877,1564369325432,82001,1,'子查询 WHERE id=(SELECT min(userId) FROM Comment)','JSON','/get','{\r     \"User\": {\r         \"id@\": {\r             \"from\": \"Comment\",\r             \"Comment\": {\r                 \"@column\": \"min(userId)\"\r             }\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634878,1564369325432,82001,1,'存储过程','JSON','/get','{\r     \"User\": {\r         \"@limit\": 10,\r         \"@offset\": 0,\r         \"@procedure()\": \"getCommentByUserId(id,@limit,@offset)\"\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634879,1564369325432,0,1,'Moment INNER JOIN User LEFT JOIN Comment','JSON','/get','{\r     \"[]\": {\r         \"count\": 10,\r         \"page\": 0,\r         \"join\": \"&/User/id@,</Comment/momentId@\",\r         \"Moment\": {\r             \"@order\": \"date+\"\r         },\r         \"User\": {\r             \"name~\": [\r                 \"a\",\r                 \"t\"\r        ...',NULL,'2019-07-29 08:43:18'),(1564483634880,1564369325432,0,1,'Moment LEFT JOIN User','JSON','/get','{\r     \"[]\": {\r         \"join\": \"</User/id@\",\r         \"Moment\": {\r             \"@column\": \"id,userId,content\"\r         },\r         \"User\": {\r             \"@column\": \"id,name\",\r             \"id@\": \"/Moment/userId\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634881,1564369325432,0,1,'Comment LEFT JOIN User','JSON','/get','{\r     \"[]\": {\r         \"join\": \"</User/id@\",\r         \"Comment\": {\r             \"@column\": \"id,userId,content\",\"@order\":\"date-\"\r         },\r         \"User\": {\r             \"@column\": \"id,name\",\r             \"id@\": \"/Comment/userId\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634882,1564369325432,0,1,'Moment INNER JOIN User','JSON','/get','{\r     \"[]\": {\r         \"join\": \"&/User/id@\",\r         \"Moment\": {\r             \"@column\": \"id,userId,content\"\r         },\r         \"User\": {\"name~\":[\"a\",\"t\"],\r             \"@column\": \"id,name\",\r             \"id@\": \"/Moment/userId\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634883,1564369325432,0,1,'Comment INNER JOIN User','JSON','/get','{\r     \"[]\": {\r         \"join\": \"&/User/id@\",\r         \"Comment\": {\r             \"content~\": \"a\",\r             \"@order\": \"date-\"\r         },\r         \"User\": {\r             \"name~\": [\r                 \"a\",\r                 \"t\"\r             ],\r             \"@column\":...',NULL,'2019-07-29 08:43:18'),(1564483634884,1564369325432,0,1,'Moment APP JOIN User','JSON','/get','{\r     \"[]\": {\r         \"join\": \"@/User/id@\",\r         \"Moment\": {\r             \"@column\": \"id,userId,content\"\r         },\r         \"User\": {\r             \"@column\": \"id,name\",\r             \"id@\": \"/Moment/userId\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634885,1564369325432,0,1,'Comment APP JOIN User','JSON','/get','{\r     \"[]\": {\r         \"join\": \"@/User/id@\",\r         \"Comment\": {\r             \"content~\": \"a\",\r             \"@order\": \"date-\"\r         },\r         \"User\": {\r             \"name~\": [\r                 \"a\",\r                 \"t\"\r             ],\r             \"@column\":...',NULL,'2019-07-29 08:43:18'),(1564483634886,1564369325432,0,1,'朋友圈 LEFT JOIN','JSON','/get','{\r     \"[]\": {\r         \"count\": 5,\r         \"page\": 0,\r         \"join\": \"</User/id@\",\r         \"Moment\": {\r             \"@order\": \"date+\"\r         },\r         \"User\": {\r             \"id@\": \"/Moment/userId\",\r             \"@column\": \"id,name,head\"\r         },\r       ...',NULL,'2019-07-29 08:43:18'),(1564483634887,1564369325432,0,1,'朋友圈 APP JOIN','JSON','/get','{\r     \"[]\": {\r         \"count\": 5,\r         \"page\": 0,\r         \"join\": \"@/User/id@\",\r         \"Moment\": {\r             \"@order\": \"date+\"\r         },\r         \"User\": {\r             \"id@\": \"/Moment/userId\",\r             \"@column\": \"id,name,head\"\r         },\r       ...',NULL,'2019-07-29 08:43:18'),(1564483634888,1564369325432,0,2,'功能符(对象关键词): ⑤从pictureList获取第0张图片：','JSON','/get','{     \"User\": {         \"id\": 38710,         \"@position\": 0,         \"firstPicture()\": \"getFromArray(pictureList,@position)\"     } }',NULL,'2019-07-29 08:43:18'),(1564483634889,1564369325432,0,2,'功能符(数组关键词): ②查询第3页的User数组，每页5个','JSON','/get','{\"[]\":{\"count\":5,\"page\":3,\"User\":{}}}',NULL,'2019-07-29 08:43:18'),(1564483634890,1564369325432,0,2,'功能符(数组关键词): ①查询User数组，最多5个','JSON','/get','{\"[]\":{\"count\":5,\"User\":{}}}',NULL,'2019-07-29 08:43:18'),(1564483634891,1564369325432,0,2,'功能符(逻辑运算): ③ ! 非运算','JSON','/head','{\"User\":{\"id!{}\":[82001,38710]}}',NULL,'2019-07-29 08:43:18'),(1564483634892,1564369325432,0,2,'功能符(逻辑运算): ② | 或运算','JSON','/head','{\"User\":{\"id|{}\":\">90000,<=80000\"}}',NULL,'2019-07-29 08:43:18'),(1564483634893,1564369325432,0,2,'功能符(逻辑运算): ① & 与运算','JSON','/head','{\"User\":{\"id&{}\":\">80000,<=90000\"}}',NULL,'2019-07-29 08:43:18'),(1564483634894,1564369325432,82001,2,'功能符: 减少 或 去除','JSON','/put/balance','{\r     \r     \"Privacy\": {\r         \"id\": 82001,\r         \"balance+\": -100,\r         \"_payPassword\": \"123456\"\r     },\"tag\": \"Privacy\"\r }',NULL,'2019-07-29 08:43:18'),(1564483634895,1564369325432,82001,2,'功能符: 增加 或 扩展','JSON','/put','{\r     \"Moment\": {\r         \"id\": 15,\r         \"praiseUserIdList+\": [\r             82001\r         ]\r     },\r     \"tag\": \"Moment\"\r }',NULL,'2019-07-29 08:43:18'),(1564483634896,1564369325432,0,2,'功能符: 新建别名','JSON','/get','{\"Comment\":{\"@column\":\"id,toId:parentId\",\"id\":51}}',NULL,'2019-07-29 08:43:18'),(1564483634897,1564369325432,0,2,'功能符: 正则匹配','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"name~\":\"^[0-9]+$\"}}}',NULL,'2019-07-29 08:43:18'),(1564483634898,1564369325432,0,2,'功能符: 模糊搜索','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"name$\":\"%m%\"}}}',NULL,'2019-07-29 08:43:18'),(1564483634899,1564369325432,0,2,'功能符: 引用赋值','JSON','/get','{\"Moment\":{\r    \"userId\":38710\r },\r \"User\":{\r    \"id@\":\"/Moment/userId\"\r }}',NULL,'2019-07-29 08:43:18'),(1564483634900,1564369325432,0,2,'功能符: 远程调用函数','JSON','/get','{     \"Moment\": {         \"id\": 301,         \"@column\": \"userId,praiseUserIdList\",         \"isPraised()\": \"isContain(praiseUserIdList,userId)\"     } }',NULL,'2019-07-29 08:43:18'),(1564483634901,1564369325432,0,2,'功能符: 包含选项范围','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"contactIdList<>\":38710}}}',NULL,'2019-07-29 08:43:18'),(1564483634902,1564369325432,0,2,'功能符: 匹配条件范围','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"id{}\":\"<=80000,>90000\"}}}',NULL,'2019-07-29 08:43:18'),(1564483634903,1564369325432,0,2,'功能符: 查询数组','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{}}}',NULL,'2019-07-29 08:43:18'),(1564483634904,1564369325432,0,1,'获取粉丝的动态列表','JSON','/get','{     \"Moment[]\": {         \"join\": \"&/User/id@\",         \"Moment\": {},         \"User\": {             \"id@\": \"/Moment/userId\",             \"contactIdList<>\": 82001,             \"@column\": \"id\"         }     } }',NULL,'2019-07-29 08:43:18'),(1564483634905,1564369325432,82001,3,'get test','JSON','/get','{\r     \"User\": {\r         \"id\": 82001\r     },\r     \"[]\": {\r         \"Comment\": {\r             \"userId@\": \"User/id\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634906,1564369325432,0,1,'子查询 WHERE id IN(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\r     \"subquery@\": {\r         \"from\": \"Comment\",\r         \"Comment\": {\r             \"momentId\": 15,\r             \"@column\": \"userId\"\r         }\r     },\r     \"[]\": {\r         \"User\": {\r             \"id{}@\": \"subquery\",\r             \"@column\": \"id,sex,name\"\r         ...',NULL,'2019-07-29 08:43:18'),(1564483634907,1564369325432,0,1,'子查询 WHERE EXISTS(SELECT userId FROM Comment WHERE momentId=15)','JSON','/get','{\r     \"subquery@\": {\r         \"from\": \"Comment\",\r         \"Comment\": {\r             \"momentId\": 15,\r             \"@column\": \"userId\"\r         }\r     },\r     \"[]\": {\r         \"User\": {\r             \"id}{@\": \"subquery\",\r             \"@column\": \"id,sex,name\"\r         ...',NULL,'2019-07-29 08:43:18'),(1564483634908,1564369325432,82001,3,'关联查询 Comment.userId = User.id','JSON','/get','{\r     \"User\": {\r         \"id\": 82001\r     },\r     \"[]\": {\r         \"Comment\": {\r             \"userId@\": \"User/id\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634909,1564369325432,0,3,'get 自定义关键词和远程函数的应用','JSON','/get','{\r     \"User\": {\r         \"id\": 82001,\r         \"@column\": \"contactIdList\",\r         \"@value\": 82006,\r         \"isContect()\": \"isContain(contactIdList,@value)\"\r     }\r }\r /*\r 1、获取User表中的id==82001的数据块；\r 2、获取contactIdList列中的数据...',NULL,'2019-07-29 08:43:18'),(1564483634910,1564369325432,0,3,'Comment JOIN User','JSON','/get','{\r     \"[]\": {\r         \"join\": \"</User/id@\",\r         \"Comment\": {\r             \"@order\": \"date-\"\r         },\r         \"User\": {\r             \"id@\": \"/Comment/userId\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634911,1564369325432,82001,3,'测试查询','JSON','/get','{\r     \"User\": {\r         \"id\": 82001\r     },\r     \"[]\": {\r         \"Comment\": {\r             \"userId@\": \"User/id\"\r         }\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634912,1564369325432,82001,3,'get User','JSON','/get','{\r     \"User\": {\r         \"id\": 82002\r     }\r }',NULL,'2019-07-29 08:43:18'),(1564483634913,1564369325432,0,3,'去重 DISTINCT','JSON','/get','{\r     \"[]\": {\r         \"Comment\": {\r             \"@column\": \"DISTINCT momentId;count(DISTINCT userId)\",\r             \"@group\": \"momentId\"\r         }\r     },\r     \"@explain\": true\r }',NULL,'2019-07-29 08:43:18'),(1564483634914,1564369325432,0,3,'热更新 权限控制、请求校验、远程函数 等配置','JSON','/reload','{\r     \"type\": \"REQUEST\", // ALL-全部, ACCESS-权限, REQUEST-请求校验, FUNCTION-远程函数\r     \"phone\": \"13000082001\",\r     \"verify\": \"1234\" //验证码，调用 /post/verify ，type:4 获取\r }',NULL,'2019-07-29 08:43:18'),(1564483634915,82001,0,2,'功能符：连续范围','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"date%\":\"2017-10-01,2018-10-01\"}}}','','2019-07-29 08:43:18'),(1564483634916,82001,0,3,'获取用户名称列表','JSON','/get','{\n    \"User-name[]\": {\n        \"User\": {\n            \"@column\": \"name\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1564907459034,82001,0,3,'请求头 Request Header','JSON','/get','{\n    \"User\": {\n        \"id\": 82001\n    },\n    \"[]\": {\n        \"Comment\": {\n            \"userId@\": \"User/id\"\n        }\n    }\n}','Authorization: Basic GERIJ2438R9FH239NW=  //取出 /login 接口返回的 token\nOther-Header: test','2019-08-04 08:30:59'),(1567927050590,88888,0,3,'test response hint','JSON','/get','{\n    \"[]\": {\n        \"count\": 5,\n        \"page\": 0,\n        \"Moment\": {\n            \"@order\": \"date+\"\n        },\n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"User[]\": {\n            \"count\": 10,\n            \"query\": 2,\n            \"User\": {\n                \"id{}@\": \"[]/Moment/praiseUserIdList\",\n                \"@column\": \"id,name\"\n            }\n        },\n        \"Comment-userId[]\": {\n            \"count\": 6,\n            \"query\": 2,\n            \"Comment\": {\n                \"@order\": \"date+\",\n                \"momentId@\": \"[]/Moment/id\"\n            }\n        },\n        \"praiseCount@\": \"/User[]/total\",\n        \"commentCount@\": \"/Comment-userId[]/total\"\n    }\n}','','2019-09-08 07:17:30'),(1572174664812,88888,0,3,'部分功能总览','JSON','/get','{\n    \"[]\": {\n        \"count\": 5,\n        \"page\": 0,\n        \"join\": \"</User/id@\",\n        \"Moment\": {\n            \"@order\": \"date+\",\n            \"@column\": \"id,userId;date_format(date,%Y-%m-%d %H:%m)\",\n            \"@explain\": true,\n            \"content~\": \"o\",\n            \"userId!\": 82001,\n            \"@combine\": \"userId!,content~\"\n        },\n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"[]\": {\n            \"count\": 6,\n            \"join\": \"@/User/id@\",\n            \"Comment\": {\n                \"@order\": \"date-\",\n                \"momentId@\": \"[]/Moment/id\"\n            },\n            \"User\": {\n                \"id@\": \"/Comment/userId\",\n                \"@column\": \"DISTINCT id,name;concat(%,name,%):concat\"\n            }\n        }\n    }\n}','','2019-10-27 11:11:04'),(1583173736243,88888,0,3,'批量修改-每项单独设置','JSON','/put','{\n    \"Comment[]\": [\n        {\n            \"id\": 1581271679641,\n            \"content\": \"test\"\n        },\n        {\n            \"id\": 1581314845034,\n            \"momentId\": 12,\n            \"date\": \"2020-02-02\"\n        }\n    ],\n    \"tag\": \"Comment:[]\"\n}','','2020-03-02 18:28:56'),(1583173841064,88888,0,3,'批量新增-每项单独设置','JSON','/post','{\n    \"Moment[]\": [\n        {\n            \"content\": \"测试新增动态\"\n        },\n        \n        {\n            \"pictureList\": [\n                \"http://abc.com/3.png\"\n            ]\n        },\n        {\n            \"content\": \"test\",\n            \"praiseUserIdList\": [\n                82002\n            ],\n            \"pictureList\": [\n                \"http://abc.com/2.png\"\n            ]\n        }\n    ],\n    \"tag\": \"Moment:[]\"\n}','','2020-03-02 18:30:41'),(1583415965740,99999,0,3,'where子查询中多表关联筛选','JSON','/get','{\n    \"User\": {\n        \"id@\": {\n            \"from\": \"Comment\",\n			 \"join\": \"&/Moment/id@\",\n            \"Comment\": {\n                \"@column\": \"min(userId)\"\n            },\n            \"Moment\": {\n                \"id@\": \"/Comment/momentId\",\n				  \"@column\":\"\"\n            }\n        }\n    },\n    \"@explain\": true\n}','','2020-03-05 13:46:05'),(1583510816154,99999,0,3,'复杂的子查询与关联查询','JSON','/get','{\n    \"sql@\": {\n        \"from\": \"Comment\",\n        \"join\": \"&/Comment:to/userId@\",\n        \"Comment\": {\n            \"@column\": \"userId\",\n            \"content~\": \"a\"\n        },\n        \"Comment:to\": {\n            \"userId@\": \"/Comment/userId\",\n            \"@column\": \"\",\n            \"content~\": \"j\"\n        }\n    },\n    \"[]\": {\n        \"Moment\": {\n            \"userId{}@\": {\n                \"from\": \"User\",\n                \"User\": {\n                    \"id{}@\": \"sql\",\n                    \"@column\": \"id\"\n                }\n            }\n        }\n    },\n    \"@explain\": true\n}','','2020-03-06 16:06:56'),(1583513151839,99999,0,3,'类似12306根据两站来查火车班次','JSON','/get','{   //类似 12306 根据始发站和到达站来过滤火车班次，班次和线路多对一，线路和站点多对多\n    \"sql@\": {\n        \"from\": \"Comment\",\n        \"join\": \"&/Comment:to/userId@\",\n        \"Comment\": {  //假装是始发站\n            \"@column\": \"userId\",\n            \"content~\": \"a\"   //假装是站点名\n        },\n        \"Comment:to\": {  //假装是终点站\n            \"userId@\": \"/Comment/userId\",\n            \"@column\": \"\",\n            \"content~\": \"j\"  //假装是站点名\n        }\n    },\n    \"[]\": {\n        \"Moment\": {  //假装是班次\n            \"userId{}@\": {\n                \"from\": \"User\",\n                \"User\": {  //假装是线路\n                    \"id{}@\": \"sql\",\n                    \"@column\": \"id\"\n                }\n            }\n        }\n    },\n    \"@explain\": true\n}','','2020-03-06 16:45:51'),(1584113823081,2000,0,3,'自连接返回数据错误','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/Comment:to/id@\",\n        \"Comment\": {},  //解决方案：加 \"@column\": \"id,toId\"\n        \"Comment:to\": {\n            \"id@\": \"/Comment/toId\",\n            \"id>\": 0\n        }\n    },\n    \"@explain\": true\n}\n/*\n 这是一个 3.3.0, 3.8.6-4.0.0 都发现存在的 bug，\n 事实上也是自从支持自连接（副表 Comment AS `to`）以来就存在。\n 原因是对副表生成的 SQL 里表名和主表表名一样，导致 \n AbstractSQLExecutor.onPutColumn 中 299 行\n item = onPutColumn(config, rs, rsmd, index, item, i, config.isExplain() == false && hasJoin && i >= viceColumnStart ? childMap : null);\n 488 行 if 走了第一个分支（应该走 else 来把副表的值存进 childMap）\n finalTable = table;\n 从而使 JOIN 查出来的主副表全部字段都在 521 行\n finalTable.put(lable, getValue(config, rs, rsmd, tablePosition, table, columnIndex, lable, childMap));\n 由于主副表有相同字段，导致后面 put 的副表字段替代了前面 put 的主表同名字段。\n \n 除了以上折中方案，还可以判断 AS 的副表别名来做区分，put 进 childMap。\n*/','','2020-03-13 15:37:03'),(1584117747580,2000,0,3,'全局默认字段失效','JSON','/login','{\n    \"type\": 0,\n    \"phone\": \"13000082001\",\n    \"password\": \"123456\",\n    \"version\": 1,\n    \"remember\": false,\n    \"format\": true,  //失效\n    \"defaults\": {  //失效\n        \"format\": true,\n        \"@explain\": true,\n        \"@database\": \"POSTGRESQL\",\n        \"@schema\": \"sys\"\n    }\n}','','2020-03-13 16:42:27'),(1584118278602,2000,0,3,'SIDE JOIN 实现可能有误','JSON','/get','{\n    \"[]\": {\n        \"join\": \"^/User/id@\",\n        \"Comment\": {\n            \"momentId\": 12\n        },\n        \"User\": {\n            \"id@\": \"/Comment/toId\",\n            \"sex\": 0\n        }\n    },\n    \"@explain\": true\n}\n/*\n SIDE JOIN 实现可能有误，并且性能不大好。\n Comment 的条件 A: momentId=12\n User 的条件 B: sex=0\n 理论上 NOT(A AND B) 等价于(A AND NOT B) OR (B AND NOT A) \n 目前使用的是后者，当我想要改成前者，分别用对应的 SQL 放数据库执行，\n 发现结果集不一样！\n SELECT `Comment`.*, `User`.* FROM `sys`.`Comment` AS `Comment` INNER JOIN `sys`.`apijson_user` AS `User` ON `User`.`id` = `Comment`.`toId` WHERE ( NOT ( `Comment`.`momentId` = 12 AND `User`.`sex` = 0 ) ) LIMIT 10 OFFSET 0\n SELECT `Comment`.*, `User`.* FROM `sys`.`Comment` AS `Comment` INNER JOIN `sys`.`apijson_user` AS `User` ON `User`.`id` = `Comment`.`toId` WHERE ( ( ( (`Comment`.`momentId` = 12) ) AND NOT ( ( (`User`.`sex` = 0) ) ) ) OR ( ( (`User`.`sex` = 0) ) AND NOT ( ( (`Comment`.`momentId` = 12) ) ) ) ) LIMIT 10 OFFSET 0\n*/','','2020-03-13 16:51:18'),(1584120971519,2020,0,3,'新增 WITH AS','JSON','/get','{   //看看关注的人最近有什么动态（分享、评论）\n    \"sql@\": {\n        \"with\": true,  //生成 WITH(SELECT id ...) AS `sql`\n        \"from\": \"User\",\n        \"User\": {\n            \"@column\": \"id\",\n            \"@role\": \"CONTACT\"\n        }\n    },\n    \"Moment[]\": {\n        \"Moment\": {\n            \"userId{}@\": \"sql\",\n            \"@order\": \"date-\"\n        }\n    },\n    \"Comment[]\": {\n        \"Comment\": {\n            \"userId{}@\": \"sql\",\n            \"@order\": \"date-\"\n        }\n    },\n    \"@explain\": true\n}','','2020-03-13 17:36:11'),(1584120990337,2020,0,3,'新增 UNION','JSON','/get','{\n    \"[]\": {\n        \"User\": {\n            \"name~\": \"a\",\n            \"tag~\": \"a\",\n            \"@combine\": \"name~,tag~\",    \n            \"@union\": 1  //将 @combine 中的 N 个 OR 连接字段用 UNION 替换，原本一条 SQL 需要拆分成 N 条 SQL 来 UNION \n        }\n    },\n    \"@explain\": true\n}','','2020-03-13 17:36:30'),(1584121026469,2020,0,3,'新增分布式执行','JSON','/get','{\n    \"User\": {\n        \"@url\": \"http://apijson.cn:8080/get\"  //转发给其它服务器执行\n    },\n    \"[]\": {\n        \"Comment\": {\n            \"userId@\": \"User/id\"\n        }\n    },\n    \"@explain\": true\n}','','2020-03-13 17:37:06'),(1589859330200,1589859275450,1589859275450,3,'login','JSON','/login','{\n    \"type\": 0,\n    \"phone\": \"13525569073\",\n    \"password\": \"123456\",\n    \"version\": 1,\n    \"remember\": false,\n    \"format\": false,\n    \"defaults\": {\n        \"@database\": \"MYSQL\",\n        \"@schema\": \"sys\"\n    }\n}','','2020-05-19 03:35:30'),(1592545943722,1592544818327,1592544225995,3,'login','JSON','/login','{\n    \"body\": {\n        \"personName\": \"杨家湖超限班长\",\n        \"Authenticated\": true,\n        \"UserName\": \"yjhcxbz\",\n        \"personMobile\": \"\",\n        \"iconList\": [\n            \"PTCL\"\n        ],\n        \"Token\": \"3dba223a3a9046f7abfffdddc9f93936\",\n        \"userOrgName\": \"杨家湖收费站\",\n        \"userId\": \"297edfab72c14e940172c1552d4b0002\",\n        \"userOrgId\": \"009429986\"\n    },\n    \"head\": {\n        \"clientId\": null,\n        \"ret\": {\n            \"retCode\": \"000000\",\n            \"retMsg\": null\n        },\n        \"timestamp\": \"2020-06-19 11:46:52\"\n    }\n}\n                                                                                                                                                                                                              \n','','2020-06-19 05:52:23'),(1592546007877,1592544818327,1592544225995,3,'login11','JSON','/login','{\n    \"body\": {\n        \"personName\": \"杨家湖超限班长\",\n        \"Authenticated\": true,\n        \"UserName\": \"yjhcxbz\",\n        \"personMobile\": \"\",\n        \"iconList\": [\n            \"PTCL\"\n        ],\n        \"Token\": \"3dba223a3a9046f7abfffdddc9f93936\",\n        \"userOrgName\": \"杨家湖收费站\",\n        \"userId\": \"297edfab72c14e940172c1552d4b0002\",\n        \"userOrgId\": \"009429986\"\n    },\n    \"head\": {\n        \"clientId\": null,\n        \"ret\": {\n            \"retCode\": \"000000\",\n            \"retMsg\": null\n        },\n        \"timestamp\": \"2020-06-19 11:46:52\"\n    }\n}\n                                                                                                                                                                                                              \n','','2020-06-19 05:53:27'),(1593973492312,1593972128383,0,3,'login1','JSON','/login','{\n    \"type\": 0,\n    \"phone\": \"13000082002\",\n    \"password\": \"123456\",\n    \"version\": 1,\n    \"remember\": false,\n    \"format\": false,\n    \"defaults\": {\n        \"@database\": \"MYSQL\",\n        \"@schema\": \"sys\"\n    }\n}','','2020-07-05 18:24:52'),(1593973606841,1593972128383,0,3,'get1','JSON','/get','{\n    \"User\": {\n        \"id\": 82001\n    },\n    \"[]\": {\n        \"Comment\": {\n            \"userId@\": \"User/id\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2020-07-05 18:26:46'),(1593973707836,1593972128383,0,3,'get1','JSON','/get','{\n    \"User\": {\n        \"id\": 82001\n    },\n    \"[]\": {//ooo\n        \"Comment\": {\n            \"userId@\": \"User/id\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2020-07-05 18:28:27'),(1596002514234,1596002416764,0,3,'get','JSON','/get','{\n    \"type\": 0,\n    \"phone\": \"13000082002\",\n    \"password\": \"123456\",\n    \"version\": 1,\n    \"remember\": false,\n    \"format\": false,\n    \"defaults\": {\n        \"@database\": \"MYSQL\",\n        \"@schema\": \"sys\"\n    }\n}\n                                                                                                                                                                                                              \n','','2020-07-29 06:01:54'),(1596439230051,1596439187212,0,3,'login','JSON','/login','{\n    \"type\": 0,\n    \"phone\": \"13000082002\",\n    \"password\": \"123456\",\n    \"version\": 1,\n    \"remember\": false,\n    \"format\": false,\n    \"defaults\": {\n        \"@database\": \"MYSQL\",\n        \"@schema\": \"sys\"\n    }\n}','','2020-08-03 07:20:30'),(1602231365650,2020,0,3,'JOIN 对象支持包含多个 @ 引用赋值 的字段','JSON','/get','{   // 自动合并  ON Method.class = `Method:group`.class AND Method.package = `Method:group`.package\n    \"Method[]\": {\n        \"count\": 0,\n        \"join\": \"@/Method/class@,@/Method/package@\",\n        \"Method:group\": {\n            \"@column\": \"DISTINCT class\",\n            \"@order\": \"class+\",\n            \"@having\": \"length(class)>0\",\n            \"package*~\": null,\n            \"class*~\": null,\n            \"@combine\": null\n        },\n        \"Method\": {\n            \"package@\": \"[]/Method/package\",\n            \"class@\": \"/Method:group/class\",\n            \"@column\": \"class,genericClassArgs\",\n            \"@order\": \"class+\",\n            \"arguments()\": \"getMethodArguments(genericClassArgs)\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2020-10-09 08:16:05'),(1607881786667,99999,0,3,'get','JSON','/get','{\n    \"Comment[]\": {\n        \"Comment\": {\n            \"@column\": \"date,content;concat(id,^,<,>?|,toId,&,{},userId,LES+=)\",\n            \"@having\": \"to_days(date)%7=0\"\n        }\n    },\n    \"@explain\": true\n}\n                                                                                                                                                                                                              \n','','2020-12-13 17:49:46'),(1607881843319,99999,0,3,'复杂的 @having','JSON','/get','{\n    \"Comment[]\": {\n        \"Comment\": {\n            \"@having\": \"concat(id,^,<,>?|,&,{},:[],DROP!)<=8^3*3.14-7/4+50\"\n        }\n    },\n    \"@explain\": true\n}\n                                                                                                                                                                                                              \n','','2020-12-13 17:50:43'),(1607881872995,99999,0,3,'最近7天','JSON','/get','{\n    \"Comment\": {\n        \"@having\": \"to_days(now())-to_days(`date`)<=7\",\n        \"@raw\": \"@having\"\n    },\n    \"@explain\": true\n}\n                                                                                                                                                                                                              \n','','2020-12-13 17:51:12'),(1607881932306,99999,0,3,'@raw 自定义 SQL 片段','JSON','/get','{   // 类似 12306 根据始发站和到达站来过滤火车班次，班次和线路多对一，线路和站点多对多\n    \"sql@\": {\n        \"from\": \"Comment\",\n        \"join\": \"&/Comment:to/userId@\",\n        \"Comment\": {  // 假装是始发站\n            \"@column\": \"userId\",\n            \"content~\": \"a\",  // 假装是站点名\n            \"momentId>\": \"to.momentId\",\n            \"@raw\": \"momentId>\"\n        },\n        \"Comment:to\": {  // 假装是终点站\n            \"userId@\": \"/Comment/userId\",\n            \"@column\": \"\",\n            \"content~\": \"j\"  // 假装是站点名\n        }\n    },\n    \"[]\": {\n        \"Moment\": {  // 假装是班次\n            \"userId{}@\": {\n                \"from\": \"User\",\n                \"User\": {  // 假装是线路\n                    \"id{}@\": \"sql\",\n                    \"@column\": \"id\"\n                }\n            }\n        }\n    },\n    \"@explain\": true\n}\n                                                                                                                                                                                                              \n','','2020-12-13 17:52:12'),(1608087204039,82001,0,3,'get','JSON','/get','{\n  \"Moment\": {\n    \"id\": 12\n  }\n}','','2020-12-16 02:53:24'),(1608995763278,99999,0,3,'SQL 函数与表达式','JSON','/get','{\n    \"Comment[]\": {\n        \"Comment\": {\n            \"@column\": \"userId;(toId)%3=0;group_concat(DISTINCT +,id)\",\n            \"@having\": \"max(id)>100;userId%5>=1\",\n            \"@group\": \"userId,toId\"\n        }\n    },\n    \"@explain\": true\n}\n                                                                                                                                                                                                              \n','','2020-12-26 15:16:03'),(1612031683609,88888,0,2,'视图表 ViewTable 查单条记录 /get','JSON','/get','{\n    \"ViewTable\": {\"id\": 82001}\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1612031683610,88888,0,2,'视图表 ViewTable 查列表带条件','JSON','/get','{\n    \"ViewTable[]\": {\n        \"ViewTable\": {\n            \"toId\": 0,\n            \"content~\": \"a\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1612031683611,88888,0,2,'视图表 ViewTable INNER JOIN Moment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"&/Moment/id@\",\n        \"ViewTable\": {\"toId\":0},\n        \"Moment\": {\"content~\":\"a\",\n            \"id@\": \"/ViewTable/momentId\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1612031683612,88888,0,2,'视图表 ViewTable 子查询','JSON','/get','{\n    \"ViewTable[]\": {\n        \"ViewTable\": {\n            \"momentId{}@\": {\n                \"from\": \"Moment\",\n                \"Moment\": {\n                    \"@column\": \"id\"\n                }\n            }\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1612031683613,88888,0,2,'视图表 ViewTable LEFT JOIN Moment','JSON','/get','{\n    \"[]\": {\n        \"join\": \"</Moment/id@\",\n        \"ViewTable\": {},\n        \"Moment\": {\n            \"id@\": \"/ViewTable/momentId\"\n        }\n    }\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1612031683614,88888,0,2,'全局关键词','JSON','/get','{\n    \"[]\": {\n        \"count\": 3,\n        \"Moment\": {},\n      \n        \"User\": {\n            \"id@\": \"/Moment/userId\",\n            \"@column\": \"id,name,head\"\n        },\n        \"[]\": {\n            \"count\": 6,\n            \"Comment\": {\n                \"momentId@\": \"[]/Moment/id\"\n            },\n            \"User\": {\n                \"id@\": \"/Comment/userId\",\n                \"@column\": \"id,name\"\n            }\n        }\n    },\n    \"format\": false,\n    \"tag\": \"Moment[]\",\n    \"version\": 0,\n    \"@role\": \"CIRCLE\",\n    \"@database\": \"MYSQL\",\n    \"@schema\": \"sys\",\n    \"@explain\": true,\n    \"@cache\": 0\n}\n                                                                                                                                                                                                              \n','','2019-07-29 08:43:18'),(1612031683615,88888,0,2,'功能符：连续范围','JSON','/get','{\"User[]\":{\"count\":3,\"User\":{\"date%\":\"2017-10-01,2018-10-01\"}}}','','2019-07-29 08:43:18');
/*!40000 ALTER TABLE `Document` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2021-03-22 23:17:10
