From 818945e3f3505a517837160ae4e0ae83eb4cfe9d Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 18 Jun 2017 23:35:32 +0800 Subject: [PATCH 001/219] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index f6b3a4e3a..cc5df19ca 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,8 @@ APIJSON是一种JSON传输结构协议。
"http://common.cnblogs.com/images/icon_weibo_24.png" ] }, - "status":200, - "message":"success" + "code":200, + "msg":"success" } @@ -125,8 +125,8 @@ APIJSON是一种JSON传输结构协议。
} } ], - "status":200, - "message":"success" + "code":200, + "msg":"success" } @@ -237,8 +237,8 @@ APIJSON是一种JSON传输结构协议。
] } ], - "status":200, - "message":"success" + "code":200, + "msg":"success" } @@ -285,29 +285,29 @@ APIJSON是一种JSON传输结构协议。
###

2.6 服务端对应不同请求的返回结果

服务端对应不同请求的返回结果 | 传统方式 | APIJSON -------- | ------------ | ------------ - User | {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}} | {"status":200, "message":"success", "User":{"id":1, "name":"xxx"...}} - Moment和对应的User | 分别返回两次请求的结果
Moment: {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}}
User: {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}} | {"status":200, "message":"success", "Moment":{"id":1, "content":"xxx"...}, "User":{"id":1, "name":"xxx"...}} - User列表 | {"status":200, "message":"success", "data":[{"id":1, "name":"xxx"...}, {"id":2...}...]} | {"status":200, "message":"success", "[]":[{"User":{"id":1, "name":"xxx"...}}, {"User":{"id":2...}}...]} - Moment列表,每个Moment包括发布者User和前3条Comment | {"status":200, "message":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...}...]} | {"status":200, "message":"success", "[]":[{"Moment":{"id":1, "content":"xxx", ...}, "User":{...}, "[]":[{"Comment":{...}}, ...]}, ...]} - User发布的Moment列表,每个Moment包括发布者User和前3条Comment | {"status":200, "message":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...} ...]} | 以上不同请求方法的结果:
① {"status":200, "message":"success", "[]":[{"User":{"id":1, "name":"xxx", ...}, "Moment":{...}, "[]":[{"Comment":{...}}, ...]}, ...]}

② {"status":200, "message":"success", "User":{...}, "[]":[{"Moment":{"id":1, "content":"xxx", ...}, "[]":[{"Comment":{...}, ...}, ...]}, ...]}

③ {"status":200, "message":"success", "[]":[{"Moment":{"id":1, "content":"xxx", ...}, "[]":[{"Comment":{}}, ...]}, ...]} + User | {"code":200, "msg":"success", "data":{"id":1, "name":"xxx"...}} | {"code":200, "msg":"success", "User":{"id":1, "name":"xxx"...}} + Moment和对应的User | 分别返回两次请求的结果
Moment: {"code":200, "msg":"success", "data":{"id":1, "name":"xxx"...}}
User: {"code":200, "msg":"success", "data":{"id":1, "name":"xxx"...}} | {"code":200, "msg":"success", "Moment":{"id":1, "content":"xxx"...}, "User":{"id":1, "name":"xxx"...}} + User列表 | {"code":200, "msg":"success", "data":[{"id":1, "name":"xxx"...}, {"id":2...}...]} | {"code":200, "msg":"success", "[]":[{"User":{"id":1, "name":"xxx"...}}, {"User":{"id":2...}}...]} + Moment列表,每个Moment包括发布者User和前3条Comment | {"code":200, "msg":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...}...]} | {"code":200, "msg":"success", "[]":[{"Moment":{"id":1, "content":"xxx", ...}, "User":{...}, "[]":[{"Comment":{...}}, ...]}, ...]} + User发布的Moment列表,每个Moment包括发布者User和前3条Comment | {"code":200, "msg":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...} ...]} | 以上不同请求方法的结果:
① {"code":200, "msg":"success", "[]":[{"User":{"id":1, "name":"xxx", ...}, "Moment":{...}, "[]":[{"Comment":{...}}, ...]}, ...]}

② {"code":200, "msg":"success", "User":{...}, "[]":[{"Moment":{"id":1, "content":"xxx", ...}, "[]":[{"Comment":{...}, ...}, ...]}, ...]}

③ {"code":200, "msg":"success", "[]":[{"Moment":{"id":1, "content":"xxx", ...}, "[]":[{"Comment":{}}, ...]}, ...]} 1.base_url指基地址,一般是顶级域名,其它分支url都是在base_url后扩展。如base_url:http://www.google.com/ ,对应的GET分支url:http://www.google.com/get/ ,下同。
2.请求中的 / 需要转义。JSONRequest.java已经用URLEncoder.encode转义,不需要再写;但如果是浏览器或Postman等直接输入url/request,需要把request中的所有 / 都改成 %252F ,下同。
-3.status,指返回结果中的状态码,200表示成功,其它都是错误码,值全部都是HTTP标准状态码。下同。
-4.message,指返回结果中的状态信息,对成功结果或错误原因的详细说明。下同。
-5.status和message总是在返回结果的同一层级成对出现。对所有请求的返回结果都会在最外层有一对总结式status和message。对非GET类请求,返回结果里面的每个JSONObject里都会有一对status和message说明这个JSONObject的状态。下同。
+3.code,指返回结果中的状态码,200表示成功,其它都是错误码,值全部都是HTTP标准状态码。下同。
+4.msg,指返回结果中的状态信息,对成功结果或错误原因的详细说明。下同。
+5.code和msg总是在返回结果的同一层级成对出现。对所有请求的返回结果都会在最外层有一对总结式code和msg。对非GET类请求,返回结果里面的每个JSONObject里都会有一对code和msg说明这个JSONObject的状态。下同。
6.id等字段对应的值仅供说明,不一定是数据库里存在的,请求里用的是真实存在的值。下同。 ##

3.请求方法、URL、Request、Response对应关系总览

 方法及说明 | URL | Request | Response ------------ | ------------ | ------------ | ------------ -GET:普通获取请求,明文,可用浏览器调试 | base_url/get/ | {TableName:{…}},{…}内为限制条件。
例如获取一个id为1的Moment:
{"Moment":{"id":1}} | {TableName:{...}, "status":200, "message":"success"}
例如
{"Moment":{"id":1, "userId":1, "content":"APIJSON,let interfaces and documents go to hell !"}, "status":200, "message":"success"} -HEAD:普通获取数量请求,明文,可用浏览器调试 | base_url/head/ | {TableName:{…}},{…}内为限制条件。
例如获取一个id为1的User所发布的Moment总数:
{"Moment":{"userId":1}} | {TableName:{"status":200, "message":"success", "count":10}, "status":200, "message":"success"}
例如
{"Moment":{"status":200, "message":"success", "count":10}, "status":200, "message":"success"} +GET:普通获取请求,明文,可用浏览器调试 | base_url/get/ | {TableName:{…}},{…}内为限制条件。
例如获取一个id为1的Moment:
{"Moment":{"id":1}} | {TableName:{...}, "code":200, "msg":"success"}
例如
{"Moment":{"id":1, "userId":1, "content":"APIJSON,let interfaces and documents go to hell !"}, "code":200, "msg":"success"} +HEAD:普通获取数量请求,明文,可用浏览器调试 | base_url/head/ | {TableName:{…}},{…}内为限制条件。
例如获取一个id为1的User所发布的Moment总数:
{"Moment":{"userId":1}} | {TableName:{"code":200, "msg":"success", "count":10}, "code":200, "msg":"success"}
例如
{"Moment":{"code":200, "msg":"success", "count":10}, "code":200, "msg":"success"} POST_GET:安全/私密获取请求,非明文,用于获取钱包等对安全性要求高的数据 | base_url/post_get/ | 最外层加一个"tag":tag,其它同GET | 同GET POST_HEAD:安全/私密获取数量请求,非明文,用于获取银行卡数量等对安全性要求高的数据 | base_url/post_head/ | 最外层加一个"tag":tag,其它同HEAD | 同HEAD -POST:新增数据,非明文 | base_url/post/ | {TableName:{…}, "tag":tag},{…}中id由服务端生成,客户端不能传。
例如一个id为1的User发布一个新Moment:
{"Moment":{"userId":1, "content":"APIJSON,let interfaces and documents go to hell !"}, "tag":"Moment"} | {TableName:{"status":200, "message":"success", "id":1}, "status":200, "message":"success"}
例如
{"Moment":{"status":200, "message":"success", "id":1}, "status":200, "message":"success"} +POST:新增数据,非明文 | base_url/post/ | {TableName:{…}, "tag":tag},{…}中id由服务端生成,客户端不能传。
例如一个id为1的User发布一个新Moment:
{"Moment":{"userId":1, "content":"APIJSON,let interfaces and documents go to hell !"}, "tag":"Moment"} | {TableName:{"code":200, "msg":"success", "id":1}, "code":200, "msg":"success"}
例如
{"Moment":{"code":200, "msg":"success", "id":1}, "code":200, "msg":"success"} PUT:修改数据,非明文,只修改所传的字段 | base_url/put/ | {TableName:{"id":id,…}, "tag":tag},{…}中id必传。
例如修改id为1的Moment的content:
{"Moment":{"id":1,"content":"APIJSON,let interfaces and documents go to hell !"}, "tag":"Moment"} | 同POST DELETE:删除数据,非明文 | base_url/delete/ | {TableName:{"id":id}, "tag":tag},{…}中id必传,一般只传id。
例如删除id为1的Moment:
{"Moment":{"id":1}, "tag":"Moment"} | 同POST @@ -328,7 +328,7 @@ DELETE:删除数据,非明文 | base_url/delete/ | {TableName:{"id":id}, "ta 查询数组 | "key[]":{},后面是JSONObject,key可省略。当key和内部Table名相同时,JSONResponse#format会把Table提取出来,即将 {Table:{Content}} 转化为 {Content} | [{"User[]":{"User":{}}}](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{}}}),查询一个User数组。这里key和Table名都是User,会提取User,即将 {"User":{"id", ...}} 转化为 {"id", ...} 匹配选项范围 | "key{}":[],后面是JSONArray,作为key可取的值的选项 | ["id{}":[38710,82001,70793]](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"id{}":[38710,82001,70793]}}}),查询id符合38710,82001,70793中任意一个的一个User数组 匹配条件范围 | "key{}":"条件0,条件1...",条件为任意SQL比较表达式字符串,非Number类型必须用''包含条件的值,如'a' | ["id{}":"<=80000,\>90000"](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"id{}":"<=80000,\>90000"}}}),查询id符合id\<=80000 \| id>90000的一个User数组 - 包含选项范围 | "key<\>":Object => "key<\>":[Object],key对应值的类型必须为JSONArray,Object类型不能为JSON | ["friendIdList<\>":38710](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"friendIdList<\>":38710}}}),查询friendIdList包含38710的一个User数组 + 包含选项范围 | "key<\>":Object => "key<\>":[Object],key对应值的类型必须为JSONArray,Object类型不能为JSON | ["contactIdList<\>":38710](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"contactIdList<\>":38710}}}),查询contactIdList包含38710的一个User数组 远程调用函数 | "key()":"函数表达式",函数表达式为 function(Type0:value0,Type1:value1...)。函数参数类型为Object或泛型时可省略类型,即 Object:value 改写为 value | ["isPraised()":"isContain(Collection:praiseUserIdList,userId)"](http://139.196.140.118:8080/get/{"Moment":{"id":301,"isPraised()":"isContain(Collection:praiseUserIdList,userId)"}}),请求完成后会调用 boolean isContain(Collection collection, Object object) 函数,然后变为 "isPraised":true 这种(假设点赞用户id列表包含了userId,即这个User点了赞) 依赖引用 | "key@":"依赖路径",依赖路径为用/分隔的字符串。以/开头的是缺省依赖路径,从声明key所处容器的父容器路径开始;其它是完整依赖路径,从最外层开始。被依赖的对象必须在声明key的上面 | ["userId@":"/User/id"](http://139.196.140.118:8080/get/{"User":{"id":38710},"Moment":{"userId@":"%252FUser%252Fid"}}),userId依赖引用与所处容器同级的User内的id值,假设id=1,则请求完成后会变成 "userId":1 模糊搜索 | "key$":"SQL搜索表达式" => "key$":["SQL搜索表达式"],任意SQL搜索表达式字符串,如 %key%, %k%e%y% 等 | ["name$":"%m%"](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"name$":"%2525m%2525"}}}),查询name包含"m"的一个User数组 From 1704abce135e5b84a85fbd84b7d538744f062b68 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 19 Jun 2017 00:57:07 +0800 Subject: [PATCH 002/219] =?UTF-8?q?=E4=BC=98=E5=8C=96readme=E4=B8=8A?= =?UTF-8?q?=E4=BB=BF=E6=9C=8B=E5=8F=8B=E5=9C=88=E7=9A=84demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 129 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 68 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index cc5df19ca..08e673612 100644 --- a/README.md +++ b/README.md @@ -134,17 +134,17 @@ APIJSON是一种JSON传输结构协议。
请求:

 {
-  "[]":{                             //请求一个数组
-    "page":0,                        //数组条件
+  "[]":{                             //请求一个数组
+    "page":0,                        //数组条件
     "count":2,
-    "User":{                         //请求一个名为User的对象
-      "sex":0,                       //对象条件
-      "@column":"id,name,head"       //指定返回字段
-    },
-    "Moment":{
-      "userId@":"/User/id"           //缺省依赖路径,从所处容器的父容器路径开始
+    "Moment":{                       //请求一个名为Moment的对象
+      "content$":"%a%"               //对象条件,搜索content中包含 "a" 的动态
     },
-    "Comment[]":{                    //请求一个名为Comment的数组
+    "User":{
+      "id@":"/Moment/userId",        //缺省依赖路径,从所处容器的父容器路径开始
+      "@column":"id,name,head"       //指定返回字段
+    },
+    "Comment[]":{                    //请求一个名为Comment的数组,并去除Comment包装
       "count":2,
       "Comment":{
         "momentId@":"[]/Moment/id"   //完整依赖路径
@@ -154,85 +154,92 @@ APIJSON是一种JSON传输结构协议。
}
-[点击这里测试](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":2,"User":{"sex":0,"@column":"id,name,head"},"Moment":{"userId@":"%252FUser%252Fid"},"Comment[]":{"count":2,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) +[点击这里测试](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":2,"Moment":{"content$":"%2525a%2525"},"User":{"id@":"%252FMoment%252FuserId","@column":"id,name,head"},"Comment[]":{"count":2,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) 返回:

 {
   "[]":[
     {
-      "User":{
-        "id":38710,
-        "name":"TommyLemon",
-        "head":"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000"
-      },
       "Moment":{
-        "id":235,
-        "userId":38710,
+        "id":15,
+        "userId":70793,
         "date":1486541171000,
+        "content":"APIJSON is a JSON Transmission Structure Protocol…",
+        "praiseUserIdList":[
+          82055,
+          82002,
+          82001
+        ],
         "pictureList":[
-          "http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg"
+          "http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000",
+          "http://common.cnblogs.com/images/icon_weibo_24.png"
         ]
       },
+      "User":{
+        "id":70793,
+        "name":"Strong",
+        "head":"http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000"
+      },
       "Comment[]":[
         {
-          "Comment":{
-            "id":160,
-            "toId":0,
-            "userId":82001,
-            "momentId":235,
-            "date":1488434166000,
-            "content":"This is a Content...-160"
-          }
+          "id":176,
+          "toId":166,
+          "userId":38710,
+          "momentId":15,
+          "date":1490444883000,
+          "content":"thank you"
         },
         {
-          "Comment":{
-            "id":163,
-            "toId":0,
-            "userId":82001,
-            "momentId":235,
-            "date":1488434166000,
-            "content":"This is a Content...-163"
-          }
+          "id":1490863469638,
+          "toId":0,
+          "userId":82002,
+          "momentId":15,
+          "date":1490863469000,
+          "content":"Just do it"
         }
       ]
     },
     {
-      "User":{
-        "id":70793,
-        "name":"Strong",
-        "head":"http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000"
-      },
       "Moment":{
-        "id":12,
-        "userId":70793,
-        "date":1486541171000,
-        "content":1111534034,
+        "id":58,
+        "userId":90814,
+        "date":1485947671000,
+        "content":"This is a Content...-435",
+        "praiseUserIdList":[
+          38710,
+          82003,
+          82005,
+          93793,
+          82006,
+          82044,
+          82001
+        ],
         "pictureList":[
-          "http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg",
-          "http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg"
+          "http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg"
         ]
       },
+      "User":{
+        "id":90814,
+        "name":7,
+        "head":"http://static.oschina.net/uploads/user/51/102723_50.jpg?t=1449212504000"
+      },
       "Comment[]":[
         {
-          "Comment":{
-            "id":162,
-            "toId":0,
-            "userId":93793,
-            "momentId":12,
-            "date":1488776625000,
-            "content":"This is a Content...-162"
-          }
+          "id":13,
+          "toId":0,
+          "userId":82005,
+          "momentId":58,
+          "date":1485948050000,
+          "content":"This is a Content...-13"
         },
         {
-          "Comment":{
-            "id":164,
-            "toId":0,
-            "userId":93793,
-            "momentId":12,
-            "date":1488776625000,
-            "content":"This is a Content...-164"
-          }
+          "id":77,
+          "toId":13,
+          "userId":93793,
+          "momentId":58,
+          "date":1485948050000,
+          "content":"This is a Content...-77"
         }
       ]
     }

From 0d715925a9a9c168f9b64358780c96cfad526423 Mon Sep 17 00:00:00 2001
From: TommyLemon <1184482681@qq.com>
Date: Mon, 19 Jun 2017 01:08:27 +0800
Subject: [PATCH 003/219] Update README.md

---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 08e673612..792ce0f96 100644
--- a/README.md
+++ b/README.md
@@ -138,7 +138,7 @@ APIJSON是一种JSON传输结构协议。
"page":0,                     //数组条件 "count":2, "Moment":{                     //请求一个名为Moment的对象 - "content$":"%a%"          //对象条件,搜索content中包含 "a" 的动态 + "content$":"%a%"          //对象条件,搜索content中包含a的动态 }, "User":{ "id@":"/Moment/userId", //缺省依赖路径,从所处容器的父容器路径开始 From 4f76e6d96112b8f3807a7859203ddbfd7123a206 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 19 Jun 2017 01:48:36 +0800 Subject: [PATCH 004/219] =?UTF-8?q?complex=E8=AF=B7=E6=B1=82=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E5=92=8Creadme=E4=B8=80=E8=87=B4=EF=BC=9B=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APIJSON-JavaScript/access_permitted.html | 1 + APIJSON-JavaScript/get/array.html | 4 ++-- APIJSON-JavaScript/get/complex.html | 27 +++++++++++------------- APIJSON-JavaScript/put.html | 2 +- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/APIJSON-JavaScript/access_permitted.html b/APIJSON-JavaScript/access_permitted.html index 442222834..dc7f3d9dd 100644 --- a/APIJSON-JavaScript/access_permitted.html +++ b/APIJSON-JavaScript/access_permitted.html @@ -12,6 +12,7 @@ "Wallet":{ "userId":38710 }, + //以下都不需要了,新版APIJSON已用session做了自动化登录验证及自动化角色权限管理 "currentUserId":38710, "loginPassword":"apijson" }; diff --git a/APIJSON-JavaScript/get/array.html b/APIJSON-JavaScript/get/array.html index f74da1226..f85c03ba0 100644 --- a/APIJSON-JavaScript/get/array.html +++ b/APIJSON-JavaScript/get/array.html @@ -8,7 +8,7 @@ + APIJSON Test + + + +
+

APIJSON Test

+
+ + +
+
+ + +
+
+ + + \ No newline at end of file From 75919fa92c59ba6f2f3f45d6f71ffa7e88372737 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 25 Jun 2017 22:57:25 +0800 Subject: [PATCH 008/219] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 792ce0f96..210a52eb0 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # APIJSON [![Java API](https://img.shields.io/badge/Java-1.6%2B-brightgreen.svg?style=flat)](http://www.oracle.com/technetwork/java/api-141528.html) [![Android API](https://img.shields.io/badge/Android-15%2B-brightgreen.svg?style=flat)](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) [![Gradle Version](https://img.shields.io/badge/gradle-2.10-green.svg)](https://docs.gradle.org/current/release-notes) [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) -[Java](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON(Server)) [Android](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON(Android)) [JavaScript](https://github.com/TommyLemon/APIJSON-JS) +[Java-Server](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-Java-Server) [Android](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-Android) [JavaScript](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-JavaScript) [English Document](https://github.com/TommyLemon/APIJSON/blob/master/README(English).md) @@ -250,6 +250,7 @@ APIJSON是一种JSON传输结构协议。
+[在线测试](http://139.196.140.118) ##

2.对比传统RESTful方式

From 6286684e9c0c9ba5a875c39006ce34a3bfe7dece Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 25 Jun 2017 23:02:33 +0800 Subject: [PATCH 009/219] =?UTF-8?q?=E4=BC=98=E5=8C=96UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APIJSON-JavaScript/index.html | 51 ++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/APIJSON-JavaScript/index.html b/APIJSON-JavaScript/index.html index 0a7cdccda..07ccea2e7 100644 --- a/APIJSON-JavaScript/index.html +++ b/APIJSON-JavaScript/index.html @@ -2,7 +2,7 @@ - + APIJSON Test + + + + \ No newline at end of file diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/FunctionList.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/FunctionList.java deleted file mode 100644 index 6dc2d3407..000000000 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/FunctionList.java +++ /dev/null @@ -1,142 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package zuo.biao.apijson; - -import java.util.Collection; -import java.util.Map; - -/**可远程调用的函数列表 - * @author Lemon - */ -public interface FunctionList { - - //判断是否为空 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< - /**判断collection是否为空 - * @param collection - * @return - */ - public boolean isEmpty(Collection collection); - /**判断map是否为空 - * @param - * @param - * @param map - * @return - */ - public boolean isEmpty(Map map); - //判断是否为空 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - //判断是否为包含 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< - /**判断collection是否包含object - * @param collection - * @param object - * @return - */ - public boolean isContain(Collection collection, T object); - /**判断map是否包含key - * @param - * @param - * @param map - * @param key - * @return - */ - public boolean isContainKey(Map map, K key); - /**判断map是否包含value - * @param - * @param - * @param map - * @param value - * @return - */ - public boolean isContainValue(Map map, V value); - //判断是否为包含 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - - //获取集合长度 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< - /**获取数量 - * @param - * @param array - * @return - */ - public int count(T[] array); - /**获取数量 - * @param - * @param collection List, Vector, Set等都是Collection的子类 - * @return - */ - public int count(Collection collection); - /**获取数量 - * @param - * @param - * @param map - * @return - */ - public int count(Map map); - //获取集合长度 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - - //获取集合长度 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< - /**获取 - * @param - * @param array - * @return - */ - public T get(T[] array, int position); - /**获取 - * @param - * @param collection List, Vector, Set等都是Collection的子类 - * @return - */ - public T get(Collection collection, int position); - /**获取 - * @param - * @param - * @param map null ? null - * @param key null ? null : map.get(key); - * @return - */ - public V get(Map map, K key); - //获取集合长度 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - - - //获取非基本类型对应基本类型的非空值 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< - /**获取非空值 - * @param value - * @return - */ - public boolean value(Boolean value); - /**获取非空值 - * @param value - * @return - */ - public int value(Integer value); - /**获取非空值 - * @param value - * @return - */ - public long value(Long value); - /**获取非空值 - * @param value - * @return - */ - public float value(Float value); - /**获取非空值 - * @param value - * @return - */ - public double value(Double value); - //获取非基本类型对应基本类型的非空值 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -} \ No newline at end of file diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java index e52532d6a..521acb01d 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java @@ -124,6 +124,13 @@ public static T parseObject(String json, Class clazz) { return null; } + /**list转JSONArray + * @param list + * @return + */ + public static JSONArray parseArray(List list) { + return new JSONArray(list); + } /**json转JSONArray * @param json * @return diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java index d030e71f7..4d3581764 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java @@ -15,20 +15,17 @@ package zuo.biao.apijson; import static zuo.biao.apijson.StringUtil.UTF_8; -import static zuo.biao.apijson.StringUtil.bigAlphaPattern; -import static zuo.biao.apijson.StringUtil.namePattern; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.Set; - /**use this class instead of com.alibaba.fastjson.JSONObject, not encode in default cases * @author Lemon */ public class JSONObject extends com.alibaba.fastjson.JSONObject { - private static final long serialVersionUID = 8907029699680768212L; + private static final long serialVersionUID = 1L; /**ordered */ @@ -102,6 +99,8 @@ public JSONObject add(com.alibaba.fastjson.JSONObject object) { * @return this */ public JSONObject add(com.alibaba.fastjson.JSONObject object, boolean encode) { + //TODO putAll(object); + Set set = object == null ? null : object.keySet(); if (set != null) { for (String key : set) { @@ -171,10 +170,10 @@ public Object put(Object value, boolean encode) { public Object put(String key, Object value, boolean encode) { if (StringUtil.isNotEmpty(key, true) == false) { Class clazz = value == null ? null : value.getClass(); - if (clazz == null || clazz.getAnnotation(APIJSONRequest.class) == null) { + if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { throw new IllegalArgumentException("put StringUtil.isNotEmpty(key, true) == false" + - " && clazz == null || clazz.getAnnotation(APIJSONRequest.class) == null" + - " \n key为空时仅支持 类型被@APIJSONRequest注解 的value !!!" + + " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + + " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + " \n 如果是类似 key[]:{} 结构的请求,建议add(...)方法!"); } @@ -216,24 +215,58 @@ public static boolean isArrayKey(String key) { * @return */ public static boolean isTableKey(String key) { - return isWord(key) && bigAlphaPattern.matcher(key.substring(0, 1)).matches(); - } - /**判断是否为词,只能包含字母,数字或下划线 - * @param key - * @return - */ - public static boolean isWord(String key) { - return StringUtil.isNotEmpty(key, false) && namePattern.matcher(key).matches(); + return StringUtil.isBigWord(key); } //judge >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //JSONObject内关键词 key <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final String KEY_COLUMN = "@column";//@key关键字都放这个类 - public static final String KEY_GROUP = "@group";//@key关键字都放这个类 - public static final String KEY_HAVING = "@having";//@key关键字都放这个类 - public static final String KEY_ORDER = "@order";//@key关键字都放这个类 + //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< + /** + * 角色,拥有对某些数据的某些操作的权限 + */ + public static final String KEY_ROLE = "@role"; + /** + * 数据库,Table在非默认schema内时需要声明 + */ + public static final String KEY_SCHEMA = "@schema"; + /** + * 查询的Table字段或SQL函数 + */ + public static final String KEY_COLUMN = "@column"; + /** + * 分组方式 + */ + public static final String KEY_GROUP = "@group"; + /** + * 聚合函数条件,一般和@group一起用 + */ + public static final String KEY_HAVING = "@having"; + /** + * 排序方式 + */ + public static final String KEY_ORDER = "@order"; + //@key关键字都放这个类 >>>>>>>>>>>>>>>>>>>>>> + + + /**set role of request sender + * @param role + * @return this + */ + public JSONObject setRole(String role) { + put(KEY_ROLE, role); + return this; + } + + /**set schema where table was put + * @param schema + * @return this + */ + public JSONObject setSchema(String schema) { + put(KEY_SCHEMA, schema); + return this; + } /**set keys need to be returned * @param keys key0, key1, key2 ... @@ -250,10 +283,7 @@ public JSONObject setColumn(String keys) { put(KEY_COLUMN, keys); return this; } - public String getColumn() { - return getString(KEY_COLUMN); - } - + /**set keys for group by * @param keys key0, key1, key2 ... * @return {@link #setGroup(String)} @@ -269,10 +299,7 @@ public JSONObject setGroup(String keys) { put(KEY_GROUP, keys); return this; } - public String getGroup() { - return getString(KEY_GROUP); - } - + /**set keys for having * @param keys count(key0) > 1, sum(key1) <= 5, function2(key2) ? value2 ... * @return {@link #setHaving(String)} @@ -288,10 +315,7 @@ public JSONObject setHaving(String keys) { put(KEY_HAVING, keys); return this; } - public String getHaving() { - return getString(KEY_HAVING); - } - + /**set keys for order by * @param keys key0, key1+, key2- ... * @return {@link #setOrder(String)} @@ -307,11 +331,8 @@ public JSONObject setOrder(String keys) { put(KEY_ORDER, keys); return this; } - public String getOrder() { - return getString(KEY_ORDER); - } - - + + //JSONObject内关键词 key >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -328,7 +349,7 @@ public String getOrder() { public Object putPath(String key, String... keys) { return put(key+"@", StringUtil.getString(keys, "/"), true); } - + /** * encode = true * @param key diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java index 6bd3bce73..78b935560 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java @@ -22,8 +22,7 @@ *
request.toArray(...);//not a must */ public class JSONRequest extends JSONObject { - - private static final long serialVersionUID = -2223023180338466812L; + private static final long serialVersionUID = 1L; public JSONRequest() { super(); @@ -75,9 +74,6 @@ public JSONObject setTag(String tag) { put(KEY_TAG, tag); return this; } - public String getTag() { - return getString(KEY_TAG); - } //array object <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -85,7 +81,7 @@ public String getTag() { public static final int QUERY_TABLE = 0; public static final int QUERY_TOTAL = 1; public static final int QUERY_ALL = 2; - + public static final String KEY_QUERY = "query"; public static final String KEY_COUNT = "count"; public static final String KEY_PAGE = "page"; @@ -98,10 +94,6 @@ public JSONRequest setQuery(int query) { put(KEY_QUERY, query); return this; } - public int getQuery() { - return getIntValue(KEY_QUERY); - } - /** * @param count * @return @@ -110,10 +102,6 @@ public JSONRequest setCount(int count) { put(KEY_COUNT, count); return this; } - public int getCount() { - return getIntValue(KEY_COUNT); - } - /** * @param page * @return @@ -122,9 +110,6 @@ public JSONRequest setPage(int page) { put(KEY_PAGE, page); return this; } - public int getPage() { - return getIntValue(KEY_PAGE); - } //array object >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java index 40379e2f9..1135a3f9e 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java @@ -14,8 +14,6 @@ package zuo.biao.apijson; -import static zuo.biao.apijson.StringUtil.bigAlphaPattern; - import java.util.List; import java.util.Set; @@ -26,13 +24,14 @@ * @author Lemon * @see #getList * @see #toArray - * @use JSONResponse response = new JSONResponse(...); - *
JSONArray array = JSONResponse.toArray(response.getJSONObject(KEY_ARRAY));//not a must + * @use JSONResponse response = new JSONResponse(json); + *
JSONArray array = JSONResponse.toArray(response.getJSONObject("[]"));//not a must *
User user = JSONResponse.getObject(response, User.class);//not a must *
List list = JSONResponse.getList(response.getJSONObject("Comment[]"), Comment.class);//not a must */ -@SuppressWarnings("serial") public class JSONResponse extends zuo.biao.apijson.JSONObject { + private static final long serialVersionUID = 1L; + private static final String TAG = "JSONResponse"; public JSONResponse() { @@ -47,63 +46,93 @@ public JSONResponse(JSONObject object) { //状态信息,非GET请求获得的信息<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final int STATUS_SUCCEED = 200; - - + public static final int CODE_SUCCEED = 200; + public static final int CODE_PARTIAL_SUCCEED = 206; + public static final int CODE_UNSUPPORTED_ENCODING = 400; + public static final int CODE_ILLEGAL_ACCESS = 401; + public static final int CODE_UNSUPPORTED_OPERATION = 403; + public static final int CODE_NOT_FOUND = 404; + public static final int CODE_ILLEGAL_ARGUMENT = 406; + public static final int CODE_NOT_LOGGED_IN = 407; + public static final int CODE_TIME_OUT = 408; + public static final int CODE_CONFLICT = 409; + public static final int CODE_CONDITION_ERROR = 412; + public static final int CODE_UNSUPPORTED_TYPE = 415; + public static final int CODE_OUT_OF_RANGE = 416; + public static final int CODE_NULL_POINTER = 417; + public static final int CODE_SERVER_ERROR = 500; + + + public static final String KEY_CODE = "code"; + public static final String KEY_MSG = "msg"; public static final String KEY_ID = "id"; - public static final String KEY_STATUS = "status"; public static final String KEY_COUNT = "count"; public static final String KEY_TOTAL = "total"; - public static final String KEY_MESSAGE = "message"; - /**获取id + /**获取状态 * @return */ - public long getId() { - return getLongValue(KEY_ID); + public int getCode() { + try { + return getIntValue(KEY_CODE); + } catch (Exception e) { + //empty + } + return 0; } - /**获取状态 + /**获取信息 * @return */ - public int getStatus() { - return getIntValue(KEY_STATUS); + public String getMsg() { + return getString(KEY_MSG); } - /**获取数量 + /**获取id * @return */ - public int getCount() { - return getIntValue(KEY_COUNT); + public long getId() { + try { + return getLongValue(KEY_ID); + } catch (Exception e) { + //empty + } + return 0; } /**获取数量 * @return */ - public int getTotal() { + public int getCount() { try { - return getIntValue(KEY_TOTAL); + return getIntValue(KEY_COUNT); } catch (Exception e) { - // TODO: handle exception + //empty } return 0; } - /**获取信息 + /**获取总数 * @return */ - public String getMessage() { - return getString(KEY_MESSAGE); + public int getTotal() { + try { + return getIntValue(KEY_TOTAL); + } catch (Exception e) { + //empty + } + return 0; } + /**是否成功 * @return */ public boolean isSucceed() { - return isSucceed(getStatus()); + return isSucceed(getCode()); } /**是否成功 - * @param status + * @param code * @return */ - public static boolean isSucceed(int status) { - return status == STATUS_SUCCEED; + public static boolean isSucceed(int code) { + return code == CODE_SUCCEED; } /**是否成功 * @param response @@ -451,16 +480,7 @@ public static String replaceArray(String key) { * @return empty ? "list" : key + "List" 且首字母小写 */ public static String getArrayKey(String key) { - key = StringUtil.getNoBlankString(key); - if (key.isEmpty()) { - return "list"; - } - - String first = key.substring(0, 1); - if (bigAlphaPattern.matcher(first).matches()) { - key = first.toLowerCase() + key.substring(1, key.length()); - } - return key + "List"; + return StringUtil.addSuffix(key, "list"); } /**获取简单名称 diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java new file mode 100644 index 000000000..1cf14dc6e --- /dev/null +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java @@ -0,0 +1,73 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package zuo.biao.apijson; + +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static zuo.biao.apijson.RequestRole.ADMIN; +import static zuo.biao.apijson.RequestRole.CIRCLE; +import static zuo.biao.apijson.RequestRole.CONTACT; +import static zuo.biao.apijson.RequestRole.LOGIN; +import static zuo.biao.apijson.RequestRole.OWNER; +import static zuo.biao.apijson.RequestRole.UNKNOWN; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +/**请求方法权限,只允许某些角色通过对应方法访问 + * @author Lemon + */ +@Documented +@Retention(RUNTIME) +@Target(TYPE) +public @interface MethodAccess { + + /**@see {@link RequestMethod#GET} + * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + */ + RequestRole[] GET() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + + /**@see {@link RequestMethod#HEAD} + * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + */ + RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + + /**@see {@link RequestMethod#POST_GET} + * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + */ + RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + + /**@see {@link RequestMethod#POST_HEAD} + * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + */ + RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + + /**@see {@link RequestMethod#POST} + * @return 该请求方法允许的结构 default {LOGIN, ADMIN}; + */ + RequestRole[] POST() default {LOGIN, ADMIN}; + + /**@see {@link RequestMethod#PUT} + * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + */ + RequestRole[] PUT() default {OWNER, ADMIN}; + + /**@see {@link RequestMethod#DELETE} + * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + */ + RequestRole[] DELETE() default {OWNER, ADMIN}; + +} diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/APIJSONRequest.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java similarity index 80% rename from APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/APIJSONRequest.java rename to APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java index a00fc0416..ffd2a0c3c 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/APIJSONRequest.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java @@ -14,36 +14,32 @@ package zuo.biao.apijson; +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -/**请求方法对应的JSON结构 +/**对应方法的请求结构。 + * 仅测试和基本的校验用,实际用Request表里的配置 * @author Lemon */ -@Target({ElementType.METHOD, ElementType.TYPE}) -@Retention(RetentionPolicy.RUNTIME) @Documented -public @interface APIJSONRequest { +@Retention(RUNTIME) +@Target(TYPE) +public @interface MethodStructure { - /** - * @return 允许的请求方法 + /**@see {@link RequestMethod#POST_HEAD} + * @return 该请求方法允许的结构 */ - RequestMethod[] method() default {}; - + String POST_HEAD() default ""; /**@see {@link RequestMethod#POST_GET} * @return 该请求方法允许的结构 */ String POST_GET() default ""; - /**@see {@link RequestMethod#POST_HEAD} - * @return 该请求方法允许的结构 - */ - String POST_HEAD() default ""; - /**@see {@link RequestMethod#POST} * @return 该请求方法允许的结构 */ @@ -58,4 +54,5 @@ * @return 该请求方法允许的结构 */ String DELETE() default ""; + } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java index 6a25809d1..11f928134 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java @@ -14,7 +14,7 @@ package zuo.biao.apijson; -/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出一个POST_GET方法 +/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出POST_GET,POST_HEAD方法 * @author Lemon */ public enum RequestMethod { @@ -52,5 +52,43 @@ public enum RequestMethod { /** * 删除数据 */ - DELETE + DELETE; + + + /**是否为GET请求方法 + * @param method + * @param containPrivate 包含私密(非明文)获取方法POST_GET + * @return + */ + public static boolean isGetMethod(RequestMethod method, boolean containPrivate) { + boolean is = method == null || method == GET; + return containPrivate == false ? is : is || method == POST_GET; + } + + /**是否为HEAD请求方法 + * @param method + * @param containPrivate 包含私密(非明文)获取方法POST_HEAD + * @return + */ + public static boolean isHeadMethod(RequestMethod method, boolean containPrivate) { + boolean is = method == HEAD; + return containPrivate == false ? is : is || method == POST_HEAD; + } + + /**是否为查询的请求方法 + * @param method + * @return 读操作(GET型或HEAD型) - true, 写操作(POST,PUT,DELETE) - false + */ + public static boolean isQueryMethod(RequestMethod method) { + return isGetMethod(method, true) || isHeadMethod(method, true); + } + + /**是否为开放(不限制请求的结构或内容;明文,浏览器能直接访问及查看)的请求方法 + * @param method + * @return + */ + public static boolean isPublicMethod(RequestMethod method) { + return method == null || method == GET || method == HEAD; + } + } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestRole.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestRole.java new file mode 100644 index 000000000..f3a777d67 --- /dev/null +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestRole.java @@ -0,0 +1,63 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package zuo.biao.apijson; + +/**来访的用户角色 + * @author Lemon + */ +public enum RequestRole { + + /**未登录,不明身份的用户 + */ + UNKNOWN, + + /**已登录的用户 + */ + LOGIN, + + /**联系人,必须已登录 + */ + CONTACT, + + /**圈子成员(CONTACT + OWNER),必须已登录 + */ + CIRCLE, + + /**拥有者,必须已登录 + */ + OWNER, + + /**管理员,必须已登录 + */ + ADMIN; + + //似乎不管怎么做,外部引用后都是空值。并且如果在注解内的位置不是最前的,还会导致被注解的类在其它类中import报错。 + //虽然直接打印显示正常,但被@MethodAccess内RequestRole[] GET()等方法引用后获取的是空值 + // public static final RequestRole[] ALL = {RequestRole.UNKNOWN};//values();//所有 + // public static final RequestRole[] HIGHS;//高级 + // static { + // HIGHS = new RequestRole[] {OWNER, ADMIN}; + // } + + public static RequestRole get(String name) { + try {//Enum.valueOf只要找不到对应的值就会抛异常 + return RequestRole.valueOf(StringUtil.toUpperCase(name)); + } catch (Exception e) { + //empty + } + return null; + } + +} diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java index ac779ec2e..538db3e06 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java @@ -271,9 +271,9 @@ public static boolean isEmpty(String s, boolean trim) { } //判断字符是否为空 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - + //判断字符是否非空 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - + /**判断字符是否非空 * @param object * @param trim @@ -298,21 +298,21 @@ public static boolean isNotEmpty(CharSequence cs, boolean trim) { public static boolean isNotEmpty(String s, boolean trim) { return ! isEmpty(s, trim); } - + //判断字符是否非空 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //判断字符类型 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final Pattern alphaPattern; - public static final Pattern bigAlphaPattern; - public static final Pattern namePattern; - public static final Pattern smallAlphaPattern; + public static final Pattern ALPHA_PATTERN; + public static final Pattern NAME_PATTERN; + public static final Pattern BIG_ALPHA_PATTERN; + public static final Pattern SMALL_ALPHA_PATTERN; static { - alphaPattern = Pattern.compile("[a-zA-Z]"); - bigAlphaPattern = Pattern.compile("[A-Z]"); - namePattern = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过 - smallAlphaPattern = Pattern.compile("[a-z]"); + ALPHA_PATTERN = Pattern.compile("[a-zA-Z]"); + NAME_PATTERN = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过 + BIG_ALPHA_PATTERN = Pattern.compile("[A-Z]"); + SMALL_ALPHA_PATTERN = Pattern.compile("[a-z]"); } //判断手机格式是否正确 @@ -392,6 +392,37 @@ public static boolean isNumberOrAlpha(String s) { return isNumer(s) || isAlpha(s); } + /**判断是否为单词,只能包含字母,数字或下划线 + * @param s + * @return + */ + public static boolean isWord(String s) { + return s != null && NAME_PATTERN.matcher(s).matches(); + } + /**判断是否为首字母大写的单词 + * @param key + * @return + */ + public static boolean isBigWord(String s) { + s = getString(s); + if (s.isEmpty() || BIG_ALPHA_PATTERN.matcher(s.substring(0, 1)).matches() == false) { + return false; + } + return s.length() <= 1 ? true : isWord(s.substring(1)); + } + /**判断是否为首字母小写的单词 + * @param key + * @return + */ + public static boolean isSmallWord(String s) { + s = getString(s); + if (s.isEmpty() || SMALL_ALPHA_PATTERN.matcher(s.substring(0, 1)).matches() == false) { + return false; + } + return s.length() <= 1 ? true : isWord(s.substring(1)); + } + + /**判断字符类型是否是身份证号 * @param idCard * @return @@ -589,7 +620,7 @@ public static String getCorrectEmail(String email) { public static final int PRICE_FORMAT_PREFIX_WITH_BLANK = 3; public static final int PRICE_FORMAT_SUFFIX_WITH_BLANK = 4; public static final String[] PRICE_FORMATS = { - "", "¥", "元", "¥ ", " 元" + "", "¥", "元", "¥ ", " 元" }; /**获取价格,保留两位小数 @@ -676,7 +707,7 @@ public static String getPrice(double price, int formatType) { } } - + /**分割路径 * @param path * @return @@ -722,11 +753,10 @@ public static String[] split(String s, String split) { * @return key + suffix,第一个字母小写 */ public static String addSuffix(String key, String suffix) { - key = StringUtil.getNoBlankString(key); + key = getNoBlankString(key); if (key.isEmpty()) { return firstCase(suffix); } - return firstCase(key) + firstCase(suffix, true); } /** @@ -741,7 +771,7 @@ public static String firstCase(String key) { * @return */ public static String firstCase(String key, boolean upper) { - key = StringUtil.getString(key); + key = getString(key); if (key.isEmpty()) { return ""; } @@ -752,7 +782,38 @@ public static String firstCase(String key, boolean upper) { return key; } - + /**全部大写 + * @param s + * @return + */ + public static String toUpperCase(String s) { + return toUpperCase(s, false); + } + /**全部大写 + * @param s + * @param trim + * @return + */ + public static String toUpperCase(String s, boolean trim) { + s = trim ? getTrimedString(s) : getString(s); + return s.toUpperCase(); + } + /**全部小写 + * @param s + * @return + */ + public static String toLowerCase(String s) { + return toLowerCase(s, false); + } + /**全部小写 + * @param s + * @return + */ + public static String toLowerCase(String s, boolean trim) { + s = trim ? getTrimedString(s) : getString(s); + return s.toLowerCase(); + } + //校正(自动补全等)字符串>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/BaseModel.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/BaseModel.java index 8f6d961e0..a6f375a3f 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/BaseModel.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/BaseModel.java @@ -1,4 +1,4 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,16 +15,19 @@ package apijson.demo.model; import java.io.Serializable; +import java.util.Arrays; import java.util.Collection; import java.util.Map; +import com.alibaba.fastjson.JSON; + /**base model for reduce model codes * @author Lemon * @use extends BaseModel */ -@SuppressWarnings("serial") public abstract class BaseModel implements Serializable { - + private static final long serialVersionUID = 1L; + private Long id; private Long date; @@ -42,8 +45,22 @@ public BaseModel setDate(Long date) { this.date = date; return this; } + + + @Override + public String toString() { + return JSON.toJSONString(this); + } + //判断是否为空 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< + /**判断array是否为空 + * @param array + * @return + */ + public static boolean isEmpty(T[] array) { + return array == null || array.length <= 0; + } /**判断collection是否为空 * @param collection * @return @@ -63,6 +80,14 @@ public static boolean isEmpty(Map map) { //判断是否为空 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> //判断是否包含 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< + /**判断array是否包含a + * @param array + * @param a + * @return + */ + public static boolean isContain(T[] array, T a) { + return array == null ? false : Arrays.asList(array).contains(a); + } /**判断collection是否包含object * @param collection * @param object @@ -105,7 +130,7 @@ public static int count(T[] array) { } /**获取数量 * @param - * @param collection collection, Vector, Set等都是Collection的子类 + * @param collection List, Vector, Set等都是Collection的子类 * @return */ public static int count(Collection collection) { @@ -139,7 +164,7 @@ public static T get(T[] array, int position) { */ @SuppressWarnings("unchecked") public static T get(Collection collection, int position) { - return (T) (collection == null ? null : get(collection.toArray(), position)); + return collection == null ? null : (T) get(collection.toArray(), position); } /**获取 * @param diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Comment.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Comment.java index 4a6199d04..fe554f164 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Comment.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Comment.java @@ -1,4 +1,4 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,19 +14,24 @@ package apijson.demo.model; -import zuo.biao.apijson.APIJSONRequest; -import zuo.biao.apijson.RequestMethod; +import zuo.biao.apijson.MethodAccess; /**评论类 * @author Lemon + * @see + *
POST:
+{
+ "Comment":{
+     "disallow":"id",
+     "necessary":"userId,momentId,content"
+ }
+}
+ * 
*/ -@APIJSONRequest( - method = {RequestMethod.GET, RequestMethod.HEAD, RequestMethod.POST, RequestMethod.PUT, RequestMethod.DELETE}, - DELETE = "{necessaryColumns:id}" - ) +@MethodAccess public class Comment extends BaseModel { - private static final long serialVersionUID = -1011007127735372824L; - + private static final long serialVersionUID = 1L; + private Long toId; private Long userId; private Long momentId; @@ -38,7 +43,7 @@ public Comment(long id) { this(); setId(id); } - + public Long getToId() { return toId; diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Moment.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Moment.java index 583909a64..6a30926ff 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Moment.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Moment.java @@ -1,4 +1,4 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,24 +14,44 @@ package apijson.demo.model; +import static zuo.biao.apijson.RequestRole.ADMIN; +import static zuo.biao.apijson.RequestRole.CIRCLE; +import static zuo.biao.apijson.RequestRole.CONTACT; +import static zuo.biao.apijson.RequestRole.LOGIN; +import static zuo.biao.apijson.RequestRole.OWNER; + import java.util.List; -import zuo.biao.apijson.APIJSONRequest; -import zuo.biao.apijson.RequestMethod; +import zuo.biao.apijson.MethodAccess; -/**作品类 +/**动态类 * @author Lemon + * @see + *
POST:
+{
+ "Moment":{
+     "disallow":"id",
+     "necessary":"userId,pictureList"
+ }
+}
+ * 
+ *
PUT:
+{
+ "Moment":{
+     "disallow":"userId,date",
+     "necessary":"id"
+ }
+}
+ * 
*/ -@APIJSONRequest( - method = {RequestMethod.GET, RequestMethod.HEAD, RequestMethod.POST, RequestMethod.PUT, RequestMethod.DELETE}, - DELETE = "{necessaryColumns:id}" +@MethodAccess( + PUT = {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}//TODO 还要细分,LOGIN,CONTACT只允许修改praiseUserIdList。数据库加role没用,应该将praiseUserIdList移到Praise表 ) public class Moment extends BaseModel { - private static final long serialVersionUID = -7437225320551780084L; + private static final long serialVersionUID = 1L; private Long userId; private String content; - private String picture; private List pictureList; private List praiseUserIdList; private List commentIdList; @@ -58,13 +78,6 @@ public Moment setContent(String content) { this.content = content; return this; } - public String getPicture() { - return picture; - } - public Moment setPicture(String picture) { - this.picture = picture; - return this; - } public List getPictureList() { return pictureList; } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/User.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/User.java index b8e7d6a63..f9cd33d63 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/User.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/User.java @@ -1,4 +1,4 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,22 +14,50 @@ package apijson.demo.model; +import static zuo.biao.apijson.RequestRole.ADMIN; +import static zuo.biao.apijson.RequestRole.UNKNOWN; + import java.util.List; -import zuo.biao.apijson.APIJSONRequest; -import zuo.biao.apijson.RequestMethod; +import zuo.biao.apijson.MethodAccess; /**用户类 * @author Lemon + * @see + *
POST:post/register/user
+{
+    "User":{
+        "disallow":"id",
+        "necessary":"name,phone"
+    },
+    "necessary":"loginPassword,verify"
+}
+ * 
+ *
PUT:
+{
+    "User":{
+        "disallow":"phone",
+        "necessary":"id"
+    }
+}
+ * 
+ *
PUT(User.phone):put/user/phone
+{
+    "User":{
+        "disallow":"!",
+        "necessary":"id,phone"
+    },
+    "necessary":"loginPassword,verify"
+}
+ * 
*/ -@APIJSONRequest( - method = {RequestMethod.GET, RequestMethod.HEAD, RequestMethod.PUT, RequestMethod.DELETE}, - PUT = "{disallowColumns:phone, necessaryColumns:id}", - DELETE = "{necessaryColumns:id}" +@MethodAccess( + POST = {UNKNOWN, ADMIN}, + DELETE = {ADMIN} ) public class User extends BaseModel { - private static final long serialVersionUID = -1635551656020732611L; - + private static final long serialVersionUID = 1L; + public static final int SEX_MAIL = 0; public static final int SEX_FEMALE = 1; public static final int SEX_UNKNOWN = 2; @@ -39,11 +67,9 @@ public class User extends BaseModel { private String head; //头像url private String name; //姓名 private String phone; //手机 - private String picture; //照片列表 - private List pictureList; //照片列表 private String tag; //标签 - private Integer starred; //星标 - private List friendIdList; //照片列表 + private List pictureList; //照片列表 + private List contactIdList; //联系人列表 /**默认构造方法,JSON等解析时必须要有 */ @@ -83,13 +109,6 @@ public User setPhone(String phone) { this.phone = phone; return this; } - public String getPicture() { - return picture; - } - public User setPicture(String picture) { - this.picture = picture; - return this; - } public List getPictureList() { return pictureList; } @@ -105,19 +124,12 @@ public User setTag(String tag) { this.tag = tag; return this; } - public Integer getStarred() { - return starred; - } - public User setStarred(Integer starred) { - this.starred = starred; - return this; - } - public List getFriendIdList() { - return friendIdList; + public List getContactIdList() { + return contactIdList; } - public User setFriendIdList(List friendIdList) { - this.friendIdList = friendIdList; + public User setContactIdList(List contactIdList) { + this.contactIdList = contactIdList; return this; } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Wallet.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Wallet.java index 29dcca3de..14ca08929 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Wallet.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Wallet.java @@ -1,4 +1,4 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,26 +14,66 @@ package apijson.demo.model; +import static zuo.biao.apijson.RequestRole.ADMIN; +import static zuo.biao.apijson.RequestRole.OWNER; + import java.math.BigDecimal; -import zuo.biao.apijson.APIJSONRequest; -import zuo.biao.apijson.RequestMethod; +import zuo.biao.apijson.MethodAccess; -/**钱包类 +/**钱包类,已用privacy替代 * @author Lemon + * @see + *
POST_GET:
+{
+    "Wallet":{
+        "disallow":"!",
+        "necessary":"id"
+    }
+}
+ * 
+ *
POST:post/wallet
+{
+    "Wallet":{
+        "disallow":"!",
+        "necessary":"id"
+    },
+    "necessary":"payPassword"
+}
+ * 
+ *
PUT:put/wallet
+{
+    "Wallet":{
+        "disallow":"!",
+        "necessary":"id,balance+"
+    },
+    "necessary":"payPassword"
+}
+ * 
+ *
DELETE:delete/wallet
+{
+    "Wallet":{
+        "disallow":"!",
+        "necessary":"id"
+    },
+    "necessary":"payPassword"
+}
+ * 
*/ -@APIJSONRequest( - method = {RequestMethod.POST_GET, RequestMethod.POST, RequestMethod.PUT, RequestMethod.DELETE}, - POST_GET = "{Wallet:{disallowColumns:!, necessaryColumns:userId}, necessaryColumns:currentUserId,loginPassword}", - DELETE = "{necessaryColumns:id}" +@Deprecated +@MethodAccess( + GET = {}, + HEAD = {}, + POST_GET = {OWNER, ADMIN}, + POST_HEAD = {OWNER, ADMIN}, + POST = {ADMIN}, + DELETE = {ADMIN} ) public class Wallet extends BaseModel { - private static final long serialVersionUID = 4298571449155754300L; - + private static final long serialVersionUID = 1L; + public BigDecimal balance; - - private Long userId; - + /**默认构造方法,JSON等解析时必须要有 */ public Wallet() { @@ -43,15 +83,13 @@ public Wallet(long id) { this(); setId(id); } - - public Long getUserId() { - return userId; - } - public Wallet setUserId(Long userId) { - this.userId = userId; + + + public Wallet setUserId(long userId) { + setId(userId); return this; } - + public BigDecimal getBalance() { return balance; } From 35daec8ef16ffe1a5da052d8946cb03e82b6755b Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 16 Jul 2017 21:55:59 +0800 Subject: [PATCH 120/219] =?UTF-8?q?Client:=E8=A7=A3=E5=86=B3APIJSONTest?= =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E4=B8=ADRequestActivity#onHttpResponse?= =?UTF-8?q?=E5=86=85=E5=B0=81=E8=A3=85=E7=B1=BB=E5=9E=8Bnull=E8=BD=AC?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E7=B1=BB=E5=9E=8B=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../APIJSONTest/src/apijson/demo/ui/RequestActivity.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java index 3055746aa..d955a0a8b 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java @@ -39,6 +39,7 @@ import apijson.demo.HttpManager.OnHttpResponseListener; import apijson.demo.R; import apijson.demo.StringUtil; +import apijson.demo.model.BaseModel; import apijson.demo.model.Moment; import apijson.demo.model.Wallet; @@ -233,7 +234,7 @@ public void onHttpResponse(int requestCode, final String resultJson, final Excep if ("post".equals(method)) { Moment moment = response.getObject(Moment.class); - id = moment == null ? 0 : moment.getId(); + id = moment == null ? 0 : BaseModel.value(moment.getId()); Log.d(TAG, "onHttpResponse post.equals(method) >> id = " + id); } else if ("put".equals(method)) { From ea8816a02ab42c9d4068d6a25db44cd36e065f74 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 16 Jul 2017 22:14:56 +0800 Subject: [PATCH 121/219] =?UTF-8?q?Client:=E5=90=8C=E6=AD=A5adt=E7=89=88?= =?UTF-8?q?=E8=87=B3studio=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/apijson/demo/ui/RequestActivity.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java index 3055746aa..82deb8b6a 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java @@ -14,13 +14,6 @@ package apijson.demo.ui; -import static zuo.biao.apijson.StringUtil.UTF_8; - -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; - -import zuo.biao.apijson.JSON; -import zuo.biao.apijson.JSONResponse; import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -35,14 +28,23 @@ import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; + +import com.alibaba.fastjson.JSONObject; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + import apijson.demo.HttpManager; import apijson.demo.HttpManager.OnHttpResponseListener; import apijson.demo.R; import apijson.demo.StringUtil; +import apijson.demo.model.BaseModel; import apijson.demo.model.Moment; import apijson.demo.model.Wallet; +import zuo.biao.apijson.JSON; +import zuo.biao.apijson.JSONResponse; -import com.alibaba.fastjson.JSONObject; +import static zuo.biao.apijson.StringUtil.UTF_8; /**请求Activity * 向服务器发起请求查询或操作相应数据 @@ -89,10 +91,10 @@ public static Intent createIntent(Context context, long id, String url, String m private boolean isAlive; private long id; - private String url; - private String method; - private String request; - private boolean encoded; + private String url; + private String method; + private String request; + private boolean encoded; private TextView tvRequestResult; private ProgressBar pbRequest; @@ -233,7 +235,7 @@ public void onHttpResponse(int requestCode, final String resultJson, final Excep if ("post".equals(method)) { Moment moment = response.getObject(Moment.class); - id = moment == null ? 0 : moment.getId(); + id = moment == null ? 0 : BaseModel.value(moment.getId()); Log.d(TAG, "onHttpResponse post.equals(method) >> id = " + id); } else if ("put".equals(method)) { From fef2ba2d3cb8f34123c722c939b4cb6230c16361 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 16 Jul 2017 23:11:05 +0800 Subject: [PATCH 122/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index df7c28351..569af7ae0 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@
-[Java-Server](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-Java-Server) [Android](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-Android) [JavaScript](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-JavaScript) +[Java-Server](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-Java-Server) [Android](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-Android) [JavaScript](https://github.com/TommyLemon/APIJSON/tree/master/APIJSON-JavaScript) [Vue.js](https://github.com/TommyLemon/APIJSON-JS-Vue) [English Document](https://github.com/TommyLemon/APIJSON/blob/master/README(English).md) From 69664a6b9b6fc7039930ec683a57cd06ae55b3b6 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 23 Jul 2017 22:27:08 +0800 Subject: [PATCH 123/219] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 569af7ae0..1f55887d3 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,9 @@ APIJSON是一种JSON传输结构协议。
从此HTTP传输JSON数据没有接口,更不需要文档!
客户端再也不用和服务端沟通接口或文档问题了!再也不会被文档各种错误坑了!
-服务端再也不用为了兼容旧版客户端写新版接口和文档了!再也不会被客户端随时随地没完没了地烦了! +服务端再也不用为了兼容旧版客户端写新版接口和文档了!再也不会被客户端随时随地没完没了地烦了!
+ +[为什么要用APIJSON?](https://github.com/TommyLemon/APIJSON/wiki) ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/apijson_all_pages_0.jpg) ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/apijson_all_pages_1.jpg) From a039193447b99a36f4175ac09658938db3177c5c Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 24 Jul 2017 00:02:28 +0800 Subject: [PATCH 124/219] =?UTF-8?q?Server:=E7=AE=80=E5=8C=96=E8=A1=A8?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=EF=BC=9B=E8=A7=A3=E5=86=B3put/balance?= =?UTF-8?q?=E4=B8=8D=E5=8F=AF=E7=94=A8=EF=BC=9B=E5=88=A0=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E7=9A=84model=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apijson/demo/server/AccessVerifier.java | 29 ++--- .../java/apijson/demo/server/Controller.java | 95 ++++++++-------- .../apijson/demo/server/model/Comment.java | 53 +-------- .../java/apijson/demo/server/model/Login.java | 97 ----------------- .../apijson/demo/server/model/Moment.java | 71 +----------- .../apijson/demo/server/model/Password.java | 94 ---------------- .../apijson/demo/server/model/Privacy.java | 19 +++- .../java/apijson/demo/server/model/User.java | 27 ----- .../apijson/demo/server/model/Verify.java | 18 +--- .../apijson/demo/server/model/Wallet.java | 101 ------------------ .../java/zuo/biao/apijson/model/Column.java | 17 +++ .../java/zuo/biao/apijson/model/Table.java | 17 +++ .../java/zuo/biao/apijson/model/Test.java | 15 ++- .../zuo/biao/apijson/model/package-info.java | 2 +- .../zuo/biao/apijson/server/Structure.java | 2 - 15 files changed, 133 insertions(+), 524 deletions(-) delete mode 100644 APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Login.java delete mode 100644 APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Password.java delete mode 100644 APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Wallet.java diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java index 2bab0adf3..8e09c29ea 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java @@ -27,15 +27,11 @@ import apijson.demo.server.model.BaseModel; import apijson.demo.server.model.Comment; -import apijson.demo.server.model.Login; import apijson.demo.server.model.Moment; -import apijson.demo.server.model.Password; -import apijson.demo.server.model.User; import apijson.demo.server.model.Privacy; +import apijson.demo.server.model.User; import apijson.demo.server.model.Verify; -import apijson.demo.server.model.Wallet; import zuo.biao.apijson.JSON; -import zuo.biao.apijson.JSONRequest; import zuo.biao.apijson.Log; import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.RequestMethod; @@ -57,18 +53,15 @@ public class AccessVerifier { // > // > - public static final Map> accessMap; + public static final Map> ACCESS_MAP; static { - accessMap = new HashMap>(); - - accessMap.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class))); - accessMap.put(Privacy.class.getSimpleName(), getAccessMap(Privacy.class.getAnnotation(MethodAccess.class))); - accessMap.put(Moment.class.getSimpleName(), getAccessMap(Moment.class.getAnnotation(MethodAccess.class))); - accessMap.put(Comment.class.getSimpleName(), getAccessMap(Comment.class.getAnnotation(MethodAccess.class))); - accessMap.put(Verify.class.getSimpleName(), getAccessMap(Verify.class.getAnnotation(MethodAccess.class))); - accessMap.put(Login.class.getSimpleName(), getAccessMap(Login.class.getAnnotation(MethodAccess.class))); - accessMap.put(Password.class.getSimpleName(), getAccessMap(Password.class.getAnnotation(MethodAccess.class))); - accessMap.put(Wallet.class.getSimpleName(), getAccessMap(Wallet.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP = new HashMap>(); + + ACCESS_MAP.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Privacy.class.getSimpleName(), getAccessMap(Privacy.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Moment.class.getSimpleName(), getAccessMap(Moment.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Comment.class.getSimpleName(), getAccessMap(Comment.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Verify.class.getSimpleName(), getAccessMap(Verify.class.getAnnotation(MethodAccess.class))); } /**获取权限Map,每种操作都只允许对应的角色 @@ -119,7 +112,7 @@ public static boolean verify(SQLConfig config, User visitor) throws Exception { //验证角色,假定真实强制匹配<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - String userIdkey = Controller.USER_.equals(config.getTable()) || Controller.USER_PRIVACY_.equals(config.getTable()) + String userIdkey = Controller.USER_.equals(config.getTable()) || Controller.PRIVACY_.equals(config.getTable()) ? Controller.ID : Controller.USER_ID; if (role == null) { @@ -202,7 +195,7 @@ public static void verifyRole(String table, RequestMethod method, RequestRole ro if (role == null) { role = RequestRole.UNKNOWN; } - Map map = accessMap.get(table); + Map map = ACCESS_MAP.get(table); if (map == null || BaseModel.isContain(map.get(method), role) == false) { throw new IllegalAccessException(table + " 不允许 " + role.name() + " 用户的 " + method.name() + " 请求!"); diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java index 3acbcd1e9..5f7846af0 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java @@ -36,16 +36,12 @@ import apijson.demo.server.model.BaseModel; import apijson.demo.server.model.Comment; -import apijson.demo.server.model.Login; import apijson.demo.server.model.Moment; -import apijson.demo.server.model.Password; -import apijson.demo.server.model.User; import apijson.demo.server.model.Privacy; +import apijson.demo.server.model.User; import apijson.demo.server.model.Verify; -import apijson.demo.server.model.Wallet; import zuo.biao.apijson.JSON; import zuo.biao.apijson.JSONResponse; -import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.server.JSONRequest; @@ -160,19 +156,15 @@ public String delete(@RequestBody String request, HttpSession session) { public static final String USER_; + public static final String PRIVACY_; public static final String MOMENT_; public static final String COMMENT_; - public static final String WALLET_; - public static final String PASSWORD_; - public static final String USER_PRIVACY_; - public static final String VERIFY_; + public static final String VERIFY_; //加下划线后缀是为了避免 Verify 和 verify 都叫VERIFY,分不清 static { USER_ = User.class.getSimpleName(); + PRIVACY_ = Privacy.class.getSimpleName(); MOMENT_ = Moment.class.getSimpleName(); COMMENT_ = Comment.class.getSimpleName(); - WALLET_ = Wallet.class.getSimpleName(); - PASSWORD_ = Password.class.getSimpleName(); - USER_PRIVACY_ = Privacy.class.getSimpleName(); VERIFY_ = Verify.class.getSimpleName(); } @@ -187,8 +179,8 @@ public String delete(@RequestBody String request, HttpSession session) { public static final String NAME = "name"; public static final String PHONE = "phone"; public static final String PASSWORD = "password"; - public static final String LOGIN_PASSWORD = "loginPassword"; - public static final String PAY_PASSWORD = "payPassword"; + public static final String _PASSWORD = "_password"; + public static final String _PAY_PASSWORD = "_payPassword"; public static final String OLD_PASSWORD = "oldPassword"; public static final String VERIFY = "verify"; @@ -339,7 +331,8 @@ private JSONObject newVerifyRequest(String phone, String verify) { } - + public static final int LOGIN_TYPE_PASSWORD = 0;//密码登录 + public static final int LOGIN_TYPE_VERIFY = 1;//验证码登录 /**用户登录 * @param request 只用String,避免encode后未decode * @return @@ -379,7 +372,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { new Privacy().setPhone(phone) ) ); - JSONResponse response = new JSONResponse(phoneResponse).getJSONResponse(USER_PRIVACY_); + JSONResponse response = new JSONResponse(phoneResponse).getJSONResponse(PRIVACY_); if (JSONResponse.isSucceed(response) == false) { return response; } @@ -403,7 +396,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { //校验凭证 int type = Integer.valueOf(0 + StringUtil.getNumber(typeString)); - if (type == Login.TYPE_PASSWORD) {//password密码登录 + if (type == LOGIN_TYPE_PASSWORD) {//password密码登录 response = new JSONResponse( new Parser(POST_HEAD, true).parseResponse( new JSONRequest(new Privacy(userId).setPassword(password)) @@ -415,7 +408,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { if (JSONResponse.isSucceed(response) == false) { return response; } - response = response.getJSONResponse(type == Login.TYPE_PASSWORD ? USER_PRIVACY_ : VERIFY_); + response = response.getJSONResponse(type == LOGIN_TYPE_PASSWORD ? PRIVACY_ : VERIFY_); if (JSONResponse.isExist(response) == false) { return Parser.newErrorResult(new ConditionErrorException("账号或密码错误")); } @@ -434,7 +427,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { session.setAttribute(USER_ID, userId);//用户id session.setAttribute(TYPE, type);//登录方式 session.setAttribute(USER_, user);//用户 - session.setAttribute(USER_PRIVACY_, privacy);//用户隐私信息 + session.setAttribute(PRIVACY_, privacy);//用户隐私信息 // session.setMaxInactiveInterval(1*60);//设置session过期时间 return response; @@ -508,7 +501,7 @@ public JSONObject register(@RequestBody String request) { new Privacy().setPhone(phone) ) ); - JSONObject checkUser = check == null ? null : check.getJSONObject(USER_PRIVACY_); + JSONObject checkUser = check == null ? null : check.getJSONObject(PRIVACY_); if (checkUser == null || checkUser.getIntValue(JSONResponse.KEY_COUNT) > 0) { return Parser.newErrorResult(new ConflictException("手机号" + phone + "已经注册")); } @@ -531,7 +524,7 @@ public JSONObject register(@RequestBody String request) { ) ) ); - if (JSONResponse.isSucceed(response.getJSONResponse(USER_PRIVACY_)) == false) {//创建失败,删除新增的无效User和userPrivacy + if (JSONResponse.isSucceed(response.getJSONResponse(PRIVACY_)) == false) {//创建失败,删除新增的无效User和userPrivacy new Parser(DELETE, true).parseResponse( new JSONRequest( @@ -624,26 +617,39 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { } catch (Exception e) { return Parser.newErrorResult(e); } + JSONObject privacyObj; + long userId; + String payPassword; + double change; + try { + privacyObj = requestObject.getJSONObject(PRIVACY_); + if (privacyObj == null) { + throw new NullPointerException("请设置 " + PRIVACY_ + "!"); + } + userId = privacyObj.getLongValue(ID); + payPassword = privacyObj.getString(_PAY_PASSWORD); + change = privacyObj.getDoubleValue("balance+"); + + if (userId <= 0) { + throw new IllegalArgumentException(PRIVACY_ + "." + ID + ":value 中value不合法!"); + } + if (StringUtil.isPassword(payPassword) == false) { + throw new IllegalArgumentException(PRIVACY_ + "." + _PAY_PASSWORD + ":value 中value不合法!"); + } + } catch (Exception e) { + return Parser.extendErrorResult(requestObject, e); + } //验证密码<<<<<<<<<<<<<<<<<<<<<<< - JSONObject pwdObj = requestObject.getJSONObject(PASSWORD_); - requestObject.remove(PASSWORD_); - if (pwdObj == null) { - pwdObj = new JSONRequest(); - } - if (pwdObj.getIntValue(TYPE) != Password.TYPE_PAY) { - // return Parser.extendErrorResult(requestObject, new ConditionErrorException("Password type必须是支付类型!")); - pwdObj.put(TYPE, Password.TYPE_PAY); - } - + privacyObj.remove("balance+"); JSONResponse response = new JSONResponse( new Parser(POST_HEAD, true).setSession(session).parseResponse( - new JSONRequest(PASSWORD_, pwdObj) + new JSONRequest(PRIVACY_, privacyObj) ) ); - response = response.getJSONResponse(PASSWORD_); - if (response == null || response.isExist() == false) { + response = response.getJSONResponse(PRIVACY_); + if (JSONResponse.isExist(response) == false) { return Parser.extendErrorResult(requestObject, new ConditionErrorException("支付密码错误!")); } @@ -652,13 +658,6 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { //验证金额范围<<<<<<<<<<<<<<<<<<<<<<< - JSONObject wallet = requestObject.getJSONObject(WALLET_); - long id = wallet == null ? 0 : wallet.getLongValue(ID); - if (id <= 0) { - return Parser.extendErrorResult(requestObject, new ConditionErrorException("请设置Wallet及内部的id!")); - } - - double change = wallet.getDoubleValue("balance+"); if (change == 0) { return Parser.extendErrorResult(requestObject, new OutOfRangeException("balance+的值不能为0!")); } @@ -672,20 +671,26 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { response = new JSONResponse( new Parser(POST_GET, true).parseResponse( new JSONRequest( - new Wallet(id).setUserId(AccessVerifier.getUserId(session)) + new Privacy(userId) ) ) ); - Wallet w = response == null ? null : response.getObject(Wallet.class); - if (w == null) { + Privacy privacy = response == null ? null : response.getObject(Privacy.class); + long id = privacy == null ? 0 : BaseModel.value(privacy.getId()); + if (id != userId) { return Parser.extendErrorResult(requestObject, new Exception("服务器内部错误!")); } - if (w.getBalance() == null || w.getBalance().doubleValue() < -change) { + if (BaseModel.value(privacy.getBalance()) < -change) { return Parser.extendErrorResult(requestObject, new OutOfRangeException("余额不足!")); } } + + privacyObj.remove(_PAY_PASSWORD); + privacyObj.put("balance+", change); + requestObject.put(PRIVACY_, privacyObj); + requestObject.put(JSONRequest.KEY_TAG, PRIVACY_); //不免验证,里面会验证身份 return new Parser(PUT).setSession(session).parseResponse(requestObject); } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Comment.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Comment.java index e11555d85..5bbdb50fc 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Comment.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Comment.java @@ -18,56 +18,7 @@ /**评论类 * @author Lemon - * @see - *
POST:
-{
- "Comment":{
-     "disallow":"id",
-     "necessary":"userId,momentId,content"
- }
-}
- * 
*/ @MethodAccess -public class Comment extends BaseModel { - private static final long serialVersionUID = 1L; - - private Long toId; - private Long momentId; - private String content; - public Comment() { - super(); - } - public Comment(long id) { - this(); - setId(id); - } - - - public Long getToId() { - return toId; - } - public Comment setToId(Long toId) { - this.toId = toId; - return this; - } - public Comment setUserId(Long userId) { - super.setUserId(userId); - return this; - } - public Long getMomentId() { - return momentId; - } - public Comment setMomentId(Long momentId) { - this.momentId = momentId; - return this; - } - public String getContent() { - return content; - } - public Comment setContent(String content) { - this.content = content; - return this; - } - -} +public class Comment { +} \ No newline at end of file diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Login.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Login.java deleted file mode 100644 index b123f241e..000000000 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Login.java +++ /dev/null @@ -1,97 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.server.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.CONTACT; -import static zuo.biao.apijson.RequestRole.LOGIN; -import static zuo.biao.apijson.RequestRole.OWNER; -import static zuo.biao.apijson.RequestRole.UNKNOWN; - -import zuo.biao.apijson.MethodAccess; - -/**登录类,已用session替代 - * @author Lemon - * @see - *
POST_HEAD:
-{
- "Login":{
-     "disallow":"!",
-     "necessary":"userId,type"
- }
-}
- * 
-*
POST:login
-{
-    "Login":{
-        "necessary":"phone"
-    },
-    "Password":{
-        "disallow":"!",
-        "necessary":"password"
-    }
-}
- * 
-*
POST:login
-{
-    "Login":{
-        "disallow":"!",
-        "necessary":"userId"
-    }
-}
- * 
- */ -@Deprecated -@SuppressWarnings("serial") -@MethodAccess( - POST_GET = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}, - POST_HEAD = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}, - POST = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}, - PUT = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}, - DELETE = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN} - ) -public class Login extends BaseModel { - - public static final int TYPE_PASSWORD = 0;//密码登录 - public static final int TYPE_VERIFY = 1;//验证码登录 - - private Long userId; - private Integer type; - - public Login() { - super(); - } - public Login(long userId) { - this(); - setUserId(userId); - } - - public Long getUserId() { - return userId; - } - public Login setUserId(Long userId) { - this.userId = userId; - return this; - } - - public Integer getType() { - return type; - } - public Login setType(Integer type) { - this.type = type; - return this; - } - -} diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Moment.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Moment.java index b6ddf6844..8fc89e5ed 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Moment.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Moment.java @@ -20,80 +20,13 @@ import static zuo.biao.apijson.RequestRole.LOGIN; import static zuo.biao.apijson.RequestRole.OWNER; -import java.util.List; - import zuo.biao.apijson.MethodAccess; /**动态类 * @author Lemon - * @see - *
POST:
-{
- "Moment":{
-     "disallow":"id",
-     "necessary":"userId,pictureList"
- }
-}
- * 
- *
PUT:
-{
- "Moment":{
-     "disallow":"userId,date",
-     "necessary":"id"
- }
-}
- * 
*/ @MethodAccess( PUT = {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}//TODO 还要细分,LOGIN,CONTACT只允许修改praiseUserIdList。数据库加role没用,应该将praiseUserIdList移到Praise表 ) -public class Moment extends BaseModel { - private static final long serialVersionUID = 1L; - - private String content; - private List pictureList; - private List praiseUserIdList; - private List commentIdList; - - public Moment() { - super(); - } - public Moment(long id) { - this(); - setId(id); - } - - - public Moment setUserId(Long userId) { - super.setUserId(userId); - return this; - } - public String getContent() { - return content; - } - public Moment setContent(String content) { - this.content = content; - return this; - } - public List getPictureList() { - return pictureList; - } - public Moment setPictureList(List pictureList) { - this.pictureList = pictureList; - return this; - } - public List getPraiseUserIdList() { - return praiseUserIdList; - } - public Moment setPraiseUserIdList(List praiseUserIdList) { - this.praiseUserIdList = praiseUserIdList; - return this; - } - public List getCommentIdList() { - return commentIdList; - } - public Moment setCommentIdList(List commentIdList) { - this.commentIdList = commentIdList; - return this; - } -} +public class Moment { +} \ No newline at end of file diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Password.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Password.java deleted file mode 100644 index f0c9b8c48..000000000 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Password.java +++ /dev/null @@ -1,94 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.server.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.LOGIN; -import static zuo.biao.apijson.RequestRole.OWNER; -import static zuo.biao.apijson.RequestRole.UNKNOWN; - -import zuo.biao.apijson.MethodAccess; -import zuo.biao.apijson.StringUtil; - -/**密码类,已用UserPrivacy替代 - * @author Lemon - * @see - *
POST_HEAD:
-{
- "Password":{
-     "disallow":"!",
-     "necessary":"id,type"
- }
-}
- * 
- *
PUT:put/loginPassword, put/payPassword
-{
-    "Password":{
-        "disallow":"!",
-        "necessary":"id,type,password"
-    },
-    "necessary":"oldPassword"
-}
- * 
- */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_HEAD = {OWNER, ADMIN}, - POST = {UNKNOWN, LOGIN, OWNER, ADMIN} - ) -public class Password extends BaseModel { - private static final long serialVersionUID = 1L; - - public static final int TYPE_LOGIN = 0; - public static final int TYPE_PAY = 1; - - private Integer type; - private String password; - - public Password() { - super(); - } - public Password(String phone) { - this(); - setPhone(phone); - } - public Password(String phone, String password) { - this(phone); - setPassword(password); - } - - public Password setPhone(String phone) { - setId(Long.valueOf(0 + StringUtil.getNumber(phone))); - return this; - } - - public Integer getType() { - return type; - } - public Password setType(Integer type) { - this.type = type; - return this; - } - public String getPassword() { - return password; - } - public Password setPassword(String password) { - this.password = password; - return this; - } - -} diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Privacy.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Privacy.java index 6bbf83b2b..2c53da28a 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Privacy.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Privacy.java @@ -1,3 +1,17 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package apijson.demo.server.model; import static zuo.biao.apijson.RequestRole.ADMIN; @@ -6,7 +20,7 @@ import zuo.biao.apijson.MethodAccess; -/**用户隐私信息类 +/**用户隐私信息 * @author Lemon */ @MethodAccess( @@ -18,6 +32,9 @@ public class Privacy extends BaseModel { private static final long serialVersionUID = 1L; + public static final int PASSWORD_TYPE_LOGIN = 0; + public static final int PASSWORD_TYPE_PAY = 1; + private String phone; //手机 private String password; //登录密码,隐藏字段 private String payPassword; //支付密码,隐藏字段 diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/User.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/User.java index d4d18d08a..75f0c7682 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/User.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/User.java @@ -23,33 +23,6 @@ /**用户类 * @author Lemon - * @see - *
POST:post/register/user
-{
-    "User":{
-        "disallow":"id",
-        "necessary":"name,phone"
-    },
-    "necessary":"loginPassword,verify"
-}
- * 
- *
PUT:
-{
-    "User":{
-        "disallow":"phone",
-        "necessary":"id"
-    }
-}
- * 
- *
PUT(User.phone):put/user/phone
-{
-    "User":{
-        "disallow":"!",
-        "necessary":"id,phone"
-    },
-    "necessary":"loginPassword,verify"
-}
- * 
*/ @MethodAccess( POST = {UNKNOWN, ADMIN}, diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Verify.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Verify.java index 7bc8be59b..a08a31a71 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Verify.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Verify.java @@ -24,24 +24,8 @@ import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.StringUtil; -/**验证码类 +/**验证码 * @author Lemon - * @see - *
POST_GET:post_get/authCode
-{
-    "Verify":{
-        "disallow":"id"
-    }
-}
- * 
- *
POST:post/authCode
-{
-    "Verify":{
-        "disallow":"!",
-        "necessary":"id"
-    }
-}
- * 
*/ @MethodAccess( GET = {}, diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Wallet.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Wallet.java deleted file mode 100644 index d78692a7f..000000000 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Wallet.java +++ /dev/null @@ -1,101 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.server.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.OWNER; - -import java.math.BigDecimal; - -import zuo.biao.apijson.MethodAccess; - -/**钱包类,已用Privacy替代 - * @author Lemon - * @see - *
POST_GET:
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    }
-}
- * 
- *
POST:post/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    },
-    "necessary":"payPassword"
-}
- * 
- *
PUT:put/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id,balance+"
-    },
-    "necessary":"payPassword"
-}
- * 
- *
DELETE:delete/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    },
-    "necessary":"payPassword"
-}
- * 
- */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_GET = {OWNER, ADMIN}, - POST_HEAD = {OWNER, ADMIN}, - POST = {ADMIN}, - DELETE = {ADMIN} - ) -public class Wallet extends BaseModel { - private static final long serialVersionUID = 1L; - - public BigDecimal balance; - - /**默认构造方法,JSON等解析时必须要有 - */ - public Wallet() { - super(); - } - public Wallet(long id) { - this(); - setId(id); - } - - - public Wallet setUserId(long userId) { - setId(userId); - return this; - } - - public BigDecimal getBalance() { - return balance; - } - public Wallet setBalance(BigDecimal balance) { - this.balance = balance; - return this; - } - -} diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Column.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Column.java index a5a8ed99d..ed68fc497 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Column.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Column.java @@ -1,7 +1,24 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package zuo.biao.apijson.model; import zuo.biao.apijson.MethodAccess; +/**字段(列名) + * @author Lemon + */ @MethodAccess public class Column { public static final String TAG = "`columns`"; diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Table.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Table.java index 8d1c898be..eeb3e9571 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Table.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Table.java @@ -1,7 +1,24 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package zuo.biao.apijson.model; import zuo.biao.apijson.MethodAccess; +/**数据库表 + * @author Lemon + */ @MethodAccess public class Table { public static final String TAG = "`tables`"; diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Test.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Test.java index ba98240c6..8f2840d4f 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Test.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Test.java @@ -1,3 +1,17 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package zuo.biao.apijson.model; import zuo.biao.apijson.MethodAccess; @@ -7,5 +21,4 @@ */ @MethodAccess public class Test { - } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/package-info.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/package-info.java index a7882a939..356cf4e4a 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/package-info.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/package-info.java @@ -1,5 +1,5 @@ /** - * + * models for special tables */ /** * @author Lemon diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java index 125586310..e00ba049d 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java @@ -17,8 +17,6 @@ import static zuo.biao.apijson.JSONRequest.KEY_ID; import static zuo.biao.apijson.JSONRequest.KEY_ID_IN; import static zuo.biao.apijson.RequestMethod.POST; -import static zuo.biao.apijson.RequestMethod.PUT; -import static zuo.biao.apijson.RequestMethod.DELETE; import java.util.ArrayList; import java.util.Arrays; From 121bd8dbb474d0744ce01040d209c15b0393db54 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 24 Jul 2017 00:07:42 +0800 Subject: [PATCH 125/219] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1f55887d3..c81a180fb 100644 --- a/README.md +++ b/README.md @@ -49,8 +49,8 @@ APIJSON是一种JSON传输结构协议。
从此HTTP传输JSON数据没有接口,更不需要文档!
客户端再也不用和服务端沟通接口或文档问题了!再也不会被文档各种错误坑了!
-服务端再也不用为了兼容旧版客户端写新版接口和文档了!再也不会被客户端随时随地没完没了地烦了!
- +服务端再也不用为了兼容旧版客户端写新版接口和文档了!再也不会被客户端随时随地没完没了地烦了! +
[为什么要用APIJSON?](https://github.com/TommyLemon/APIJSON/wiki) ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/apijson_all_pages_0.jpg) From dd413e060457b155f6192c910f76cf10f460a658 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 24 Jul 2017 00:29:17 +0800 Subject: [PATCH 126/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c81a180fb..fceb50453 100644 --- a/README.md +++ b/README.md @@ -426,7 +426,7 @@ DELETE:
删除数据,
非明文 | base_url/delete/ | {
 & 减少 或 去除 | "key-":Object,与"key+"相反 | "balance-":100.00,余额减少100.00,即花费了100元 逻辑运算 | &, \|, ! 逻辑运算符。
① & 可用于"key&{}":"条件"等
② \| 可用于"key\|{}":"条件", "key\|{}":[]等,一般可省略
③ ! 可单独使用,如"key!":Object,也可像&,\|一样配合其他功能符使用 | ① ["id&{}":">80000,<=90000"](http://139.196.140.118:8080/head/{"User":{"id&{}":">80000,<=90000"}}),即id满足id>80000 & id<=90000
② ["id\|{}":">90000,<=80000"](http://139.196.140.118:8080/head/{"User":{"id\|{}":">90000,<=80000"}}),同"id{}":">90000,<=80000",即id满足id>90000 \| id<=80000
③ ["id!{}":[82001,38710]](http://139.196.140.118:8080/head/{"User":{"id!{}":[82001,38710]}}),即id满足 ! (id=82001 \| id=38710),可过滤黑名单的消息 数组关键词 | "key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定
① "count":Integer,指定查询数量,假设允许查询数组的最大数量为max,则当count在1~max范围内时,查询count个;否则查询max个
② "page":Integer,指定查询页码,从0开始,一般和count一起用
③ "query":Integer,指定查询内容
0-对象,1-总数,2-以上全部
总数关键词为total,和query同级,通过引用赋值得到,如 "total@":"/[]/total"
这里query及total仅为GET类型的请求提供方便,一般可直接用HEAD类型的请求获取总数 | ① 查询User数组,最多5个:
["count":5](http://139.196.140.118:8080/get/{"[]":{"count":5,"User":{}}})
② 查询第3页的User数组,每页5个:
["count":5,
"page":3](http://139.196.140.118:8080/get/{"[]":{"count":5,"page":3,"User":{}}})
③ 查询User数组和对应的User总数:
["[]":{
   "query":2,
   "User":{}
},
"total@":"/[]/total"](http://139.196.140.118:8080/get/{"[]":{"query":2,"count":5,"User":{}},"total@":"%252F[]%252Ftotal"}) - 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@column":"key0,key1...", 指定返回字段
② "@order":"key0,key1+,key2-...",指定排序方式
③ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
④ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
② 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":%7B"@column":"name,id","@order":"name-,id"}}})
③ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
④ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑤ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
... + 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① "@about":true, 查询User表所有字段属性:
[{"[]":{"User":{"@about":true}}}](http://139.196.140.118:8080/get/{"[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
...

From 0f1c024318cee224013bcbc51c9a7fa12b5ccb9d Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 24 Jul 2017 00:30:48 +0800 Subject: [PATCH 127/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fceb50453..6e3cc8a42 100644 --- a/README.md +++ b/README.md @@ -426,7 +426,7 @@ DELETE:
删除数据,
非明文 | base_url/delete/ | {
 & 减少 或 去除 | "key-":Object,与"key+"相反 | "balance-":100.00,余额减少100.00,即花费了100元 逻辑运算 | &, \|, ! 逻辑运算符。
① & 可用于"key&{}":"条件"等
② \| 可用于"key\|{}":"条件", "key\|{}":[]等,一般可省略
③ ! 可单独使用,如"key!":Object,也可像&,\|一样配合其他功能符使用 | ① ["id&{}":">80000,<=90000"](http://139.196.140.118:8080/head/{"User":{"id&{}":">80000,<=90000"}}),即id满足id>80000 & id<=90000
② ["id\|{}":">90000,<=80000"](http://139.196.140.118:8080/head/{"User":{"id\|{}":">90000,<=80000"}}),同"id{}":">90000,<=80000",即id满足id>90000 \| id<=80000
③ ["id!{}":[82001,38710]](http://139.196.140.118:8080/head/{"User":{"id!{}":[82001,38710]}}),即id满足 ! (id=82001 \| id=38710),可过滤黑名单的消息 数组关键词 | "key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定
① "count":Integer,指定查询数量,假设允许查询数组的最大数量为max,则当count在1~max范围内时,查询count个;否则查询max个
② "page":Integer,指定查询页码,从0开始,一般和count一起用
③ "query":Integer,指定查询内容
0-对象,1-总数,2-以上全部
总数关键词为total,和query同级,通过引用赋值得到,如 "total@":"/[]/total"
这里query及total仅为GET类型的请求提供方便,一般可直接用HEAD类型的请求获取总数 | ① 查询User数组,最多5个:
["count":5](http://139.196.140.118:8080/get/{"[]":{"count":5,"User":{}}})
② 查询第3页的User数组,每页5个:
["count":5,
"page":3](http://139.196.140.118:8080/get/{"[]":{"count":5,"page":3,"User":{}}})
③ 查询User数组和对应的User总数:
["[]":{
   "query":2,
   "User":{}
},
"total@":"/[]/total"](http://139.196.140.118:8080/get/{"[]":{"query":2,"count":5,"User":{}},"total@":"%252F[]%252Ftotal"}) - 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① "@about":true, 查询User表所有字段属性:
[{"[]":{"User":{"@about":true}}}](http://139.196.140.118:8080/get/{"[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
... + 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表所有字段的属性:
[{"[]":{"User":{"@about":true}}}](http://139.196.140.118:8080/get/{"[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
...

From 1500cfe3d003c336b94dac7caa4959aaf17164a8 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 24 Jul 2017 00:58:27 +0800 Subject: [PATCH 128/219] =?UTF-8?q?Server:=E4=B8=BATable,Column,Test?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BF=E9=97=AE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/apijson/demo/server/AccessVerifier.java | 7 +++++++ .../java/zuo/biao/apijson/server/sql/SQLConfig.java | 10 +++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java index 8e09c29ea..5460fd22e 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java @@ -36,6 +36,9 @@ import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; +import zuo.biao.apijson.model.Column; +import zuo.biao.apijson.model.Table; +import zuo.biao.apijson.model.Test; import zuo.biao.apijson.server.exception.NotLoggedInException; import zuo.biao.apijson.server.sql.SQLConfig; @@ -57,6 +60,10 @@ public class AccessVerifier { static { ACCESS_MAP = new HashMap>(); + ACCESS_MAP.put(Table.class.getSimpleName(), getAccessMap(Table.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Column.class.getSimpleName(), getAccessMap(Column.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Test.class.getSimpleName(), getAccessMap(Test.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(Privacy.class.getSimpleName(), getAccessMap(Privacy.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(Moment.class.getSimpleName(), getAccessMap(Moment.class.getAnnotation(MethodAccess.class))); diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index 5677df5e9..5f9fbdcf1 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -48,14 +48,15 @@ import com.alibaba.fastjson.annotation.JSONField; import apijson.demo.server.model.BaseModel; -import apijson.demo.server.model.User; import apijson.demo.server.model.Privacy; +import apijson.demo.server.model.User; import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; import zuo.biao.apijson.SQL; import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.model.Column; +import zuo.biao.apijson.model.Table; import zuo.biao.apijson.server.JSONRequest; import zuo.biao.apijson.server.Logic; import zuo.biao.apijson.server.Pair; @@ -109,6 +110,9 @@ public class SQLConfig { public static final Map TABLE_KEY_MAP; static { TABLE_KEY_MAP = new HashMap(); + TABLE_KEY_MAP.put(Table.class.getSimpleName(), Table.TAG); + TABLE_KEY_MAP.put(Column.class.getSimpleName(), Column.TAG); + TABLE_KEY_MAP.put(User.class.getSimpleName(), "apijson_user"); TABLE_KEY_MAP.put(Privacy.class.getSimpleName(), "apijson_privacy"); } @@ -1032,12 +1036,12 @@ public static synchronized SQLConfig newQueryConfig(RequestMethod method, String Map tableWhere = new LinkedHashMap();//保证顺序好优化 WHERE id > 1 AND name LIKE... if (about) { if (RequestMethod.isQueryMethod(method) == false) { - throw new UnsupportedOperationException(config.getTable() + " 被 @info 标注,只能进行 GET,HEAD 等查询操作!"); + throw new UnsupportedOperationException(config.getTable() + " 被" + KEY_ABOUT + "标注,只能进行 GET,HEAD 等查询操作!"); } tableWhere.put(TABLE_SCHEMA, SQLConfig.getSchema(schema)); tableWhere.put(TABLE_NAME, config.getSQLTable()); - config.setTable(Column.TAG); + config.setTable(Column.class.getSimpleName()); schema = SCHEMA_INFORMATION; column += ( From 9d27af3cc83be573195663436e844ae3658ebe49 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 12 Aug 2017 12:44:08 +0800 Subject: [PATCH 129/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6e3cc8a42..5c8dcf8ee 100644 --- a/README.md +++ b/README.md @@ -426,7 +426,7 @@ DELETE:
删除数据,
非明文 | base_url/delete/ | {
 & 减少 或 去除 | "key-":Object,与"key+"相反 | "balance-":100.00,余额减少100.00,即花费了100元 逻辑运算 | &, \|, ! 逻辑运算符。
① & 可用于"key&{}":"条件"等
② \| 可用于"key\|{}":"条件", "key\|{}":[]等,一般可省略
③ ! 可单独使用,如"key!":Object,也可像&,\|一样配合其他功能符使用 | ① ["id&{}":">80000,<=90000"](http://139.196.140.118:8080/head/{"User":{"id&{}":">80000,<=90000"}}),即id满足id>80000 & id<=90000
② ["id\|{}":">90000,<=80000"](http://139.196.140.118:8080/head/{"User":{"id\|{}":">90000,<=80000"}}),同"id{}":">90000,<=80000",即id满足id>90000 \| id<=80000
③ ["id!{}":[82001,38710]](http://139.196.140.118:8080/head/{"User":{"id!{}":[82001,38710]}}),即id满足 ! (id=82001 \| id=38710),可过滤黑名单的消息 数组关键词 | "key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定
① "count":Integer,指定查询数量,假设允许查询数组的最大数量为max,则当count在1~max范围内时,查询count个;否则查询max个
② "page":Integer,指定查询页码,从0开始,一般和count一起用
③ "query":Integer,指定查询内容
0-对象,1-总数,2-以上全部
总数关键词为total,和query同级,通过引用赋值得到,如 "total@":"/[]/total"
这里query及total仅为GET类型的请求提供方便,一般可直接用HEAD类型的请求获取总数 | ① 查询User数组,最多5个:
["count":5](http://139.196.140.118:8080/get/{"[]":{"count":5,"User":{}}})
② 查询第3页的User数组,每页5个:
["count":5,
"page":3](http://139.196.140.118:8080/get/{"[]":{"count":5,"page":3,"User":{}}})
③ 查询User数组和对应的User总数:
["[]":{
   "query":2,
   "User":{}
},
"total@":"/[]/total"](http://139.196.140.118:8080/get/{"[]":{"query":2,"count":5,"User":{}},"total@":"%252F[]%252Ftotal"}) - 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表所有字段的属性:
[{"[]":{"User":{"@about":true}}}](http://139.196.140.118:8080/get/{"[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
... + 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表所有字段的属性:
["@about":true](http://139.196.140.118:8080/get/{"[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
...

From 7fd6a601f90d37bdac6db550bfdeaddb7202794d Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 12 Aug 2017 23:04:52 +0800 Subject: [PATCH 130/219] =?UTF-8?q?Server:=E5=90=8C=E6=AD=A5eclipse?= =?UTF-8?q?=E7=89=88=E8=87=B3idea=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apijson/demo/server/AccessVerifier.java | 36 +++---- .../java/apijson/demo/server/Controller.java | 95 ++++++++-------- .../apijson/demo/server/model/Comment.java | 53 +-------- .../java/apijson/demo/server/model/Login.java | 97 ----------------- .../apijson/demo/server/model/Moment.java | 71 +----------- .../apijson/demo/server/model/Password.java | 94 ---------------- .../apijson/demo/server/model/Privacy.java | 19 +++- .../java/apijson/demo/server/model/User.java | 27 ----- .../apijson/demo/server/model/Verify.java | 18 +--- .../apijson/demo/server/model/Wallet.java | 101 ------------------ .../java/zuo/biao/apijson/model/Column.java | 17 +++ .../java/zuo/biao/apijson/model/Table.java | 17 +++ .../java/zuo/biao/apijson/model/Test.java | 15 ++- .../zuo/biao/apijson/model/package-info.java | 2 +- .../zuo/biao/apijson/server/Structure.java | 2 - .../biao/apijson/server/sql/SQLConfig.java | 10 +- 16 files changed, 147 insertions(+), 527 deletions(-) delete mode 100644 APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Login.java delete mode 100644 APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Password.java delete mode 100644 APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Wallet.java diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/AccessVerifier.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/AccessVerifier.java index 2bab0adf3..5460fd22e 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/AccessVerifier.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/AccessVerifier.java @@ -27,19 +27,18 @@ import apijson.demo.server.model.BaseModel; import apijson.demo.server.model.Comment; -import apijson.demo.server.model.Login; import apijson.demo.server.model.Moment; -import apijson.demo.server.model.Password; -import apijson.demo.server.model.User; import apijson.demo.server.model.Privacy; +import apijson.demo.server.model.User; import apijson.demo.server.model.Verify; -import apijson.demo.server.model.Wallet; import zuo.biao.apijson.JSON; -import zuo.biao.apijson.JSONRequest; import zuo.biao.apijson.Log; import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; +import zuo.biao.apijson.model.Column; +import zuo.biao.apijson.model.Table; +import zuo.biao.apijson.model.Test; import zuo.biao.apijson.server.exception.NotLoggedInException; import zuo.biao.apijson.server.sql.SQLConfig; @@ -57,18 +56,19 @@ public class AccessVerifier { // > // > - public static final Map> accessMap; + public static final Map> ACCESS_MAP; static { - accessMap = new HashMap>(); - - accessMap.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class))); - accessMap.put(Privacy.class.getSimpleName(), getAccessMap(Privacy.class.getAnnotation(MethodAccess.class))); - accessMap.put(Moment.class.getSimpleName(), getAccessMap(Moment.class.getAnnotation(MethodAccess.class))); - accessMap.put(Comment.class.getSimpleName(), getAccessMap(Comment.class.getAnnotation(MethodAccess.class))); - accessMap.put(Verify.class.getSimpleName(), getAccessMap(Verify.class.getAnnotation(MethodAccess.class))); - accessMap.put(Login.class.getSimpleName(), getAccessMap(Login.class.getAnnotation(MethodAccess.class))); - accessMap.put(Password.class.getSimpleName(), getAccessMap(Password.class.getAnnotation(MethodAccess.class))); - accessMap.put(Wallet.class.getSimpleName(), getAccessMap(Wallet.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP = new HashMap>(); + + ACCESS_MAP.put(Table.class.getSimpleName(), getAccessMap(Table.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Column.class.getSimpleName(), getAccessMap(Column.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Test.class.getSimpleName(), getAccessMap(Test.class.getAnnotation(MethodAccess.class))); + + ACCESS_MAP.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Privacy.class.getSimpleName(), getAccessMap(Privacy.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Moment.class.getSimpleName(), getAccessMap(Moment.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Comment.class.getSimpleName(), getAccessMap(Comment.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Verify.class.getSimpleName(), getAccessMap(Verify.class.getAnnotation(MethodAccess.class))); } /**获取权限Map,每种操作都只允许对应的角色 @@ -119,7 +119,7 @@ public static boolean verify(SQLConfig config, User visitor) throws Exception { //验证角色,假定真实强制匹配<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - String userIdkey = Controller.USER_.equals(config.getTable()) || Controller.USER_PRIVACY_.equals(config.getTable()) + String userIdkey = Controller.USER_.equals(config.getTable()) || Controller.PRIVACY_.equals(config.getTable()) ? Controller.ID : Controller.USER_ID; if (role == null) { @@ -202,7 +202,7 @@ public static void verifyRole(String table, RequestMethod method, RequestRole ro if (role == null) { role = RequestRole.UNKNOWN; } - Map map = accessMap.get(table); + Map map = ACCESS_MAP.get(table); if (map == null || BaseModel.isContain(map.get(method), role) == false) { throw new IllegalAccessException(table + " 不允许 " + role.name() + " 用户的 " + method.name() + " 请求!"); diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java index 3acbcd1e9..5f7846af0 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java @@ -36,16 +36,12 @@ import apijson.demo.server.model.BaseModel; import apijson.demo.server.model.Comment; -import apijson.demo.server.model.Login; import apijson.demo.server.model.Moment; -import apijson.demo.server.model.Password; -import apijson.demo.server.model.User; import apijson.demo.server.model.Privacy; +import apijson.demo.server.model.User; import apijson.demo.server.model.Verify; -import apijson.demo.server.model.Wallet; import zuo.biao.apijson.JSON; import zuo.biao.apijson.JSONResponse; -import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.server.JSONRequest; @@ -160,19 +156,15 @@ public String delete(@RequestBody String request, HttpSession session) { public static final String USER_; + public static final String PRIVACY_; public static final String MOMENT_; public static final String COMMENT_; - public static final String WALLET_; - public static final String PASSWORD_; - public static final String USER_PRIVACY_; - public static final String VERIFY_; + public static final String VERIFY_; //加下划线后缀是为了避免 Verify 和 verify 都叫VERIFY,分不清 static { USER_ = User.class.getSimpleName(); + PRIVACY_ = Privacy.class.getSimpleName(); MOMENT_ = Moment.class.getSimpleName(); COMMENT_ = Comment.class.getSimpleName(); - WALLET_ = Wallet.class.getSimpleName(); - PASSWORD_ = Password.class.getSimpleName(); - USER_PRIVACY_ = Privacy.class.getSimpleName(); VERIFY_ = Verify.class.getSimpleName(); } @@ -187,8 +179,8 @@ public String delete(@RequestBody String request, HttpSession session) { public static final String NAME = "name"; public static final String PHONE = "phone"; public static final String PASSWORD = "password"; - public static final String LOGIN_PASSWORD = "loginPassword"; - public static final String PAY_PASSWORD = "payPassword"; + public static final String _PASSWORD = "_password"; + public static final String _PAY_PASSWORD = "_payPassword"; public static final String OLD_PASSWORD = "oldPassword"; public static final String VERIFY = "verify"; @@ -339,7 +331,8 @@ private JSONObject newVerifyRequest(String phone, String verify) { } - + public static final int LOGIN_TYPE_PASSWORD = 0;//密码登录 + public static final int LOGIN_TYPE_VERIFY = 1;//验证码登录 /**用户登录 * @param request 只用String,避免encode后未decode * @return @@ -379,7 +372,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { new Privacy().setPhone(phone) ) ); - JSONResponse response = new JSONResponse(phoneResponse).getJSONResponse(USER_PRIVACY_); + JSONResponse response = new JSONResponse(phoneResponse).getJSONResponse(PRIVACY_); if (JSONResponse.isSucceed(response) == false) { return response; } @@ -403,7 +396,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { //校验凭证 int type = Integer.valueOf(0 + StringUtil.getNumber(typeString)); - if (type == Login.TYPE_PASSWORD) {//password密码登录 + if (type == LOGIN_TYPE_PASSWORD) {//password密码登录 response = new JSONResponse( new Parser(POST_HEAD, true).parseResponse( new JSONRequest(new Privacy(userId).setPassword(password)) @@ -415,7 +408,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { if (JSONResponse.isSucceed(response) == false) { return response; } - response = response.getJSONResponse(type == Login.TYPE_PASSWORD ? USER_PRIVACY_ : VERIFY_); + response = response.getJSONResponse(type == LOGIN_TYPE_PASSWORD ? PRIVACY_ : VERIFY_); if (JSONResponse.isExist(response) == false) { return Parser.newErrorResult(new ConditionErrorException("账号或密码错误")); } @@ -434,7 +427,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { session.setAttribute(USER_ID, userId);//用户id session.setAttribute(TYPE, type);//登录方式 session.setAttribute(USER_, user);//用户 - session.setAttribute(USER_PRIVACY_, privacy);//用户隐私信息 + session.setAttribute(PRIVACY_, privacy);//用户隐私信息 // session.setMaxInactiveInterval(1*60);//设置session过期时间 return response; @@ -508,7 +501,7 @@ public JSONObject register(@RequestBody String request) { new Privacy().setPhone(phone) ) ); - JSONObject checkUser = check == null ? null : check.getJSONObject(USER_PRIVACY_); + JSONObject checkUser = check == null ? null : check.getJSONObject(PRIVACY_); if (checkUser == null || checkUser.getIntValue(JSONResponse.KEY_COUNT) > 0) { return Parser.newErrorResult(new ConflictException("手机号" + phone + "已经注册")); } @@ -531,7 +524,7 @@ public JSONObject register(@RequestBody String request) { ) ) ); - if (JSONResponse.isSucceed(response.getJSONResponse(USER_PRIVACY_)) == false) {//创建失败,删除新增的无效User和userPrivacy + if (JSONResponse.isSucceed(response.getJSONResponse(PRIVACY_)) == false) {//创建失败,删除新增的无效User和userPrivacy new Parser(DELETE, true).parseResponse( new JSONRequest( @@ -624,26 +617,39 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { } catch (Exception e) { return Parser.newErrorResult(e); } + JSONObject privacyObj; + long userId; + String payPassword; + double change; + try { + privacyObj = requestObject.getJSONObject(PRIVACY_); + if (privacyObj == null) { + throw new NullPointerException("请设置 " + PRIVACY_ + "!"); + } + userId = privacyObj.getLongValue(ID); + payPassword = privacyObj.getString(_PAY_PASSWORD); + change = privacyObj.getDoubleValue("balance+"); + + if (userId <= 0) { + throw new IllegalArgumentException(PRIVACY_ + "." + ID + ":value 中value不合法!"); + } + if (StringUtil.isPassword(payPassword) == false) { + throw new IllegalArgumentException(PRIVACY_ + "." + _PAY_PASSWORD + ":value 中value不合法!"); + } + } catch (Exception e) { + return Parser.extendErrorResult(requestObject, e); + } //验证密码<<<<<<<<<<<<<<<<<<<<<<< - JSONObject pwdObj = requestObject.getJSONObject(PASSWORD_); - requestObject.remove(PASSWORD_); - if (pwdObj == null) { - pwdObj = new JSONRequest(); - } - if (pwdObj.getIntValue(TYPE) != Password.TYPE_PAY) { - // return Parser.extendErrorResult(requestObject, new ConditionErrorException("Password type必须是支付类型!")); - pwdObj.put(TYPE, Password.TYPE_PAY); - } - + privacyObj.remove("balance+"); JSONResponse response = new JSONResponse( new Parser(POST_HEAD, true).setSession(session).parseResponse( - new JSONRequest(PASSWORD_, pwdObj) + new JSONRequest(PRIVACY_, privacyObj) ) ); - response = response.getJSONResponse(PASSWORD_); - if (response == null || response.isExist() == false) { + response = response.getJSONResponse(PRIVACY_); + if (JSONResponse.isExist(response) == false) { return Parser.extendErrorResult(requestObject, new ConditionErrorException("支付密码错误!")); } @@ -652,13 +658,6 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { //验证金额范围<<<<<<<<<<<<<<<<<<<<<<< - JSONObject wallet = requestObject.getJSONObject(WALLET_); - long id = wallet == null ? 0 : wallet.getLongValue(ID); - if (id <= 0) { - return Parser.extendErrorResult(requestObject, new ConditionErrorException("请设置Wallet及内部的id!")); - } - - double change = wallet.getDoubleValue("balance+"); if (change == 0) { return Parser.extendErrorResult(requestObject, new OutOfRangeException("balance+的值不能为0!")); } @@ -672,20 +671,26 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { response = new JSONResponse( new Parser(POST_GET, true).parseResponse( new JSONRequest( - new Wallet(id).setUserId(AccessVerifier.getUserId(session)) + new Privacy(userId) ) ) ); - Wallet w = response == null ? null : response.getObject(Wallet.class); - if (w == null) { + Privacy privacy = response == null ? null : response.getObject(Privacy.class); + long id = privacy == null ? 0 : BaseModel.value(privacy.getId()); + if (id != userId) { return Parser.extendErrorResult(requestObject, new Exception("服务器内部错误!")); } - if (w.getBalance() == null || w.getBalance().doubleValue() < -change) { + if (BaseModel.value(privacy.getBalance()) < -change) { return Parser.extendErrorResult(requestObject, new OutOfRangeException("余额不足!")); } } + + privacyObj.remove(_PAY_PASSWORD); + privacyObj.put("balance+", change); + requestObject.put(PRIVACY_, privacyObj); + requestObject.put(JSONRequest.KEY_TAG, PRIVACY_); //不免验证,里面会验证身份 return new Parser(PUT).setSession(session).parseResponse(requestObject); } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Comment.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Comment.java index e11555d85..5bbdb50fc 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Comment.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Comment.java @@ -18,56 +18,7 @@ /**评论类 * @author Lemon - * @see - *
POST:
-{
- "Comment":{
-     "disallow":"id",
-     "necessary":"userId,momentId,content"
- }
-}
- * 
*/ @MethodAccess -public class Comment extends BaseModel { - private static final long serialVersionUID = 1L; - - private Long toId; - private Long momentId; - private String content; - public Comment() { - super(); - } - public Comment(long id) { - this(); - setId(id); - } - - - public Long getToId() { - return toId; - } - public Comment setToId(Long toId) { - this.toId = toId; - return this; - } - public Comment setUserId(Long userId) { - super.setUserId(userId); - return this; - } - public Long getMomentId() { - return momentId; - } - public Comment setMomentId(Long momentId) { - this.momentId = momentId; - return this; - } - public String getContent() { - return content; - } - public Comment setContent(String content) { - this.content = content; - return this; - } - -} +public class Comment { +} \ No newline at end of file diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Login.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Login.java deleted file mode 100644 index b123f241e..000000000 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Login.java +++ /dev/null @@ -1,97 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.server.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.CONTACT; -import static zuo.biao.apijson.RequestRole.LOGIN; -import static zuo.biao.apijson.RequestRole.OWNER; -import static zuo.biao.apijson.RequestRole.UNKNOWN; - -import zuo.biao.apijson.MethodAccess; - -/**登录类,已用session替代 - * @author Lemon - * @see - *
POST_HEAD:
-{
- "Login":{
-     "disallow":"!",
-     "necessary":"userId,type"
- }
-}
- * 
-*
POST:login
-{
-    "Login":{
-        "necessary":"phone"
-    },
-    "Password":{
-        "disallow":"!",
-        "necessary":"password"
-    }
-}
- * 
-*
POST:login
-{
-    "Login":{
-        "disallow":"!",
-        "necessary":"userId"
-    }
-}
- * 
- */ -@Deprecated -@SuppressWarnings("serial") -@MethodAccess( - POST_GET = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}, - POST_HEAD = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}, - POST = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}, - PUT = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}, - DELETE = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN} - ) -public class Login extends BaseModel { - - public static final int TYPE_PASSWORD = 0;//密码登录 - public static final int TYPE_VERIFY = 1;//验证码登录 - - private Long userId; - private Integer type; - - public Login() { - super(); - } - public Login(long userId) { - this(); - setUserId(userId); - } - - public Long getUserId() { - return userId; - } - public Login setUserId(Long userId) { - this.userId = userId; - return this; - } - - public Integer getType() { - return type; - } - public Login setType(Integer type) { - this.type = type; - return this; - } - -} diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Moment.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Moment.java index b6ddf6844..8fc89e5ed 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Moment.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Moment.java @@ -20,80 +20,13 @@ import static zuo.biao.apijson.RequestRole.LOGIN; import static zuo.biao.apijson.RequestRole.OWNER; -import java.util.List; - import zuo.biao.apijson.MethodAccess; /**动态类 * @author Lemon - * @see - *
POST:
-{
- "Moment":{
-     "disallow":"id",
-     "necessary":"userId,pictureList"
- }
-}
- * 
- *
PUT:
-{
- "Moment":{
-     "disallow":"userId,date",
-     "necessary":"id"
- }
-}
- * 
*/ @MethodAccess( PUT = {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}//TODO 还要细分,LOGIN,CONTACT只允许修改praiseUserIdList。数据库加role没用,应该将praiseUserIdList移到Praise表 ) -public class Moment extends BaseModel { - private static final long serialVersionUID = 1L; - - private String content; - private List pictureList; - private List praiseUserIdList; - private List commentIdList; - - public Moment() { - super(); - } - public Moment(long id) { - this(); - setId(id); - } - - - public Moment setUserId(Long userId) { - super.setUserId(userId); - return this; - } - public String getContent() { - return content; - } - public Moment setContent(String content) { - this.content = content; - return this; - } - public List getPictureList() { - return pictureList; - } - public Moment setPictureList(List pictureList) { - this.pictureList = pictureList; - return this; - } - public List getPraiseUserIdList() { - return praiseUserIdList; - } - public Moment setPraiseUserIdList(List praiseUserIdList) { - this.praiseUserIdList = praiseUserIdList; - return this; - } - public List getCommentIdList() { - return commentIdList; - } - public Moment setCommentIdList(List commentIdList) { - this.commentIdList = commentIdList; - return this; - } -} +public class Moment { +} \ No newline at end of file diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Password.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Password.java deleted file mode 100644 index f0c9b8c48..000000000 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Password.java +++ /dev/null @@ -1,94 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.server.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.LOGIN; -import static zuo.biao.apijson.RequestRole.OWNER; -import static zuo.biao.apijson.RequestRole.UNKNOWN; - -import zuo.biao.apijson.MethodAccess; -import zuo.biao.apijson.StringUtil; - -/**密码类,已用UserPrivacy替代 - * @author Lemon - * @see - *
POST_HEAD:
-{
- "Password":{
-     "disallow":"!",
-     "necessary":"id,type"
- }
-}
- * 
- *
PUT:put/loginPassword, put/payPassword
-{
-    "Password":{
-        "disallow":"!",
-        "necessary":"id,type,password"
-    },
-    "necessary":"oldPassword"
-}
- * 
- */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_HEAD = {OWNER, ADMIN}, - POST = {UNKNOWN, LOGIN, OWNER, ADMIN} - ) -public class Password extends BaseModel { - private static final long serialVersionUID = 1L; - - public static final int TYPE_LOGIN = 0; - public static final int TYPE_PAY = 1; - - private Integer type; - private String password; - - public Password() { - super(); - } - public Password(String phone) { - this(); - setPhone(phone); - } - public Password(String phone, String password) { - this(phone); - setPassword(password); - } - - public Password setPhone(String phone) { - setId(Long.valueOf(0 + StringUtil.getNumber(phone))); - return this; - } - - public Integer getType() { - return type; - } - public Password setType(Integer type) { - this.type = type; - return this; - } - public String getPassword() { - return password; - } - public Password setPassword(String password) { - this.password = password; - return this; - } - -} diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Privacy.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Privacy.java index 6bbf83b2b..2c53da28a 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Privacy.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Privacy.java @@ -1,3 +1,17 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package apijson.demo.server.model; import static zuo.biao.apijson.RequestRole.ADMIN; @@ -6,7 +20,7 @@ import zuo.biao.apijson.MethodAccess; -/**用户隐私信息类 +/**用户隐私信息 * @author Lemon */ @MethodAccess( @@ -18,6 +32,9 @@ public class Privacy extends BaseModel { private static final long serialVersionUID = 1L; + public static final int PASSWORD_TYPE_LOGIN = 0; + public static final int PASSWORD_TYPE_PAY = 1; + private String phone; //手机 private String password; //登录密码,隐藏字段 private String payPassword; //支付密码,隐藏字段 diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/User.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/User.java index d4d18d08a..75f0c7682 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/User.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/User.java @@ -23,33 +23,6 @@ /**用户类 * @author Lemon - * @see - *
POST:post/register/user
-{
-    "User":{
-        "disallow":"id",
-        "necessary":"name,phone"
-    },
-    "necessary":"loginPassword,verify"
-}
- * 
- *
PUT:
-{
-    "User":{
-        "disallow":"phone",
-        "necessary":"id"
-    }
-}
- * 
- *
PUT(User.phone):put/user/phone
-{
-    "User":{
-        "disallow":"!",
-        "necessary":"id,phone"
-    },
-    "necessary":"loginPassword,verify"
-}
- * 
*/ @MethodAccess( POST = {UNKNOWN, ADMIN}, diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Verify.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Verify.java index 7bc8be59b..a08a31a71 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Verify.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Verify.java @@ -24,24 +24,8 @@ import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.StringUtil; -/**验证码类 +/**验证码 * @author Lemon - * @see - *
POST_GET:post_get/authCode
-{
-    "Verify":{
-        "disallow":"id"
-    }
-}
- * 
- *
POST:post/authCode
-{
-    "Verify":{
-        "disallow":"!",
-        "necessary":"id"
-    }
-}
- * 
*/ @MethodAccess( GET = {}, diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Wallet.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Wallet.java deleted file mode 100644 index d78692a7f..000000000 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Wallet.java +++ /dev/null @@ -1,101 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.server.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.OWNER; - -import java.math.BigDecimal; - -import zuo.biao.apijson.MethodAccess; - -/**钱包类,已用Privacy替代 - * @author Lemon - * @see - *
POST_GET:
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    }
-}
- * 
- *
POST:post/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    },
-    "necessary":"payPassword"
-}
- * 
- *
PUT:put/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id,balance+"
-    },
-    "necessary":"payPassword"
-}
- * 
- *
DELETE:delete/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    },
-    "necessary":"payPassword"
-}
- * 
- */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_GET = {OWNER, ADMIN}, - POST_HEAD = {OWNER, ADMIN}, - POST = {ADMIN}, - DELETE = {ADMIN} - ) -public class Wallet extends BaseModel { - private static final long serialVersionUID = 1L; - - public BigDecimal balance; - - /**默认构造方法,JSON等解析时必须要有 - */ - public Wallet() { - super(); - } - public Wallet(long id) { - this(); - setId(id); - } - - - public Wallet setUserId(long userId) { - setId(userId); - return this; - } - - public BigDecimal getBalance() { - return balance; - } - public Wallet setBalance(BigDecimal balance) { - this.balance = balance; - return this; - } - -} diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Column.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Column.java index a5a8ed99d..ed68fc497 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Column.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Column.java @@ -1,7 +1,24 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package zuo.biao.apijson.model; import zuo.biao.apijson.MethodAccess; +/**字段(列名) + * @author Lemon + */ @MethodAccess public class Column { public static final String TAG = "`columns`"; diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Table.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Table.java index 8d1c898be..eeb3e9571 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Table.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Table.java @@ -1,7 +1,24 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package zuo.biao.apijson.model; import zuo.biao.apijson.MethodAccess; +/**数据库表 + * @author Lemon + */ @MethodAccess public class Table { public static final String TAG = "`tables`"; diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Test.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Test.java index ba98240c6..8f2840d4f 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Test.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Test.java @@ -1,3 +1,17 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package zuo.biao.apijson.model; import zuo.biao.apijson.MethodAccess; @@ -7,5 +21,4 @@ */ @MethodAccess public class Test { - } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/package-info.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/package-info.java index a7882a939..356cf4e4a 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/package-info.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/package-info.java @@ -1,5 +1,5 @@ /** - * + * models for special tables */ /** * @author Lemon diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java index 125586310..e00ba049d 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java @@ -17,8 +17,6 @@ import static zuo.biao.apijson.JSONRequest.KEY_ID; import static zuo.biao.apijson.JSONRequest.KEY_ID_IN; import static zuo.biao.apijson.RequestMethod.POST; -import static zuo.biao.apijson.RequestMethod.PUT; -import static zuo.biao.apijson.RequestMethod.DELETE; import java.util.ArrayList; import java.util.Arrays; diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index 5677df5e9..5f9fbdcf1 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -48,14 +48,15 @@ import com.alibaba.fastjson.annotation.JSONField; import apijson.demo.server.model.BaseModel; -import apijson.demo.server.model.User; import apijson.demo.server.model.Privacy; +import apijson.demo.server.model.User; import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; import zuo.biao.apijson.SQL; import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.model.Column; +import zuo.biao.apijson.model.Table; import zuo.biao.apijson.server.JSONRequest; import zuo.biao.apijson.server.Logic; import zuo.biao.apijson.server.Pair; @@ -109,6 +110,9 @@ public class SQLConfig { public static final Map TABLE_KEY_MAP; static { TABLE_KEY_MAP = new HashMap(); + TABLE_KEY_MAP.put(Table.class.getSimpleName(), Table.TAG); + TABLE_KEY_MAP.put(Column.class.getSimpleName(), Column.TAG); + TABLE_KEY_MAP.put(User.class.getSimpleName(), "apijson_user"); TABLE_KEY_MAP.put(Privacy.class.getSimpleName(), "apijson_privacy"); } @@ -1032,12 +1036,12 @@ public static synchronized SQLConfig newQueryConfig(RequestMethod method, String Map tableWhere = new LinkedHashMap();//保证顺序好优化 WHERE id > 1 AND name LIKE... if (about) { if (RequestMethod.isQueryMethod(method) == false) { - throw new UnsupportedOperationException(config.getTable() + " 被 @info 标注,只能进行 GET,HEAD 等查询操作!"); + throw new UnsupportedOperationException(config.getTable() + " 被" + KEY_ABOUT + "标注,只能进行 GET,HEAD 等查询操作!"); } tableWhere.put(TABLE_SCHEMA, SQLConfig.getSchema(schema)); tableWhere.put(TABLE_NAME, config.getSQLTable()); - config.setTable(Column.TAG); + config.setTable(Column.class.getSimpleName()); schema = SCHEMA_INFORMATION; column += ( From 5382cbea6799f3d09c4d7d221f6bc66c19261e17 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 12 Aug 2017 23:11:11 +0800 Subject: [PATCH 131/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c8dcf8ee..80465c4f5 100644 --- a/README.md +++ b/README.md @@ -426,7 +426,7 @@ DELETE:
删除数据,
非明文 | base_url/delete/ | {
 & 减少 或 去除 | "key-":Object,与"key+"相反 | "balance-":100.00,余额减少100.00,即花费了100元 逻辑运算 | &, \|, ! 逻辑运算符。
① & 可用于"key&{}":"条件"等
② \| 可用于"key\|{}":"条件", "key\|{}":[]等,一般可省略
③ ! 可单独使用,如"key!":Object,也可像&,\|一样配合其他功能符使用 | ① ["id&{}":">80000,<=90000"](http://139.196.140.118:8080/head/{"User":{"id&{}":">80000,<=90000"}}),即id满足id>80000 & id<=90000
② ["id\|{}":">90000,<=80000"](http://139.196.140.118:8080/head/{"User":{"id\|{}":">90000,<=80000"}}),同"id{}":">90000,<=80000",即id满足id>90000 \| id<=80000
③ ["id!{}":[82001,38710]](http://139.196.140.118:8080/head/{"User":{"id!{}":[82001,38710]}}),即id满足 ! (id=82001 \| id=38710),可过滤黑名单的消息 数组关键词 | "key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定
① "count":Integer,指定查询数量,假设允许查询数组的最大数量为max,则当count在1~max范围内时,查询count个;否则查询max个
② "page":Integer,指定查询页码,从0开始,一般和count一起用
③ "query":Integer,指定查询内容
0-对象,1-总数,2-以上全部
总数关键词为total,和query同级,通过引用赋值得到,如 "total@":"/[]/total"
这里query及total仅为GET类型的请求提供方便,一般可直接用HEAD类型的请求获取总数 | ① 查询User数组,最多5个:
["count":5](http://139.196.140.118:8080/get/{"[]":{"count":5,"User":{}}})
② 查询第3页的User数组,每页5个:
["count":5,
"page":3](http://139.196.140.118:8080/get/{"[]":{"count":5,"page":3,"User":{}}})
③ 查询User数组和对应的User总数:
["[]":{
   "query":2,
   "User":{}
},
"total@":"/[]/total"](http://139.196.140.118:8080/get/{"[]":{"query":2,"count":5,"User":{}},"total@":"%252F[]%252Ftotal"}) - 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表所有字段的属性:
["@about":true](http://139.196.140.118:8080/get/{"[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
... + 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表所有字段的属性:
["@about":true](http://139.196.140.118:8080/get/{"User[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
...

From 99ba3eddc7cccaba9ddc6c9590c379e1aaf9a29b Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 12 Aug 2017 23:38:20 +0800 Subject: [PATCH 132/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 80465c4f5..579ff36cf 100644 --- a/README.md +++ b/README.md @@ -426,7 +426,7 @@ DELETE:
删除数据,
非明文 | base_url/delete/ | {
 & 减少 或 去除 | "key-":Object,与"key+"相反 | "balance-":100.00,余额减少100.00,即花费了100元 逻辑运算 | &, \|, ! 逻辑运算符。
① & 可用于"key&{}":"条件"等
② \| 可用于"key\|{}":"条件", "key\|{}":[]等,一般可省略
③ ! 可单独使用,如"key!":Object,也可像&,\|一样配合其他功能符使用 | ① ["id&{}":">80000,<=90000"](http://139.196.140.118:8080/head/{"User":{"id&{}":">80000,<=90000"}}),即id满足id>80000 & id<=90000
② ["id\|{}":">90000,<=80000"](http://139.196.140.118:8080/head/{"User":{"id\|{}":">90000,<=80000"}}),同"id{}":">90000,<=80000",即id满足id>90000 \| id<=80000
③ ["id!{}":[82001,38710]](http://139.196.140.118:8080/head/{"User":{"id!{}":[82001,38710]}}),即id满足 ! (id=82001 \| id=38710),可过滤黑名单的消息 数组关键词 | "key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定
① "count":Integer,指定查询数量,假设允许查询数组的最大数量为max,则当count在1~max范围内时,查询count个;否则查询max个
② "page":Integer,指定查询页码,从0开始,一般和count一起用
③ "query":Integer,指定查询内容
0-对象,1-总数,2-以上全部
总数关键词为total,和query同级,通过引用赋值得到,如 "total@":"/[]/total"
这里query及total仅为GET类型的请求提供方便,一般可直接用HEAD类型的请求获取总数 | ① 查询User数组,最多5个:
["count":5](http://139.196.140.118:8080/get/{"[]":{"count":5,"User":{}}})
② 查询第3页的User数组,每页5个:
["count":5,
"page":3](http://139.196.140.118:8080/get/{"[]":{"count":5,"page":3,"User":{}}})
③ 查询User数组和对应的User总数:
["[]":{
   "query":2,
   "User":{}
},
"total@":"/[]/total"](http://139.196.140.118:8080/get/{"[]":{"query":2,"count":5,"User":{}},"total@":"%252F[]%252Ftotal"}) - 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表所有字段的属性:
["@about":true](http://139.196.140.118:8080/get/{"User[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
... + 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
① "@about":true, 查询字段属性
② "@column":"key0,key1...", 指定返回字段
③ "@order":"key0,key1+,key2-...",指定排序方式
④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
1.分组的key在@column里声明
2.Table主键在@group中声明
⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表中字段的属性:
["@about":true](http://139.196.140.118:8080/get/{"User[]":{"User":{"@about":true}}})
② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
③ 查询按 name降序、id默认顺序 排序的User数组:
["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
④ 查询按userId分组的Moment数组:
["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
["@column":"userId,max(id)",
"@group":"userId",
"@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
还可以指定函数返回名:
["@column":"userId,max(id):maxId",
"@group":"userId",
"@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
⑥ 从pictureList获取第0张图片:
["@position":0, //这里@position为自定义关键词
"firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
...

From 47b608253ba6805ff602e10619655847d06be8f5 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 13 Aug 2017 19:44:55 +0800 Subject: [PATCH 133/219] =?UTF-8?q?Server:=E6=8E=A5=E5=8F=A3=E5=85=A8?= =?UTF-8?q?=E8=B5=B0HTTP=20POST=EF=BC=8CParser#parseRequest=E5=8F=96?= =?UTF-8?q?=E6=B6=88decode=EF=BC=9B=E8=A7=A3=E5=86=B3=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B=E5=8F=96=E5=85=B3=E8=81=94=E8=B7=AF?= =?UTF-8?q?=E5=BE=84=E5=AF=B9=E5=BA=94=E7=9A=84=E5=AF=B9=E8=B1=A1=E6=97=B6?= =?UTF-8?q?=E5=AF=B9=E8=B7=AF=E5=BE=84=E5=88=A4=E6=96=AD=E9=94=99=E8=AF=AF?= =?UTF-8?q?=EF=BC=9B=E5=8A=A0=E5=BC=BA=E5=86=99=E6=93=8D=E4=BD=9C=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E9=AA=8C=E8=AF=81=EF=BC=9A=E5=86=99=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=BF=85=E9=A1=BB=E8=A6=81=E6=9C=89where=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=EF=BC=9B=E6=89=B9=E9=87=8F=E5=86=99=E6=93=8D=E4=BD=9C=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E6=9C=80=E5=A4=9A=E6=93=8D=E4=BD=9C10=E6=9D=A1?= =?UTF-8?q?=EF=BC=9B=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C=E7=94=B1=E8=BF=94?= =?UTF-8?q?=E5=9B=9Eid=E6=94=B9=E4=B8=BA=E8=BF=94=E5=9B=9Eid{}=EF=BC=9B?= =?UTF-8?q?=E4=BC=98=E5=8C=96SQLConfig=E4=B8=AD@about=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=EF=BC=9B=E5=85=B6=E5=AE=83=E5=AE=8C=E5=96=84=E5=92=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=9B=20Client:=E4=BC=98=E5=8C=96JSONObject?= =?UTF-8?q?=E5=92=8CJSONRequest=EF=BC=8C=E5=8E=BB=E9=99=A4encode=EF=BC=9B?= =?UTF-8?q?=E7=AE=80=E5=8C=96JSONResponse=EF=BC=8Cformat=E5=8F=AA=E5=A4=84?= =?UTF-8?q?=E7=90=86key=EF=BC=9BApp=E5=92=8CTest=E9=92=88=E5=AF=B9?= =?UTF-8?q?=E6=96=B0=E7=89=88Server=E7=9A=84=E5=85=B6=E5=AE=83=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity_fragment/LoginActivity.java | 2 +- .../activity_fragment/MineFragment.java | 2 +- .../activity_fragment/MomentActivity.java | 6 +- .../activity_fragment/MomentListFragment.java | 2 +- .../NumberPasswordActivity.java | 2 +- .../activity_fragment/PasswordActivity.java | 6 +- .../activity_fragment/UserActivity.java | 4 +- .../activity_fragment/UserListFragment.java | 4 +- .../activity_fragment/WalletActivity.java | 2 +- .../demo/client/manager/HttpManager.java | 90 +--- .../apijson/demo/client/util/HttpRequest.java | 26 +- .../apijson/demo/client/view/MomentView.java | 2 +- .../src/zuo/biao/apijson/JSON.java | 47 +- .../src/zuo/biao/apijson/JSONObject.java | 437 +++++++-------- .../src/zuo/biao/apijson/JSONRequest.java | 141 ++--- .../src/zuo/biao/apijson/JSONResponse.java | 268 +++------- .../src/zuo/biao/apijson/RequestMethod.java | 8 +- .../src/zuo/biao/apijson/SQL.java | 125 ++++- .../src/zuo/biao/apijson/StringUtil.java | 147 +++--- .../zuo/biao/apijson/client/package-info.java | 22 - .../src/apijson/demo/HttpManager.java | 109 ++-- .../src/apijson/demo/RequestUtil.java | 69 ++- .../src/apijson/demo/ui/AutoActivity.java | 2 +- .../src/apijson/demo/ui/RequestActivity.java | 30 +- .../src/apijson/demo/ui/SelectActivity.java | 38 +- .../java/apijson/demo/server/Controller.java | 45 +- .../java/apijson/demo/server/Function.java | 16 +- .../{AccessVerifier.java => Verifier.java} | 81 ++- .../apijson/demo/server/model/BaseModel.java | 49 ++ .../java/zuo/biao/apijson/JSONObject.java | 2 +- .../java/zuo/biao/apijson/JSONResponse.java | 20 +- .../java/zuo/biao/apijson/RequestMethod.java | 8 +- .../java/zuo/biao/apijson/StringUtil.java | 31 +- .../zuo/biao/apijson/server/ObjectParser.java | 21 +- .../zuo/biao/apijson/server/Operation.java | 54 ++ .../java/zuo/biao/apijson/server/Pair.java | 5 + .../java/zuo/biao/apijson/server/Parser.java | 55 +- .../zuo/biao/apijson/server/Structure.java | 414 +++++++-------- .../biao/apijson/server/sql/SQLConfig.java | 498 +++++++++++------- .../biao/apijson/server/sql/SQLExecutor.java | 20 +- 40 files changed, 1499 insertions(+), 1411 deletions(-) delete mode 100644 APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/client/package-info.java rename APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/{AccessVerifier.java => Verifier.java} (78%) create mode 100644 APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Operation.java diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/LoginActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/LoginActivity.java index 977e44d92..aca78ba97 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/LoginActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/LoginActivity.java @@ -174,7 +174,7 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { JSONResponse response = new JSONResponse(resultJson); User user = response.getObject(User.class); - if (response.isSucceed() == false) { + if (response.isSuccess() == false) { switch (response.getCode()) { case JSONResponse.CODE_NOT_FOUND: showShortToast("账号不存在,请先注册"); diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MineFragment.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MineFragment.java index cd22c9796..8a6bdcea7 100755 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MineFragment.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MineFragment.java @@ -321,7 +321,7 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { switch (requestCode) { case HTTP_LOUOUT: JSONResponse response = new JSONResponse(resultJson).getJSONResponse(Login.class.getSimpleName()); - boolean succeed = JSONResponse.isSucceed(response); + boolean succeed = JSONResponse.isSuccess(response); Log.d(TAG, succeed ? "服务端退出成功" : "服务端退出失败"); showShortToast(succeed ? "服务端退出成功" : "服务端退出失败"); break; diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentActivity.java index b7db3805d..941e72d4a 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentActivity.java @@ -367,7 +367,7 @@ public void getListAsync(final int page) { @Override public List parseArray(String json) { - return JSON.parseArray(new JSONResponse(json).getArray(CommentItem.class.getSimpleName()), CommentItem.class); + return new JSONResponse(json).getList(CommentItem.class); } @Override @@ -520,7 +520,7 @@ public void run() { if (requestCode == HTTP_GET_MOMENT) { MomentItem data = JSONResponse.toObject(response, MomentItem.class); if (data == null || data.getId() <= 0) { - if (JSONResponse.isSucceed(response)) { + if (JSONResponse.isSuccess(response)) { showShortToast("动态不存在"); MomentActivity.super.finish();//需要动画,且不需要保存缓存 return; @@ -534,7 +534,7 @@ public void run() { JSONResponse comment = response.getJSONResponse(Comment.class.getSimpleName()); - final boolean succeed = JSONResponse.isSucceed(comment); + final boolean succeed = JSONResponse.isSuccess(comment); String operation = "操作"; switch (requestCode) { case HTTP_COMMENT: // 新增评论 diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentListFragment.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentListFragment.java index 881f9768e..e4c98989a 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentListFragment.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentListFragment.java @@ -367,7 +367,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { JSONRequest search = new JSONRequest(); if (StringUtil.isNotEmpty(value, true)) { split = ":"; - search.putSearch(HttpRequest.CONTENT, value, SQL.SEARCH_TYPE_CONTAIN_ORDER); + search.putsSearch(HttpRequest.CONTENT, value, SQL.SEARCH_TYPE_CONTAIN_ORDER); } toActivity(MomentListActivity.createIntent(context, range, id, search, false) .putExtra(INTENT_TITLE, "搜索" + split + value)); diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/NumberPasswordActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/NumberPasswordActivity.java index 19fdb9769..04c87475b 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/NumberPasswordActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/NumberPasswordActivity.java @@ -312,7 +312,7 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { dismissProgressDialog(); switch (requestCode) { case HTTP_SET_PASSWORD: - if (response.isSucceed()) { + if (response.isSuccess()) { showShortToast(R.string.change_succeed); saveAndExit(true); } else { diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/PasswordActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/PasswordActivity.java index b8990d3ec..cb9ced32f 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/PasswordActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/PasswordActivity.java @@ -351,7 +351,7 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { @Override public void run() { showVerifyGet(false); - if (JSONResponse.isSucceed(response2) == false) { + if (JSONResponse.isSuccess(response2) == false) { showShortToast(R.string.get_failed); } else if (JSONResponse.isExist(response2)) { if (type == TYPE_REGISTER) { @@ -412,7 +412,7 @@ public void run() { case HTTP_REGISTER: User user = response.getObject(User.class); dismissProgressDialog(); - if (user == null || user.getId() <= 0 || JSONResponse.isSucceed( + if (user == null || user.getId() <= 0 || JSONResponse.isSuccess( response.getJSONResponse(User.class.getSimpleName())) == false) { if (response.getCode() == CODE_TIME_OUT || response.getCode() == 412) { EditTextUtil.showInputedError(context, etPasswordVerify @@ -430,7 +430,7 @@ public void run() { case HTTP_RESET_PASSWORD: response2 = response.getJSONResponse(Privacy.class.getSimpleName()); dismissProgressDialog(); - if (JSONResponse.isSucceed(response2) == false) { + if (JSONResponse.isSuccess(response2) == false) { EditTextUtil.showInputedError(context, etPasswordVerify , response.getCode() == CODE_TIME_OUT ? "验证码已过期" : "验证码错误"); } else { diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/UserActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/UserActivity.java index a2edbe8c3..0e2b5aae1 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/UserActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/UserActivity.java @@ -450,14 +450,14 @@ public void onBottomMenuItemClick(int intentCode) { public void onHttpResponse(int requestCode, String resultJson, Exception e) { JSONResponse response = new JSONResponse(resultJson); JSONResponse response2 = response.getJSONResponse(User.class.getSimpleName()); - boolean isSucceed = JSONResponse.isSucceed(response2); + boolean isSucceed = JSONResponse.isSuccess(response2); dismissProgressDialog(); switch (requestCode) { case HTTP_GET: User user = response.getObject(User.class); if (user == null || user.getId() <= 0) { - if (JSONResponse.isSucceed(response)) { + if (JSONResponse.isSuccess(response)) { showShortToast("用户已注销"); super.finish();//需要动画,且不需要保存缓存 return; diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/UserListFragment.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/UserListFragment.java index 0ea1fe1c4..8c4cf8091 100755 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/UserListFragment.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/UserListFragment.java @@ -383,9 +383,9 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { if (StringUtil.isNotEmpty(value, true)) { split = ":"; if (isSearch) { - search.putSearch(HttpRequest.NAME, value); + search.putsSearch(HttpRequest.NAME, value); } else { - search.put(HttpRequest.PHONE, value); + search.puts(HttpRequest.PHONE, value); } } intent = isSearch diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/WalletActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/WalletActivity.java index 9b6ed6256..682351e86 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/WalletActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/WalletActivity.java @@ -167,7 +167,7 @@ public void onHttpResponse(final int requestCode, final String resultJson, Excep public void run() { JSONResponse response = new JSONResponse(resultJson); - isSucceed = JSONResponse.isSucceed(response); + isSucceed = JSONResponse.isSuccess(response); dismissProgressDialog(); switch (requestCode) { diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/manager/HttpManager.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/manager/HttpManager.java index fbd9631a7..4752a0447 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/manager/HttpManager.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/manager/HttpManager.java @@ -15,37 +15,32 @@ package apijson.demo.client.manager; -import android.content.Context; -import android.os.AsyncTask; -import android.text.TextUtils; - -import com.squareup.okhttp.MediaType; -import com.squareup.okhttp.OkHttpClient; -import com.squareup.okhttp.Request; -import com.squareup.okhttp.RequestBody; -import com.squareup.okhttp.Response; - -import org.json.JSONException; -import org.json.JSONObject; - import java.io.IOException; import java.net.CookieHandler; import java.net.URI; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; -import apijson.demo.client.application.APIJSONApplication; -import zuo.biao.apijson.JSON; -import zuo.biao.apijson.JSONRequest; +import org.json.JSONException; + import zuo.biao.apijson.StringUtil; import zuo.biao.library.manager.HttpManager.OnHttpResponseListener; import zuo.biao.library.util.Log; +import android.content.Context; +import android.os.AsyncTask; +import android.text.TextUtils; +import apijson.demo.client.application.APIJSONApplication; -import static zuo.biao.apijson.StringUtil.UTF_8; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.squareup.okhttp.MediaType; +import com.squareup.okhttp.OkHttpClient; +import com.squareup.okhttp.Request; +import com.squareup.okhttp.RequestBody; +import com.squareup.okhttp.Response; /**HTTP请求管理类 * @author Lemon @@ -85,58 +80,6 @@ public static HttpManager getInstance() { public static final String KEY_COOKIE = "cookie"; - /**GET请求 - * @param url_ 接口url - * @param request 请求 - * @param requestCode - * 请求码,类似onActivityResult中请求码,当同一activity中以实现接口方式发起多个网络请求时,请求结束后都会回调 - * {@link OnHttpResponseListener#onHttpResponse(int, String, Exception)}
- * 在发起请求的类中可以用requestCode来区分各个请求 - * @param listener - */ - public void get(final String url_, final com.alibaba.fastjson.JSONObject request - , final int requestCode, final OnHttpResponseListener listener) { - new AsyncTask() { - - String result; - @Override - protected Exception doInBackground(Void... params) { - String body = request == null || request.isEmpty() ? null : JSON.toJSONString(request); - Log.d(TAG, "\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n get url = " + url_ + "\n request = \n" + body); - try { - String url = StringUtil.getNoBlankString(url_) - + (body == null ? "" : URLEncoder.encode(StringUtil.getNoBlankString(body), UTF_8)); - StringBuffer sb = new StringBuffer(); - sb.append(url); - - OkHttpClient client = getHttpClient(url); - if (client == null) { - return new Exception(TAG + ".get AsyncTask.doInBackground client == null >> return;"); - } - - result = getResponseJson(client, new Request.Builder() - .addHeader(KEY_TOKEN, getToken(url)) - .url(sb.toString()).build()); - Log.d(TAG, "\n get result = \n" + result + "\n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n"); - } catch (Exception e) { - Log.e(TAG, "get AsyncTask.doInBackground try { result = getResponseJson(..." + - "} catch (Exception e) {\n" + e.getMessage()); - return e; - } - - return null; - } - - @Override - protected void onPostExecute(Exception exception) { - super.onPostExecute(exception); - listener.onHttpResponse(requestCode, result, exception); - } - - }.execute(); - - } - public static final MediaType TYPE_JSON = MediaType.parse("application/json; charset=utf-8"); /**POST请求 @@ -150,11 +93,6 @@ protected void onPostExecute(Exception exception) { */ public void post(final String url_, final com.alibaba.fastjson.JSONObject request , final int requestCode, final OnHttpResponseListener listener) { - if (request == null || request.containsKey(JSONRequest.KEY_TAG) == false) { - throw new IllegalArgumentException("post " + url_ + " \n" + - " request == null || request.containsKey(JSONRequest.KEY_TAG) == false !!!"); - } - new AsyncTask() { String result; @@ -280,7 +218,7 @@ private String getResponseJson(OkHttpClient client, Request request) throws Exce * @throws JSONException */ public T getValue(String json, String key) throws JSONException { - return getValue(new JSONObject(json), key); + return getValue(JSON.parseObject(json), key); } /**从object中获取key对应的值 * *获取如果T是基本类型容易崩溃,所以需要try-catch diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java index 6595a9c27..3f9380045 100755 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java @@ -67,7 +67,7 @@ public class HttpRequest { * @param listener */ public static void head(JSONObject request, int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().get(URL_HEAD, request, requestCode, listener); + HttpManager.getInstance().post(URL_HEAD, request, requestCode, listener); } /** * @param request @@ -75,7 +75,7 @@ public static void head(JSONObject request, int requestCode, OnHttpResponseListe * @param listener */ public static void get(JSONObject request, int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().get(URL_GET, request, requestCode, listener); + HttpManager.getInstance().post(URL_GET, request, requestCode, listener); } /** * @param request @@ -346,7 +346,7 @@ public static void getUser(long id, int requestCode, OnHttpResponseListener list public static void getUser(long id, boolean withMomentList, int requestCode, OnHttpResponseListener listener) { JSONRequest request = new JSONRequest(new User(id)); if (withMomentList) { - request.add(new JSONRequest(MOMENT_ + request.putsAll(new JSONRequest(MOMENT_ , new JSONRequest(USER_ID, id).setColumn("pictureList").setOrder(DATE_DOWN)) .toArray(3, 0, MOMENT_)); } @@ -365,7 +365,7 @@ public static void setIsFriend(long id, boolean isFriend, int requestCode, OnHtt List list = new ArrayList(); list.add(id); JSONObject userObject = new JSONObject(new User(user.getId())); - userObject.put("contactIdList" + (isFriend ? "+" : "-"), list, true); + userObject.put("contactIdList" + (isFriend ? "+" : "-"), list); put(new JSONRequest(USER_, userObject).setTag(USER_), requestCode, listener); } @@ -441,12 +441,12 @@ public static void getUserList(int range, long id, com.alibaba.fastjson.JSONObje default: break; } - userItem.add(search); + userItem.putsAll(search); } JSONRequest listRequest = new JSONRequest(USER_, userItem); listRequest = listRequest.toArray(count, page, USER_); - request.add(listRequest); + request.putsAll(listRequest); get(request, requestCode, listener); } @@ -471,7 +471,7 @@ public static void getMoment(long id, int requestCode, OnHttpResponseListener li .setColumn(COLUMNS_USER_SIMPLE)); userItem.setQuery(JSONRequest.QUERY_ALL);//同时获取Table和total - request.add(userItem.toArray(10, 0, USER_)); + request.putsAll(userItem.toArray(10, 0, USER_)); request.put("praiseCount@", "/User[]/total");//获取Table的总数total //praise >>>>>>>>>>>>>>>>>> @@ -526,7 +526,7 @@ public static void getMomentList(int range, long id, com.alibaba.fastjson.JSONOb break; } moment.setOrder(DATE_DOWN); - moment.add(search); + moment.putsAll(search); request.put(MOMENT_, moment); request.put(USER_, new JSONRequest(ID_AT, "/Moment/userId").setColumn(COLUMNS_USER)); @@ -537,7 +537,7 @@ public static void getMomentList(int range, long id, com.alibaba.fastjson.JSONOb .setColumn(COLUMNS_USER_SIMPLE)); // userItem.setQuery(JSONRequest.QUERY_ALL); - request.add(userItem.toArray(10, 0, USER_)); + request.putsAll(userItem.toArray(10, 0, USER_)); // request.put("praiseCount@", "/User[]/total"); //praise >>>>>>>>>>>>>>>>>> @@ -548,7 +548,7 @@ public static void getMomentList(int range, long id, com.alibaba.fastjson.JSONOb .setColumn(COLUMNS_USER_SIMPLE)); // commentItem.setQuery(JSONRequest.QUERY_ALL); - request.add(commentItem.toArray(6, 0, CommentItem.class.getSimpleName())); + request.putsAll(commentItem.toArray(6, 0, CommentItem.class.getSimpleName())); // request.put("commentCount@", "/CommentItem[]/total"); //comment >>>>>>>>>>>>>>>>>> @@ -565,7 +565,7 @@ public static void praiseMoment(long id, boolean toPraise, int requestCode, OnHt JSONObject data = new JSONObject(new Moment(id)); List list = new ArrayList(); list.add(application.getCurrentUserId()); - data.put("praiseUserIdList" + (toPraise ? "+" : "-"), list, true); + data.puts("praiseUserIdList" + (toPraise ? "+" : "-"), list); put(new JSONRequest(MOMENT_, data).setTag(MOMENT_), requestCode, listener); } @@ -597,7 +597,7 @@ public static void getCommentList(long momentId, int count, int page , int requestCode, OnHttpResponseListener listener) { JSONRequest request = new JSONRequest(); JSONObject comment = new JSONObject(new Comment().setMomentId(momentId)); - request.put(COMMENT_, comment.setOrder(DATE_UP)); + request.put(COMMENT_, comment.setOrder("toId+", DATE_UP)); request.put(USER_, new JSONRequest(ID_AT, "/Comment/userId").setColumn(COLUMNS_USER)); // if (page == 0) { @@ -664,7 +664,7 @@ public static void changeBalance(double change, String payPassword, int requestC JSONObject privacy = new JSONObject( new Privacy(application.getCurrentUserId()).setPayPassword(payPassword) ); - privacy.put("balance+", change, true); + privacy.puts("balance+", change); JSONRequest request = new JSONRequest(PRIVACY_, privacy); HttpManager.getInstance().post(URL_BASE + "put/balance", request.setTag(PRIVACY_), requestCode, listener); diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/view/MomentView.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/view/MomentView.java index 0e2177d2f..05cad282e 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/view/MomentView.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/view/MomentView.java @@ -400,7 +400,7 @@ public void onHttpResponse(int requestCode, String result, Exception e) { return; } JSONResponse response = new JSONResponse(result).getJSONResponse(Moment.class.getSimpleName()); - boolean isSucceed = JSONResponse.isSucceed(response); + boolean isSucceed = JSONResponse.isSuccess(response); boolean refresh = false; switch (requestCode) { diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSON.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSON.java index 521acb01d..7bd24b97d 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSON.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSON.java @@ -60,21 +60,24 @@ public static String getCorrectJson(String s) { public static String getCorrectJson(String s, boolean isArray) { s = StringUtil.getTrimedString(s); // if (isArray) { - // if (s.startsWith("\"")) { + // while (s.startsWith("\"")) { // s = s.substring(1); // } - // if (s.endsWith("\"")) { + // while (s.endsWith("\"")) { // s = s.substring(0, s.length() - 1); // } // } return s;//isJsonCorrect(s) ? s : null; } - /**json转JSONObject + /**obj转JSONObject * @param json * @return */ public static JSONObject parseObject(Object obj) { + if (obj instanceof JSONObject) { + return (JSONObject) obj; + } return parseObject(toJSONString(obj)); } /**json转JSONObject @@ -114,12 +117,16 @@ public static T parseObject(JSONObject object, Class clazz) { * @return */ public static T parseObject(String json, Class clazz) { - try { - int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; - features |= Feature.OrderedField.getMask(); - return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); - } catch (Exception e) { - Log.i(TAG, "parseObject catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseObject clazz == null >> return null;"); + } else { + try { + int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; + features |= Feature.OrderedField.getMask(); + return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); + } catch (Exception e) { + Log.i(TAG, "parseObject catch \n" + e.getMessage()); + } } return null; } @@ -131,6 +138,16 @@ public static T parseObject(String json, Class clazz) { public static JSONArray parseArray(List list) { return new JSONArray(list); } + /**obj转JSONArray + * @param json + * @return + */ + public static JSONArray parseArray(Object obj) { + if (obj instanceof JSONArray) { + return (JSONArray) obj; + } + return parseArray(toJSONString(obj)); + } /**json转JSONArray * @param json * @return @@ -157,10 +174,14 @@ public static List parseArray(JSONArray array, Class clazz) { * @return */ public static List parseArray(String json, Class clazz) { - try { - return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); - } catch (Exception e) { - Log.i(TAG, "parseArray catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseArray clazz == null >> return null;"); + } else { + try { + return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); + } catch (Exception e) { + Log.i(TAG, "parseArray catch \n" + e.getMessage()); + } } return null; } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java index 4d3581764..5a621eab0 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java @@ -14,189 +14,49 @@ package zuo.biao.apijson; -import static zuo.biao.apijson.StringUtil.UTF_8; +import java.util.List; +import java.util.Map; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; -import java.util.Set; - -/**use this class instead of com.alibaba.fastjson.JSONObject, not encode in default cases +/**use this class instead of com.alibaba.fastjson.JSONObject * @author Lemon + * @see #put + * @see #puts + * @see #putsAll */ public class JSONObject extends com.alibaba.fastjson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; + + private static final String TAG = "JSONObject"; + /**ordered */ public JSONObject() { super(true); } /**transfer Object to JSONObject - * encode = false; * @param object * @see {@link #JSONObject(Object, boolean)} */ public JSONObject(Object object) { - this(object, false); - } - /**transfer Object to JSONObject - * @param object - * @param encode - * @see {@link #JSONObject(String, boolean)} - */ - public JSONObject(Object object, boolean encode) { - this(toJSONString(object), encode); + this(toJSONString(object)); } /**parse JSONObject with JSON String - * encode = false; * @param json * @see {@link #JSONObject(String, boolean)} */ public JSONObject(String json) { - this(json, false); - } - /**parse JSONObject with JSON String - * @param json - * @param encode - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(String json, boolean encode) { - this(parseObject(json), encode); + this(parseObject(json)); } /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * encode = false; * @param object - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} + * @see {@link #putsAll(com.alibaba.fastjson.JSONObject)} */ public JSONObject(com.alibaba.fastjson.JSONObject object) { - this(object, false); - } - /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * @param object - * @param encode - * @see {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(com.alibaba.fastjson.JSONObject object, boolean encode) { this(); - add(object, encode); - } - - - - - /**put key-value in object into this - * encode = false; - * @param object - * @return {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object) { - return add(object, false); - } - /**put key-value in object into this - * @param object - * @param encode - * @return this - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object, boolean encode) { - //TODO putAll(object); - - Set set = object == null ? null : object.keySet(); - if (set != null) { - for (String key : set) { - put(key, object.get(key), encode); - } - } - return this; - } - - - - /** - * @param key if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param decode if decode && value instanceof String, value = URLDecoder.decode((String) value, UTF_8) - * @return - */ - public Object get(Object key, boolean decode) { - if (decode) { - if (key instanceof String) { - if (((String) key).endsWith("+") || ((String) key).endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLDecoder.decode((String) key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - return null; - } - } - } - Object value = super.get(key); - if (value instanceof String) { - try { - value = URLDecoder.decode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - return value; - } - return super.get(key); + putsAll(object); } - /** - * encode = false - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - public Object put(Object value) { - return put(value, false); - } - /** - * key = value.getClass().getSimpleName() - * @param value must be annotated by {@link APIJSONRequest} - * @param encode - * @return {@link #put(String, Object, boolean)} - */ - public Object put(Object value, boolean encode) { - return put(null, value, encode); - } - /** - * @param key if StringUtil.isNotEmpty(key, true) == false, - *
key = value == null ? null : value.getClass().getSimpleName(); - *
>> if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param value URLEncoder.encode((String) value, UTF_8); - * @param encode if value instanceof String, value = URLEncoder.encode((String) value, UTF_8); - * @return - */ - public Object put(String key, Object value, boolean encode) { - if (StringUtil.isNotEmpty(key, true) == false) { - Class clazz = value == null ? null : value.getClass(); - if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { - throw new IllegalArgumentException("put StringUtil.isNotEmpty(key, true) == false" + - " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + - " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + - " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + - " \n 如果是类似 key[]:{} 结构的请求,建议add(...)方法!"); - } - key = value.getClass().getSimpleName(); - } - if (encode) { - if (key.endsWith("+") || key.endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLEncoder.encode(key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - if (value instanceof String) {//只在value instanceof String时encode key?{@link #get(Object, boolean)}内做不到 - try { - value = URLEncoder.encode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - } - return super.put(key, value); - } @@ -215,38 +75,46 @@ public static boolean isArrayKey(String key) { * @return */ public static boolean isTableKey(String key) { - return StringUtil.isBigWord(key); + return StringUtil.isBigName(key); } //judge >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //JSONObject内关键词 key <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< - /** - * 角色,拥有对某些数据的某些操作的权限 - */ - public static final String KEY_ROLE = "@role"; - /** - * 数据库,Table在非默认schema内时需要声明 - */ - public static final String KEY_SCHEMA = "@schema"; - /** - * 查询的Table字段或SQL函数 - */ - public static final String KEY_COLUMN = "@column"; - /** - * 分组方式 - */ - public static final String KEY_GROUP = "@group"; - /** - * 聚合函数条件,一般和@group一起用 + + public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; + + /**set "id":id in Table layer + * @param id + * @return */ - public static final String KEY_HAVING = "@having"; - /** - * 排序方式 + public JSONObject setId(Long id) { + return puts(KEY_ID, id); + } + /**set id{}:[] in Table layer + * @param list + * @return */ - public static final String KEY_ORDER = "@order"; + public JSONObject setIdIn(List list) { + return puts(KEY_ID_IN, list); + } + + + //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< + public static final String KEY_ROLE = "@role"; //角色,拥有对某些数据的某些操作的权限 + public static final String KEY_CONDITION = "@condition"; //条件 TODO 用 @where& @where| @where! 替代? + public static final String KEY_TRY = "@try"; //尝试,忽略异常 + public static final String KEY_DROP = "@drop"; //丢弃,不返回 + public static final String KEY_CORRECT = "@correct"; //字段校正 + + public static final String KEY_SCHEMA = "@schema"; //数据库,Table在非默认schema内时需要声明 + public static final String KEY_ABOUT = "@about"; //关于,返回数据库表的信息,包括表说明和字段说明 + public static final String KEY_COLUMN = "@column"; //查询的Table字段或SQL函数 + public static final String KEY_GROUP = "@group"; //分组方式 + public static final String KEY_HAVING = "@having"; //聚合函数条件,一般和@group一起用 + public static final String KEY_ORDER = "@order"; //排序方式 //@key关键字都放这个类 >>>>>>>>>>>>>>>>>>>>>> @@ -255,17 +123,49 @@ public static boolean isTableKey(String key) { * @return this */ public JSONObject setRole(String role) { - put(KEY_ROLE, role); - return this; + return puts(KEY_ROLE, role); + } + + /**set try, ignore exceptions + * @param tri + * @return this + */ + public JSONObject setTry(boolean tri) { + return puts(KEY_TRY, tri); } + + /**set drop, data dropped will not return + * @param drop + * @return this + */ + public JSONObject setDrop(boolean drop) { + return puts(KEY_DROP, drop); + } + + /**set correct, correct keys to target ones + * @param correct Map{originKey, [posibleKeys]}, posibleKey之间用 , 隔开 + * @return this + */ + public JSONObject setCorrect(Map correct) { + return puts(KEY_CORRECT, correct); + } + + - /**set schema where table was put + /**set schema where table was puts * @param schema * @return this */ public JSONObject setSchema(String schema) { - put(KEY_SCHEMA, schema); - return this; + return puts(KEY_SCHEMA, schema); + } + + /**set about + * @param about + * @return this + */ + public JSONObject setAbout(boolean about) { + return puts(KEY_ABOUT, about); } /**set keys need to be returned @@ -280,8 +180,7 @@ public JSONObject setColumn(String... keys) { * @return */ public JSONObject setColumn(String keys) { - put(KEY_COLUMN, keys); - return this; + return puts(KEY_COLUMN, keys); } /**set keys for group by @@ -296,8 +195,7 @@ public JSONObject setGroup(String... keys) { * @return */ public JSONObject setGroup(String keys) { - put(KEY_GROUP, keys); - return this; + return puts(KEY_GROUP, keys); } /**set keys for having @@ -312,8 +210,7 @@ public JSONObject setHaving(String... keys) { * @return */ public JSONObject setHaving(String keys) { - put(KEY_HAVING, keys); - return this; + return puts(KEY_HAVING, keys); } /**set keys for order by @@ -328,8 +225,7 @@ public JSONObject setOrder(String... keys) { * @return */ public JSONObject setOrder(String keys) { - put(KEY_ORDER, keys); - return this; + return puts(KEY_ORDER, keys); } @@ -337,117 +233,142 @@ public JSONObject setOrder(String keys) { - //Request,默认encode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + //Request <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /** - * encode = true - * @param value - * @param parts path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... - * @return #put(key+"@", StringUtil.getString(keys, "/"), true) - */ - public Object putPath(String key, String... keys) { - return put(key+"@", StringUtil.getString(keys, "/"), true); - } - - /** - * encode = true * @param key - * @param isNull - * @return {@link #putNull(String, boolean, boolean)} + * @param keys path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... + * @return {@link #puts(String, Object)} */ - public JSONObject putNull(String key, boolean isNull) { - return putNull(key, isNull, true); + public JSONObject putsPath(String key, String... keys) { + return puts(key+"@", StringUtil.getString(keys, "/")); } + /** * @param key * @param isNull - * @param encode - * @return put(key+"{}", SQL.isNull(isNull), encode); + * @return {@link #puts(String, Object)} */ - public JSONObject putNull(String key, boolean isNull, boolean encode) { - put(key+"{}", SQL.isNull(isNull), encode); - return this; + public JSONObject putsNull(String key, boolean isNull) { + return puts(key+"{}", SQL.isNull(isNull)); } /** * trim = false * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean)} + * @return {@link #putsEmpty(String, boolean, boolean)} */ - public JSONObject putEmpty(String key, boolean isEmpty) { - return putEmpty(key, isEmpty, false); + public JSONObject putsEmpty(String key, boolean isEmpty) { + return putsEmpty(key, isEmpty, false); } /** - * encode = true * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean, boolean)} - */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim) { - return putEmpty(key, isEmpty, trim, true); - } - /** - * @param key - * @param isEmpty - * @param encode - * @return put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim, boolean encode) { - put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - return this; - } - /** - * encode = true - * @param key - * @param compare <=0, >5 ... - * @return {@link #putLength(String, String, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putLength(String key, String compare) { - return putLength(key, compare, true); + public JSONObject putsEmpty(String key, boolean isEmpty, boolean trim) { + return puts(key+"{}", SQL.isEmpty(key, isEmpty, trim)); } /** * @param key * @param compare <=0, >5 ... - * @param encode - * @return put(key+"{}", SQL.length(key) + compare, encode); + * @return {@link #puts(String, Object)} */ - public JSONObject putLength(String key, String compare, boolean encode) { - put(key+"{}", SQL.length(key) + compare, encode); - return this; + public JSONObject putsLength(String key, String compare) { + return puts(key+"{}", SQL.length(key) + compare); } /**设置搜索 * type = SEARCH_TYPE_CONTAIN_FULL * @param key * @param value - * @return {@link #putSearch(String, String, int)} + * @return {@link #putsSearch(String, String, int)} */ - public JSONObject putSearch(String key, String value) { - return putSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); + public JSONObject putsSearch(String key, String value) { + return putsSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); } /**设置搜索 - * encode = true * @param key * @param value * @param type - * @return {@link #putSearch(String, String, int, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putSearch(String key, String value, int type) { - return putSearch(key, value, type, true); + public JSONObject putsSearch(String key, String value, int type) { + return puts(key+"$", SQL.search(value, type)); } - /**设置搜索 + + //Request >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + /**puts key-value in object into this + * @param object + * @return this + */ + public JSONObject putsAll(com.alibaba.fastjson.JSONObject object) { + putAll(object); + return this; + } + @Override + public void putAll(Map m) { + if (m != null && m.isEmpty() == false) { + super.putAll(m); + } + } + + + + /**put and return this + * @param value must be annotated by {@link MethodAccess} + * @return {@link #puts(String, boolean)} + */ + public JSONObject puts(Object value) { + return puts(null, value); + } + /**put and return this * @param key - * @param value - * @param type - * @param encode - * @return put(key+"$", SQL.search(value, type), encode); + * @param value + * @return this + * @see {@link #put(String, Object)} */ - public JSONObject putSearch(String key, String value, int type, boolean encode) { - put(key+"$", SQL.search(value, type), encode); + public JSONObject puts(String key, Object value) { + put(key, value); return this; } + + /**put and return value + * @param value must be annotated by {@link MethodAccess} + * @return {@link #put(String, boolean)} + */ + public Object put(Object value) { + return put(null, value); + } + /**put and return value + * @param key StringUtil.isEmpty(key, true) ? key = value.getClass().getSimpleName(); + * @param value + * @return value + */ + @Override + public Object put(String key, Object value) { + if (value == null) { + Log.e(TAG, "put value == null >> return null;"); + return null; + } + if (StringUtil.isEmpty(key, true)) { + Class clazz = value.getClass(); + if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { + throw new IllegalArgumentException("puts StringUtil.isNotEmpty(key, true) == false" + + " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + + " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + + " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + + " \n 如果是类似 key[]:{} 结构的请求,建议用 putsAll(...) !"); + } + key = value.getClass().getSimpleName(); + } + return super.put(key, value); + } - //Request,默认encode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java index 78b935560..cafa118ed 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java @@ -14,11 +14,12 @@ package zuo.biao.apijson; -/**encapsulator for request JSONObject, encode in default cases +/**wrapper for request * @author Lemon + * @see #puts * @see #toArray * @use JSONRequest request = new JSONRequest(...); - *
request.put(...);//not a must + *
request.puts(...);//not a must *
request.toArray(...);//not a must */ public class JSONRequest extends JSONObject { @@ -28,51 +29,34 @@ public JSONRequest() { super(); } /** - * encode = true - * @param object must be annotated by {@link APIJSONRequest} + * @param object must be annotated by {@link MethodAccess} * @see {@link #JSONRequest(String, Object)} */ public JSONRequest(Object object) { this(null, object); } /** - * encode = true * @param name * @param object - * @see {@link #JSONRequest(String, Object, boolean)} + * @see {@link #puts(String, Object)} */ public JSONRequest(String name, Object object) { - this(name, object, true); - } - /** - * @param object must be annotated by {@link APIJSONRequest} - * @param encode - * @see {@link #JSONRequest(String, Object, boolean)} - */ - public JSONRequest(Object object, boolean encode) { - this(null, object, encode); - } - /** - * @param name - * @param object - * @param encode - * @see {@link #put(String, Object, boolean)} - */ - public JSONRequest(String name, Object object, boolean encode) { this(); - put(name, object, encode); + puts(name, object); } - - - + public static final String KEY_TAG = "tag";//只在最外层,最外层用JSONRequest - - public JSONObject setTag(String tag) { - put(KEY_TAG, tag); - return this; + + /**set "tag":tag in outermost layer + * for write operations + * @param tag + * @return + */ + public JSONRequest setTag(String tag) { + return puts(KEY_TAG, tag); } @@ -86,104 +70,63 @@ public JSONObject setTag(String tag) { public static final String KEY_COUNT = "count"; public static final String KEY_PAGE = "page"; - /** + /**set what to query in Array layer * @param query what need to query, Table,total,ALL? * @return + * @see {@link #QUERY_TABLE} + * @see {@link #QUERY_TOTAL} + * @see {@link #QUERY_ALL} */ public JSONRequest setQuery(int query) { - put(KEY_QUERY, query); - return this; + return puts(KEY_QUERY, query); } - /** - * @param count + /**set maximum count of Tables to query in Array layer + * @param count <= 0 || >= max ? max : count * @return */ public JSONRequest setCount(int count) { - put(KEY_COUNT, count); - return this; + return puts(KEY_COUNT, count); } - /** - * @param page + /**set page of Tables to query in Array layer + * @param page <= 0 ? 0 : page * @return */ public JSONRequest setPage(int page) { - put(KEY_PAGE, page); - return this; + return puts(KEY_PAGE, page); } //array object >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - // 导致JSONObject add >> get = null - // /** - // * decode = true - // * @param key - // * return {@link #get(Object, boolean)} - // */ - // @Override - // public Object get(Object key) { - // return get(key, true); - // } - - /** - * encode = true - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - @Override - public Object put(Object value) { - return put(value, true); - } - /** - * encode = true - * @param key - * @param value - * return {@link #put(String, Object, boolean)} - */ - @Override - public Object put(String key, Object value) { - return put(key, value, true); - } - - /**create a parent JSONObject named KEY_ARRAY - * encode = true; * @param count * @param page * @return {@link #toArray(int, int, boolean)} */ public JSONRequest toArray(int count, int page) { - return toArray(count, page, true); - } - /**create a parent JSONObject named KEY_ARRAY - * encode = true; - * @param count - * @param page - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, boolean encode) { - return toArray(count, page, null, encode); - } - /**create a parent JSONObject named name+KEY_ARRAY - * encode = true; - * @param count - * @param page - * @param name - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, String name) { - return toArray(count, page, name, true); + return toArray(count, page, null); } /**create a parent JSONObject named name+KEY_ARRAY. * @param count * @param page * @param name - * @param encode * @return {name+KEY_ARRAY : this}. if needs to be put, use {@link #add(com.alibaba.fastjson.JSONObject)} instead */ - public JSONRequest toArray(int count, int page, String name, boolean encode) { - return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page), encode); + public JSONRequest toArray(int count, int page, String name) { + return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page)); + } + + + + + @Override + public JSONRequest puts(Object value) { + return puts(null, value); + } + @Override + public JSONRequest puts(String key, Object value) { + super.puts(key, value); + return this; } } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONResponse.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONResponse.java index 1135a3f9e..f9b6d3fc9 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONResponse.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONResponse.java @@ -20,17 +20,16 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -/**parser for response JSON String +/**parser for response * @author Lemon + * @see #getObject * @see #getList - * @see #toArray * @use JSONResponse response = new JSONResponse(json); - *
JSONArray array = JSONResponse.toArray(response.getJSONObject("[]"));//not a must - *
User user = JSONResponse.getObject(response, User.class);//not a must - *
List list = JSONResponse.getList(response.getJSONObject("Comment[]"), Comment.class);//not a must + *
User user = response.getObject(User.class);//not a must + *
List commenntList = response.getList("Comment[]", Comment.class);//not a must */ public class JSONResponse extends zuo.biao.apijson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; private static final String TAG = "JSONResponse"; @@ -46,26 +45,30 @@ public JSONResponse(JSONObject object) { //状态信息,非GET请求获得的信息<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final int CODE_SUCCEED = 200; - public static final int CODE_PARTIAL_SUCCEED = 206; - public static final int CODE_UNSUPPORTED_ENCODING = 400; - public static final int CODE_ILLEGAL_ACCESS = 401; - public static final int CODE_UNSUPPORTED_OPERATION = 403; - public static final int CODE_NOT_FOUND = 404; - public static final int CODE_ILLEGAL_ARGUMENT = 406; - public static final int CODE_NOT_LOGGED_IN = 407; - public static final int CODE_TIME_OUT = 408; - public static final int CODE_CONFLICT = 409; - public static final int CODE_CONDITION_ERROR = 412; - public static final int CODE_UNSUPPORTED_TYPE = 415; - public static final int CODE_OUT_OF_RANGE = 416; - public static final int CODE_NULL_POINTER = 417; - public static final int CODE_SERVER_ERROR = 500; - - + public static final int CODE_SUCCESS = 200; //成功 + public static final int CODE_UNSUPPORTED_ENCODING = 400; //编码错误 + public static final int CODE_ILLEGAL_ACCESS = 401; //权限错误 + public static final int CODE_UNSUPPORTED_OPERATION = 403; //禁止操作 + public static final int CODE_NOT_FOUND = 404; //未找到 + public static final int CODE_ILLEGAL_ARGUMENT = 406; //参数错误 + public static final int CODE_NOT_LOGGED_IN = 407; //未登录 + public static final int CODE_TIME_OUT = 408; //超时 + public static final int CODE_CONFLICT = 409; //重复,已存在 + public static final int CODE_CONDITION_ERROR = 412; //条件错误,如密码错误 + public static final int CODE_UNSUPPORTED_TYPE = 415; //类型错误 + public static final int CODE_OUT_OF_RANGE = 416; //超出范围 + public static final int CODE_NULL_POINTER = 417; //对象为空 + public static final int CODE_SERVER_ERROR = 500; //服务器内部错误 + + + public static final String MSG_SUCCEED = "success"; //成功 + public static final String MSG_SERVER_ERROR = "Internal Server Error!"; //服务器内部错误 + + public static final String KEY_CODE = "code"; public static final String KEY_MSG = "msg"; public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; public static final String KEY_COUNT = "count"; public static final String KEY_TOTAL = "total"; @@ -124,22 +127,22 @@ public int getTotal() { /**是否成功 * @return */ - public boolean isSucceed() { - return isSucceed(getCode()); + public boolean isSuccess() { + return isSuccess(getCode()); } /**是否成功 * @param code * @return */ - public static boolean isSucceed(int code) { - return code == CODE_SUCCEED; + public static boolean isSuccess(int code) { + return code == CODE_SUCCESS; } /**是否成功 * @param response * @return */ - public static boolean isSucceed(JSONResponse response) { - return response != null && response.isSucceed(); + public static boolean isSuccess(JSONResponse response) { + return response != null && response.isSuccess(); } /**校验服务端是否存在table @@ -256,213 +259,110 @@ public static List getList(JSONObject object, Class clazz) { * @return */ public static List getList(JSONObject object, String key, Class clazz) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? JSON.parseArray((JSONArray) obj, clazz) : toList((JSONObject) obj, clazz); - } - /** - * @param clazz - * @return - */ - public List toList(Class clazz) { - return toList(this, clazz); - } - /** - * @param arrayObject - * @param clazz - * @return - */ - public static List toList(JSONObject arrayObject, Class clazz) { - return clazz == null ? null : JSON.parseArray(JSON.toJSONString( - toArray(arrayObject, clazz.getSimpleName())), clazz); + return object == null ? null : JSON.parseArray(object.getString(replaceArray(key)), clazz); } /** * key = KEY_ARRAY - * @param className * @return */ - public JSONArray getArray(String className) { - return getArray(KEY_ARRAY, className); + public JSONArray getArray() { + return getArray(KEY_ARRAY); } /** * @param key - * @param className * @return */ - public JSONArray getArray(String key, String className) { - return getArray(this, key, className); + public JSONArray getArray(String key) { + return getArray(this, key); } /** * @param object - * @param key - * @param className * @return */ - public static JSONArray getArray(JSONObject object, String className) { - return getArray(object, KEY_ARRAY, className); + public static JSONArray getArray(JSONObject object) { + return getArray(object, KEY_ARRAY); } /** * key = KEY_ARRAY * @param object - * @param className - * @return - */ - public static JSONArray getArray(JSONObject object, String key, String className) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? (JSONArray) obj : toArray((JSONObject) obj, className); - } - - /** - * @param className - * @return - */ - public JSONArray toArray(String className) { - return toArray(this, className); - } - /**{0:{Table:{}}, 1:{Table:{}}...} 转化为 [{Table:{}}, {Table:{}}] - * array.set(index, isContainer ? value : value.getJSONObject(className)); - * @param arrayObject - * @param className className.equals(Table) ? {Table:{Content}} => {Content} + * @param key * @return */ - public static JSONArray toArray(JSONObject arrayObject, String className) { - Set set = arrayObject == null ? null : arrayObject.keySet(); - if (set == null || set.isEmpty()) { - return null; - } - - // [{...},{...},...] - String parentString = StringUtil.getTrimedString(JSON.toJSONString(arrayObject)); - if (parentString.isEmpty()) { - return null; - } - if (parentString.startsWith("[")) { - if (parentString.endsWith("]") == false) { - parentString += "]"; - } - return JSON.parseArray(parentString); - } - - //{"0":{Table:{...}}, "1":{Table:{...}}...} - - className = StringUtil.getTrimedString(className); - boolean isContainer = true; - - JSONArray array = new JSONArray(set.size()); - JSONObject value; - boolean isFirst = true; - int index; - for (String key : set) {//0, 1, 2,... - value = StringUtil.isNumer(key) == false ? null : arrayObject.getJSONObject(key);// Table:{} - if (value != null) { - try { - index = Integer.valueOf(0 + key); - if (isFirst && isTableKey(className) && value.containsKey(className)) {// 判断是否需要提取table - isContainer = false; - } - array.set(index, isContainer ? value : value.getJSONObject(className)); - } catch (Exception e) { - e.printStackTrace(); - } - } - isFirst = false; - } - return array; + public static JSONArray getArray(JSONObject object, String key) { + return object == null ? null : object.getJSONArray(replaceArray(key)); } - // /** // * @return // */ // public JSONObject format() { // return format(this); // } - /**将Item[]:[{Table:{}}, {Table:{}}...] 或 Item[]:{0:{Table:{}}, 1:{Table:{}}...} - * 转化为 itemList:[{Table:{}}, {Table:{}}],如果 Item.equals(Table),则将 {Table:{Content}} 转化为 {Content} - * @param target - * @param response + /**格式化key名称 + * @param object * @return */ - public static JSONObject format(final JSONObject response) { - //太长查看不方便,不如debug Log.i(TAG, "format response = \n" + JSON.toJSONString(response)); - if (response == null || response.isEmpty()) { - Log.i(TAG, "format response == null || response.isEmpty() >> return response;"); - return response; + public static JSONObject format(final JSONObject object) { + //太长查看不方便,不如debug Log.i(TAG, "format object = \n" + JSON.toJSONString(object)); + if (object == null || object.isEmpty()) { + Log.i(TAG, "format object == null || object.isEmpty() >> return object;"); + return object; } - JSONObject transferredObject = new JSONObject(true); + JSONObject formatedObject = new JSONObject(true); - Set set = response.keySet(); + Set set = object.keySet(); if (set != null) { Object value; - String arrayKey; for (String key : set) { - value = response.get(key); - - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredObject.put(replaceArray(key), format(key, (JSONArray) value)); - } else if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray - if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray - arrayKey = key.substring(0, key.lastIndexOf(KEY_ARRAY)); - transferredObject.put(getArrayKey(getSimpleName(arrayKey)) - , format(key, toArray((JSONObject) value, arrayKey)));//需要将name:alias传至toArray - } else {//常规JSONObject,往下一级提取 - transferredObject.put(getSimpleName(key), format((JSONObject) value)); - } - } else {//其它Object,直接填充 - transferredObject.put(getSimpleName(key), value); + value = object.get(key); + + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedObject.put(replaceArray(key), format((JSONArray) value)); + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedObject.put(getSimpleName(key), format((JSONObject) value)); + } + else {//其它Object,直接填充 + formatedObject.put(getSimpleName(key), value); } } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredObject = " + JSON.toJSONString(transferredObject)); - return transferredObject; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedObject = " + JSON.toJSONString(formatedObject)); + return formatedObject; } - /** - * @param responseArray + /**格式化key名称 + * @param array * @return */ - public static JSONArray format(String name, final JSONArray responseArray) { - //太长查看不方便,不如debug Log.i(TAG, "format responseArray = \n" + JSON.toJSONString(responseArray)); - if (responseArray == null || responseArray.isEmpty()) { - Log.i(TAG, "format responseArray == null || responseArray.isEmpty() >> return response;"); - return responseArray; + public static JSONArray format(final JSONArray array) { + //太长查看不方便,不如debug Log.i(TAG, "format array = \n" + JSON.toJSONString(array)); + if (array == null || array.isEmpty()) { + Log.i(TAG, "format array == null || array.isEmpty() >> return array;"); + return array; } - int index = name == null ? -1 : name.lastIndexOf(KEY_ARRAY); - String className = index < 0 ? "" : name.substring(0, index); - - JSONArray transferredArray = new JSONArray(); + JSONArray formatedArray = new JSONArray(); Object value; - boolean isContainer = true; - boolean isFirst = true; - for (int i = 0; i < responseArray.size(); i++) { - value = responseArray.get(i); - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredArray.add(format(null, (JSONArray) value)); - } else if (value instanceof JSONObject) {//JSONObject,往下一级提取 - //判断是否需要提取child - if (isFirst && isTableKey(className) && ((JSONObject) value).containsKey(className)) { - isContainer = false; - } - //直接添加child 或 添加提取出的child - transferredArray.add(format(isContainer ? (JSONObject)value : ((JSONObject)value).getJSONObject(className) )); - isFirst = false; - } else {//其它Object,直接填充 - transferredArray.add(responseArray.get(i)); + for (int i = 0; i < array.size(); i++) { + value = array.get(i); + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedArray.add(format((JSONArray) value)); + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedArray.add(format((JSONObject) value)); + } + else {//其它Object,直接填充 + formatedArray.add(value); } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredArray = " + JSON.toJSONString(transferredArray)); - return transferredArray; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedArray = " + JSON.toJSONString(formatedArray)); + return formatedArray; } /**替换key+KEY_ARRAY为keyList @@ -485,7 +385,7 @@ public static String getArrayKey(String key) { /**获取简单名称 * @param fullName name 或 name:alias - * @return name > name; name:alias > alias + * @return name => name; name:alias => alias */ public static String getSimpleName(String fullName) { //key:alias -> alias; key:alias[] -> alias[] diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/RequestMethod.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/RequestMethod.java index 11f928134..13182f99d 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/RequestMethod.java @@ -29,13 +29,13 @@ public enum RequestMethod { */ HEAD, - /** - * 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为GETS + * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_GET, - /** - * 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为HEADS + * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_HEAD, diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/SQL.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/SQL.java index 63f532b52..a9da023e5 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/SQL.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/SQL.java @@ -22,8 +22,16 @@ public class SQL { public static final String OR = " OR "; public static final String AND = " AND "; public static final String NOT = " NOT "; + public static final String AS = " AS "; public static final String IS = " is "; public static final String NULL = " null "; + + //括号必须紧跟函数名! count (...) 报错! + public static final String COUNT = "count"; + public static final String SUM = "sum"; + public static final String MAX = "max"; + public static final String MIN = "min"; + public static final String AVG = "avg"; /** * isNull = true @@ -34,7 +42,7 @@ public static String isNull() { } /** * @param isNull - * @return IS + (isNull ? "" : NOT) + NULL; + * @return {@link #IS} + (isNull ? "" : {@link #NOT}) + {@link #NULL}; */ public static String isNull(boolean isNull) { return IS + (isNull ? "" : NOT) + NULL; @@ -87,7 +95,7 @@ public static String isEmpty(String s, boolean isEmpty, boolean trim) { * @param s * @param isEmpty <=0 * @param trim s = trim(s); - * @param nullable isNull(s, true) + OR + + * @param nullable isNull(s, true) + {@link #OR} + * @return {@link #lengthCompare(String, String)} */ public static String isEmpty(String s, boolean isEmpty, boolean trim, boolean nullable) { @@ -171,30 +179,30 @@ public static String subString(String s, int start, int end) { /** * @param s - * @param c - * @return "instr(" + s + "," + c + ")" + * @param c -> 'c' + * @return "instr(" + s + ", '" + c + "')" */ public static String indexOf(String s, String c) { - return "instr(" + s + "," + c + ")"; + return "instr(" + s + ", '" + c + "')"; } /** * @param s - * @param c1 - * @param c2 - * @return + * @param c1 -> 'c1' + * @param c2 -> 'c2' + * @return "replace(" + s + ", '" + c1 + "', '" + c2 + "')" */ public static String replace(String s, String c1, String c2) { - return "replace(" + s + "," + c1 + "," + c2 + ")"; + return "replace(" + s + ", '" + c1 + "', '" + c2 + "')"; } /** * @param s1 - * @param s2 - * @return "strcmp(" + s1 + "," + s2 + ")" + * @param s2 -> 's2' + * @return "strcmp(" + s1 + ", '" + s2 + "')" */ public static String equals(String s1, String s2) { - return "strcmp(" + s1 + "," + s2 + ")"; + return "strcmp(" + s1 + ", '" + s2 + "')"; } /** @@ -212,9 +220,98 @@ public static String toLowerCase(String s) { return "lower(" + s + ")"; } + + + //column and function<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + /**字段 + * @param column + * @return column.isEmpty() ? "*" : column; + */ + public static String column(String column) { + column = StringUtil.getTrimedString(column); + return column.isEmpty() ? "*" : column; + } + /**有别名的字段 + * @param column + * @return {@link #count(String)} + {@link #AS}; + */ + public static String columnAs(String column) { + return count(column) + AS; + } + + /**函数 + * @param column if (StringUtil.isEmpty(column, true) || column.contains(",")) -> column = null; + * @return " " + fun + "(" + {@link #column(String)} + ") "; + */ + public static String function(String fun, String column) { + if (StringUtil.isEmpty(column, true) || column.contains(",")) { + column = null; //解决 count(id,name) 这种多个字段导致的SQL异常 + } + return " " + fun + "(" + column(column) + ") "; + } + /**有别名的函数 + * @param column + * @return {@link #function(String, String)} + {@link #AS} + fun; + */ + public static String functionAs(String fun, String column) { + return function(fun, column) + AS + fun + " "; + } + + /**计数 + * column = null + * @return {@link #count(String)} + */ + public static String count() { + return count(null); + } + /**计数 + * fun = {@link #COUNT} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String count(String column) { + return functionAs(COUNT, column); + } + /**求和 + * fun = {@link #SUM} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String sum(String column) { + return functionAs(SUM, column); + } + /**最大值 + * fun = {@link #MAX} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String max(String column) { + return functionAs(MAX, column); + } + /**最小值 + * fun = {@link #MIN} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String min(String column) { + return functionAs(MIN, column); + } + /**平均值 + * fun = {@link #AVG} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String avg(String column) { + return functionAs(AVG, column); + } - + //column and function>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + //search<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public static final int SEARCH_TYPE_CONTAIN_FULL = 0; public static final int SEARCH_TYPE_CONTAIN_ORDER = 1; @@ -286,5 +383,7 @@ public static String search(String s, int type, boolean ignoreCase) { return "%" + s + "%"; } } + + //search>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/StringUtil.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/StringUtil.java index 538db3e06..205d6436f 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/StringUtil.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/StringUtil.java @@ -17,7 +17,6 @@ import java.io.File; import java.math.BigDecimal; import java.text.DecimalFormat; -import java.util.regex.Matcher; import java.util.regex.Pattern; /**通用字符串(String)相关类,为null时返回"" @@ -100,7 +99,7 @@ public static String getString(String s) { * @param array * @return {@link #getString(String[], boolean)} */ - public static String getString(String[] array) { + public static String getString(Object[] array) { return getString(array, false); } /**获取string,为null则返回"" @@ -109,7 +108,7 @@ public static String getString(String[] array) { * @param ignoreEmptyItem * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, boolean ignoreEmptyItem) { + public static String getString(Object[] array, boolean ignoreEmptyItem) { return getString(array, null, ignoreEmptyItem); } /**获取string,为null则返回"" @@ -118,7 +117,7 @@ public static String getString(String[] array, boolean ignoreEmptyItem) { * @param split * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, String split) { + public static String getString(Object[] array, String split) { return getString(array, split, false); } /**获取string,为null则返回"" @@ -127,7 +126,7 @@ public static String getString(String[] array, String split) { * @param ignoreEmptyItem * @return */ - public static String getString(String[] array, String split, boolean ignoreEmptyItem) { + public static String getString(Object[] array, String split, boolean ignoreEmptyItem) { String s = ""; if (array != null) { if (split == null) { @@ -304,43 +303,74 @@ public static boolean isNotEmpty(String s, boolean trim) { //判断字符类型 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final Pattern ALPHA_PATTERN; - public static final Pattern NAME_PATTERN; - public static final Pattern BIG_ALPHA_PATTERN; - public static final Pattern SMALL_ALPHA_PATTERN; + public static final Pattern PATTERN_NUMBER; + public static final Pattern PATTERN_PHONE; + public static final Pattern PATTERN_EMAIL; + public static final Pattern PATTERN_ID_CARD; + public static final Pattern PATTERN_ALPHA; + public static final Pattern PATTERN_PASSWORD; //TODO + public static final Pattern PATTERN_NAME; + public static final Pattern PATTERN_ALPHA_BIG; + public static final Pattern PATTERN_ALPHA_SMALL; static { - ALPHA_PATTERN = Pattern.compile("[a-zA-Z]"); - NAME_PATTERN = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过 - BIG_ALPHA_PATTERN = Pattern.compile("[A-Z]"); - SMALL_ALPHA_PATTERN = Pattern.compile("[a-z]"); - } - - //判断手机格式是否正确 + PATTERN_NUMBER = Pattern.compile("^[0-9]+$"); + PATTERN_ALPHA = Pattern.compile("^[a-zA-Z]+$"); + PATTERN_ALPHA_BIG = Pattern.compile("^[A-Z]+$"); + PATTERN_ALPHA_SMALL = Pattern.compile("^[a-z]+$"); + PATTERN_NAME = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过 + PATTERN_PHONE = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-2,5-9])|(17[0-9]))\\d{8}$"); + PATTERN_EMAIL = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); + PATTERN_ID_CARD = Pattern.compile("(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)"); + PATTERN_PASSWORD = Pattern.compile("^[0-9a-zA-Z]+$"); + } + + /**判断手机格式是否正确 + * @param phone + * @return + */ public static boolean isPhone(String phone) { if (isNotEmpty(phone, true) == false) { return false; } - Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-2,5-9])|(17[0-9]))\\d{8}$"); - currentString = phone; - - return p.matcher(phone).matches(); + return PATTERN_PHONE.matcher(phone).matches(); + } + /**判断手机格式是否正确 + * @param s + * @return + */ + public static boolean isPassword(String s) { + return getLength(s, false) >= 6 && PATTERN_PASSWORD.matcher(s).matches(); } - //判断email格式是否正确 + /**判断是否全是数字密码 + * @param s + * @return + */ + public static boolean isNumberPassword(String s) { + return getLength(s, false) == 6 && isNumer(s); + } + /**判断email格式是否正确 + * @param email + * @return + */ public static boolean isEmail(String email) { if (isNotEmpty(email, true) == false) { return false; } - String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"; - Pattern p = Pattern.compile(str); - currentString = email; - - return p.matcher(email).matches(); + return PATTERN_EMAIL.matcher(email).matches(); } + + /**判断是否全是验证码 + * @param s + * @return + */ + public static boolean isVerify(String s) { + return getLength(s, false) >= 4 && isNumer(s); + } /**判断是否全是数字 * @param s * @return @@ -350,39 +380,20 @@ public static boolean isNumer(String s) { return false; } - Pattern pattern = Pattern.compile("[0-9]"); - Matcher matcher; - for (int i = 0; i < s.length(); i++) { - matcher = pattern.matcher(s.substring(i, i+1)); - if(! matcher.matches()){ - return false; - } - } - currentString = s; - - return true; + return PATTERN_NUMBER.matcher(s).matches(); } /**判断是否全是字母 * @param s * @return */ public static boolean isAlpha(String s) { - if (s == null) { - Log.i(TAG, "isNumberOrAlpha inputed == null >> return false;"); + if (isEmpty(s, true)) { return false; } - Pattern pAlpha = Pattern.compile("[a-zA-Z]"); - Matcher mAlpha; - for (int i = 0; i < s.length(); i++) { - mAlpha = pAlpha.matcher(s.substring(i, i+1)); - if(! mAlpha.matches()){ - return false; - } - } currentString = s; - return true; + return PATTERN_ALPHA.matcher(s).matches(); } /**判断是否全是数字或字母 * @param s @@ -392,53 +403,53 @@ public static boolean isNumberOrAlpha(String s) { return isNumer(s) || isAlpha(s); } - /**判断是否为单词,只能包含字母,数字或下划线 + /**判断是否为代码名称,只能包含字母,数字或下划线 * @param s * @return */ - public static boolean isWord(String s) { - return s != null && NAME_PATTERN.matcher(s).matches(); + public static boolean isName(String s) { + return s != null && PATTERN_NAME.matcher(s).matches(); } - /**判断是否为首字母大写的单词 + /**判断是否为首字母大写的代码名称 * @param key * @return */ - public static boolean isBigWord(String s) { + public static boolean isBigName(String s) { s = getString(s); - if (s.isEmpty() || BIG_ALPHA_PATTERN.matcher(s.substring(0, 1)).matches() == false) { + if (s.isEmpty() || PATTERN_ALPHA_BIG.matcher(s.substring(0, 1)).matches() == false) { return false; } - return s.length() <= 1 ? true : isWord(s.substring(1)); + return s.length() <= 1 ? true : isName(s.substring(1)); } - /**判断是否为首字母小写的单词 + /**判断是否为首字母小写的代码名称 * @param key * @return */ - public static boolean isSmallWord(String s) { + public static boolean isSmallName(String s) { s = getString(s); - if (s.isEmpty() || SMALL_ALPHA_PATTERN.matcher(s.substring(0, 1)).matches() == false) { + if (s.isEmpty() || PATTERN_ALPHA_SMALL.matcher(s.substring(0, 1)).matches() == false) { return false; } - return s.length() <= 1 ? true : isWord(s.substring(1)); + return s.length() <= 1 ? true : isName(s.substring(1)); } /**判断字符类型是否是身份证号 - * @param idCard + * @param number * @return */ - public static boolean isIDCard(String idCard) { - if (isNumberOrAlpha(idCard) == false) { + public static boolean isIDCard(String number) { + if (isNumberOrAlpha(number) == false) { return false; } - idCard = getString(idCard); - if (idCard.length() == 15) { - Log.i(TAG, "isIDCard idCard.length() == 15 old IDCard"); - currentString = idCard; + number = getString(number); + if (number.length() == 15) { + Log.i(TAG, "isIDCard number.length() == 15 old IDCard"); + currentString = number; return true; } - if (idCard.length() == 18) { - currentString = idCard; + if (number.length() == 18) { + currentString = number; return true; } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/client/package-info.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/client/package-info.java deleted file mode 100644 index 84599fa4a..000000000 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/client/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -/** - * files for client projects - */ -/** - * @author Lemon - * - */ -package zuo.biao.apijson.client; \ No newline at end of file diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/HttpManager.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/HttpManager.java index 9bde4a758..e8c5d73c8 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/HttpManager.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/HttpManager.java @@ -14,12 +14,9 @@ package apijson.demo; -import static zuo.biao.apijson.StringUtil.UTF_8; - import java.io.IOException; import java.net.CookieHandler; import java.net.URI; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -87,58 +84,58 @@ public synchronized static HttpManager getInstance() { public static final String KEY_TOKEN = "token"; public static final String KEY_COOKIE = "cookie"; + // encode和decode太麻烦,直接都用HTTP POST + // /**GET请求 + // * @param paramList 请求参数列表,(可以一个键对应多个值) + // * @param url 接口url + // * @param requestCode + // * 请求码,类似onActivityResult中请求码,当同一activity中以实现接口方式发起多个网络请求时,请求结束后都会回调 + // * {@link OnHttpResponseListener#onHttpResponse(int, String, Exception)}
+ // * 在发起请求的类中可以用requestCode来区分各个请求 + // * @param listener + // */ + // public void get(final String url_, final String request, final OnHttpResponseListener listener) { + // Log.d(TAG, "get url_ = " + url_ + "; request = " + request + " >>>"); + // new AsyncTask() { + // + // String result; + // @Override + // protected Exception doInBackground(Void... params) { + // try { + // String url = StringUtil.getNoBlankString(url_) + // + URLEncoder.encode(StringUtil.getNoBlankString(request), UTF_8); + // StringBuffer sb = new StringBuffer(); + // sb.append(url); + // + // OkHttpClient client = getHttpClient(url); + // if (client == null) { + // return new Exception(TAG + ".get AsyncTask.doInBackground client == null >> return;"); + // } + // + // result = getResponseJson(client, new Request.Builder() + // .addHeader(KEY_TOKEN, getToken(url)) + // .url(sb.toString()).build()); + // } catch (Exception e) { + // Log.e(TAG, "get AsyncTask.doInBackground try { result = getResponseJson(..." + + // "} catch (Exception e) {\n" + e.getMessage()); + // return e; + // } + // + // return null; + // } + // + // @Override + // protected void onPostExecute(Exception exception) { + // super.onPostExecute(exception); + // listener.onHttpResponse(0, result, exception); + // } + // + // }.execute(); + // + // } + + public static final MediaType TYPE_JSON = MediaType.parse("application/json; charset=utf-8"); - /**GET请求 - * @param paramList 请求参数列表,(可以一个键对应多个值) - * @param url 接口url - * @param requestCode - * 请求码,类似onActivityResult中请求码,当同一activity中以实现接口方式发起多个网络请求时,请求结束后都会回调 - * {@link OnHttpResponseListener#onHttpResponse(int, String, Exception)}
- * 在发起请求的类中可以用requestCode来区分各个请求 - * @param listener - */ - public void get(final String url_, final String request, final OnHttpResponseListener listener) { - Log.d(TAG, "get url_ = " + url_ + "; request = " + request + " >>>"); - new AsyncTask() { - - String result; - @Override - protected Exception doInBackground(Void... params) { - try { - String url = StringUtil.getNoBlankString(url_) - + URLEncoder.encode(StringUtil.getNoBlankString(request), UTF_8); - StringBuffer sb = new StringBuffer(); - sb.append(url); - - OkHttpClient client = getHttpClient(url); - if (client == null) { - return new Exception(TAG + ".get AsyncTask.doInBackground client == null >> return;"); - } - - result = getResponseJson(client, new Request.Builder() - .addHeader(KEY_TOKEN, getToken(url)) - .url(sb.toString()).build()); - } catch (Exception e) { - Log.e(TAG, "get AsyncTask.doInBackground try { result = getResponseJson(..." + - "} catch (Exception e) {\n" + e.getMessage()); - return e; - } - - return null; - } - - @Override - protected void onPostExecute(Exception exception) { - super.onPostExecute(exception); - listener.onHttpResponse(0, result, exception); - } - - }.execute(); - - } - - public static final MediaType TYPE_JSON =MediaType.parse("application/json; charset=utf-8"); - /**POST请求 * @param paramList 请求参数列表,(可以一个键对应多个值) * @param url 接口url @@ -163,9 +160,9 @@ protected Exception doInBackground(Void... params) { if (client == null) { return new Exception(TAG + ".post AsyncTask.doInBackground client == null >> return;"); } - + RequestBody requestBody = RequestBody.create(TYPE_JSON, request); - + result = getResponseJson(client, new Request.Builder() .addHeader(KEY_TOKEN, getToken(url)).url(StringUtil.getNoBlankString(url)) .post(requestBody).build()); diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/RequestUtil.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/RequestUtil.java index a8e560f0b..f4f82cb9d 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/RequestUtil.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/RequestUtil.java @@ -27,7 +27,6 @@ import apijson.demo.model.Wallet; /**请求工具类 - * 设置encode参数只为方便展示,实际使用时并不需要 * @author Lemon */ public class RequestUtil { @@ -42,7 +41,7 @@ public class RequestUtil { - public static JSONObject newPostRequest(boolean encode) { + public static JSONObject newPostRequest() { Moment data = new Moment(); data.setUserId(DEFAULT_USER_ID); data.setContent(context.getString(R.string.apijson_slogan)); @@ -50,79 +49,79 @@ public static JSONObject newPostRequest(boolean encode) { list.add("http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000"); list.add("http://common.cnblogs.com/images/icon_weibo_24.png"); data.setPictureList(list); - return new JSONRequest(data, encode).setTag(Moment.class.getSimpleName()); + return new JSONRequest(data).setTag(Moment.class.getSimpleName()); } - public static JSONObject newPutRequest(long id, boolean encode) { + public static JSONObject newPutRequest(long id) { Moment data = new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id); // data.setContent(context.getString(R.string.apijson_info));//一般可用这种方式,encode是为了展示方便 List list = new ArrayList(); list.add((long) 82001); list.add((long) 82002); - JSONObject momentObject = new JSONObject(data, encode); - momentObject.put("praiseUserIdList+", list, encode); - momentObject.put("content", context.getString(R.string.apijson_info), encode); - return new JSONRequest(Moment.class.getSimpleName(), momentObject, encode).setTag(Moment.class.getSimpleName()); + JSONObject momentObject = new JSONObject(data); + momentObject.put("praiseUserIdList+", list); + momentObject.put("content", context.getString(R.string.apijson_info)); + return new JSONRequest(Moment.class.getSimpleName(), momentObject).setTag(Moment.class.getSimpleName()); } - public static JSONObject newDeleteRequest(long id, boolean encode) { - return new JSONRequest(new Moment(id <= 0 ? 10000 : id), encode).setTag(Moment.class.getSimpleName()); + public static JSONObject newDeleteRequest(long id) { + return new JSONRequest(new Moment(id <= 0 ? 10000 : id)).setTag(Moment.class.getSimpleName()); } - public static JSONObject newSingleRequest(long id, boolean encode) { - return new JSONRequest(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id), encode); + public static JSONObject newSingleRequest(long id) { + return new JSONRequest(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id)); } - public static JSONObject newColumnsRequest(long id, boolean encode) { - JSONObject object = new JSONObject(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id), encode); + public static JSONObject newColumnsRequest(long id) { + JSONObject object = new JSONObject(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id)); object.setColumn("id,userId,content"); - return new JSONRequest(Moment.class.getSimpleName(), object, encode); + return new JSONRequest(Moment.class.getSimpleName(), object); } - public static JSONObject newRelyRequest(long id, boolean encode) { + public static JSONObject newRelyRequest(long id) { JSONRequest request = new JSONRequest(); - request.put(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id), encode); - request.put(User.class.getSimpleName(), new JSONRequest("id@", "Moment/userId", encode)); + request.put(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id)); + request.put(User.class.getSimpleName(), new JSONRequest("id@", "Moment/userId")); return request; } - public static JSONObject newArrayRequest(boolean encode) { + public static JSONObject newArrayRequest() { JSONRequest dataObject = new JSONRequest(); - dataObject.put("name$", "%o%", encode); - JSONRequest request = new JSONRequest(User.class.getSimpleName(), dataObject, encode); - return request.toArray(5, 1, User.class.getSimpleName(), encode); + dataObject.put("name$", "%o%"); + JSONRequest request = new JSONRequest(User.class.getSimpleName(), dataObject); + return request.toArray(5, 1, User.class.getSimpleName()); } - public static JSONObject newComplexRequest(boolean encode) { + public static JSONObject newComplexRequest() { JSONRequest request = new JSONRequest(); List idList = new ArrayList(); idList.add(DEFAULT_USER_ID); idList.add((long) 93793); - request.put(Moment.class.getSimpleName(), new JSONRequest("userId{}", idList, encode), encode); + request.put(Moment.class.getSimpleName(), new JSONRequest("userId{}", idList)); - request.put(User.class.getSimpleName(), new JSONRequest("id@", "/Moment/userId", encode), encode); + request.put(User.class.getSimpleName(), new JSONRequest("id@", "/Moment/userId")); - request.add(new JSONRequest(Comment.class.getSimpleName() - , new JSONRequest("momentId@", "[]/Moment/id", encode), encode). - toArray(3, 0, Comment.class.getSimpleName()), encode); + request.putAll(new JSONRequest(Comment.class.getSimpleName() + , new JSONRequest("momentId@", "[]/Moment/id")). + toArray(3, 0, Comment.class.getSimpleName())); - return request.toArray(3, 0, encode); + return request.toArray(3, 0); } - public static JSONObject newAccessErrorRequest(boolean encode) { - return new JSONRequest(new Wallet().setUserId(DEFAULT_USER_ID), encode) + public static JSONObject newAccessErrorRequest() { + return new JSONRequest(new Wallet().setUserId(DEFAULT_USER_ID)) .setTag(Wallet.class.getSimpleName()); } - public static JSONObject newAccessPermittedRequest(boolean encode) { + public static JSONObject newAccessPermittedRequest() { JSONRequest request = new JSONRequest(); - request.put(new Wallet().setUserId(DEFAULT_USER_ID), encode); - request.put("currentUserId", DEFAULT_USER_ID, encode); - request.put("loginPassword", "apijson", encode); + request.put(new Wallet().setUserId(DEFAULT_USER_ID)); + request.put("currentUserId", DEFAULT_USER_ID); + request.put("loginPassword", "apijson"); return request.setTag(Wallet.class.getSimpleName()); } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/AutoActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/AutoActivity.java index 137cd4823..c067267c7 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/AutoActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/AutoActivity.java @@ -131,7 +131,7 @@ public void request(TextView tv) { } public void request(String method) { startActivityForResult(RequestActivity.createIntent(context, id, url, method - , JSON.parseObject(StringUtil.getString(tvAutoRequest)), false), REQUEST_TO_REQUEST); + , JSON.parseObject(StringUtil.getString(tvAutoRequest))), REQUEST_TO_REQUEST); } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java index d955a0a8b..a41711014 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java @@ -57,7 +57,6 @@ public class RequestActivity extends Activity implements OnHttpResponseListener public static final String INTENT_URL = "INTENT_URL"; public static final String INTENT_METHOD = "INTENT_METHOD"; public static final String INTENT_REQUEST = "INTENT_REQUEST"; - public static final String INTENT_ENCODED = "INTENT_ENCODED"; public static final String RESULT_ID = "RESULT_ID"; public static final String RESULT_URL = "RESULT_URL"; @@ -69,17 +68,14 @@ public class RequestActivity extends Activity implements OnHttpResponseListener * @param url * @param method * @param request - * @param encoded * @return */ - public static Intent createIntent(Context context, long id, String url, String method, - JSONObject request, boolean encoded) { + public static Intent createIntent(Context context, long id, String url, String method, JSONObject request) { return new Intent(context, RequestActivity.class) .putExtra(RequestActivity.INTENT_ID, id) .putExtra(RequestActivity.INTENT_URL, url) .putExtra(RequestActivity.INTENT_METHOD, method) - .putExtra(RequestActivity.INTENT_REQUEST, JSON.toJSONString(request)) - .putExtra(RequestActivity.INTENT_ENCODED, encoded); + .putExtra(RequestActivity.INTENT_REQUEST, JSON.toJSONString(request)); } @@ -93,7 +89,6 @@ public static Intent createIntent(Context context, long id, String url, String m private String url; private String method; private String request; - private boolean encoded; private TextView tvRequestResult; private ProgressBar pbRequest; @@ -114,20 +109,9 @@ protected void onCreate(Bundle savedInstanceState) { url = getIntent().getStringExtra(INTENT_URL); method = getIntent().getStringExtra(INTENT_METHOD); request = getIntent().getStringExtra(INTENT_REQUEST); - encoded = getIntent().getBooleanExtra(INTENT_ENCODED, false); method = StringUtil.getTrimedString(method); url = StringUtil.getCorrectUrl(url); - if (encoded == false && request != null && request.contains("/")) { - // try {//导致JSON.format(request)返回null,然后tvRequestResult就显示为null了 - // String s = URLEncoder.encode(new String(request), StringUtil.UTF_8); - // request = s; - // } catch (UnsupportedEncodingException e) { - // e.printStackTrace(); - // } - request = request.replaceAll("/", "%2F"); - } - tvRequestResult = (TextView) findViewById(R.id.tvRequestResult); pbRequest = (ProgressBar) findViewById(R.id.pbRequest); @@ -175,11 +159,7 @@ private void request() { tvRequestResult.setText("requesting...\n\n url = " + fullUrl + "\n\n request = \n" + JSON.format(request) + "\n\n\n" + error); pbRequest.setVisibility(View.VISIBLE); - if ("get".equals(method) || "head".equals(method)) { - HttpManager.getInstance().get(fullUrl, request, this); - } else { - HttpManager.getInstance().post(fullUrl, request, this); - } + HttpManager.getInstance().post(fullUrl, request, this); } /**用浏览器请求,只有GET请求才能正常访问 @@ -243,11 +223,11 @@ public void onHttpResponse(int requestCode, final String resultJson, final Excep } else if ("delete".equals(method)) { response = response.getJSONResponse(Moment.class.getSimpleName()); - // if (JSONResponse.isSucceed(response)) {//delete succeed + // if (JSONResponse.isSuccess(response)) {//delete succeed id = 0;//reuse default value // } Log.d(TAG, "onHttpResponse delete.equals(method) >> id = " + id - + "; isSucceed = " + JSONResponse.isSucceed(response)); + + "; isSucceed = " + JSONResponse.isSuccess(response)); } else if ("post_get".equals(method)) { Wallet wallet = response.getObject(Wallet.class); diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/SelectActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/SelectActivity.java index 0d716f4a8..928e00cb0 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/SelectActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/SelectActivity.java @@ -109,7 +109,7 @@ public void toUpdateLog(View v) { */ public void setRequest() { for (int i = 0; i < buttons.length; i++) { - buttons[i].setText(JSON.format(getRequest(buttons[i], false))); + buttons[i].setText(JSON.format(getRequest(buttons[i]))); } } @@ -119,30 +119,30 @@ public void setRequest() { * @param v * @return */ - public JSONObject getRequest(View v, boolean encode) { + public JSONObject getRequest(View v) { switch (v.getId()) { case R.id.btnSelectPost: - return RequestUtil.newPostRequest(encode); + return RequestUtil.newPostRequest(); case R.id.btnSelectPut: - return RequestUtil.newPutRequest(id, encode); + return RequestUtil.newPutRequest(id); case R.id.btnSelectDelete: - return RequestUtil.newDeleteRequest(id, encode); + return RequestUtil.newDeleteRequest(id); case R.id.btnSelectSingle: - return RequestUtil.newSingleRequest(id, encode); + return RequestUtil.newSingleRequest(id); case R.id.btnSelectColumns: - return RequestUtil.newColumnsRequest(id, encode); + return RequestUtil.newColumnsRequest(id); case R.id.btnSelectRely: - return RequestUtil.newRelyRequest(id, encode); + return RequestUtil.newRelyRequest(id); case R.id.btnSelectArray: - return RequestUtil.newArrayRequest(encode); + return RequestUtil.newArrayRequest(); case R.id.btnSelectAccessError: - return RequestUtil.newAccessErrorRequest(encode); + return RequestUtil.newAccessErrorRequest(); case R.id.btnSelectAccessPermitted: - return RequestUtil.newAccessPermittedRequest(encode); + return RequestUtil.newAccessPermittedRequest(); default: - return RequestUtil.newComplexRequest(encode); + return RequestUtil.newComplexRequest(); } } @@ -153,31 +153,31 @@ public JSONObject getRequest(View v, boolean encode) { public void onClick(View v) { switch (v.getId()) { case R.id.btnSelectPost: - select(getRequest(v, true), "post"); + select(getRequest(v), "post"); break; case R.id.btnSelectPut: - select(getRequest(v, true), "put"); + select(getRequest(v), "put"); break; case R.id.btnSelectDelete: - select(getRequest(v, true), "delete"); + select(getRequest(v), "delete"); break; case R.id.btnSelectAccessError: - select(getRequest(v, true), "post_get"); + select(getRequest(v), "post_get"); break; case R.id.btnSelectAccessPermitted: - select(getRequest(v, true), "post_get"); + select(getRequest(v), "post_get"); break; default: - select(getRequest(v, true), "get"); + select(getRequest(v), "get"); break; } } private void select(JSONObject request, String method) { - startActivityForResult(RequestActivity.createIntent(context, id, url, method, request, true), REQUEST_TO_REQUEST); + startActivityForResult(RequestActivity.createIntent(context, id, url, method, request), REQUEST_TO_REQUEST); } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java index 5f7846af0..1472c14f5 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java @@ -22,6 +22,7 @@ import static zuo.biao.apijson.RequestMethod.POST_HEAD; import static zuo.biao.apijson.RequestMethod.PUT; +import java.net.URLDecoder; import java.util.Random; import java.util.concurrent.TimeoutException; @@ -64,14 +65,46 @@ public class Controller { //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +// /**获取 +// * @param request 只用String,避免encode后未decode +// * @param session +// * @return +// * @see {@link RequestMethod#GET} +// */ +// @RequestMapping("get/{request}") +// public String open_get(@PathVariable String request, HttpSession session) { +// try { +// request = URLDecoder.decode(request, StringUtil.UTF_8); +// } catch (Exception e) { +// // Parser会报错 +// } +// return get(request, session); +// } +// +// /**计数 +// * @param request 只用String,避免encode后未decode +// * @param session +// * @return +// * @see {@link RequestMethod#HEAD} +// */ +// @RequestMapping("head/{request}") +// public String open_head(@PathVariable String request, HttpSession session) { +// try { +// request = URLDecoder.decode(request, StringUtil.UTF_8); +// } catch (Exception e) { +// // Parser会报错 +// } +// return head(request, session); +// } + /**获取 * @param request 只用String,避免encode后未decode * @param session * @return * @see {@link RequestMethod#GET} */ - @RequestMapping("get/{request}") - public String get(@PathVariable String request, HttpSession session) { + @RequestMapping(value = "get", method = org.springframework.web.bind.annotation.RequestMethod.POST) + public String get(@RequestBody String request, HttpSession session) { return new Parser(GET).setSession(session).parse(request); } @@ -81,8 +114,8 @@ public String get(@PathVariable String request, HttpSession session) { * @return * @see {@link RequestMethod#HEAD} */ - @RequestMapping("head/{request}") - public String head(@PathVariable String request, HttpSession session) { + @RequestMapping(value = "head", method = org.springframework.web.bind.annotation.RequestMethod.POST) + public String head(@RequestBody String request, HttpSession session) { return new Parser(HEAD).setSession(session).parse(request); } @@ -439,7 +472,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { */ @RequestMapping(value = "logout", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject logout(HttpSession session) { - long userId = AccessVerifier.getUserId(session);//必须在session.invalidate();前! + long userId = Verifier.getUserId(session);//必须在session.invalidate();前! session.invalidate(); JSONObject result = Parser.newSuccessResult(); @@ -612,7 +645,7 @@ public JSONObject putPassword(@RequestBody String request){ public JSONObject putBalance(@RequestBody String request, HttpSession session) { JSONObject requestObject = null; try { - AccessVerifier.verifyLogin(session); + Verifier.verifyLogin(session); requestObject = Parser.getCorrectRequest(PUT, Parser.parseRequest(request, PUT)); } catch (Exception e) { return Parser.newErrorResult(e); diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Function.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Function.java index 2abccfc52..2995482cf 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Function.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Function.java @@ -60,12 +60,12 @@ public static void test() throws Exception { jsonMap.put("map", map); - Log.i(TAG, "plus = " + invoke(jsonMap, "plus(long:i0,long:i1)")); - Log.i(TAG, "count = " + invoke(jsonMap, "count(Collection:collection)")); - Log.i(TAG, "isContain = " + invoke(jsonMap, "isContain(Collection:collection,Object:id)")); - Log.i(TAG, "get(Map:map,key) = " + invoke(jsonMap, "get(Map:map,key)")); - Log.i(TAG, "get(Collection:collection,int:@position) = " + invoke(jsonMap, "get(Collection:collection,int:@position)")); - Log.i(TAG, "Integer:get(Map:map,key) = " + invoke(jsonMap, "Integer:get(Map:map,key)")); + Log.i(TAG, "plus(1, -2) = " + invoke(jsonMap, "plus(long:i0,long:i1)")); + Log.i(TAG, "count([1,2,4,10]) = " + invoke(jsonMap, "count(Collection:collection)")); + Log.i(TAG, "isContain([1,2,4,10], 10) = " + invoke(jsonMap, "isContain(Collection:collection,Object:id)")); + Log.i(TAG, "get({key:true}, key) = " + invoke(jsonMap, "get(Map:map,key)")); + Log.i(TAG, "get([1,2,4,10], 0) = " + invoke(jsonMap, "get(Collection:collection,int:@position)")); + Log.i(TAG, "Integer:get({key:true}, key) = " + invoke(jsonMap, "Integer:get(Map:map,key)")); } /**反射调用 @@ -126,10 +126,6 @@ public long plus(long i0, long i1) { return i0 + i1; } - public JSONObject newVerify(String phone) { - return new Controller().postVerify(phone); - } - //判断是否为空 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< /**判断collection是否为空 diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java similarity index 78% rename from APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java rename to APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java index 5460fd22e..31f64d17a 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/AccessVerifier.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java @@ -14,6 +14,14 @@ package apijson.demo.server; +import static zuo.biao.apijson.RequestMethod.DELETE; +import static zuo.biao.apijson.RequestMethod.GET; +import static zuo.biao.apijson.RequestMethod.HEAD; +import static zuo.biao.apijson.RequestMethod.POST; +import static zuo.biao.apijson.RequestMethod.POST_GET; +import static zuo.biao.apijson.RequestMethod.POST_HEAD; +import static zuo.biao.apijson.RequestMethod.PUT; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -32,6 +40,7 @@ import apijson.demo.server.model.User; import apijson.demo.server.model.Verify; import zuo.biao.apijson.JSON; +import zuo.biao.apijson.JSONResponse; import zuo.biao.apijson.Log; import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.RequestMethod; @@ -39,19 +48,23 @@ import zuo.biao.apijson.model.Column; import zuo.biao.apijson.model.Table; import zuo.biao.apijson.model.Test; +import zuo.biao.apijson.server.JSONRequest; +import zuo.biao.apijson.server.Parser; +import zuo.biao.apijson.server.exception.ConflictException; import zuo.biao.apijson.server.exception.NotLoggedInException; import zuo.biao.apijson.server.sql.SQLConfig; /**权限验证类 * @author Lemon */ -public class AccessVerifier { - private static final String TAG = "AccessVerifier"; +public class Verifier { + private static final String TAG = "Verifier"; public static final String KEY_PASSWORD = "password"; public static final String KEY_LOGIN_PASSWORD = "loginPassword"; public static final String KEY_PAY_PASSWORD = "payPassword"; + public static final String KEY_OLD_PASSWORD = "oldPassword"; // > @@ -81,13 +94,13 @@ private static HashMap getAccessMap(MethodAccess a } HashMap map = new HashMap<>(); - map.put(RequestMethod.GET, access.GET()); - map.put(RequestMethod.HEAD, access.HEAD()); - map.put(RequestMethod.POST_GET, access.POST_GET()); - map.put(RequestMethod.POST_HEAD, access.POST_HEAD()); - map.put(RequestMethod.POST, access.POST()); - map.put(RequestMethod.PUT, access.PUT()); - map.put(RequestMethod.DELETE, access.DELETE()); + map.put(GET, access.GET()); + map.put(HEAD, access.HEAD()); + map.put(POST_GET, access.POST_GET()); + map.put(POST_HEAD, access.POST_HEAD()); + map.put(POST, access.POST()); + map.put(PUT, access.PUT()); + map.put(DELETE, access.DELETE()); return map; } @@ -161,7 +174,7 @@ public static boolean verify(SQLConfig config, User visitor) throws Exception { } if (list.contains(new Long("" + id)) == false) {//Integer等转为Long才能正确判断。强转崩溃 if (method == null) { - method = RequestMethod.GET; + method = GET; } throw new IllegalAccessException(userIdkey + " = " + id + " 的 " + table + " 不允许 " + role.name() + " 用户的 " + method.name() + " 请求!"); @@ -197,7 +210,7 @@ public static void verifyRole(String table, RequestMethod method, RequestRole ro Log.d(TAG, "verifyRole table = " + table + "; method = " + method + "; role = " + role); if (table != null) { if (method == null) { - method = RequestMethod.GET; + method = GET; } if (role == null) { role = RequestRole.UNKNOWN; @@ -218,6 +231,7 @@ public static void verifyRole(String table, RequestMethod method, RequestRole ro * @throws Exception */ public static void verifyLogin(HttpSession session) throws Exception { + Log.d(TAG, "verifyLogin session.getId() = " + (session == null ? null : session.getId())); verifyLogin(getUserId(session)); } /**登录校验 @@ -231,6 +245,50 @@ public static void verifyLogin(Long userId) throws Exception { throw new NotLoggedInException("未登录,请登录后再操作!"); } } + + + + /**验证是否重复 + * @param table + * @param key + * @param value + * @throws Exception + */ + public static void verifyRepeat(String table, String key, Object value) throws Exception { + verifyRepeat(table, key, value, 0); + } + /**验证是否重复 + * @param table + * @param key + * @param value + * @param exceptId 不包含id + * @throws Exception + */ + public static void verifyRepeat(String table, String key, Object value, long exceptId) throws Exception { + if (key == null || value == null) { + Log.e(TAG, "verifyRepeat key == null || value == null >> return;"); + return; + } + if (value instanceof JSON) { + throw new UnsupportedDataTypeException(key + ":value 中value的类型不能为JSON!"); + } + + JSONRequest request = new JSONRequest(key, value); + if (exceptId > 0) {//允许修改自己的属性为该属性原来的值 + request.put(JSONRequest.KEY_ID + "!", exceptId); + } + JSONObject repeat = new Parser(HEAD, true).parseResponse( + new JSONRequest(table, request) + ); + repeat = repeat == null ? null : repeat.getJSONObject(table); + if (repeat == null) { + throw new Exception("服务器内部错误 verifyRepeat repeat == null"); + } + if (repeat.getIntValue(JSONResponse.KEY_COUNT) > 0) { + throw new ConflictException(key + ": " + value + " 已经存在,不能重复!"); + } + } + /**获取来访用户的id * @author Lemon @@ -267,6 +325,7 @@ public static JSONObject removeAccessInfo(JSONObject requestObject) { requestObject.remove(KEY_PASSWORD); requestObject.remove(KEY_LOGIN_PASSWORD); requestObject.remove(KEY_PAY_PASSWORD); + requestObject.remove(KEY_OLD_PASSWORD); } return requestObject; } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/BaseModel.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/BaseModel.java index e47f185a8..f76f6798e 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/BaseModel.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/BaseModel.java @@ -250,4 +250,53 @@ public static double value(Double value) { } //获取非基本类型对应基本类型的非空值 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> + /**index是否在arr长度范围内 + * @param index + * @param array + * @return + */ + public static boolean isIndexInRange(Integer index, Object[] array) { + return index != null && index >= 0 && index < count(array); + } + + /**获取在arr长度范围内的index + * defaultIndex = 0 + * @param index + * @param array + * @return + */ + public static int getIndexInRange(Integer index, Object[] array) { + return getIndexInRange(index, array, 0); + } + /**获取在arr长度范围内的index + * @param index + * @param array + * @param defaultIndex + * @return + */ + public static int getIndexInRange(Integer index, Object[] array, int defaultIndex) { + return isIndexInRange(index, array) ? index : defaultIndex; + } + + /**获取在arr长度范围内的index + * defaultIndex = 0 + * @param + * @param index + * @param array + * @return + */ + public static T getInRange(Integer index, T[] array) { + return getInRange(index, array, 0); + } + /**获取在arr长度范围内的index + * @param + * @param index + * @param array + * @param defaultIndex + * @return + */ + public static T getInRange(Integer index, T[] array, int defaultIndex) { + return get(array, getIndexInRange(index, array, defaultIndex)); + } + } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONObject.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONObject.java index 65b86746b..b0c60540f 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONObject.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONObject.java @@ -225,7 +225,7 @@ public static boolean isTableKey(String key) { //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< public static final String KEY_ROLE = "@role"; //角色,拥有对某些数据的某些操作的权限 - public static final String KEY_CONDITION = "@condition"; //条件 + public static final String KEY_CONDITION = "@condition"; //条件 TODO 用 @where& @where| @where! 替代? public static final String KEY_TRY = "@try"; //尝试,忽略异常 public static final String KEY_DROP = "@drop"; //丢弃,不返回 public static final String KEY_CORRECT = "@correct"; //字段校正 diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONResponse.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONResponse.java index 723eb65c9..ea8005fb5 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONResponse.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONResponse.java @@ -47,7 +47,6 @@ public JSONResponse(JSONObject object) { //状态信息,非GET请求获得的信息<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public static final int CODE_SUCCEED = 200; //成功 - public static final int CODE_PARTIAL_SUCCEED = 206; //部分成功 public static final int CODE_UNSUPPORTED_ENCODING = 400; //编码错误 public static final int CODE_ILLEGAL_ACCESS = 401; //权限错误 public static final int CODE_UNSUPPORTED_OPERATION = 403; //禁止操作 @@ -63,9 +62,13 @@ public JSONResponse(JSONObject object) { public static final int CODE_SERVER_ERROR = 500; //服务器内部错误 + public static final String MSG_SUCCEED = "success"; //成功 + public static final String MSG_SERVER_ERROR = "服务器内部错误!"; //失败 + public static final String KEY_CODE = "code"; public static final String KEY_MSG = "msg"; public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; public static final String KEY_COUNT = "count"; public static final String KEY_TOTAL = "total"; @@ -408,15 +411,18 @@ public static JSONObject format(final JSONObject response) { if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array transferredObject.put(replaceArray(key), format(key, (JSONArray) value)); - } else if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray + } + else if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray arrayKey = key.substring(0, key.lastIndexOf(KEY_ARRAY)); transferredObject.put(getArrayKey(getSimpleName(arrayKey)) , format(key, toArray((JSONObject) value, arrayKey)));//需要将name:alias传至toArray - } else {//常规JSONObject,往下一级提取 + } + else {//常规JSONObject,往下一级提取 transferredObject.put(getSimpleName(key), format((JSONObject) value)); } - } else {//其它Object,直接填充 + } + else {//其它Object,直接填充 transferredObject.put(getSimpleName(key), value); } } @@ -448,7 +454,8 @@ public static JSONArray format(String name, final JSONArray responseArray) { value = responseArray.get(i); if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array transferredArray.add(format(null, (JSONArray) value)); - } else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 //判断是否需要提取child if (isFirst && isTableKey(className) && ((JSONObject) value).containsKey(className)) { isContainer = false; @@ -456,7 +463,8 @@ public static JSONArray format(String name, final JSONArray responseArray) { //直接添加child 或 添加提取出的child transferredArray.add(format(isContainer ? (JSONObject)value : ((JSONObject)value).getJSONObject(className) )); isFirst = false; - } else {//其它Object,直接填充 + } + else {//其它Object,直接填充 transferredArray.add(responseArray.get(i)); } } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/RequestMethod.java index 11f928134..13182f99d 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/RequestMethod.java @@ -29,13 +29,13 @@ public enum RequestMethod { */ HEAD, - /** - * 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为GETS + * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_GET, - /** - * 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为HEADS + * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_HEAD, diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/StringUtil.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/StringUtil.java index 55c631ea9..205d6436f 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/StringUtil.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/StringUtil.java @@ -17,7 +17,6 @@ import java.io.File; import java.math.BigDecimal; import java.text.DecimalFormat; -import java.util.regex.Matcher; import java.util.regex.Pattern; /**通用字符串(String)相关类,为null时返回"" @@ -100,7 +99,7 @@ public static String getString(String s) { * @param array * @return {@link #getString(String[], boolean)} */ - public static String getString(String[] array) { + public static String getString(Object[] array) { return getString(array, false); } /**获取string,为null则返回"" @@ -109,7 +108,7 @@ public static String getString(String[] array) { * @param ignoreEmptyItem * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, boolean ignoreEmptyItem) { + public static String getString(Object[] array, boolean ignoreEmptyItem) { return getString(array, null, ignoreEmptyItem); } /**获取string,为null则返回"" @@ -118,7 +117,7 @@ public static String getString(String[] array, boolean ignoreEmptyItem) { * @param split * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, String split) { + public static String getString(Object[] array, String split) { return getString(array, split, false); } /**获取string,为null则返回"" @@ -127,7 +126,7 @@ public static String getString(String[] array, String split) { * @param ignoreEmptyItem * @return */ - public static String getString(String[] array, String split, boolean ignoreEmptyItem) { + public static String getString(Object[] array, String split, boolean ignoreEmptyItem) { String s = ""; if (array != null) { if (split == null) { @@ -309,7 +308,7 @@ public static boolean isNotEmpty(String s, boolean trim) { public static final Pattern PATTERN_EMAIL; public static final Pattern PATTERN_ID_CARD; public static final Pattern PATTERN_ALPHA; - public static final Pattern PATTERN_PASSWORD; + public static final Pattern PATTERN_PASSWORD; //TODO public static final Pattern PATTERN_NAME; public static final Pattern PATTERN_ALPHA_BIG; public static final Pattern PATTERN_ALPHA_SMALL; @@ -322,7 +321,7 @@ public static boolean isNotEmpty(String s, boolean trim) { PATTERN_PHONE = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-2,5-9])|(17[0-9]))\\d{8}$"); PATTERN_EMAIL = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); PATTERN_ID_CARD = Pattern.compile("(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)"); - PATTERN_PASSWORD = Pattern.compile("^[0-9a-zA-Z_]+$"); + PATTERN_PASSWORD = Pattern.compile("^[0-9a-zA-Z]+$"); } /**判断手机格式是否正确 @@ -436,21 +435,21 @@ public static boolean isSmallName(String s) { /**判断字符类型是否是身份证号 - * @param idCard + * @param number * @return */ - public static boolean isIDCard(String idCard) { - if (isNumberOrAlpha(idCard) == false) { + public static boolean isIDCard(String number) { + if (isNumberOrAlpha(number) == false) { return false; } - idCard = getString(idCard); - if (idCard.length() == 15) { - Log.i(TAG, "isIDCard idCard.length() == 15 old IDCard"); - currentString = idCard; + number = getString(number); + if (number.length() == 15) { + Log.i(TAG, "isIDCard number.length() == 15 old IDCard"); + currentString = number; return true; } - if (idCard.length() == 18) { - currentString = idCard; + if (number.length() == 18) { + currentString = number; return true; } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/ObjectParser.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/ObjectParser.java index 7bc93d048..9f16ea895 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/ObjectParser.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/ObjectParser.java @@ -14,11 +14,11 @@ package zuo.biao.apijson.server; -import static zuo.biao.apijson.JSONObject.KEY_CONDITION; import static zuo.biao.apijson.JSONObject.KEY_CORRECT; import static zuo.biao.apijson.JSONObject.KEY_DROP; import static zuo.biao.apijson.JSONObject.KEY_TRY; import static zuo.biao.apijson.RequestMethod.PUT; +import static zuo.biao.apijson.JSONObject.KEY_CONDITION; import java.util.ArrayList; import java.util.Arrays; @@ -272,7 +272,7 @@ public ObjectParser parse() throws Exception { key = entry.getKey(); try { - if (value instanceof JSONObject) {//JSONObject,往下一级提取 + if (value instanceof JSONObject && key.startsWith("@") == false) {//JSONObject,往下一级提取 putChild(key, (JSON) value); } else if (method == PUT && value instanceof JSONArray @@ -398,6 +398,7 @@ protected boolean onParse(@NotNull String key, @NotNull Object value) throws Exc } + //TODO 需要锁表来保证获取到的 [] 不会在写入前被修改 /**PUT key:[] * @param key * @param array @@ -424,7 +425,7 @@ protected void onPUTArrayParse(@NotNull String key, @NotNull JSONArray array) th //GET <<<<<<<<<<<<<<<<<<<<<<<<< JSONObject rq = new JSONObject(); - rq.put(SQLConfig.ID, request.get(SQLConfig.ID)); + rq.put(JSONRequest.KEY_ID, request.get(JSONRequest.KEY_ID)); rq.put(JSONRequest.KEY_COLUMN, realKey); JSONObject rp = parseResponse(new JSONRequest(table, rq)); //GET >>>>>>>>>>>>>>>>>>>>>>>>> @@ -485,12 +486,12 @@ public ObjectParser executeSQL(int count, int page, int position) throws Excepti if (isTableKey == false) {//提高性能 sqlReponse = new JSONObject(sqlRequest); } else { - if (config == null) { - config = newQueryConfig(); - } - config.setCount(count).setPage(page).setPosition(position); try { + if (config == null) { + config = newSQLConfig(); + } + config.setCount(count).setPage(page).setPosition(position); sqlReponse = onSQLExecute(); } catch (Exception e) { Log.e(TAG, "getObject try { response = getSQLObject(config2); } catch (Exception e) {"); @@ -538,6 +539,8 @@ public JSONObject response() throws Exception { response.putAll(customMap); } + + //解析函数function if (functionMap != null) { Set> functionSet = functionMap == null ? null : functionMap.entrySet(); @@ -564,8 +567,8 @@ public JSONObject response() throws Exception { return response; } - protected SQLConfig newQueryConfig() { - return SQLConfig.newQueryConfig(method, table, sqlRequest); + protected SQLConfig newSQLConfig() throws Exception { + return SQLConfig.newSQLConfig(method, table, sqlRequest); } /** * response has the final value after parse (and query if isTableKey) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Operation.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Operation.java new file mode 100644 index 000000000..ed194839a --- /dev/null +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Operation.java @@ -0,0 +1,54 @@ +package zuo.biao.apijson.server; + +import zuo.biao.apijson.StringUtil; + +/**对请求JSON的操作 + * @author Lemon + */ +public enum Operation { + + /** + * 不允许传的字段 + */ + DISALLOW, + /** + * 必须传的字段 + */ + NECESSARY, + + /** + * 验证是否符合预设的条件 + */ + VERIFY, + /** + * 验证是否不存在,除了本身的记录 + */ + UNIQUE, + + /** + * 添加,当要被添加的对象不存在时 + */ + ADD, + /** + * 强行放入,不存在时就添加,存在时就修改 + */ + PUT, + /** + * 替换,当要被替换的对象存在时 + */ + REPLACE, + /** + * 移除,当要被移除的对象存在时 + */ + REMOVE; + + public static Operation get(String name) { + try {//Enum.valueOf只要找不到对应的值就会抛异常 + return Operation.valueOf(StringUtil.toUpperCase(name)); + } catch (Exception e) { + //empty + } + return null; + } + +} diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Pair.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Pair.java index ce0fc3a08..a19c8e447 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Pair.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Pair.java @@ -18,6 +18,9 @@ import java.util.HashMap; import java.util.Map; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + import zuo.biao.apijson.StringUtil; /**key:value @@ -43,6 +46,8 @@ public class Pair extends Entry { classMap.put(String.class.getSimpleName(), String.class); classMap.put(Collection.class.getSimpleName(), Collection.class);//不允许指定 classMap.put(Map.class.getSimpleName(), Map.class);//不允许指定 + classMap.put(JSONObject.class.getSimpleName(), JSONObject.class);//必须有,Map中没有getLongValue等方法 + classMap.put(JSONArray.class.getSimpleName(), JSONArray.class);//必须有,Collection中没有?等方法 } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java index dcaf7aca0..1af16d755 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java @@ -15,10 +15,8 @@ package zuo.biao.apijson.server; import static zuo.biao.apijson.RequestMethod.GET; -import static zuo.biao.apijson.StringUtil.UTF_8; import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -31,7 +29,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import apijson.demo.server.AccessVerifier; +import apijson.demo.server.Verifier; import apijson.demo.server.model.User; import zuo.biao.apijson.JSON; import zuo.biao.apijson.JSONResponse; @@ -41,6 +39,7 @@ import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.server.exception.ConditionErrorException; import zuo.biao.apijson.server.exception.ConflictException; +import zuo.biao.apijson.server.exception.NotExistException; import zuo.biao.apijson.server.exception.NotLoggedInException; import zuo.biao.apijson.server.exception.OutOfRangeException; import zuo.biao.apijson.server.sql.SQLConfig; @@ -84,8 +83,8 @@ public Parser(RequestMethod method, boolean noVerify) { private long visitorId;//来访用户id public Parser setSession(@NotNull HttpSession session) { this.session = session; - this.visitor = AccessVerifier.getUser(session); - this.visitorId = AccessVerifier.getUserId(session); + this.visitor = Verifier.getUser(session); + this.visitorId = Verifier.getUserId(session); return this; } private RequestRole globleRole;//全局角色,对未指明角色的Table自动加上这个角色 @@ -117,7 +116,7 @@ public Parser setNoVerifyRole(boolean noVerifyRole) { private JSONObject requestObject; - private SQLExecutor sQLExecutor; + private SQLExecutor sqlExecutor; private Map queryResultMap;//path-result @@ -190,18 +189,18 @@ public JSONObject parseResponse(JSONObject request) { queryResultMap = new HashMap(); Exception error = null; - sQLExecutor = new SQLExecutor(); + sqlExecutor = new SQLExecutor(); try { requestObject = getObject(null, null, request); } catch (Exception e) { e.printStackTrace(); error = e; } - sQLExecutor.close(); - sQLExecutor = null; + sqlExecutor.close(); + sqlExecutor = null; - requestObject = AccessVerifier.removeAccessInfo(requestObject); + requestObject = Verifier.removeAccessInfo(requestObject); requestObject = error == null ? extendSuccessResult(requestObject) : extendErrorResult(requestObject, error); @@ -228,14 +227,22 @@ public JSONObject parseResponse(JSONObject request) { * @return * @throws Exception */ + @NotNull public static JSONObject parseRequest(String request, RequestMethod method) throws Exception { - request = URLDecoder.decode(request, UTF_8); + //全走HTTP POST,不用encode和decode + // if (RequestMethod.isPublicMethod(method)) { + // request = URLDecoder.decode(request, UTF_8); + // Log.d(TAG, "\n\n\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n " + method + // + "/parseRequest request = \n" + request + "\n\n"); + // } if (method == null) { method = GET; } - Log.d(TAG, "\n\n\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n " + method - + "/parseResponse request = \n" + request + "\n\n"); - return JSON.parseObject(request); + JSONObject obj = JSON.parseObject(request); + if (obj == null) { + throw new UnsupportedEncodingException("JSON格式不合法!"); + } + return obj; } @@ -277,13 +284,13 @@ public static JSONObject extendResult(JSONObject object, int code, String msg) { * @return */ public static JSONObject extendSuccessResult(JSONObject object) { - return extendResult(object, 200, "success"); + return extendResult(object, JSONResponse.CODE_SUCCEED, JSONResponse.MSG_SUCCEED); } /**获取请求成功的状态内容 * @return */ public static JSONObject newSuccessResult() { - return newResult(200, "success"); + return newResult(JSONResponse.CODE_SUCCEED, JSONResponse.MSG_SUCCEED); } /**添加请求成功的状态内容 * @param object @@ -301,7 +308,7 @@ public static JSONObject newErrorResult(Exception e) { if (e != null) { e.printStackTrace(); - int code = JSONResponse.CODE_NOT_FOUND; + int code; if (e instanceof UnsupportedEncodingException) { code = JSONResponse.CODE_UNSUPPORTED_ENCODING; } @@ -311,6 +318,9 @@ else if (e instanceof IllegalAccessException) { else if (e instanceof UnsupportedOperationException) { code = JSONResponse.CODE_UNSUPPORTED_OPERATION; } + else if (e instanceof NotExistException) { + code = JSONResponse.CODE_NOT_FOUND; + } else if (e instanceof IllegalArgumentException) { code = JSONResponse.CODE_ILLEGAL_ARGUMENT; } @@ -335,11 +345,14 @@ else if (e instanceof OutOfRangeException) { else if (e instanceof NullPointerException) { code = JSONResponse.CODE_NULL_POINTER; } + else { + code = JSONResponse.CODE_SERVER_ERROR; + } return newResult(code, e.getMessage()); } - return newResult(500, "服务器内部错误"); + return newResult(JSONResponse.CODE_SERVER_ERROR, JSONResponse.MSG_SERVER_ERROR); } @@ -766,7 +779,7 @@ private Object getValueByPath(String valuePath) { JSONObject parent = null; String[] keys = null; for (String path : set) { - if (valuePath.startsWith(path)) { + if (valuePath.startsWith(path + "/")) { try { parent = (JSONObject) queryResultMap.get(path); } catch (Exception e) { @@ -826,9 +839,9 @@ private synchronized JSONObject getSQLObject(SQLConfig config) throws Exception config.setRole(visitorId <= 0 ? RequestRole.UNKNOWN : RequestRole.LOGIN); } } - AccessVerifier.verify(config, visitor); + Verifier.verify(config, visitor); } - return getCorrectResponse(requestMethod, config.getTable(), sQLExecutor.execute(config)); + return getCorrectResponse(requestMethod, config.getTable(), sqlExecutor.execute(config)); } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java index e00ba049d..3e1c6d68d 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java @@ -16,7 +16,14 @@ import static zuo.biao.apijson.JSONRequest.KEY_ID; import static zuo.biao.apijson.JSONRequest.KEY_ID_IN; -import static zuo.biao.apijson.RequestMethod.POST; +import static zuo.biao.apijson.server.Operation.ADD; +import static zuo.biao.apijson.server.Operation.DISALLOW; +import static zuo.biao.apijson.server.Operation.NECESSARY; +import static zuo.biao.apijson.server.Operation.PUT; +import static zuo.biao.apijson.server.Operation.REMOVE; +import static zuo.biao.apijson.server.Operation.REPLACE; +import static zuo.biao.apijson.server.Operation.UNIQUE; +import static zuo.biao.apijson.server.Operation.VERIFY; import java.util.ArrayList; import java.util.Arrays; @@ -33,6 +40,8 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import apijson.demo.server.Verifier; +import apijson.demo.server.model.BaseModel; import zuo.biao.apijson.JSON; import zuo.biao.apijson.JSONResponse; import zuo.biao.apijson.Log; @@ -47,6 +56,7 @@ /**结构类 * 增删改查: operation(add,replace,put,remove) operation:{key0:value0, key1:value1 ...} * 对值校验: verify:{key0:value0, key1:value1 ...} (key{}:range,key$:"%m%"等) + * 对值重复性校验: unique:"key0:, key1 ..." (unique:"phone,email" 等) * @author Lemon */ public class Structure { @@ -58,26 +68,26 @@ private Structure() {} - static final String requestString = "{\"Comment\":{\"disallow\": \"id\", \"necessary\": \"userId,momentId,content\"}, \"add\":{\"Comment:to\":{}}}"; - static final String responseString = "{\"User\":{\"remove\": \"phone\", \"replace\":{\"sex\":2}, \"add\":{\"name\":\"api\"}}, \"put\":{\"Comment:to\":{}}}"; + static final String requestString = "{\"Comment\":{\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,momentId,content\"}, \"ADD\":{\"Comment:to\":{}}}"; + static final String responseString = "{\"User\":{\"REMOVE\": \"phone\", \"REPLACE\":{\"sex\":2}, \"ADD\":{\"name\":\"api\"}}, \"PUT\":{\"Comment:to\":{}}}"; public static void test() throws Exception { JSONObject request; try { request = JSON.parseObject("{\"Comment\":{\"userId\":0}}"); - Log.d(TAG, "test parseRequest = " + parseRequest(POST, "", JSON.parseObject(requestString), request)); + Log.d(TAG, "test parseRequest = " + parseRequest(RequestMethod.POST, "", JSON.parseObject(requestString), request)); } catch (Exception e) { e.printStackTrace(); } try { request = JSON.parseObject("{\"Comment\":{\"userId\":0, \"momentId\":0, \"content\":\"apijson\"}}"); - Log.d(TAG, "test parseRequest = " + parseRequest(POST, "", JSON.parseObject(requestString), request)); + Log.d(TAG, "test parseRequest = " + parseRequest(RequestMethod.POST, "", JSON.parseObject(requestString), request)); } catch (Exception e) { e.printStackTrace(); } try { request = JSON.parseObject("{\"Comment\":{\"id\":0, \"userId\":0, \"momentId\":0, \"content\":\"apijson\"}}"); - Log.d(TAG, "test parseRequest = " + parseRequest(POST, "", JSON.parseObject(requestString), request)); + Log.d(TAG, "test parseRequest = " + parseRequest(RequestMethod.POST, "", JSON.parseObject(requestString), request)); } catch (Exception e) { e.printStackTrace(); } @@ -147,7 +157,7 @@ public JSONObject onParseJSONObject(String key, JSONObject tobj, JSONObject robj throw new IllegalArgumentException(method.name() + "请求,请设置 " + key + " !"); } } else if (zuo.biao.apijson.JSONObject.isTableKey(key)) { - if (method == POST) { + if (method == RequestMethod.POST) { if (robj.containsKey(KEY_ID)) { throw new IllegalArgumentException("POST请求, " + key + " 不能设置 " + KEY_ID + " !"); } @@ -155,16 +165,26 @@ public JSONObject onParseJSONObject(String key, JSONObject tobj, JSONObject robj if (RequestMethod.isQueryMethod(method) == false) { //单个修改或删除 Object id = robj.get(KEY_ID); //如果必须传 id ,可在Request表中配置necessary - if (id != null && id instanceof Number == false) { - throw new IllegalArgumentException(method.name() + "请求, " + key - + " 中 " + KEY_ID + " 对应值的类型只能是Long!"); - } - - //批量修改或删除 - Object arr = robj.get(KEY_ID_IN); //如果必须传 id{} ,可在Request表中配置necessary - if (arr != null && arr instanceof JSONArray == false) { - throw new IllegalArgumentException(method.name() + "请求, " + key - + " 中 " + KEY_ID_IN + " 对应值的类型只能是JSONArray!"); + if (id != null) { + if (id instanceof Number == false) { + throw new IllegalArgumentException(method.name() + "请求, " + key + + " 里面的 " + KEY_ID_IN + ":value 中value的类型只能是Long!"); + } + } else { + //批量修改或删除 + Object arr = robj.get(KEY_ID_IN); //如果必须传 id{} ,可在Request表中配置necessary + if (arr == null) { + throw new IllegalArgumentException(method.name() + "请求, " + key + + " 里面 " + KEY_ID + " 和 " + KEY_ID_IN + " 必须传其中一个!"); + } + if (arr instanceof JSONArray == false) { + throw new IllegalArgumentException(method.name() + "请求, " + key + + " 里面的 " + KEY_ID_IN + ":value 中value的类型只能是 [Long] !"); + } + if (((JSONArray)arr).size() > 10) { //不允许一次操作10条以上记录 + throw new IllegalArgumentException(method.name() + "请求, " + key + + " 里面的 " + KEY_ID_IN + ":[] 中[]的长度不能超过10!"); + } } } } @@ -216,24 +236,26 @@ public static JSONObject parse(String name, JSONObject target, JSONObject real //获取配置<<<<<<<<<<<<<<<<<<<<<<<<<<<< - JSONObject verify = target.getJSONObject(NAME_VERIFY); - JSONObject add = target.getJSONObject(NAME_ADD); - JSONObject put = target.getJSONObject(NAME_PUT); - JSONObject replace = target.getJSONObject(NAME_REPLACE); + JSONObject verify = target.getJSONObject(VERIFY.name()); + JSONObject add = target.getJSONObject(ADD.name()); + JSONObject put = target.getJSONObject(PUT.name()); + JSONObject replace = target.getJSONObject(REPLACE.name()); - String remove = StringUtil.getNoBlankString(target.getString(NAME_REMOVE)); - String necessary = StringUtil.getNoBlankString(target.getString(NAME_NECESSARY)); - String disallow = StringUtil.getNoBlankString(target.getString(NAME_DISALLOW)); + String unique = StringUtil.getNoBlankString(target.getString(UNIQUE.name())); + String remove = StringUtil.getNoBlankString(target.getString(REMOVE.name())); + String necessary = StringUtil.getNoBlankString(target.getString(NECESSARY.name())); + String disallow = StringUtil.getNoBlankString(target.getString(DISALLOW.name())); //不还原,传进来的target不应该是原来的 - target.remove(NAME_VERIFY); - target.remove(NAME_ADD); - target.remove(NAME_PUT); - target.remove(NAME_REPLACE); - - target.remove(NAME_REMOVE); - target.remove(NAME_NECESSARY); - target.remove(NAME_DISALLOW); + target.remove(VERIFY.name()); + target.remove(ADD.name()); + target.remove(PUT.name()); + target.remove(REPLACE.name()); + + target.remove(UNIQUE.name()); + target.remove(REMOVE.name()); + target.remove(NECESSARY.name()); + target.remove(DISALLOW.name()); //获取配置>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -241,7 +263,7 @@ public static JSONObject parse(String name, JSONObject target, JSONObject real //移除字段<<<<<<<<<<<<<<<<<<< - String[] removes = StringUtil.split(StringUtil.getNoBlankString(remove)); + String[] removes = StringUtil.split(remove); if (removes != null && removes.length > 0) { for (String r : removes) { real.remove(r); @@ -342,12 +364,23 @@ public static JSONObject parse(String name, JSONObject target, JSONObject real //校验与修改Request<<<<<<<<<<<<<<<<< //在tableKeySet校验后操作,避免 导致put/add进去的Table 被当成原Request的内容 - real = operate(TYPE_VERIFY, verify, real); - real = operate(TYPE_ADD, add, real); - real = operate(TYPE_PUT, put, real); - real = operate(TYPE_REPLACE, replace, real); + real = operate(VERIFY, verify, real); + real = operate(ADD, add, real); + real = operate(PUT, put, real); + real = operate(REPLACE, replace, real); //校验与修改Request>>>>>>>>>>>>>>>>> + //TODO放在operate前?考虑性能、operate修改后再验证的值是否和原来一样 + //校验重复<<<<<<<<<<<<<<<<<<< + String[] uniques = StringUtil.split(unique); + if (BaseModel.isEmpty(uniques) == false) { + long exceptId = real.getLongValue(KEY_ID); + for (String u : uniques) { + Verifier.verifyRepeat(name, u, real.get(u), exceptId); + } + } + //校验重复>>>>>>>>>>>>>>>>>>> + Log.i(TAG, "parse return real = " + JSON.toJSONString(real)); return real; } @@ -355,13 +388,13 @@ public static JSONObject parse(String name, JSONObject target, JSONObject real /**执行操作 - * @param type + * @param opt * @param targetChild * @param real * @return * @throws Exception */ - private static JSONObject operate(int type, JSONObject targetChild, JSONObject real) throws Exception { + private static JSONObject operate(Operation opt, JSONObject targetChild, JSONObject real) throws Exception { if (targetChild == null) { return real; } @@ -369,17 +402,11 @@ private static JSONObject operate(int type, JSONObject targetChild, JSONObject r throw new IllegalArgumentException("operate real == null!!!"); } - if (type <= TYPE_DEFAULT || type > TYPE_REMOVE) { - return real; - } - Set> set = new LinkedHashSet<>(targetChild.entrySet()); String tk; Object tv; - String rk; - Object rv; - Logic logic; + for (Entry e : set) { tk = e == null ? null : e.getKey(); if (tk == null) { @@ -387,131 +414,145 @@ private static JSONObject operate(int type, JSONObject targetChild, JSONObject r } tv = e.getValue(); - - if (type == TYPE_VERIFY) {//TODO {}, $, <> - if (tv == null) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY >> tv == null!!!"); + if (opt == VERIFY) { + verify(tk, tv, real); + } else if (opt == PUT) { + real.put(tk, tv); + } else { + if (real.containsKey(tk)) { + if (opt == REPLACE) { + real.put(tk, tv); + } + } else { + if (opt == ADD) { + real.put(tk, tv); + } } + } + } - if (tk.endsWith("{}")) {//rv符合tv条件或在tv内 - if (tv instanceof String) {//TODO >= 0, < 10 - sqlVerify("{}", real, tk, tv); - } - else if (tv instanceof JSONArray) { - logic = new Logic(tk.substring(0, tk.length() - 2)); - rk = logic.getKey(); - rv = real.get(rk); - - if (((JSONArray) tv).contains(rv) == logic.isNot()) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY" - + " >> ((JSONArray) tv).contains(rv) == logic.isNot()"); - } - } else { - throw new UnsupportedDataTypeException(""); - } - } else if (tk.endsWith("<>")) {//rv包含tv内的值 - logic = new Logic(tk.substring(0, tk.length() - 2)); - rk = logic.getKey(); - rv = real.get(rk); + return real; + } - if (rv instanceof JSONArray == false) { - throw new UnsupportedDataTypeException("服务器Request表verify配置错误!"); - } - JSONArray array; - if (tv instanceof JSONArray) { - array = (JSONArray) tv; - } else { - array = new JSONArray(); - array.add(tv); - } + /**验证值 + * @param tk + * @param tv + * @param real + * @throws Exception + */ + private static void verify(@NotNull String tk, @NotNull Object tv, @NotNull JSONObject real) throws Exception { + if (tv == null) { + throw new IllegalArgumentException("operate operate == VERIFY " + tk + ":" + tv + " , >> tv == null!!!"); + } - boolean isOr = false; - for (Object o : array) { - if (((JSONArray) rv).contains(o)) { - if (logic.isNot()) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY" - + " >> ((JSONArray) rv).contains(o) >> logic.isNot()"); - } - if (logic.isOr()) { - isOr = true; - break; - } - } else { - if (logic.isAnd()) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY" - + " >> ((JSONArray) rv).contains(o) == false >> logic.isAnd()"); - } - } - } + String rk; + Object rv; + Logic logic; + if (tk.endsWith("$")) { //搜索 + sqlVerify("$", real, tk, tv); + } + else if (tk.endsWith("?")) { //正则表达式 + logic = new Logic(tk.substring(0, tk.length() - 1)); + rk = logic.getKey(); + rv = real.get(rk); + if (rv == null) { + return; + } + + JSONArray array = SQLConfig.newJSONArray(tv); - if (isOr == false && logic.isOr()) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY" - + " >> isOr == false && logic.isOr()"); + boolean m; + boolean isOr = false; + Pattern reg; + for (Object r : array) { + if (r instanceof String == false) { + throw new UnsupportedDataTypeException(rk + ":" + rv + " 中value只支持 String 或 [String] 类型!"); + } + reg = ObjectParser.COMPILE_MAP.get(r); + if (reg == null) { + reg = Pattern.compile((String) r); + } + m = reg.matcher("" + rv).matches(); + if (m) { + if (logic.isNot()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); } - } else if (tk.endsWith("?")) {//正则表达式 - logic = new Logic(tk.substring(0, tk.length() - 1)); - rk = logic.getKey(); - rv = real.get(rk); - - JSONArray array; - if (tv instanceof JSONArray) { - array = (JSONArray) tv; - } else { - array = new JSONArray(); - array.add(tv); + if (logic.isOr()) { + isOr = true; + break; } - - boolean m; - boolean isOr = false; - for (Object r : array) { - if (r instanceof String == false) { - throw new UnsupportedDataTypeException(rk + ":" + rv + "中value只支持 String 或 [String] 类型!"); - } - m = Pattern.compile((String) r).matcher("" + rv).matches(); - if (m) { - if (logic.isNot()) { - throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 !" + array + " !"); - } - if (logic.isOr()) { - isOr = true; - break; - } - } else { - if (logic.isAnd()) { - throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 &" + array + " !"); - } - } + } else { + if (logic.isAnd()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); } + } + } - if (isOr == false && logic.isOr()) { - throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 |" + array + " !"); - } + if (isOr == false && logic.isOr()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); + } + } + else if (tk.endsWith("{}")) { //rv符合tv条件或在tv内 + if (tv instanceof String) {//TODO >= 0, < 10 + sqlVerify("{}", real, tk, tv); + } + else if (tv instanceof JSONArray) { + logic = new Logic(tk.substring(0, tk.length() - 2)); + rk = logic.getKey(); + rv = real.get(rk); + if (rv == null) { + return; + } - } else if (tk.endsWith("$")) {//搜索 - sqlVerify("$", real, tk, tv); - } else { - throw new IllegalArgumentException("服务器Request表verify配置错误!"); + if (((JSONArray) tv).contains(rv) == logic.isNot()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); } - } else if (type == TYPE_PUT) { - real.put(tk, tv); - } else { - if (real.containsKey(tk)) { - if (type == TYPE_REPLACE) { - real.put(tk, tv); + } + else { + throw new UnsupportedDataTypeException("服务器Request表verify配置错误!"); + } + } + else if (tk.endsWith("<>")) { //rv包含tv内的值 + logic = new Logic(tk.substring(0, tk.length() - 2)); + rk = logic.getKey(); + rv = real.get(rk); + if (rv == null) { + return; + } + + if (rv instanceof JSONArray == false) { + throw new UnsupportedDataTypeException("服务器Request表verify配置错误!"); + } + + JSONArray array = SQLConfig.newJSONArray(tv); + + boolean isOr = false; + for (Object o : array) { + if (((JSONArray) rv).contains(o)) { + if (logic.isNot()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); + } + if (logic.isOr()) { + isOr = true; + break; } } else { - if (type == TYPE_ADD) { - real.put(tk, tv); + if (logic.isAnd()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); } } } - } - return real; + if (isOr == false && logic.isOr()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); + } + } + else { + throw new IllegalArgumentException("服务器Request表verify配置错误!"); + } } - /**通过数据库执行SQL语句来验证条件 * @param funChar * @param real @@ -524,13 +565,8 @@ private static void sqlVerify(@NotNull String funChar, JSONObject real, String t Logic logic = new Logic(tk.substring(0, tk.length() - funChar.length())); String rk = logic.getKey(); Object rv = real.get(rk); - - JSONArray array; - if (tv instanceof JSONArray) { - array = (JSONArray) tv; - } else { - array = new JSONArray(); - array.add(tv); + if (rv == null) { + return; } SQLConfig config = new SQLConfig(RequestMethod.HEAD, 1, 0); @@ -548,69 +584,9 @@ private static void sqlVerify(@NotNull String funChar, JSONObject real, String t executor.close(); } if (result != null && JSONResponse.isExist(result.getIntValue(JSONResponse.KEY_COUNT)) == false) { - throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 " + logic.getChar() + array + " !"); + throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 " + logic.getChar() + tv + " !"); } } - - // /** - // * @param real - // * @param tk - // * @param tv - // * @param tableKeySet - // */ - // private static void putTargetChild(JSONObject real, String tk, Object tv, Set tableKeySet) { - // real.put(tk, tv); - // zuo.biao.apijson.server.Entry pair = Pair.parseEntry(tk, true); - // if (pair != null && zuo.biao.apijson.JSONObject.isTableKey(pair.getKey())) { - // tableKeySet.add(tk); - // } - // } - - - public static final int TYPE_DEFAULT = 0; - public static final int TYPE_VERIFY = 1; - public static final int TYPE_ADD = 2; - public static final int TYPE_PUT = 3; - public static final int TYPE_REPLACE = 4; - public static final int TYPE_REMOVE = 5; - - public static final String NAME_VERIFY = "verify"; - - public static final String NAME_ADD = "add"; - public static final String NAME_PUT = "put"; - public static final String NAME_REPLACE = "replace"; - public static final String NAME_REMOVE = "remove"; - - public static final String NAME_DISALLOW = "disallow"; - public static final String NAME_NECESSARY = "necessary"; - - /** - * @param key - * @return - */ - public static int getOperate(String key) { - if (key != null) { - if (NAME_VERIFY.equals(key)) { - return TYPE_VERIFY; - } - if (NAME_ADD.equals(key)) { - return TYPE_ADD; - } - if (NAME_PUT.equals(key)) { - return TYPE_PUT; - } - if (NAME_REPLACE.equals(key)) { - return TYPE_REPLACE; - } - if (NAME_REMOVE.equals(key)) { - return TYPE_REMOVE; - } - } - - return TYPE_DEFAULT; - } - - } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index 5f9fbdcf1..df39430ab 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -25,6 +25,8 @@ import static zuo.biao.apijson.JSONRequest.KEY_COUNT; import static zuo.biao.apijson.JSONRequest.KEY_PAGE; import static zuo.biao.apijson.JSONRequest.KEY_QUERY; +import static zuo.biao.apijson.JSONRequest.KEY_ID; +import static zuo.biao.apijson.JSONRequest.KEY_ID_IN; import static zuo.biao.apijson.RequestMethod.DELETE; import static zuo.biao.apijson.RequestMethod.GET; import static zuo.biao.apijson.RequestMethod.POST; @@ -42,6 +44,8 @@ import java.util.Map; import java.util.Set; +import javax.validation.constraints.NotNull; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -50,6 +54,7 @@ import apijson.demo.server.model.BaseModel; import apijson.demo.server.model.Privacy; import apijson.demo.server.model.User; +import zuo.biao.apijson.JSONRequest; import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; @@ -57,7 +62,6 @@ import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.model.Column; import zuo.biao.apijson.model.Table; -import zuo.biao.apijson.server.JSONRequest; import zuo.biao.apijson.server.Logic; import zuo.biao.apijson.server.Pair; import zuo.biao.apijson.server.exception.NotExistException; @@ -77,12 +81,9 @@ public class SQLConfig { public static final String SCHEMA_INFORMATION = "`information_schema`"; public static final String TABLE_SCHEMA = "`table_schema`"; public static final String TABLE_NAME = "`table_name`"; - - - - - public static final String ID = JSONRequest.KEY_ID; - public static final String ID_IN = JSONRequest.KEY_ID_IN; + + + public static final List ARRAY_KEY_LIST; static { @@ -121,6 +122,9 @@ public class SQLConfig { private long id; //Table的id private RequestMethod method; //操作方法 + /** + * TODO 被关联的表通过就忽略关联的表?(这个不行 User:{"sex@":"/Comment/toId"}) + */ private RequestRole role; //发送请求的用户的角色 private String schema; //Table所在的数据库 private String table; //Table名 @@ -336,12 +340,12 @@ public String getValues() { public String getValuesString() { return values; } - public SQLConfig setValues(String[][] values) { + public SQLConfig setValues(String[][] valuess) { String s = ""; - if (values != null && values.length > 0) { - String[] items = new String[values.length]; - for (int i = 0; i < values.length; i++) { - items[i] = "(" + StringUtil.getString(values[i]) + ")"; + if (BaseModel.isEmpty(valuess) == false) { + String[] items = new String[valuess.length]; + for (int i = 0; i < valuess.length; i++) { + items[i] = "(" + StringUtil.getString(valuess[i]) + ")"; } s = StringUtil.getString(items); } @@ -478,7 +482,7 @@ public Object getWhere(String key, boolean exactMatch) { int index; for (String k : set) { index = k.indexOf(key); - if (index > 0 && StringUtil.isName(k.substring(index)) == false) { + if (index >= 0 && StringUtil.isName(k.substring(index)) == false) { return where.get(k); } } @@ -490,7 +494,7 @@ public Object getWhere(String key, boolean exactMatch) { public SQLConfig addWhere(String key, Object value) { if (key != null) { if (where == null) { - where = new HashMap(); + where = new LinkedHashMap(); } where.put(key, value); } @@ -513,73 +517,89 @@ public String getWhereString() throws Exception { */ public static String getWhereString(RequestMethod method, Map where, boolean verifyName) throws Exception { Set set = where == null ? null : where.keySet(); - if (set != null && set.size() > 0) { + if (BaseModel.isEmpty(set)) { + return ""; + } + String whereString = ""; + boolean isFirst = true; - String whereString = ""; - boolean isFirst = true; - int keyType = 0;// 0 - =; 1 - $, 2 - {} - Object value; - for (String key : set) { - Log.d(TAG, "getWhereString key = " + key); - //避免筛选到全部 value = key == null ? null : where.get(key); - if (key == null || key.startsWith("@") || key.endsWith("()")) {//关键字||方法, +或-直接报错 - Log.d(TAG, "getWhereString key == null || key.startsWith(@) || key.endsWith(()) >> continue;"); - continue; - } - if (key.endsWith("@")) {//引用 - key = key.substring(0, key.lastIndexOf("@")); - // throw new IllegalArgumentException(TAG + ".getWhereString: 字符 " + key + " 不合法!"); - } - if (key.endsWith("$")) { - keyType = 1; - } - else if (key.endsWith("?")) { - keyType = 2; - } - else if (key.endsWith("{}")) { - keyType = 3; - } - else if (key.endsWith("<>")) { - keyType = 4; - } - value = where.get(key); - key = getRealKey(method, key, false, true, verifyName); + String condition; + for (String key : set) { + condition = getWhereItem(key, where.get(key), method, verifyName); - String condition = ""; - switch (keyType) { - case 1: - condition = getSearchString(key, value); - break; - case 2: - condition = getRegExpString(key, value); - break; - case 3: - condition = getRangeString(key, value); - break; - case 4: - condition = getContainString(key, value); - break; - default: - condition = (key + "='" + value + "'"); - break; - } - if (StringUtil.isEmpty(condition, true)) {//避免SQL条件连接错误 - continue; - } + if (StringUtil.isEmpty(condition, true)) {//避免SQL条件连接错误 + continue; + } - whereString += (isFirst ? "" : AND) + condition; + whereString += (isFirst ? "" : AND) + condition; - isFirst = false; - } + isFirst = false; + } - if (whereString.isEmpty() == false) { - return " WHERE " + whereString; - } + String s = whereString.isEmpty() ? "" : " WHERE " + whereString; + + if (s.isEmpty() && RequestMethod.isQueryMethod(method) == false) { + throw new UnsupportedOperationException("写操作请求必须带条件!!!"); } + + return s; + } - return ""; + /** + * @param key + * @param value + * @param method + * @param verifyName + * @return + * @throws Exception + */ + private static String getWhereItem(String key, Object value + , RequestMethod method, boolean verifyName) throws Exception { + Log.d(TAG, "getWhereItem key = " + key); + //避免筛选到全部 value = key == null ? null : where.get(key); + if (key == null || value == null || key.startsWith("@") || key.endsWith("()")) {//关键字||方法, +或-直接报错 + Log.d(TAG, "getWhereItem key == null || value == null" + + " || key.startsWith(@) || key.endsWith(()) >> continue;"); + return null; + } + if (key.endsWith("@")) {//引用 + // key = key.substring(0, key.lastIndexOf("@")); + throw new IllegalArgumentException(TAG + ".getWhereItem: 字符 " + key + " 不合法!"); + } + + int keyType; + if (key.endsWith("$")) { + keyType = 1; + } + else if (key.endsWith("?")) { + keyType = 2; + } + else if (key.endsWith("{}")) { + keyType = 3; + } + else if (key.endsWith("<>")) { + keyType = 4; + } + else { //else绝对不能省,避免再次踩坑! keyType = 0; 写在for循环外面都没注意! + keyType = 0; + } + key = getRealKey(method, key, false, true, verifyName); + + switch (keyType) { + case 1: + return getSearchString(key, value); + case 2: + return getRegExpString(key, value); + case 3: + return getRangeString(key, value); + case 4: + return getContainString(key, value); + default: + return (key + "='" + value + "'"); + } } + //$ search <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /**search key match value * @param in @@ -595,15 +615,11 @@ public static String getSearchString(String key, Object value) throws IllegalArg key = logic.getKey(); Log.i(TAG, "getRangeString key = " + key); - if (value instanceof JSONArray == false) {//TODO 直接掉Like性能最好! - JSONArray array = new JSONArray(); - array.add(value); - value = array; - } - if (((JSONArray) value).isEmpty()) { + JSONArray arr = newJSONArray(value); + if (arr.isEmpty()) { return ""; } - return getSearchString(key, ((JSONArray) value).toArray(), logic.getType()); + return getSearchString(key, arr.toArray(), logic.getType()); } /**search key match values * @param in @@ -653,15 +669,11 @@ public static String getRegExpString(String key, Object value) throws IllegalArg key = logic.getKey(); Log.i(TAG, "getRangeString key = " + key); - if (value instanceof JSONArray == false) { - JSONArray array = new JSONArray(); - array.add(value); - value = array; - } - if (((JSONArray) value).isEmpty()) { + JSONArray arr = newJSONArray(value); + if (arr.isEmpty()) { return ""; } - return getRegExpString(key, ((JSONArray) value).toArray(), logic.getType()); + return getRegExpString(key, arr.toArray(), logic.getType()); } /**search key match RegExp values * @param in @@ -714,9 +726,9 @@ public static String getRangeString(String key, Object range) throws Exception { key = logic.getKey(); Log.i(TAG, "getRangeString key = " + key); - if (range instanceof JSONArray) { + if (range instanceof List) { if (logic.isOr() || logic.isNot()) { - return key + getInString(key, ((JSONArray) range).toArray(), logic.isNot()); + return key + getInString(key, ((List) range).toArray(), logic.isNot()); } throw new IllegalArgumentException(key + "{}\":[] 中key末尾的逻辑运算符只能用'|','!'中的一种 !"); } @@ -779,12 +791,8 @@ public static String getContainString(String key, Object value) throws NotExistE key = logic.getKey(); Log.i(TAG, "getRangeString key = " + key); - if (value instanceof JSONArray == false) {//TODO 直接调Like性能最好! - JSONArray array = new JSONArray(); - array.add(value); - value = array; - } - return getContainString(key, ((JSONArray) value).toArray(), logic.getType()); + //TODO 直接调Like性能最好! + return getContainString(key, newJSONArray(value).toArray(), logic.getType()); } /**WHERE key contains childs * @param key @@ -830,9 +838,24 @@ public static String getContainString(String key, Object[] childs, int type) thr //<> contain >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - //WHERE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - + /**转为JSONArray + * @param tv + * @return + */ + @NotNull + public static JSONArray newJSONArray(Object obj) { + JSONArray array = new JSONArray(); + if (obj != null) { + if (obj instanceof Collection) { + array.addAll((Collection) obj); + } else { + array.add(obj); + } + } + return array; + } + //WHERE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //SET <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -859,7 +882,7 @@ public static String getSetString(RequestMethod method, Map cont Object value; for (String key : set) { //避免筛选到全部 value = key == null ? null : content.get(key); - if (key == null || ID.equals(key)) { + if (key == null || KEY_ID.equals(key)) { continue; } @@ -995,7 +1018,8 @@ private static String getConditionString(String column, String table, SQLConfig // //order: id+ -> id >= idOfStartIndex; id- -> id <= idOfStartIndex >>>>>>>>>>>>>>>>>> // // - // //结果错误!SELECT * FROM sys.User AS t0 INNER JOIN (SELECT id FROM sys.User ORDER BY date ASC LIMIT 20, 10) AS t1 ON t0.id = t1.id + // //结果错误!SELECT * FROM linking_member.mes_member_user_test AS t0 INNER JOIN + // (SELECT id FROM linking_member.mes_member_user_test ORDER BY date ASC LIMIT 20, 10) AS t1 ON t0.id = t1.id // //common case, inner join // condition += config.getLimitString(); // return table + " AS t0 INNER JOIN (SELECT id FROM " + condition + ") AS t1 ON t0.id = t1.id"; @@ -1005,125 +1029,201 @@ private static String getConditionString(String column, String table, SQLConfig * @param table * @param request * @return + * @throws Exception */ - public static synchronized SQLConfig newQueryConfig(RequestMethod method, String table, JSONObject request) { + public static SQLConfig newSQLConfig(RequestMethod method, String table, JSONObject request) throws Exception { + if (request == null) { // User:{} 这种空内容在查询时也有效 + throw new NullPointerException(TAG + ": newSQLConfig request == null!"); + } SQLConfig config = new SQLConfig(method, table); - if (method == POST && request != null && request.get(ID) == null) { - request.put(ID, System.currentTimeMillis()); + boolean isEmpty = request.isEmpty(); + if (isEmpty) { // User:{} 这种空内容在查询时也有效 + return config; //request.remove(key); 前都可以直接return,之后必须保证 put 回去 } - if (request != null && request.isEmpty() == false) { - String role = request.getString(KEY_ROLE); - String schema = request.getString(KEY_SCHEMA); - boolean about = request.getBooleanValue(KEY_ABOUT); - String condition = request.getString(KEY_CONDITION); - String column = StringUtil.getString(request.getString(KEY_COLUMN)); - String group = request.getString(KEY_GROUP); - String having = request.getString(KEY_HAVING); - String order = request.getString(KEY_ORDER); - - request.remove(KEY_ROLE); - request.remove(KEY_SCHEMA); - request.remove(KEY_ABOUT); - request.remove(KEY_CONDITION); - request.remove(KEY_COLUMN); - request.remove(KEY_GROUP); - request.remove(KEY_HAVING); - request.remove(KEY_ORDER); - - - Map tableWhere = new LinkedHashMap();//保证顺序好优化 WHERE id > 1 AND name LIKE... - if (about) { - if (RequestMethod.isQueryMethod(method) == false) { - throw new UnsupportedOperationException(config.getTable() + " 被" + KEY_ABOUT + "标注,只能进行 GET,HEAD 等查询操作!"); + Object idIn = request.get(KEY_ID_IN); //可能是 id{}:">0" + + if (method == POST) { + if (idIn != null) { //不能在这里确定[]的长度,只能在外面传进来 + if ((idIn instanceof List == false) || ((List)idIn).isEmpty()) { // id{}:[] 表示同时插入多条记录 + throw new IllegalArgumentException("POST请求,生成多条记录请用 id{}:[] ! [] 类型为JSONArray且不能为空!"); } + } else if (request.get(KEY_ID) == null) { + request.put(KEY_ID, System.currentTimeMillis()); + } + } - tableWhere.put(TABLE_SCHEMA, SQLConfig.getSchema(schema)); - tableWhere.put(TABLE_NAME, config.getSQLTable()); - config.setTable(Column.class.getSimpleName()); + //对id和id{}处理,这两个一定会作为条件 + Long id = request.getLong(KEY_ID); + if (id != null) { //null无效 + if (id <= 0) { //一定没有值 + throw new NotExistException(TAG + ": newSQLConfig " + table + ".id <= 0"); + } - schema = SCHEMA_INFORMATION; - column += ( - (column.isEmpty() ? "" : column + ",") - + (RequestMethod.isHeadMethod(method, true) ? - SQL.count(column) : "column_name,column_type,is_nullable,column_default,column_comment") - ); + if (idIn != null && idIn instanceof List) { //共用idArr场景少性能差 + if (idIn != null && ((List) idIn).contains(id) == false) {//empty有效 BaseModel.isEmpty(idArr) == false) { + Log.w(TAG, "newSQLConfig id > 0 >> idInObj != null && idInObj.contains(id) == false >> return null;"); + throw new NotExistException(TAG + ": newSQLConfig idIn != null && ((JSONArray) idIn).contains(id) == false"); + } } + } - Set set = request == null ? null : request.keySet(); - if (set != null && set.isEmpty() == false) { - if (method == POST) { - column = StringUtil.getString(set.toArray(new String[]{})); - - String valuesString = ""; - Collection valueCollection = request.values(); - Object[] values = valueCollection == null || valueCollection.isEmpty() ? null : valueCollection.toArray(); - if (values != null) { - for (int i = 0; i < values.length; i++) { - valuesString += ((i > 0 ? "," : "") + "'" + values[i] + "'"); - } - } - config.setValues("(" + valuesString + ")"); - } else { - //条件<<<<<<<<<<<<<<<<<<< - List conditionList = null; - if (method == PUT || method == DELETE) { - String[] conditions = StringUtil.split(condition); - //Arrays.asList()返回值不支持add方法! - conditionList = new ArrayList(Arrays.asList(conditions != null ? conditions : new String[]{})); - conditionList.add(ID); - conditionList.add(ID_IN); + + String role = request.getString(KEY_ROLE); + String schema = request.getString(KEY_SCHEMA); + boolean about = request.getBooleanValue(KEY_ABOUT); + String condition = request.getString(KEY_CONDITION); + String column = request.getString(KEY_COLUMN); + String group = request.getString(KEY_GROUP); + String having = request.getString(KEY_HAVING); + String order = request.getString(KEY_ORDER); + + //强制作为条件且放在最前面优化性能 + request.remove(KEY_ID); + request.remove(KEY_ID_IN); + //关键词 + request.remove(KEY_ROLE); + request.remove(KEY_SCHEMA); + request.remove(KEY_ABOUT); + request.remove(KEY_CONDITION); + request.remove(KEY_COLUMN); + request.remove(KEY_GROUP); + request.remove(KEY_HAVING); + request.remove(KEY_ORDER); + + + Map tableWhere = new LinkedHashMap();//保证顺序好优化 WHERE id > 1 AND name LIKE... + if (about) { //查询字段属性 + if (RequestMethod.isQueryMethod(method) == false) { + throw new UnsupportedOperationException(config.getTable() + + " 被 " + KEY_ABOUT + " 标注,只能进行 GET,HEAD 等查询操作!"); + } + + tableWhere.put(TABLE_SCHEMA, SQLConfig.getSchema(schema)); + tableWhere.put(TABLE_NAME, config.getSQLTable()); + config.setTable(Column.TAG); + + schema = SCHEMA_INFORMATION; + + column = StringUtil.getString(column); + if (column.isEmpty() && RequestMethod.isHeadMethod(method, true) == false) { + column = "column_name,column_type,is_nullable,column_default,column_comment"; + } + } + + + //已经remove了id和id{},以及@key + Set set = request.keySet(); //前面已经判断request是否为空 + if (method == POST) {//POST操作 + if (BaseModel.isEmpty(set) == false) { //不能直接return,要走完下面的流程 + List idList; + if (id != null) { //单条记录 + if (idIn != null) { + throw new IllegalArgumentException("POST请求中 id 和 id{} 不能同时存在!"); } - //条件>>>>>>>>>>>>>>>>>>> - - final boolean isWhere = method != PUT;//除了POST,PUT,其它全是条件!!! - - Map tableContent = new HashMap(); - Object value; - for (String key : set) { - value = request.get(key); - if (value instanceof JSONObject == false) {//只允许常规Object - //解决AccessVerifier新增userId没有作为条件,而是作为内容,导致PUT,DELETE出错 - if (isWhere || BaseModel.isContain(conditionList, key)) { - tableWhere.put(key, value); - } else { - tableContent.put(key, value);//一样 instanceof JSONArray ? JSON.toJSONString(value) : value); - } - } + + idList = new ArrayList(1); + idList.add(id); + } else { //多条记录 + idList = new ArrayList((JSONArray) idIn); + } + + //idIn不为空时,valuesString有多条,唯一的区别就是id + String[] columns = set.toArray(new String[]{}); + + Collection valueCollection = request.values(); + Object[] values = valueCollection == null ? null : valueCollection.toArray(); + + if (values == null || values.length != columns.length) { + throw new Exception("服务器内部错误:\n" + TAG + + " newSQLConfig values == null || values.length != columns.length !"); + } + column = KEY_ID + "," + StringUtil.getString(columns); //set已经判断过不为空 + final int size = columns.length + 1; //以key数量为准 + + String[][] valuess = new String[idList.size()][]; // [idList.size()][] + String[] items; //(item0, item1, ...) + for (int i = 0; i < idList.size(); i++) { + items = new String[size]; + items[0] = "'" + idList.get(i) + "'"; //第0个就是id。所有的值都加 '' 避免SQL注入风险 + for (int j = 1; j < size; j++) { + items[j] = "'" + values[j-1] + "'"; //从第1个开始,允许"null" } + valuess[i] = items; + } + config.setValues(valuess); + } + } + else { //非POST操作 + final boolean isWhere = method != PUT;//除了POST,PUT,其它全是条件!!! + + //条件<<<<<<<<<<<<<<<<<<< + List conditionList = null; + if (isWhere == false) { //减少不必要的步骤 + if (method == PUT || method == DELETE) { + String[] conditions = StringUtil.split(condition); + //Arrays.asList()返回值不支持add方法! + conditionList = BaseModel.isEmpty(conditions) ? null : Arrays.asList(conditions); + } + } + //条件>>>>>>>>>>>>>>>>>>> - config.setContent(tableContent); + //强制作为条件且放在最前面优化性能 + if (id != null) { + tableWhere.put(KEY_ID, id); + } + if (idIn != null) { + tableWhere.put(KEY_ID_IN, idIn); + } + + Map tableContent = new HashMap(); + Object value; + for (String key : set) { + value = request.get(key); + if (value instanceof JSONObject == false) {//只允许常规Object + //解决AccessVerifier新增userId没有作为条件,而是作为内容,导致PUT,DELETE出错 + if (isWhere || BaseModel.isContain(conditionList, key)) { + tableWhere.put(key, value); + } else { + tableContent.put(key, value);//一样 instanceof JSONArray ? JSON.toJSONString(value) : value); + } } } - config.setWhere(tableWhere); - - config.setRole(role); - //TODO condition组合,优先 | config.setCondition(condition); - config.setSchema(schema); - config.setAbout(about); - config.setColumn(column); - config.setGroup(group); - config.setHaving(having); - config.setOrder(order); - - //后面还可能用到,要还原 - request.put(KEY_ROLE, role); - request.put(KEY_SCHEMA, schema); - request.put(KEY_ABOUT, about); - request.put(KEY_CONDITION, condition); - request.put(KEY_COLUMN, column); - request.put(KEY_GROUP, group); - request.put(KEY_HAVING, having); - request.put(KEY_ORDER, order); + config.setContent(tableContent); } - try { - config.setId(request.getLongValue(ID)); - } catch (Exception e) { - // empty - } + + config.setWhere(tableWhere); + + config.setId(BaseModel.value(id)); + //在 tableWhere 第0个 config.setIdIn(idIn); + + config.setRole(role); + //TODO condition组合,优先 | config.setCondition(condition); + config.setSchema(schema); + config.setAbout(about); + config.setColumn(column); + config.setGroup(group); + config.setHaving(having); + config.setOrder(order); + + //后面还可能用到,要还原 + //id或id{}条件 + request.put(KEY_ID, id); + request.put(KEY_ID_IN, idIn); + //关键词 + request.put(KEY_ROLE, role); + request.put(KEY_SCHEMA, schema); + request.put(KEY_ABOUT, about); + request.put(KEY_CONDITION, condition); + request.put(KEY_COLUMN, column); + request.put(KEY_GROUP, group); + request.put(KEY_HAVING, having); + request.put(KEY_ORDER, order); + + return config; } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index 4785397e5..722a6be9e 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -185,9 +185,15 @@ public JSONObject execute(SQLConfig config) throws Exception { case DELETE: long updateCount = statement.executeUpdate(sql); - result = Parser.newResult(updateCount > 0 ? 200 : 404 - , updateCount > 0 ? "success" : "可能对象不存在!"); - result.put(JSONResponse.KEY_ID, config.getId());//id一定有,一定会返回,不用抛异常来阻止关联写时前面错误导致后面无条件执行! + result = Parser.newResult(updateCount > 0 ? JSONResponse.CODE_SUCCEED : JSONResponse.CODE_NOT_FOUND + , updateCount > 0 ? JSONResponse.MSG_SUCCEED : "可能对象不存在!"); + + //id或id{}一定有,一定会返回,不用抛异常来阻止关联写操作时前面错误导致后面无条件执行! + if (config.getId() > 0) { + result.put(JSONResponse.KEY_ID, config.getId()); + } else { + result.put(JSONResponse.KEY_ID_IN, config.getWhere(JSONResponse.KEY_ID_IN, true)); + } result.put(JSONResponse.KEY_COUNT, updateCount);//返回修改的记录数 return result; @@ -249,7 +255,7 @@ public JSONObject execute(SQLConfig config) throws Exception { Log.i(TAG, "select while (rs.next()){ ..." + " >> value == null >> continue;"); continue; } - + // Log.i(TAG, "select while (rs.next()) { >> for (int i = 0; i < columnArray.length; i++) {" // + "\n >>> columnArray[i]) = " + columnArray[i] + "; value = " + value); if (value instanceof Timestamp) { @@ -267,7 +273,7 @@ else if (value instanceof String) { // + ">> } catch (Exception e) {\n" + e.getMessage()); } } - + result.put(columnArray[i], value); } @@ -301,7 +307,7 @@ private String[] getColumnArray(SQLConfig config) throws SQLException { if (StringUtil.isNotEmpty(column, true)) { return StringUtil.split(column);//column.contains(",") ? column.split(",") : new String[]{column}; } - + List list = new ArrayList(); String table = config.getSQLTable(); ResultSet rs = metaData.getColumns(config.getSchema(), null, table, "%"); @@ -310,7 +316,7 @@ private String[] getColumnArray(SQLConfig config) throws SQLException { list.add(rs.getString(4)); } rs.close(); - + return list.toArray(new String[]{}); } From 58f83158ddab3b0d6a887f7d04e4e0db14c03e81 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 13 Aug 2017 23:57:10 +0800 Subject: [PATCH 134/219] =?UTF-8?q?Server:=E4=BC=98=E5=8C=96=E6=89=80?= =?UTF-8?q?=E6=9C=89=E7=8B=AC=E7=AB=8B=E6=8E=A5=E5=8F=A3=EF=BC=9B=E4=B8=8E?= =?UTF-8?q?Client=E5=90=8C=E6=AD=A5=E5=85=AC=E5=85=B1=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=EF=BC=9BClient:=E4=B8=8EServer=E5=90=8C=E6=AD=A5=E5=85=AC?= =?UTF-8?q?=E5=85=B1=E4=BB=A3=E7=A0=81=EF=BC=9B=E9=80=82=E9=85=8D=E6=96=B0?= =?UTF-8?q?=E7=89=88Server=EF=BC=8C=E5=88=A0=E9=99=A4Wallet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity_fragment/MineFragment.java | 3 +- .../NumberPasswordActivity.java | 4 +- .../activity_fragment/WalletActivity.java | 1 - .../src/apijson/demo/client/model/Wallet.java | 41 -- .../apijson/demo/client/util/HttpRequest.java | 89 +++-- .../apijson/demo/server/model/BaseModel.java | 49 +++ .../apijson/demo/server/model/Password.java | 94 ----- .../apijson/demo/server/model/Privacy.java | 19 +- .../src/apijson/demo/server/model/Verify.java | 2 +- .../src/apijson/demo/server/model/Wallet.java | 101 ----- .../java/apijson/demo/server/Controller.java | 346 ++++++++++------ .../src/main/java/zuo/biao/apijson/JSON.java | 47 ++- .../java/zuo/biao/apijson/JSONObject.java | 378 +++++++----------- .../java/zuo/biao/apijson/JSONRequest.java | 147 ++----- .../java/zuo/biao/apijson/JSONResponse.java | 224 +++-------- .../zuo/biao/apijson/server/JSONRequest.java | 93 ++--- .../java/zuo/biao/apijson/server/Parser.java | 4 +- .../biao/apijson/server/sql/SQLExecutor.java | 2 +- 18 files changed, 624 insertions(+), 1020 deletions(-) delete mode 100644 APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/model/Wallet.java delete mode 100644 APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Password.java delete mode 100644 APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Wallet.java diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MineFragment.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MineFragment.java index 8a6bdcea7..ab7849bf9 100755 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MineFragment.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MineFragment.java @@ -43,7 +43,6 @@ import apijson.demo.client.application.APIJSONApplication; import apijson.demo.client.base.BaseFragment; import apijson.demo.client.interfaces.TopBarMenuCallback; -import apijson.demo.client.model.Login; import apijson.demo.client.model.User; import apijson.demo.client.util.HttpRequest; @@ -320,7 +319,7 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { } switch (requestCode) { case HTTP_LOUOUT: - JSONResponse response = new JSONResponse(resultJson).getJSONResponse(Login.class.getSimpleName()); + JSONResponse response = new JSONResponse(resultJson).getJSONResponse(User.class.getSimpleName()); boolean succeed = JSONResponse.isSuccess(response); Log.d(TAG, succeed ? "服务端退出成功" : "服务端退出失败"); showShortToast(succeed ? "服务端退出成功" : "服务端退出失败"); diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/NumberPasswordActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/NumberPasswordActivity.java index 04c87475b..80af3e746 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/NumberPasswordActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/NumberPasswordActivity.java @@ -33,7 +33,7 @@ import android.widget.TextView; import apijson.demo.client.R; import apijson.demo.client.util.HttpRequest; -import apijson.demo.server.model.Password; +import apijson.demo.server.model.Privacy; /**支付密码设置界面activity * @author Lemon @@ -371,7 +371,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { if (data != null) { password = data.getStringExtra(NumberPasswordActivity.RESULT_PASSWORD); if (StringUtil.isNotEmpty(password, true)) { - HttpRequest.setPassword(Password.TYPE_PAY, password, phone, verify + HttpRequest.setPassword(Privacy.PASSWORD_TYPE_PAY, password, phone, verify , HTTP_SET_PASSWORD, this); } } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/WalletActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/WalletActivity.java index 682351e86..312d1987c 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/WalletActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/WalletActivity.java @@ -29,7 +29,6 @@ import android.view.View.OnClickListener; import android.widget.TextView; import apijson.demo.client.R; -import apijson.demo.client.model.Wallet; import apijson.demo.client.util.HttpRequest; import apijson.demo.server.model.Privacy; diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/model/Wallet.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/model/Wallet.java deleted file mode 100644 index f94aadd22..000000000 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/model/Wallet.java +++ /dev/null @@ -1,41 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.client.model; - - -/**钱包类 - * @author Lemon - */ -public class Wallet extends apijson.demo.server.model.Wallet { - private static final long serialVersionUID = 4298571449155754300L; - - - public Wallet() { - super(); - } - public Wallet(long id) { - super(id); - } - - @Override - public Long getId() { - Long value = super.getId(); - return value == null ? 0 : value; - } - public Long getUserId() { - return getId(); - } - -} diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java index 3f9380045..71a37d7ae 100755 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java @@ -20,6 +20,7 @@ import zuo.biao.apijson.JSONObject; import zuo.biao.apijson.JSONRequest; import zuo.biao.apijson.JSONResponse; +import zuo.biao.apijson.RequestRole; import zuo.biao.library.manager.HttpManager.OnHttpResponseListener; import zuo.biao.library.util.Log; import zuo.biao.library.util.SettingUtil; @@ -30,11 +31,9 @@ import apijson.demo.server.model.Comment; import apijson.demo.server.model.Login; import apijson.demo.server.model.Moment; -import apijson.demo.server.model.Password; import apijson.demo.server.model.Privacy; import apijson.demo.server.model.User; import apijson.demo.server.model.Verify; -import apijson.demo.server.model.Wallet; /**HTTP请求工具类 * @author Lemon @@ -132,19 +131,17 @@ public static void delete(JSONObject request, int requestCode, OnHttpResponseLis - //加 _ 表示class名,避免PASSWORD不知道是 Password 还是 password 这种冲突 + //加 _ 表示class名,避免VERIFY不知道是 Verify 还是 verify 这种冲突 public static final String USER_; public static final String PRIVACY_; public static final String MOMENT_; public static final String COMMENT_; - public static final String WALLET_; public static final String VERIFY_; static { USER_ = User.class.getSimpleName(); PRIVACY_ = Privacy.class.getSimpleName(); MOMENT_ = Moment.class.getSimpleName(); COMMENT_ = Comment.class.getSimpleName(); - WALLET_ = Wallet.class.getSimpleName(); VERIFY_ = Verify.class.getSimpleName(); } @@ -157,7 +154,6 @@ public static void delete(JSONObject request, int requestCode, OnHttpResponseLis public static final String ID = "id"; public static final String USER_ID = "userId"; - public static final String CURRENT_USER_ID = "currentUserId"; public static final String NAME = "name"; public static final String PHONE = "phone"; @@ -209,30 +205,12 @@ public static void delete(JSONObject request, int requestCode, OnHttpResponseLis */ public static void register(String verify, String phone, String password, String name, int sex , int requestCode, OnHttpResponseListener listener) { - JSONObject request = new JSONRequest(new User().setName(name).setSex(sex)) - .setTag(USER_); - request.put(VERIFY, verify); - request.put(PHONE, phone); - request.put(PASSWORD, password); + JSONObject request = new JSONRequest(new Privacy(phone, password)); + request.puts(new User().setName(name).setSex(sex)); + request.puts(VERIFY, verify); HttpManager.getInstance().post(URL_BASE + "register", request, requestCode, listener); } - /**重置密码 - * @param verify - * @param phone - * @param password - * @param requestCode - * @param listener - */ - public static void setPassword(String verify, String phone, String password - , int requestCode, OnHttpResponseListener listener) { - JSONRequest request = new JSONRequest(); - request.put(PHONE, phone); - request.put(VERIFY, verify); - request.put(PASSWORD, password); - HttpManager.getInstance().post(URL_BASE + "put/password" - , request.setTag(PASSWORD), requestCode, listener); - } /** * @param phone * @param requestCode @@ -253,22 +231,14 @@ public static void login(String phone, String password, int type, int requestCod request.put(TYPE, type); request.put(PHONE, phone); request.put(PASSWORD, password); - HttpManager.getInstance().post( - URL_BASE + "login/" - , request.setTag(Login.class.getSimpleName()) - , requestCode, listener - ); + HttpManager.getInstance().post(URL_BASE + "login/", request, requestCode, listener); } /**退出登录 * @param requestCode * @param listener */ public static void logout(int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().post( - URL_BASE + "logout/" - , new JSONRequest().setTag(Login.class.getSimpleName()) - , requestCode, listener - ); + HttpManager.getInstance().post(URL_BASE + "logout/", new JSONRequest(), requestCode, listener); //不能在传到服务器之前销毁session new Handler().postDelayed(new Runnable() { @@ -279,6 +249,38 @@ public void run() { }, 500); } + /**重置登录密码 + * @param verify + * @param phone + * @param password + * @param requestCode + * @param listener + */ + public static void setPassword(String verify, String phone, String password + , int requestCode, OnHttpResponseListener listener) { + setPassword(verify, phone, password, Privacy.PASSWORD_TYPE_LOGIN, requestCode, listener); + } + /**重置密码 + * @param verify + * @param phone + * @param password + * @param type + * @param requestCode + * @param listener + */ + public static void setPassword(String verify, String phone, String password, int type + , int requestCode, OnHttpResponseListener listener) { + JSONRequest request = new JSONRequest(); + request.put(VERIFY, verify); + request.put(PHONE, phone); + request.put(PASSWORD, password); + request.put(TYPE, type); + + HttpManager.getInstance().post(URL_BASE + "put/password", request, requestCode, listener); + } + + + /**获取验证码 * @param phone * @param requestCode @@ -316,11 +318,11 @@ public static void checkVerify(String phone, String verify, int requestCode, OnH */ public static void setPassword(int type, String password, String phone, String verify , int requestCode, OnHttpResponseListener listener) { - Password pwd = new Password(phone, password).setType(type); - JSONRequest request = new JSONRequest(pwd); + Privacy privacy = new Privacy(phone, password); + JSONRequest request = new JSONRequest(privacy); request.put(VERIFY, verify); - put(request.setTag(Password.class.getSimpleName()), requestCode, listener); + put(request.setTag(PRIVACY_), requestCode, listener); } //account>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -635,7 +637,12 @@ public static void addComment(long momentId, long toCommentId, long toUserId, St * @param listener */ public static void deleteComment(long id, int requestCode, OnHttpResponseListener listener) { - delete(new JSONRequest(new Comment(id)).setTag(COMMENT_), requestCode, listener); + delete(new JSONRequest( + new JSONObject( + new Comment(id) + ).setRole(application.isCurrentUser(id) ? RequestRole.OWNER.name() : RequestRole.ADMIN.name()) + ).setTag(COMMENT_) + , requestCode, listener); } //Comment>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/BaseModel.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/BaseModel.java index 326b54b0b..551c632b1 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/BaseModel.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/BaseModel.java @@ -250,4 +250,53 @@ public static double value(Double value) { } //获取非基本类型对应基本类型的非空值 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> + /**index是否在arr长度范围内 + * @param index + * @param array + * @return + */ + public static boolean isIndexInRange(Integer index, Object[] array) { + return index != null && index >= 0 && index < count(array); + } + + /**获取在arr长度范围内的index + * defaultIndex = 0 + * @param index + * @param array + * @return + */ + public static int getIndexInRange(Integer index, Object[] array) { + return getIndexInRange(index, array, 0); + } + /**获取在arr长度范围内的index + * @param index + * @param array + * @param defaultIndex + * @return + */ + public static int getIndexInRange(Integer index, Object[] array, int defaultIndex) { + return isIndexInRange(index, array) ? index : defaultIndex; + } + + /**获取在arr长度范围内的index + * defaultIndex = 0 + * @param + * @param index + * @param array + * @return + */ + public static T getInRange(Integer index, T[] array) { + return getInRange(index, array, 0); + } + /**获取在arr长度范围内的index + * @param + * @param index + * @param array + * @param defaultIndex + * @return + */ + public static T getInRange(Integer index, T[] array, int defaultIndex) { + return get(array, getIndexInRange(index, array, defaultIndex)); + } + } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Password.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Password.java deleted file mode 100644 index 8f40a8898..000000000 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Password.java +++ /dev/null @@ -1,94 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.server.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.LOGIN; -import static zuo.biao.apijson.RequestRole.OWNER; -import static zuo.biao.apijson.RequestRole.UNKNOWN; - -import zuo.biao.apijson.MethodAccess; -import zuo.biao.apijson.StringUtil; - -/**密码类,已用privacy替代 - * @author Lemon - * @see - *
POST_HEAD:
-{
- "Password":{
-     "disallow":"!",
-     "necessary":"id,type"
- }
-}
- * 
- *
PUT:put/loginPassword, put/payPassword
-{
-    "Password":{
-        "disallow":"!",
-        "necessary":"id,type,password"
-    },
-    "necessary":"oldPassword"
-}
- * 
- */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_HEAD = {OWNER, ADMIN}, - POST = {UNKNOWN, LOGIN, OWNER, ADMIN} - ) -public class Password extends BaseModel { - private static final long serialVersionUID = 1L; - - public static final int TYPE_LOGIN = 0; - public static final int TYPE_PAY = 1; - - private Integer type; - private String password; - - public Password() { - super(); - } - public Password(String phone) { - this(); - setPhone(phone); - } - public Password(String phone, String password) { - this(phone); - setPassword(password); - } - - public Password setPhone(String phone) { - setId(Long.valueOf(0 + StringUtil.getNumber(phone))); - return this; - } - - public Integer getType() { - return type; - } - public Password setType(Integer type) { - this.type = type; - return this; - } - public String getPassword() { - return password; - } - public Password setPassword(String password) { - this.password = password; - return this; - } - -} diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Privacy.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Privacy.java index 6bbf83b2b..2c53da28a 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Privacy.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Privacy.java @@ -1,3 +1,17 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package apijson.demo.server.model; import static zuo.biao.apijson.RequestRole.ADMIN; @@ -6,7 +20,7 @@ import zuo.biao.apijson.MethodAccess; -/**用户隐私信息类 +/**用户隐私信息 * @author Lemon */ @MethodAccess( @@ -18,6 +32,9 @@ public class Privacy extends BaseModel { private static final long serialVersionUID = 1L; + public static final int PASSWORD_TYPE_LOGIN = 0; + public static final int PASSWORD_TYPE_PAY = 1; + private String phone; //手机 private String password; //登录密码,隐藏字段 private String payPassword; //支付密码,隐藏字段 diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Verify.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Verify.java index 7bc8be59b..382846cef 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Verify.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Verify.java @@ -24,7 +24,7 @@ import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.StringUtil; -/**验证码类 +/**验证码 * @author Lemon * @see *
POST_GET:post_get/authCode
diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Wallet.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Wallet.java
deleted file mode 100644
index d78692a7f..000000000
--- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Wallet.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON)
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.*/
-
-package apijson.demo.server.model;
-
-import static zuo.biao.apijson.RequestRole.ADMIN;
-import static zuo.biao.apijson.RequestRole.OWNER;
-
-import java.math.BigDecimal;
-
-import zuo.biao.apijson.MethodAccess;
-
-/**钱包类,已用Privacy替代
- * @author Lemon
- * @see
- * 
POST_GET:
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    }
-}
- * 
- *
POST:post/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    },
-    "necessary":"payPassword"
-}
- * 
- *
PUT:put/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id,balance+"
-    },
-    "necessary":"payPassword"
-}
- * 
- *
DELETE:delete/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    },
-    "necessary":"payPassword"
-}
- * 
- */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_GET = {OWNER, ADMIN}, - POST_HEAD = {OWNER, ADMIN}, - POST = {ADMIN}, - DELETE = {ADMIN} - ) -public class Wallet extends BaseModel { - private static final long serialVersionUID = 1L; - - public BigDecimal balance; - - /**默认构造方法,JSON等解析时必须要有 - */ - public Wallet() { - super(); - } - public Wallet(long id) { - this(); - setId(id); - } - - - public Wallet setUserId(long userId) { - setId(userId); - return this; - } - - public BigDecimal getBalance() { - return balance; - } - public Wallet setBalance(BigDecimal balance) { - this.balance = balance; - return this; - } - -} diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java index 1472c14f5..cf1da188a 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java @@ -43,6 +43,7 @@ import apijson.demo.server.model.Verify; import zuo.biao.apijson.JSON; import zuo.biao.apijson.JSONResponse; +import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.server.JSONRequest; @@ -65,38 +66,38 @@ public class Controller { //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -// /**获取 -// * @param request 只用String,避免encode后未decode -// * @param session -// * @return -// * @see {@link RequestMethod#GET} -// */ -// @RequestMapping("get/{request}") -// public String open_get(@PathVariable String request, HttpSession session) { -// try { -// request = URLDecoder.decode(request, StringUtil.UTF_8); -// } catch (Exception e) { -// // Parser会报错 -// } -// return get(request, session); -// } -// -// /**计数 -// * @param request 只用String,避免encode后未decode -// * @param session -// * @return -// * @see {@link RequestMethod#HEAD} -// */ -// @RequestMapping("head/{request}") -// public String open_head(@PathVariable String request, HttpSession session) { -// try { -// request = URLDecoder.decode(request, StringUtil.UTF_8); -// } catch (Exception e) { -// // Parser会报错 -// } -// return head(request, session); -// } - + // /**获取 + // * @param request 只用String,避免encode后未decode + // * @param session + // * @return + // * @see {@link RequestMethod#GET} + // */ + // @RequestMapping("get/{request}") + // public String open_get(@PathVariable String request, HttpSession session) { + // try { + // request = URLDecoder.decode(request, StringUtil.UTF_8); + // } catch (Exception e) { + // // Parser会报错 + // } + // return get(request, session); + // } + // + // /**计数 + // * @param request 只用String,避免encode后未decode + // * @param session + // * @return + // * @see {@link RequestMethod#HEAD} + // */ + // @RequestMapping("head/{request}") + // public String open_head(@PathVariable String request, HttpSession session) { + // try { + // request = URLDecoder.decode(request, StringUtil.UTF_8); + // } catch (Exception e) { + // // Parser会报错 + // } + // return head(request, session); + // } + /**获取 * @param request 只用String,避免encode后未decode * @param session @@ -201,6 +202,7 @@ public String delete(@RequestBody String request, HttpSession session) { VERIFY_ = Verify.class.getSimpleName(); } + public static final String COUNT = JSONResponse.KEY_COUNT; public static final String TOTAL = JSONResponse.KEY_TOTAL; public static final String RANGE = "range"; @@ -219,6 +221,7 @@ public String delete(@RequestBody String request, HttpSession session) { public static final String SEX = "sex"; public static final String TYPE = "type"; + public static final String WAY = "way"; public static final String CONTENT = "content"; @@ -255,13 +258,13 @@ public String delete(@RequestBody String request, HttpSession session) { */ @RequestMapping(value = "post/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject postVerify(@RequestBody String request) { - JSONObject requestObject; + JSONObject requestObject = null; String phone; try { requestObject = Parser.parseRequest(request, POST); phone = requestObject.getString(PHONE); } catch (Exception e) { - return Parser.newErrorResult(e); + return Parser.extendErrorResult(requestObject, e); } new Parser(DELETE, true).parse(newVerifyRequest(phone, null)); @@ -275,7 +278,7 @@ public JSONObject postVerify(@RequestBody String request) { } catch (Exception e) { // TODO: handle exception } - if (verify == null || JSONResponse.isSucceed(verify.getIntValue(JSONResponse.KEY_CODE)) == false) { + if (verify == null || JSONResponse.isSuccess(verify.getIntValue(JSONResponse.KEY_CODE)) == false) { new Parser(DELETE, true).parseResponse(new JSONRequest(new Verify(phone))); return response; } @@ -292,13 +295,13 @@ public JSONObject postVerify(@RequestBody String request) { */ @RequestMapping(value = "post_get/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject getVerify(@RequestBody String request) { - JSONObject requestObject; + JSONObject requestObject = null; String phone; try { requestObject = Parser.parseRequest(request, POST_GET); phone = requestObject.getString(PHONE); } catch (Exception e) { - return Parser.newErrorResult(e); + return Parser.extendErrorResult(requestObject, e); } return new Parser(POST_GET, true).parseResponse(newVerifyRequest(phone, null)); } @@ -310,14 +313,15 @@ public JSONObject getVerify(@RequestBody String request) { */ @RequestMapping(value = "post_head/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject headVerify(@RequestBody String request) { + JSONObject requestObject = null; String phone; String verify; try { - JSONObject requestObject = Parser.parseRequest(request, POST_HEAD); + requestObject = Parser.parseRequest(request, POST_HEAD); phone = requestObject.getString(PHONE); verify = requestObject.getString(VERIFY); } catch (Exception e) { - return Parser.newErrorResult(e); + return Parser.extendErrorResult(requestObject, e); } return headVerify(phone, verify); } @@ -369,36 +373,46 @@ private JSONObject newVerifyRequest(String phone, String verify) { /**用户登录 * @param request 只用String,避免encode后未decode * @return + * @see + *
+		{
+			"type": 0,
+			"phone": "13000082001",
+			"password": "1234567"
+		}
+	 * 
*/ @RequestMapping(value = "login", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject login(@RequestBody String request, HttpSession session) { JSONObject requestObject = null; + boolean isPassword; + String phone; + String password; try { requestObject = Parser.parseRequest(request, POST); - } catch (Exception e) { - return Parser.newErrorResult(e); - } - - String typeString = requestObject.getString(TYPE);//登录类型 - String phone = requestObject.getString(PHONE);//手机 - String password = requestObject.getString(PASSWORD);//密码 - - //判断手机号是否合法 - if (StringUtil.isPhone(phone) == false) { - return Parser.newErrorResult(new IllegalArgumentException("手机号不合法!")); - } + isPassword = requestObject.getIntValue(TYPE) == LOGIN_TYPE_PASSWORD;//登录方式 + phone = requestObject.getString(PHONE);//手机 + password = requestObject.getString(PASSWORD);//密码 - //判断密码是否合法 - if ("1".equals(typeString)) { - if (StringUtil.isVerify(password) == false) { - return Parser.newErrorResult(new IllegalArgumentException("验证码不合法!")); + if (StringUtil.isPhone(phone) == false) { + throw new IllegalArgumentException("手机号不合法!"); } - } else { - if (StringUtil.isPassword(password) == false) { - return Parser.newErrorResult(new IllegalArgumentException("密码不合法!")); + + if (isPassword) { + if (StringUtil.isPassword(password) == false) { + throw new IllegalArgumentException("密码不合法!"); + } + } else { + if (StringUtil.isVerify(password) == false) { + throw new IllegalArgumentException("验证码不合法!"); + } } + } catch (Exception e) { + return Parser.extendErrorResult(requestObject, e); } + + //手机号是否已注册 JSONObject phoneResponse = new Parser(POST_HEAD, true).parseResponse( new JSONRequest( @@ -406,7 +420,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { ) ); JSONResponse response = new JSONResponse(phoneResponse).getJSONResponse(PRIVACY_); - if (JSONResponse.isSucceed(response) == false) { + if (JSONResponse.isSuccess(response) == false) { return response; } if(JSONResponse.isExist(response) == false) { @@ -428,8 +442,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { } //校验凭证 - int type = Integer.valueOf(0 + StringUtil.getNumber(typeString)); - if (type == LOGIN_TYPE_PASSWORD) {//password密码登录 + if (isPassword) {//password密码登录 response = new JSONResponse( new Parser(POST_HEAD, true).parseResponse( new JSONRequest(new Privacy(userId).setPassword(password)) @@ -438,10 +451,10 @@ public JSONObject login(@RequestBody String request, HttpSession session) { } else {//verify手机验证码登录 response = new JSONResponse(headVerify(phone, password)); } - if (JSONResponse.isSucceed(response) == false) { + if (JSONResponse.isSuccess(response) == false) { return response; } - response = response.getJSONResponse(type == LOGIN_TYPE_PASSWORD ? PRIVACY_ : VERIFY_); + response = response.getJSONResponse(isPassword ? PRIVACY_ : VERIFY_); if (JSONResponse.isExist(response) == false) { return Parser.newErrorResult(new ConditionErrorException("账号或密码错误")); } @@ -458,7 +471,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { //登录状态保存至session session.setAttribute(USER_ID, userId);//用户id - session.setAttribute(TYPE, type);//登录方式 + session.setAttribute(TYPE, isPassword ? LOGIN_TYPE_PASSWORD : LOGIN_TYPE_VERIFY);//登录方式 session.setAttribute(USER_, user);//用户 session.setAttribute(PRIVACY_, privacy);//用户隐私信息 // session.setMaxInactiveInterval(1*60);//设置session过期时间 @@ -472,12 +485,19 @@ public JSONObject login(@RequestBody String request, HttpSession session) { */ @RequestMapping(value = "logout", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject logout(HttpSession session) { - long userId = Verifier.getUserId(session);//必须在session.invalidate();前! - session.invalidate(); + long userId; + try { + userId = Verifier.getUserId(session);//必须在session.invalidate();前! + Log.d(TAG, "logout userId = " + userId + "; session.getId() = " + (session == null ? null : session.getId())); + session.invalidate(); + } catch (Exception e) { + return Parser.newErrorResult(e); + } JSONObject result = Parser.newSuccessResult(); JSONObject user = Parser.newSuccessResult(); user.put(ID, userId); + user.put(COUNT, 1); result.put(USER_, user); return result; @@ -487,39 +507,73 @@ public JSONObject logout(HttpSession session) { /**注册 * @param request 只用String,避免encode后未decode * @return + * @see + *
+		{
+			"Privacy": {
+				"phone": "13000082222",
+				"_password": "12345678"
+			},
+			"User": {
+				"name": "APIJSONUser",
+				"sex": 0
+			},
+			"verify": "2139"
+		}
+	 * 
*/ @RequestMapping(value = "register", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject register(@RequestBody String request) { JSONObject requestObject = null; + String verify; + + JSONObject privacyObj; + String phone; + String password; + + JSONObject userObj; + String name; try { - requestObject = Parser.getCorrectRequest(POST, Parser.parseRequest(request, POST)); - } catch (Exception e) { - return Parser.newErrorResult(e); - } + requestObject = Parser.parseRequest(request, POST); - String phone = requestObject.getString(PHONE); - String password = StringUtil.getString(requestObject.getString(PASSWORD)); - String verify = StringUtil.getString(requestObject.getString(VERIFY)); - requestObject.remove(PHONE); - requestObject.remove(PASSWORD); - requestObject.remove(VERIFY); + verify = requestObject.getString(VERIFY); + requestObject.remove(VERIFY); + + privacyObj = requestObject.getJSONObject(PRIVACY_); + if (privacyObj == null) { + throw new NullPointerException("请设置 " + PRIVACY_); + } + requestObject.remove(PRIVACY_); + + phone = privacyObj.getString(PHONE); + password = privacyObj.getString(_PASSWORD); - if (StringUtil.isPhone(phone) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.phone: " + phone + " 不合法!")); - } - if (StringUtil.isPassword(password) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.password: " + password + " 不合法!不能小于6个字符!")); - } - if (StringUtil.isVerify(verify) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.verify: " + verify + " 不合法!不能小于6个字符!")); + userObj = requestObject.getJSONObject(USER_); + if (userObj == null) { + throw new NullPointerException("请设置 " + USER_); + } + name = userObj.getString(NAME); + + + if (StringUtil.isVerify(verify) == false) { + throw new IllegalArgumentException(VERIFY + ":value 中value不合法!"); + } + if (StringUtil.isPhone(phone) == false) { + throw new IllegalArgumentException(PHONE + ":value 中value不合法!"); + } + if (StringUtil.isPassword(password) == false) { + throw new IllegalArgumentException(_PASSWORD + ":value 中value不合法!"); + } + if (StringUtil.isEmpty(name, true)) { + throw new IllegalArgumentException(NAME + ":value 中value不合法!"); + } + } catch (Exception e) { + return Parser.extendErrorResult(requestObject, e); } - + //验证码是否正确 JSONResponse response = new JSONResponse(headVerify(phone, verify)); - if (JSONResponse.isSucceed(response) == false) { + if (JSONResponse.isSuccess(response) == false) { return response; } @@ -540,24 +594,23 @@ public JSONObject register(@RequestBody String request) { } //生成User - JSONObject result = new Parser(POST, true).parseResponse(requestObject); - response = new JSONResponse(result); - if (JSONResponse.isSucceed(response) == false) { - return result; + response = new JSONResponse(new Parser(POST, true).parseResponse(requestObject)); + + JSONResponse userRes = response.getJSONResponse(USER_); + long userId = userRes == null ? 0 : userRes.getId(); + if (userId <= 0) { + return response; } - response = response.getJSONResponse(USER_); - long userId = response == null ? 0 : response.getId(); - - //生成UserPrivacy - response = new JSONResponse( + //生成Privacy + JSONResponse response2 = new JSONResponse( new Parser(POST, true).parseResponse( new JSONRequest( new Privacy(userId).setPhone(phone).setPassword(password) ) ) ); - if (JSONResponse.isSucceed(response.getJSONResponse(PRIVACY_)) == false) {//创建失败,删除新增的无效User和userPrivacy + if (JSONResponse.isSuccess(response2.getJSONResponse(PRIVACY_)) == false) {//创建失败,删除新增的无效User和Privacy new Parser(DELETE, true).parseResponse( new JSONRequest( @@ -567,49 +620,69 @@ public JSONObject register(@RequestBody String request) { new Parser(DELETE, true).parseResponse( new JSONRequest( - new Privacy().setPhone(phone) + new Privacy(userId) ) ); - return Parser.extendErrorResult(result, new Exception("服务器内部错误")); + return Parser.extendErrorResult(requestObject, new Exception("服务器内部错误")); } - return result; + response.putAll(response2); + return response; } /**设置密码 * @param request 只用String,避免encode后未decode * @return + * @see + *
+		{
+			"type": 0,
+			"password": "1234567",
+			"phone": "13000082001",
+			"verify": "1234"
+		}
+	 * 
*/ @RequestMapping(value = "put/password", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject putPassword(@RequestBody String request){ JSONObject requestObject = null; + boolean isLogin; + String verify; + String phone; + String password; try { - requestObject = Parser.parseRequest(request, POST); + requestObject = Parser.parseRequest(request, PUT); + + isLogin = requestObject.getIntValue(TYPE) == Privacy.PASSWORD_TYPE_LOGIN; + verify = requestObject.getString(VERIFY); + phone = requestObject.getString(PHONE); + password = requestObject.getString(PASSWORD); + + if (StringUtil.isVerify(verify) == false) { + throw new IllegalArgumentException(VERIFY + ":value 中value不合法!"); + } + if (StringUtil.isPhone(phone) == false) { + throw new IllegalArgumentException(PHONE + ":value 中value不合法!"); + } + if (isLogin) { + if (StringUtil.isPassword(password) == false) { + throw new IllegalArgumentException(PASSWORD + ":value 中value不合法!"); + } + } else { + if (StringUtil.isNumberPassword(password) == false) { + throw new IllegalArgumentException(PASSWORD + ":value 中value不合法!"); + } + } } catch (Exception e) { - return Parser.newErrorResult(e); + return Parser.extendErrorResult(requestObject, e); } - String phone = requestObject.getString(PHONE); - String password = StringUtil.getString(requestObject.getString(PASSWORD)); - String verify = StringUtil.getString(requestObject.getString(VERIFY)); - if (StringUtil.isPhone(phone) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.phone: " + phone + " 不合法!")); - } - if (StringUtil.isPassword(password) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.password: " + password + " 不合法!不能小于6个字符!")); - } - if (StringUtil.isVerify(verify) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.verify: " + verify + " 不合法!不能小于6个字符!")); - } //校验验证码 - JSONResponse response = new JSONResponse(headVerify(phone, requestObject.getString(VERIFY))); - if (JSONResponse.isSucceed(response) == false) { + JSONResponse response = new JSONResponse(headVerify(phone, verify)); + if (JSONResponse.isSuccess(response) == false) { return response; } //手机号或验证码错误 @@ -626,10 +699,16 @@ public JSONObject putPassword(@RequestBody String request){ ); Privacy privacy = response.getObject(Privacy.class); long userId = privacy == null ? 0 : privacy.getId(); + if (userId <= 0) { + return Parser.extendErrorResult(requestObject, new NotExistException("手机号未注册!")); + } + //修改密码 return new Parser(PUT, true).parseResponse( new JSONRequest( - new Privacy(userId).setPassword(password) + PRIVACY_, new zuo.biao.apijson.JSONObject( + new Privacy(userId) + ).puts(isLogin ? _PASSWORD : _PAY_PASSWORD, password) ) ); } @@ -640,21 +719,28 @@ public JSONObject putPassword(@RequestBody String request){ * @param request 只用String,避免encode后未decode * @param session * @return + * @see + *
+		{
+			"Privacy": {
+				"id": 82001,
+				"balance+": 100,
+				"_payPassword": "123456"
+			}
+		}
+	 * 
*/ @RequestMapping(value = "put/balance", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject putBalance(@RequestBody String request, HttpSession session) { JSONObject requestObject = null; - try { - Verifier.verifyLogin(session); - requestObject = Parser.getCorrectRequest(PUT, Parser.parseRequest(request, PUT)); - } catch (Exception e) { - return Parser.newErrorResult(e); - } JSONObject privacyObj; long userId; String payPassword; double change; try { + Verifier.verifyLogin(session); + requestObject = Parser.getCorrectRequest(PUT, Parser.parseRequest(request, PUT)); + privacyObj = requestObject.getJSONObject(PRIVACY_); if (privacyObj == null) { throw new NullPointerException("请设置 " + PRIVACY_ + "!"); @@ -662,7 +748,7 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { userId = privacyObj.getLongValue(ID); payPassword = privacyObj.getString(_PAY_PASSWORD); change = privacyObj.getDoubleValue("balance+"); - + if (userId <= 0) { throw new IllegalArgumentException(PRIVACY_ + "." + ID + ":value 中value不合法!"); } @@ -719,7 +805,7 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { } } - + privacyObj.remove(_PAY_PASSWORD); privacyObj.put("balance+", change); requestObject.put(PRIVACY_, privacyObj); diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSON.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSON.java index 521acb01d..7bd24b97d 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSON.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSON.java @@ -60,21 +60,24 @@ public static String getCorrectJson(String s) { public static String getCorrectJson(String s, boolean isArray) { s = StringUtil.getTrimedString(s); // if (isArray) { - // if (s.startsWith("\"")) { + // while (s.startsWith("\"")) { // s = s.substring(1); // } - // if (s.endsWith("\"")) { + // while (s.endsWith("\"")) { // s = s.substring(0, s.length() - 1); // } // } return s;//isJsonCorrect(s) ? s : null; } - /**json转JSONObject + /**obj转JSONObject * @param json * @return */ public static JSONObject parseObject(Object obj) { + if (obj instanceof JSONObject) { + return (JSONObject) obj; + } return parseObject(toJSONString(obj)); } /**json转JSONObject @@ -114,12 +117,16 @@ public static T parseObject(JSONObject object, Class clazz) { * @return */ public static T parseObject(String json, Class clazz) { - try { - int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; - features |= Feature.OrderedField.getMask(); - return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); - } catch (Exception e) { - Log.i(TAG, "parseObject catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseObject clazz == null >> return null;"); + } else { + try { + int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; + features |= Feature.OrderedField.getMask(); + return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); + } catch (Exception e) { + Log.i(TAG, "parseObject catch \n" + e.getMessage()); + } } return null; } @@ -131,6 +138,16 @@ public static T parseObject(String json, Class clazz) { public static JSONArray parseArray(List list) { return new JSONArray(list); } + /**obj转JSONArray + * @param json + * @return + */ + public static JSONArray parseArray(Object obj) { + if (obj instanceof JSONArray) { + return (JSONArray) obj; + } + return parseArray(toJSONString(obj)); + } /**json转JSONArray * @param json * @return @@ -157,10 +174,14 @@ public static List parseArray(JSONArray array, Class clazz) { * @return */ public static List parseArray(String json, Class clazz) { - try { - return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); - } catch (Exception e) { - Log.i(TAG, "parseArray catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseArray clazz == null >> return null;"); + } else { + try { + return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); + } catch (Exception e) { + Log.i(TAG, "parseArray catch \n" + e.getMessage()); + } } return null; } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONObject.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONObject.java index b0c60540f..3c9e0d1cf 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONObject.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONObject.java @@ -14,193 +14,52 @@ package zuo.biao.apijson; -import static zuo.biao.apijson.StringUtil.UTF_8; - -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; +import java.util.List; import java.util.Map; -import java.util.Set; -/**use this class instead of com.alibaba.fastjson.JSONObject, not encode in default cases +/**use this class instead of com.alibaba.fastjson.JSONObject * @author Lemon + * @see #put + * @see #puts + * @see #putsAll */ public class JSONObject extends com.alibaba.fastjson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; + + private static final String TAG = "JSONObject"; + /**ordered */ public JSONObject() { super(true); } /**transfer Object to JSONObject - * encode = false; * @param object * @see {@link #JSONObject(Object, boolean)} */ public JSONObject(Object object) { - this(object, false); - } - /**transfer Object to JSONObject - * @param object - * @param encode - * @see {@link #JSONObject(String, boolean)} - */ - public JSONObject(Object object, boolean encode) { - this(toJSONString(object), encode); + this(toJSONString(object)); } /**parse JSONObject with JSON String - * encode = false; * @param json * @see {@link #JSONObject(String, boolean)} */ public JSONObject(String json) { - this(json, false); - } - /**parse JSONObject with JSON String - * @param json - * @param encode - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(String json, boolean encode) { - this(parseObject(json), encode); + this(parseObject(json)); } /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * encode = false; * @param object - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} + * @see {@link #putsAll(com.alibaba.fastjson.JSONObject)} */ public JSONObject(com.alibaba.fastjson.JSONObject object) { - this(object, false); - } - /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * @param object - * @param encode - * @see {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(com.alibaba.fastjson.JSONObject object, boolean encode) { this(); - add(object, encode); + putsAll(object); } - /**put key-value in object into this - * encode = false; - * @param object - * @return {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object) { - return add(object, false); - } - /**put key-value in object into this - * @param object - * @param encode - * @return this - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object, boolean encode) { - //TODO putAll(object); - - Set set = object == null ? null : object.keySet(); - if (set != null) { - for (String key : set) { - put(key, object.get(key), encode); - } - } - return this; - } - - - - /** - * @param key if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param decode if decode && value instanceof String, value = URLDecoder.decode((String) value, UTF_8) - * @return - */ - public Object get(Object key, boolean decode) { - if (decode) { - if (key instanceof String) { - if (((String) key).endsWith("+") || ((String) key).endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLDecoder.decode((String) key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - return null; - } - } - } - Object value = super.get(key); - if (value instanceof String) { - try { - value = URLDecoder.decode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - return value; - } - return super.get(key); - } - - /** - * encode = false - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - public Object put(Object value) { - return put(value, false); - } - /** - * key = value.getClass().getSimpleName() - * @param value must be annotated by {@link APIJSONRequest} - * @param encode - * @return {@link #put(String, Object, boolean)} - */ - public Object put(Object value, boolean encode) { - return put(null, value, encode); - } - /** - * @param key if StringUtil.isNotEmpty(key, true) == false, - *
key = value == null ? null : value.getClass().getSimpleName(); - *
>> if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param value URLEncoder.encode((String) value, UTF_8); - * @param encode if value instanceof String, value = URLEncoder.encode((String) value, UTF_8); - * @return - */ - public Object put(String key, Object value, boolean encode) { - if (StringUtil.isNotEmpty(key, true) == false) { - Class clazz = value == null ? null : value.getClass(); - if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { - throw new IllegalArgumentException("put StringUtil.isNotEmpty(key, true) == false" + - " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + - " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + - " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + - " \n 如果是类似 key[]:{} 结构的请求,建议add(...)方法!"); - } - key = value.getClass().getSimpleName(); - } - if (encode) { - if (key.endsWith("+") || key.endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLEncoder.encode(key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - if (value instanceof String) {//只在value instanceof String时encode key?{@link #get(Object, boolean)}内做不到 - try { - value = URLEncoder.encode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - } - return super.put(key, value); - } - - - //judge <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public static final String KEY_ARRAY = "[]"; @@ -223,6 +82,26 @@ public static boolean isTableKey(String key) { //JSONObject内关键词 key <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; + + /**set "id":id in Table layer + * @param id + * @return + */ + public JSONObject setId(Long id) { + return puts(KEY_ID, id); + } + /**set id{}:[] in Table layer + * @param list + * @return + */ + public JSONObject setIdIn(List list) { + return puts(KEY_ID_IN, list); + } + + //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< public static final String KEY_ROLE = "@role"; //角色,拥有对某些数据的某些操作的权限 public static final String KEY_CONDITION = "@condition"; //条件 TODO 用 @where& @where| @where! 替代? @@ -244,8 +123,7 @@ public static boolean isTableKey(String key) { * @return this */ public JSONObject setRole(String role) { - put(KEY_ROLE, role); - return this; + return puts(KEY_ROLE, role); } /**set try, ignore exceptions @@ -253,8 +131,7 @@ public JSONObject setRole(String role) { * @return this */ public JSONObject setTry(boolean tri) { - put(KEY_TRY, tri); - return this; + return puts(KEY_TRY, tri); } /**set drop, data dropped will not return @@ -262,8 +139,7 @@ public JSONObject setTry(boolean tri) { * @return this */ public JSONObject setDrop(boolean drop) { - put(KEY_DROP, drop); - return this; + return puts(KEY_DROP, drop); } /**set correct, correct keys to target ones @@ -271,19 +147,17 @@ public JSONObject setDrop(boolean drop) { * @return this */ public JSONObject setCorrect(Map correct) { - put(KEY_CORRECT, correct); - return this; + return puts(KEY_CORRECT, correct); } - /**set schema where table was put + /**set schema where table was puts * @param schema * @return this */ public JSONObject setSchema(String schema) { - put(KEY_SCHEMA, schema); - return this; + return puts(KEY_SCHEMA, schema); } /**set about @@ -291,8 +165,7 @@ public JSONObject setSchema(String schema) { * @return this */ public JSONObject setAbout(boolean about) { - put(KEY_ABOUT, about); - return this; + return puts(KEY_ABOUT, about); } /**set keys need to be returned @@ -307,8 +180,7 @@ public JSONObject setColumn(String... keys) { * @return */ public JSONObject setColumn(String keys) { - put(KEY_COLUMN, keys); - return this; + return puts(KEY_COLUMN, keys); } /**set keys for group by @@ -323,8 +195,7 @@ public JSONObject setGroup(String... keys) { * @return */ public JSONObject setGroup(String keys) { - put(KEY_GROUP, keys); - return this; + return puts(KEY_GROUP, keys); } /**set keys for having @@ -339,8 +210,7 @@ public JSONObject setHaving(String... keys) { * @return */ public JSONObject setHaving(String keys) { - put(KEY_HAVING, keys); - return this; + return puts(KEY_HAVING, keys); } /**set keys for order by @@ -355,8 +225,7 @@ public JSONObject setOrder(String... keys) { * @return */ public JSONObject setOrder(String keys) { - put(KEY_ORDER, keys); - return this; + return puts(KEY_ORDER, keys); } @@ -364,117 +233,142 @@ public JSONObject setOrder(String keys) { - //Request,默认encode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + //Request <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /** - * encode = true - * @param value - * @param parts path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... - * @return #put(key+"@", StringUtil.getString(keys, "/"), true) + * @param key + * @param keys path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... + * @return {@link #puts(String, Object)} */ - public Object putPath(String key, String... keys) { - return put(key+"@", StringUtil.getString(keys, "/"), true); + public JSONObject putsPath(String key, String... keys) { + return puts(key+"@", StringUtil.getString(keys, "/")); } /** - * encode = true * @param key * @param isNull - * @return {@link #putNull(String, boolean, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putNull(String key, boolean isNull) { - return putNull(key, isNull, true); - } - /** - * @param key - * @param isNull - * @param encode - * @return put(key+"{}", SQL.isNull(isNull), encode); - */ - public JSONObject putNull(String key, boolean isNull, boolean encode) { - put(key+"{}", SQL.isNull(isNull), encode); - return this; + public JSONObject putsNull(String key, boolean isNull) { + return puts(key+"{}", SQL.isNull(isNull)); } /** * trim = false * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean)} + * @return {@link #putsEmpty(String, boolean, boolean)} */ - public JSONObject putEmpty(String key, boolean isEmpty) { - return putEmpty(key, isEmpty, false); + public JSONObject putsEmpty(String key, boolean isEmpty) { + return putsEmpty(key, isEmpty, false); } /** - * encode = true * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim) { - return putEmpty(key, isEmpty, trim, true); + public JSONObject putsEmpty(String key, boolean isEmpty, boolean trim) { + return puts(key+"{}", SQL.isEmpty(key, isEmpty, trim)); } /** - * @param key - * @param isEmpty - * @param encode - * @return put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim, boolean encode) { - put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - return this; - } - /** - * encode = true * @param key * @param compare <=0, >5 ... - * @return {@link #putLength(String, String, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putLength(String key, String compare) { - return putLength(key, compare, true); - } - /** - * @param key - * @param compare <=0, >5 ... - * @param encode - * @return put(key+"{}", SQL.length(key) + compare, encode); - */ - public JSONObject putLength(String key, String compare, boolean encode) { - put(key+"{}", SQL.length(key) + compare, encode); - return this; + public JSONObject putsLength(String key, String compare) { + return puts(key+"{}", SQL.length(key) + compare); } /**设置搜索 * type = SEARCH_TYPE_CONTAIN_FULL * @param key * @param value - * @return {@link #putSearch(String, String, int)} + * @return {@link #putsSearch(String, String, int)} */ - public JSONObject putSearch(String key, String value) { - return putSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); + public JSONObject putsSearch(String key, String value) { + return putsSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); } /**设置搜索 - * encode = true * @param key * @param value * @param type - * @return {@link #putSearch(String, String, int, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putSearch(String key, String value, int type) { - return putSearch(key, value, type, true); + public JSONObject putsSearch(String key, String value, int type) { + return puts(key+"$", SQL.search(value, type)); } - /**设置搜索 + + //Request >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + /**puts key-value in object into this + * @param object + * @return this + */ + public JSONObject putsAll(Map map) { + putAll(map); + return this; + } + @Override + public void putAll(Map map) { + if (map != null && map.isEmpty() == false) { + super.putAll(map); + } + } + + + + /**put and return this + * @param value must be annotated by {@link MethodAccess} + * @return {@link #puts(String, boolean)} + */ + public JSONObject puts(Object value) { + return puts(null, value); + } + /**put and return this * @param key - * @param value - * @param type - * @param encode - * @return put(key+"$", SQL.search(value, type), encode); + * @param value + * @return this + * @see {@link #put(String, Object)} */ - public JSONObject putSearch(String key, String value, int type, boolean encode) { - put(key+"$", SQL.search(value, type), encode); + public JSONObject puts(String key, Object value) { + put(key, value); return this; } + + /**put and return value + * @param value must be annotated by {@link MethodAccess} + * @return {@link #put(String, boolean)} + */ + public Object put(Object value) { + return put(null, value); + } + /**put and return value + * @param key StringUtil.isEmpty(key, true) ? key = value.getClass().getSimpleName(); + * @param value + * @return value + */ + @Override + public Object put(String key, Object value) { + if (value == null) { + Log.e(TAG, "put value == null >> return null;"); + return null; + } + if (StringUtil.isEmpty(key, true)) { + Class clazz = value.getClass(); + if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { + throw new IllegalArgumentException("puts StringUtil.isNotEmpty(key, true) == false" + + " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + + " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + + " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + + " \n 如果是类似 key[]:{} 结构的请求,建议用 putsAll(...) !"); + } + key = value.getClass().getSimpleName(); + } + return super.put(key, value); + } - //Request,默认encode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONRequest.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONRequest.java index 4797edb0e..5d33b681d 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONRequest.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONRequest.java @@ -14,15 +14,14 @@ package zuo.biao.apijson; -import java.util.List; +import java.util.Map; -import com.alibaba.fastjson.JSONArray; - -/**encapsulator for request JSONObject, encode in default cases +/**wrapper for request * @author Lemon + * @see #puts * @see #toArray * @use JSONRequest request = new JSONRequest(...); - *
request.put(...);//not a must + *
request.puts(...);//not a must *
request.toArray(...);//not a must */ public class JSONRequest extends JSONObject { @@ -32,74 +31,34 @@ public JSONRequest() { super(); } /** - * encode = true - * @param object must be annotated by {@link APIJSONRequest} + * @param object must be annotated by {@link MethodAccess} * @see {@link #JSONRequest(String, Object)} */ public JSONRequest(Object object) { this(null, object); } /** - * encode = true * @param name * @param object - * @see {@link #JSONRequest(String, Object, boolean)} + * @see {@link #puts(String, Object)} */ public JSONRequest(String name, Object object) { - this(name, object, true); - } - /** - * @param object must be annotated by {@link APIJSONRequest} - * @param encode - * @see {@link #JSONRequest(String, Object, boolean)} - */ - public JSONRequest(Object object, boolean encode) { - this(null, object, encode); - } - /** - * @param name - * @param object - * @param encode - * @see {@link #put(String, Object, boolean)} - */ - public JSONRequest(String name, Object object, boolean encode) { this(); - put(name, object, encode); + puts(name, object); } - - - - public static final String KEY_ID = "id"; - public static final String KEY_ID_IN = KEY_ID + "{}"; + public static final String KEY_TAG = "tag";//只在最外层,最外层用JSONRequest - - /**set "id":id in Table layer - * @param id - * @return - */ - public JSONRequest setId(Long id) { - put(KEY_ID, id); - return this; - } - /**set id{}:[] in Table layer - * @param list - * @return - */ - public JSONRequest setIdIn(List list) { - put(KEY_ID_IN, list); - return this; - } + /**set "tag":tag in outermost layer * for write operations * @param tag * @return */ public JSONRequest setTag(String tag) { - put(KEY_TAG, tag); - return this; + return puts(KEY_TAG, tag); } @@ -121,99 +80,59 @@ public JSONRequest setTag(String tag) { * @see {@link #QUERY_ALL} */ public JSONRequest setQuery(int query) { - put(KEY_QUERY, query); - return this; + return puts(KEY_QUERY, query); } /**set maximum count of Tables to query in Array layer * @param count <= 0 || >= max ? max : count * @return */ public JSONRequest setCount(int count) { - put(KEY_COUNT, count); - return this; + return puts(KEY_COUNT, count); } /**set page of Tables to query in Array layer * @param page <= 0 ? 0 : page * @return */ public JSONRequest setPage(int page) { - put(KEY_PAGE, page); - return this; + return puts(KEY_PAGE, page); } //array object >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - // 导致JSONObject add >> get = null - // /** - // * decode = true - // * @param key - // * return {@link #get(Object, boolean)} - // */ - // @Override - // public Object get(Object key) { - // return get(key, true); - // } - - /** - * encode = true - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - @Override - public Object put(Object value) { - return put(value, true); - } - /** - * encode = true - * @param key - * @param value - * return {@link #put(String, Object, boolean)} - */ - @Override - public Object put(String key, Object value) { - return put(key, value, true); - } - - /**create a parent JSONObject named KEY_ARRAY - * encode = true; * @param count * @param page * @return {@link #toArray(int, int, boolean)} */ public JSONRequest toArray(int count, int page) { - return toArray(count, page, true); - } - /**create a parent JSONObject named KEY_ARRAY - * encode = true; - * @param count - * @param page - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, boolean encode) { - return toArray(count, page, null, encode); - } - /**create a parent JSONObject named name+KEY_ARRAY - * encode = true; - * @param count - * @param page - * @param name - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, String name) { - return toArray(count, page, name, true); + return toArray(count, page, null); } /**create a parent JSONObject named name+KEY_ARRAY. * @param count * @param page * @param name - * @param encode * @return {name+KEY_ARRAY : this}. if needs to be put, use {@link #add(com.alibaba.fastjson.JSONObject)} instead */ - public JSONRequest toArray(int count, int page, String name, boolean encode) { - return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page), encode); + public JSONRequest toArray(int count, int page, String name) { + return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page)); + } + + + @Override + public JSONObject putsAll(Map map) { + super.putsAll(map); + return this; + } + + @Override + public JSONRequest puts(Object value) { + return puts(null, value); + } + @Override + public JSONRequest puts(String key, Object value) { + super.puts(key, value); + return this; } } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONResponse.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONResponse.java index ea8005fb5..f9b6d3fc9 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONResponse.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/JSONResponse.java @@ -20,17 +20,16 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -/**parser for response JSON String +/**parser for response * @author Lemon + * @see #getObject * @see #getList - * @see #toArray * @use JSONResponse response = new JSONResponse(json); - *
JSONArray array = JSONResponse.toArray(response.getJSONObject("[]"));//not a must - *
User user = JSONResponse.getObject(response, User.class);//not a must - *
List list = JSONResponse.getList(response.getJSONObject("Comment[]"), Comment.class);//not a must + *
User user = response.getObject(User.class);//not a must + *
List commenntList = response.getList("Comment[]", Comment.class);//not a must */ public class JSONResponse extends zuo.biao.apijson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; private static final String TAG = "JSONResponse"; @@ -46,7 +45,7 @@ public JSONResponse(JSONObject object) { //状态信息,非GET请求获得的信息<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final int CODE_SUCCEED = 200; //成功 + public static final int CODE_SUCCESS = 200; //成功 public static final int CODE_UNSUPPORTED_ENCODING = 400; //编码错误 public static final int CODE_ILLEGAL_ACCESS = 401; //权限错误 public static final int CODE_UNSUPPORTED_OPERATION = 403; //禁止操作 @@ -63,7 +62,8 @@ public JSONResponse(JSONObject object) { public static final String MSG_SUCCEED = "success"; //成功 - public static final String MSG_SERVER_ERROR = "服务器内部错误!"; //失败 + public static final String MSG_SERVER_ERROR = "Internal Server Error!"; //服务器内部错误 + public static final String KEY_CODE = "code"; public static final String KEY_MSG = "msg"; @@ -127,22 +127,22 @@ public int getTotal() { /**是否成功 * @return */ - public boolean isSucceed() { - return isSucceed(getCode()); + public boolean isSuccess() { + return isSuccess(getCode()); } /**是否成功 * @param code * @return */ - public static boolean isSucceed(int code) { - return code == CODE_SUCCEED; + public static boolean isSuccess(int code) { + return code == CODE_SUCCESS; } /**是否成功 * @param response * @return */ - public static boolean isSucceed(JSONResponse response) { - return response != null && response.isSucceed(); + public static boolean isSuccess(JSONResponse response) { + return response != null && response.isSuccess(); } /**校验服务端是否存在table @@ -259,126 +259,39 @@ public static List getList(JSONObject object, Class clazz) { * @return */ public static List getList(JSONObject object, String key, Class clazz) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? JSON.parseArray((JSONArray) obj, clazz) : toList((JSONObject) obj, clazz); - } - /** - * @param clazz - * @return - */ - public List toList(Class clazz) { - return toList(this, clazz); - } - /** - * @param arrayObject - * @param clazz - * @return - */ - public static List toList(JSONObject arrayObject, Class clazz) { - return clazz == null ? null : JSON.parseArray(JSON.toJSONString( - toArray(arrayObject, clazz.getSimpleName())), clazz); + return object == null ? null : JSON.parseArray(object.getString(replaceArray(key)), clazz); } /** * key = KEY_ARRAY - * @param className * @return */ - public JSONArray getArray(String className) { - return getArray(KEY_ARRAY, className); + public JSONArray getArray() { + return getArray(KEY_ARRAY); } /** * @param key - * @param className * @return */ - public JSONArray getArray(String key, String className) { - return getArray(this, key, className); + public JSONArray getArray(String key) { + return getArray(this, key); } /** * @param object - * @param key - * @param className * @return */ - public static JSONArray getArray(JSONObject object, String className) { - return getArray(object, KEY_ARRAY, className); + public static JSONArray getArray(JSONObject object) { + return getArray(object, KEY_ARRAY); } /** * key = KEY_ARRAY * @param object - * @param className - * @return - */ - public static JSONArray getArray(JSONObject object, String key, String className) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? (JSONArray) obj : toArray((JSONObject) obj, className); - } - - /** - * @param className + * @param key * @return */ - public JSONArray toArray(String className) { - return toArray(this, className); + public static JSONArray getArray(JSONObject object, String key) { + return object == null ? null : object.getJSONArray(replaceArray(key)); } - /**{0:{Table:{}}, 1:{Table:{}}...} 转化为 [{Table:{}}, {Table:{}}] - * array.set(index, isContainer ? value : value.getJSONObject(className)); - * @param arrayObject - * @param className className.equals(Table) ? {Table:{Content}} => {Content} - * @return - */ - public static JSONArray toArray(JSONObject arrayObject, String className) { - Set set = arrayObject == null ? null : arrayObject.keySet(); - if (set == null || set.isEmpty()) { - return null; - } - - // [{...},{...},...] - String parentString = StringUtil.getTrimedString(JSON.toJSONString(arrayObject)); - if (parentString.isEmpty()) { - return null; - } - if (parentString.startsWith("[")) { - if (parentString.endsWith("]") == false) { - parentString += "]"; - } - return JSON.parseArray(parentString); - } - - //{"0":{Table:{...}}, "1":{Table:{...}}...} - - className = StringUtil.getTrimedString(className); - boolean isContainer = true; - - JSONArray array = new JSONArray(set.size()); - JSONObject value; - boolean isFirst = true; - int index; - for (String key : set) {//0, 1, 2,... - value = StringUtil.isNumer(key) == false ? null : arrayObject.getJSONObject(key);// Table:{} - if (value != null) { - try { - index = Integer.valueOf(0 + key); - if (isFirst && isTableKey(className) && value.containsKey(className)) {// 判断是否需要提取table - isContainer = false; - } - array.set(index, isContainer ? value : value.getJSONObject(className)); - } catch (Exception e) { - e.printStackTrace(); - } - } - isFirst = false; - } - return array; - } - // /** @@ -387,90 +300,69 @@ public static JSONArray toArray(JSONObject arrayObject, String className) { // public JSONObject format() { // return format(this); // } - /**将Item[]:[{Table:{}}, {Table:{}}...] 或 Item[]:{0:{Table:{}}, 1:{Table:{}}...} - * 转化为 itemList:[{Table:{}}, {Table:{}}],如果 Item.equals(Table),则将 {Table:{Content}} 转化为 {Content} - * @param target - * @param response + /**格式化key名称 + * @param object * @return */ - public static JSONObject format(final JSONObject response) { - //太长查看不方便,不如debug Log.i(TAG, "format response = \n" + JSON.toJSONString(response)); - if (response == null || response.isEmpty()) { - Log.i(TAG, "format response == null || response.isEmpty() >> return response;"); - return response; + public static JSONObject format(final JSONObject object) { + //太长查看不方便,不如debug Log.i(TAG, "format object = \n" + JSON.toJSONString(object)); + if (object == null || object.isEmpty()) { + Log.i(TAG, "format object == null || object.isEmpty() >> return object;"); + return object; } - JSONObject transferredObject = new JSONObject(true); + JSONObject formatedObject = new JSONObject(true); - Set set = response.keySet(); + Set set = object.keySet(); if (set != null) { Object value; - String arrayKey; for (String key : set) { - value = response.get(key); + value = object.get(key); - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredObject.put(replaceArray(key), format(key, (JSONArray) value)); + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedObject.put(replaceArray(key), format((JSONArray) value)); } - else if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray - if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray - arrayKey = key.substring(0, key.lastIndexOf(KEY_ARRAY)); - transferredObject.put(getArrayKey(getSimpleName(arrayKey)) - , format(key, toArray((JSONObject) value, arrayKey)));//需要将name:alias传至toArray - } - else {//常规JSONObject,往下一级提取 - transferredObject.put(getSimpleName(key), format((JSONObject) value)); - } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedObject.put(getSimpleName(key), format((JSONObject) value)); } else {//其它Object,直接填充 - transferredObject.put(getSimpleName(key), value); + formatedObject.put(getSimpleName(key), value); } } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredObject = " + JSON.toJSONString(transferredObject)); - return transferredObject; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedObject = " + JSON.toJSONString(formatedObject)); + return formatedObject; } - /** - * @param responseArray + /**格式化key名称 + * @param array * @return */ - public static JSONArray format(String name, final JSONArray responseArray) { - //太长查看不方便,不如debug Log.i(TAG, "format responseArray = \n" + JSON.toJSONString(responseArray)); - if (responseArray == null || responseArray.isEmpty()) { - Log.i(TAG, "format responseArray == null || responseArray.isEmpty() >> return response;"); - return responseArray; + public static JSONArray format(final JSONArray array) { + //太长查看不方便,不如debug Log.i(TAG, "format array = \n" + JSON.toJSONString(array)); + if (array == null || array.isEmpty()) { + Log.i(TAG, "format array == null || array.isEmpty() >> return array;"); + return array; } - int index = name == null ? -1 : name.lastIndexOf(KEY_ARRAY); - String className = index < 0 ? "" : name.substring(0, index); - - JSONArray transferredArray = new JSONArray(); + JSONArray formatedArray = new JSONArray(); Object value; - boolean isContainer = true; - boolean isFirst = true; - for (int i = 0; i < responseArray.size(); i++) { - value = responseArray.get(i); - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredArray.add(format(null, (JSONArray) value)); + for (int i = 0; i < array.size(); i++) { + value = array.get(i); + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedArray.add(format((JSONArray) value)); } else if (value instanceof JSONObject) {//JSONObject,往下一级提取 - //判断是否需要提取child - if (isFirst && isTableKey(className) && ((JSONObject) value).containsKey(className)) { - isContainer = false; - } - //直接添加child 或 添加提取出的child - transferredArray.add(format(isContainer ? (JSONObject)value : ((JSONObject)value).getJSONObject(className) )); - isFirst = false; + formatedArray.add(format((JSONObject) value)); } else {//其它Object,直接填充 - transferredArray.add(responseArray.get(i)); + formatedArray.add(value); } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredArray = " + JSON.toJSONString(transferredArray)); - return transferredArray; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedArray = " + JSON.toJSONString(formatedArray)); + return formatedArray; } /**替换key+KEY_ARRAY为keyList @@ -493,7 +385,7 @@ public static String getArrayKey(String key) { /**获取简单名称 * @param fullName name 或 name:alias - * @return name > name; name:alias > alias + * @return name => name; name:alias => alias */ public static String getSimpleName(String fullName) { //key:alias -> alias; key:alias[] -> alias[] diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/JSONRequest.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/JSONRequest.java index ef480e97f..0a357656c 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/JSONRequest.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/JSONRequest.java @@ -14,8 +14,10 @@ package zuo.biao.apijson.server; +import java.util.Map; + import zuo.biao.apijson.JSON; -import zuo.biao.apijson.SQL; +import zuo.biao.apijson.JSONObject; import zuo.biao.apijson.StringUtil; /**JSONRequest for Server to replace zuo.biao.apijson.JSONRequest, @@ -35,79 +37,56 @@ public JSONRequest() { * @param object */ public JSONRequest(Object object) { - this(null, object); + super(object); } /** - * encode = false - * {@link #JSONRequest(String, Object, boolean)} * @param name * @param object */ public JSONRequest(String name, Object object) { - this(name, object, false); - } - /** - * {@link #JSONRequest(String, Object, boolean)} - * @param object - * @param encode - */ - public JSONRequest(Object object, boolean encode) { - super(object, encode); - } - /** - * {@link #put(String, Object, boolean)} - * @param name - * @param object - * @param encode - */ - public JSONRequest(String name, Object object, boolean encode) { - super(name, object, encode); + super(name, object); } - - - /** - * decode = true - * @param key - * return {@link #get(Object, boolean)} - */ + + @Override - public Object get(Object key) { - return get(key, false); + public JSONObject putsAll(Map map) { + super.putsAll(map); + return this; } /** - * encode = false * @param value - * @return {@link #put(String, boolean)} + * @return {@link #puts(String, Object)} */ @Override - public Object put(Object value) { - return put(value, false); + public JSONRequest puts(Object value) { + return puts(null, value); } /** + * @param key * @param value - * @param encode - * @return {@link #put(String, Object, boolean)} + * @return this + * @see {@link #put(String, Object)} */ @Override - public Object put(Object value, boolean encode) { - return put(null, value, encode); + public JSONRequest puts(String key, Object value) { + put(key, value); + return this; } + /** - * encode = false - * @param key * @param value - * return {@link #put(String, Object, boolean)} + * @return {@link #put(String, Object)} */ @Override - public Object put(String key, Object value) { - return put(key, value, false); + public Object put(Object value) { + return put(null, value); } /**自定义类型必须转为JSONObject或JSONArray,否则RequestParser解析不了 */ @Override - public Object put(String key, Object value, boolean encode) { + public Object put(String key, Object value) { if (value == null) {// || key == null return null; } @@ -117,29 +96,7 @@ public Object put(String key, Object value, boolean encode) { // return null; // } return super.put(StringUtil.isNotEmpty(key, true) ? key : value.getClass().getSimpleName() //must handle key here - , target == null ? value : target, encode); - } - - /**设置搜索 - * @param key - * @param value - * @return - * @see {@link #putSearch(String, String, int)} - */ - @Override - public JSONRequest putSearch(String key, String value) { - return putSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); - } - /**设置搜索 - * @param key - * @param value - * @param type - * @see {@link #putSearch(String, String, int, boolean)} - */ - @Override - public JSONRequest putSearch(String key, String value, int type) { - putSearch(key, value, type, false); - return this; + , target == null ? value : target); } } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java index 1af16d755..4a27750eb 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java @@ -284,13 +284,13 @@ public static JSONObject extendResult(JSONObject object, int code, String msg) { * @return */ public static JSONObject extendSuccessResult(JSONObject object) { - return extendResult(object, JSONResponse.CODE_SUCCEED, JSONResponse.MSG_SUCCEED); + return extendResult(object, JSONResponse.CODE_SUCCESS, JSONResponse.MSG_SUCCEED); } /**获取请求成功的状态内容 * @return */ public static JSONObject newSuccessResult() { - return newResult(JSONResponse.CODE_SUCCEED, JSONResponse.MSG_SUCCEED); + return newResult(JSONResponse.CODE_SUCCESS, JSONResponse.MSG_SUCCEED); } /**添加请求成功的状态内容 * @param object diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index 722a6be9e..b3002f8d1 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -185,7 +185,7 @@ public JSONObject execute(SQLConfig config) throws Exception { case DELETE: long updateCount = statement.executeUpdate(sql); - result = Parser.newResult(updateCount > 0 ? JSONResponse.CODE_SUCCEED : JSONResponse.CODE_NOT_FOUND + result = Parser.newResult(updateCount > 0 ? JSONResponse.CODE_SUCCESS : JSONResponse.CODE_NOT_FOUND , updateCount > 0 ? JSONResponse.MSG_SUCCEED : "可能对象不存在!"); //id或id{}一定有,一定会返回,不用抛异常来阻止关联写操作时前面错误导致后面无条件执行! From d8699e551bc1858304139f3f4e65e9ee22042f66 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 14 Aug 2017 00:17:34 +0800 Subject: [PATCH 135/219] =?UTF-8?q?Client:=E4=B8=8EServer=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=85=AC=E5=85=B1=E4=BB=A3=E7=A0=81=EF=BC=9B=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E5=88=A0=E9=99=A4=E8=AF=84=E8=AE=BA=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity_fragment/MomentActivity.java | 39 +++++++++---------- .../apijson/demo/client/util/HttpRequest.java | 8 ++-- .../src/zuo/biao/apijson/JSONObject.java | 10 ++--- .../src/zuo/biao/apijson/JSONRequest.java | 8 +++- .../java/apijson/demo/server/Controller.java | 2 - 5 files changed, 35 insertions(+), 32 deletions(-) diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentActivity.java index 941e72d4a..26c835e64 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/activity_fragment/MomentActivity.java @@ -14,6 +14,23 @@ package apijson.demo.client.activity_fragment; +import java.util.List; + +import zuo.biao.apijson.JSONResponse; +import zuo.biao.library.base.BaseHttpListActivity; +import zuo.biao.library.base.BaseView.OnDataChangedListener; +import zuo.biao.library.interfaces.AdapterCallBack; +import zuo.biao.library.interfaces.CacheCallBack; +import zuo.biao.library.interfaces.OnBottomDragListener; +import zuo.biao.library.manager.CacheManager; +import zuo.biao.library.manager.HttpManager.OnHttpResponseListener; +import zuo.biao.library.ui.AlertDialog; +import zuo.biao.library.ui.AlertDialog.OnDialogButtonClickListener; +import zuo.biao.library.util.CommonUtil; +import zuo.biao.library.util.EditTextUtil; +import zuo.biao.library.util.Log; +import zuo.biao.library.util.SettingUtil; +import zuo.biao.library.util.StringUtil; import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -25,9 +42,6 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.EditText; - -import java.util.List; - import apijson.demo.client.R; import apijson.demo.client.adapter.CommentAdapter; import apijson.demo.client.application.APIJSONApplication; @@ -40,22 +54,7 @@ import apijson.demo.client.util.HttpRequest; import apijson.demo.client.view.CommentView.OnCommentClickListener; import apijson.demo.client.view.MomentView; -import zuo.biao.apijson.JSON; -import zuo.biao.apijson.JSONResponse; -import zuo.biao.library.base.BaseHttpListActivity; -import zuo.biao.library.base.BaseView.OnDataChangedListener; -import zuo.biao.library.interfaces.AdapterCallBack; -import zuo.biao.library.interfaces.CacheCallBack; -import zuo.biao.library.interfaces.OnBottomDragListener; -import zuo.biao.library.manager.CacheManager; -import zuo.biao.library.manager.HttpManager.OnHttpResponseListener; -import zuo.biao.library.ui.AlertDialog; -import zuo.biao.library.ui.AlertDialog.OnDialogButtonClickListener; -import zuo.biao.library.util.CommonUtil; -import zuo.biao.library.util.EditTextUtil; -import zuo.biao.library.util.Log; -import zuo.biao.library.util.SettingUtil; -import zuo.biao.library.util.StringUtil; +import apijson.demo.server.model.BaseModel; /**用户列表界面fragment * @author Lemon @@ -351,7 +350,7 @@ private void deleteComment(CommentItem commentItem) { Log.e(TAG, "deleteComment id <= 0 >> return;"); return; } - HttpRequest.deleteComment(id, HTTP_DELETE, this); + HttpRequest.deleteComment(id, BaseModel.value(commentItem.getUserId()), HTTP_DELETE, this); } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java index 71a37d7ae..6667c6b6b 100755 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java @@ -29,7 +29,6 @@ import apijson.demo.client.manager.HttpManager; import apijson.demo.client.model.CommentItem; import apijson.demo.server.model.Comment; -import apijson.demo.server.model.Login; import apijson.demo.server.model.Moment; import apijson.demo.server.model.Privacy; import apijson.demo.server.model.User; @@ -633,14 +632,15 @@ public static void addComment(long momentId, long toCommentId, long toUserId, St } /** * @param id + * @param userId * @param requestCode * @param listener */ - public static void deleteComment(long id, int requestCode, OnHttpResponseListener listener) { + public static void deleteComment(long id, long userId, int requestCode, OnHttpResponseListener listener) { delete(new JSONRequest( - new JSONObject( + COMMENT_, new JSONObject( new Comment(id) - ).setRole(application.isCurrentUser(id) ? RequestRole.OWNER.name() : RequestRole.ADMIN.name()) + ).setRole(application.isCurrentUser(userId) ? RequestRole.OWNER.name() : RequestRole.ADMIN.name()) ).setTag(COMMENT_) , requestCode, listener); } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java index 5a621eab0..3c9e0d1cf 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java @@ -306,14 +306,14 @@ public JSONObject putsSearch(String key, String value, int type) { * @param object * @return this */ - public JSONObject putsAll(com.alibaba.fastjson.JSONObject object) { - putAll(object); + public JSONObject putsAll(Map map) { + putAll(map); return this; } @Override - public void putAll(Map m) { - if (m != null && m.isEmpty() == false) { - super.putAll(m); + public void putAll(Map map) { + if (map != null && map.isEmpty() == false) { + super.putAll(map); } } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java index cafa118ed..5d33b681d 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java @@ -14,6 +14,8 @@ package zuo.biao.apijson; +import java.util.Map; + /**wrapper for request * @author Lemon * @see #puts @@ -117,7 +119,11 @@ public JSONRequest toArray(int count, int page, String name) { } - + @Override + public JSONObject putsAll(Map map) { + super.putsAll(map); + return this; + } @Override public JSONRequest puts(Object value) { diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java index cf1da188a..d76adbd5b 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java @@ -22,13 +22,11 @@ import static zuo.biao.apijson.RequestMethod.POST_HEAD; import static zuo.biao.apijson.RequestMethod.PUT; -import java.net.URLDecoder; import java.util.Random; import java.util.concurrent.TimeoutException; import javax.servlet.http.HttpSession; -import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; From 21411521eb2a6f7d916fa713afe38adb6ac91907 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 14 Aug 2017 00:27:57 +0800 Subject: [PATCH 136/219] =?UTF-8?q?=E6=96=B0=E5=A2=9E1.6.0=E7=89=88?= =?UTF-8?q?=E6=B5=8B=E8=AF=95APP=EF=BC=9B=20Client:Test=E5=88=A0=E9=99=A4W?= =?UTF-8?q?allet=EF=BC=8C=E6=96=B0=E5=A2=9EPrivacy=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/apijson/demo/RequestUtil.java | 12 +-- .../src/apijson/demo/model/Privacy.java | 98 +++++++++++++++++ .../src/apijson/demo/model/Wallet.java | 101 ------------------ .../src/apijson/demo/ui/RequestActivity.java | 6 +- APIJSONApp1.6.0.apk | Bin 0 -> 1493702 bytes APIJSONTest1.6.0.apk | Bin 0 -> 399952 bytes 6 files changed, 105 insertions(+), 112 deletions(-) create mode 100644 APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Privacy.java delete mode 100644 APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Wallet.java create mode 100644 APIJSONApp1.6.0.apk create mode 100644 APIJSONTest1.6.0.apk diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/RequestUtil.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/RequestUtil.java index f4f82cb9d..b4cc06954 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/RequestUtil.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/RequestUtil.java @@ -23,8 +23,8 @@ import apijson.demo.application.DemoApplication; import apijson.demo.model.Comment; import apijson.demo.model.Moment; +import apijson.demo.model.Privacy; import apijson.demo.model.User; -import apijson.demo.model.Wallet; /**请求工具类 * @author Lemon @@ -113,16 +113,12 @@ public static JSONObject newComplexRequest() { } public static JSONObject newAccessErrorRequest() { - return new JSONRequest(new Wallet().setUserId(DEFAULT_USER_ID)) - .setTag(Wallet.class.getSimpleName()); + return new JSONRequest(new Privacy(DEFAULT_USER_ID)); } public static JSONObject newAccessPermittedRequest() { - JSONRequest request = new JSONRequest(); - request.put(new Wallet().setUserId(DEFAULT_USER_ID)); - request.put("currentUserId", DEFAULT_USER_ID); - request.put("loginPassword", "apijson"); - return request.setTag(Wallet.class.getSimpleName()); + JSONRequest request = new JSONRequest(new Privacy(DEFAULT_USER_ID)); + return request.setTag(Privacy.class.getSimpleName()); } } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Privacy.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Privacy.java new file mode 100644 index 000000000..937621679 --- /dev/null +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Privacy.java @@ -0,0 +1,98 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package apijson.demo.model; + +import static zuo.biao.apijson.RequestRole.ADMIN; +import static zuo.biao.apijson.RequestRole.OWNER; +import static zuo.biao.apijson.RequestRole.UNKNOWN; + +import zuo.biao.apijson.MethodAccess; + +/**用户隐私信息 + * @author Lemon + */ +@MethodAccess( + GET = {}, + POST_GET = {OWNER, ADMIN}, + POST = {UNKNOWN, ADMIN}, + DELETE = {ADMIN} + ) +public class Privacy extends BaseModel { + private static final long serialVersionUID = 1L; + + public static final int PASSWORD_TYPE_LOGIN = 0; + public static final int PASSWORD_TYPE_PAY = 1; + + private String phone; //手机 + private String password; //登录密码,隐藏字段 + private String payPassword; //支付密码,隐藏字段 + private Double balance; //余额 + + public Privacy() { + super(); + } + + public Privacy(long id) { + this(); + setId(id); + } + + public Privacy(String phone, String password) { + this(); + setPhone(phone); + setPassword(password); + } + + + + public String getPhone() { + return phone; + } + public Privacy setPhone(String phone) { + this.phone = phone; + return this; + } + + /**get_password会转为password + * @return + */ + public String get__password() { + return password; + } + public Privacy setPassword(String password) { + this.password = password; + return this; + } + + /**get_PayPassword会转为PayPassword + * @return + */ + public String get__payPassword() { + return payPassword; + } + public Privacy setPayPassword(String payPassword) { + this.payPassword = payPassword; + return this; + } + + public Double getBalance() { + return balance; + } + public Privacy setBalance(Double balance) { + this.balance = balance; + return this; + } + +} diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Wallet.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Wallet.java deleted file mode 100644 index 14ca08929..000000000 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Wallet.java +++ /dev/null @@ -1,101 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.OWNER; - -import java.math.BigDecimal; - -import zuo.biao.apijson.MethodAccess; - -/**钱包类,已用privacy替代 - * @author Lemon - * @see - *
POST_GET:
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    }
-}
- * 
- *
POST:post/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    },
-    "necessary":"payPassword"
-}
- * 
- *
PUT:put/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id,balance+"
-    },
-    "necessary":"payPassword"
-}
- * 
- *
DELETE:delete/wallet
-{
-    "Wallet":{
-        "disallow":"!",
-        "necessary":"id"
-    },
-    "necessary":"payPassword"
-}
- * 
- */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_GET = {OWNER, ADMIN}, - POST_HEAD = {OWNER, ADMIN}, - POST = {ADMIN}, - DELETE = {ADMIN} - ) -public class Wallet extends BaseModel { - private static final long serialVersionUID = 1L; - - public BigDecimal balance; - - /**默认构造方法,JSON等解析时必须要有 - */ - public Wallet() { - super(); - } - public Wallet(long id) { - this(); - setId(id); - } - - - public Wallet setUserId(long userId) { - setId(userId); - return this; - } - - public BigDecimal getBalance() { - return balance; - } - public Wallet setBalance(BigDecimal balance) { - this.balance = balance; - return this; - } - -} diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java index a41711014..e044c1f59 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java @@ -41,7 +41,7 @@ import apijson.demo.StringUtil; import apijson.demo.model.BaseModel; import apijson.demo.model.Moment; -import apijson.demo.model.Wallet; +import apijson.demo.model.Privacy; import com.alibaba.fastjson.JSONObject; @@ -230,8 +230,8 @@ public void onHttpResponse(int requestCode, final String resultJson, final Excep + "; isSucceed = " + JSONResponse.isSuccess(response)); } else if ("post_get".equals(method)) { - Wallet wallet = response.getObject(Wallet.class); - Log.d(TAG, "onHttpResponse post_get.equals(method) >> wallet = " + JSON.toJSONString(wallet)); + Privacy privacy = response.getObject(Privacy.class); + Log.d(TAG, "onHttpResponse post_get.equals(method) >> privacy = \n" + JSON.toJSONString(privacy)); } diff --git a/APIJSONApp1.6.0.apk b/APIJSONApp1.6.0.apk new file mode 100644 index 0000000000000000000000000000000000000000..287ef68191467785ee099e2dea24ceedc711a99a GIT binary patch literal 1493702 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ξ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

_qwjLOlq;e6RRkGq@c zjcw7X{U@%qd?^2SYrl;PqxnY!5+m2l$;ws>>8EDqp^}y(e2L+MH9RVm(B=!-#5D^{ zXt_{&xJ0F1q3^|=g15(<=198VN;Ej}FU9|fl&%*fMRI2Ni5xxFg(MFtF_6>@gR+3u zGm^_@_YLSV0hvmGP)MIzyB_4#Vl*AgQ#4TUfm+O`d>A9wW87mLVj$aXodBFrM%xKRER|1 znKiU*G|hh>G<82);W4utl^6+9sRDev4ITv}1Qf9ci*klaa+$e1)eEW04y+$O9RvD} z&Yc-x?RZVg;#O0I6I*zcOn){ibvkuP(3pGH#o7{^>$=Q!8@2{Xd-cTcqy@%ZU$UJE z@p%`Ywe+n@{VZ}bbdGV8?z;(Sq-(`~+HPIIF{#@TiDC;mkH(0taDFHPCkhlNb{8wn z&4gEJSEnn(901>Hv|FYF%k;r)ZZX9|rVhK}1QR8kacO)tpMP@wC*9qx9q{cHu>4n0 z#SOwH?`GL@WEW~=FruDs!u#^7XXVO%PHa;1%;`7XR^(tIf;POT4kA7blY*2!T@7l^ zBIkUWayU_A_dbs*>f1i~EeLzp@ygH5%H|5NKo)**={F%3p9c2q{?c-e|H@WVg@_hGLd9E0Pc^U6LCsZ<>#s{DW8Rn`!8eX=TFNg_C8<2gsa+2$`ZCaX^M z((_UN^HB%Ir(}r|@y4Rf>S1D`pUi&QrWQDC!c*`#k3Q=E40nnW!%-!Wuu4D8ziQ4w zD?xpcCtWp_d2dA9lJmyT^sqAl5ZOC&xM!EyD;9(6#VX8{A zfi0WS>pfnc$3*R!R54SkSd&^ptD(52C#a}*yPI>Gni5a(Nzx=dxseffFWEBi&A03Y zb<0(IxoI3pd{}@TOw-P}Zh~(}s7CC8>=chRi}i_1oTHJ2qEQnU=L?UqXB?KL37h;!^wPUVtyrw8m^b@$2>tMpO3 z_W_@K!T+IpV_#YB6Rz1PZjpa?%wZD|M-(EwrR~xBr`#uU(pDI96(p@q(mR-=%FJgl ze)rZhP{#RWRQrs(y{B;ZfKpPO8T->y{tfCKtcjfavlH8{L_5#{WMYLlX&*zc_4)RH zw{JY8-N|ul&H>kO)yU%7pEY{*q3hjF-u^d#wk&QE1~ynB-_FDgKQ(NyXY*_`E$4K8 z<7k|7)Zt-7Zuv%jQ5nK_`a;^WW?uGlRTNR+LdK3Wi$;zpDZpy9IQ<~*aqJKASFX zIlkKWp8F*`S4ko|{=R-vy=L?6SoZMIEsKGf>nC4JanaJpwkc<`us{6K$iwHJrF~{E zXFqt5ez0uM-QKt{S^N^$qTmSm!UFT$Gw(ZjIUZhapB{+L@YR^|c^Ibq7t`JY=X^nZ zBXS;w)*dt}uTX0c(*PHGg+G%woqDmqz&&UeK3jkVFIcy0XQ^m}DnT_JAD36NV2WzTxna_0GWnOW%QV|02vwXQc5$T=yw zcKK>Y{hvXv@>2X^JHr}~b6`U}b@VZBPJx_^Qk8N<7|(6+07^V{{4p=MKu%LB57(qo zgieWGN{wDfJ#67y^HLa?;ckv21zjype{Hp3x6Bw;aOXwXjrBb*iO~gNjCrT+GEG>; z9oI04bw^1M&pJm?c7wZ^SF;W8*!Y_9Q=0J`VqO41qLf7wuG=^npNH(suH-qV4#V@n z4LOy1GWhy>UFmgHpV*Gr++EdHn>rNU$O7rxoVKy_@vM^hF2-Wvp z1j92op&=)$byY9|_v`tfw?Gomk!nls)uK_x>Hk?H3m2=Ah^y7eY5%PVw%c_4RfwuC z7CZS3=g@fH$#%7?xZVLwsM?1m1k1A-BZA7 zP(t*m`U#5_EVw)L$%~Q(QyBuMJuHOpkoiPH4oT7z`ge3=*QViZB2MLBbPz10vvFws zjBv;w1{hgNM~_BZA=L_QZ&*eqA2!&OAZs24KjLf%pVLq2qN(+p5_&60|N9EWS5OW& zL}97aj`q_%a@=%_rUX3{SVxIm6G9XsFi=THeoJD^hyagBU;;S|r%2)L|fu{FQ7X;c{lvs3!$xO64nqAtM+#kqHrk+b$k8jn#=`T)*-k>}Sp`{G7Mu~S-2L8Ssr)(3-FT z68EYG2>~57V~>)WOXK_HVJ=X7U~zLM=0$p?60tBDRyFGh2iHUzploVdeels)M_lsh zR!#$5J3c1VOJZbN^Ksq-P2N9R%BpeOQFl`2XX_U}Y&AhW1RMB2OKrT1V~1b#D_pUd z-;n(4|CB4jzFDIF5b8dwKgb4RB5b8sWu;M7FV0Bs?qP6T6YbMGvT}dq@0+#(Vr;#- z^KWiH+3tF!hyVfKzqynH7@*tQwu!xn!6ZRl68Q)caYHSL}t-txOLOatETzPWf({8k{TJ)^hVLf2;|MMCo{ zUV?+?fDpsEqh?dr0;8#Z(DW-}>?f-HZ*O$O)V#2aX)e@`KNtOE zSml|-j2P6V41=CP2L+jvse*3dw5n`hL8d(z(;l#?DCyNAxY%0ioQ(bXZ0ro|$p(7V zElwes+YmUhmKE@KFtobx?1Hfg3Sm;PPb$a?9YTW*^7s)8n za?rpncG#SIZ{M)q5QVR1qNwa8d+%C$EJoMw{8$DTkQ=zA;FrDoua3gcao`;|2?r3P zv=YFXK<%W&Z3pYckf`J%$de<1Ev}QiNQqi9{RrhL#5$n{Nm-c~ zZ;*8W%Yv){B_*6Ek~NzMy@`~yg%V4R9CB8Z+>mG^NQ1OO@FwQ9>m2eUMX6axoqpu3 z9a=(0KDB99*E^aFd!zJ`a`_k%gZGof`JTVa#Jsy*{MTQ{krsNX-^^DMhdBGzF%-V^ z^aupDm!xnXcP8Ndrq%hiOg2%Ltz+uO$U~ATHj2)IxDz6V3Zm5iOoY^Q#vScH99R23 zEpWaju--`~_gq<5FECq_}ghu6)ap35PhoctouHL;LsRFeIt0DDr zs%91;Hi5ZioDRhR|#IAaKN)l;}vg2e1f?62)15D{S@h zRuTFmL`Kbg5(p7ZMutHRxH_hjX81eRIGk6a4|neEvo=6_j$hdgo||;Oq%@n2o@Htt zSC~Q{*Na~QiMcVCT&VeC`*{BC>1qHLYA=pbr>&-*!ZJeQ4QVF_I`<(8&nluqfD2we7ZZkX!zX>9=VpU3wTr7gGoGsQ9Cm&!;mFbQ_;-T2Yt>Dx2VPzB*^bjz zy*$8GTvc|3iaj6o=XY~_Nr0DqV(+dK3 zO`cj(Nq(fjRe?Y4|7vM=;E@c={_|`X&F;=vh+ULfy`-*0L`-xWJhzWz*M(Vv(T>7j ziPU!8E0c~`$~rq9^XG<-@@(O*d_O7MPxQZ!B-gH-ipNrtpUr$q#3x?YDu|&zCAHox z3Du$Lh=S6Fs1HsqKM&20A4-Fj`zjun-p0D)`A9COMdqx-7JAL5pyVYpRHQO&v^c}Y zeA8CxM}M_8z+Pi^Df?9{PrjV~tW8s{jY!Rue_sBqyLGDXJ|pOK*W=S%y*tMCkKoB; zl^*J<@<(Ehd5FVsjtX{vRZ{+nJchsM^X&WE3$~koxDS3W)<`=Mb((s$lLH&j+sgfM z4x>8rmK;C$wROxx?UaVUbgi`6lf53=6(`7hCE;GV;2n(kr@-I2)}>{OMQXN9RQ8dq zrK;sf=TgM|>`&BbhD$Oa=Ici&Mp<48SaPrYiY&mv0 zYLjZ~MqLLtUt>&-!pMBGi7O}0(-+PqJfZb{l~BsK2{voa>3tB(oy-hpe54vNJj&`U zdIC_P*XoNk!LVNajAO*Q*z98(0{Jh^a^B68dDG1AHH8J0LDDIB@Ab!>XY*6u@ltL7 zU@yR(zv#(Qej0F!4f0z`t(WuNobRg;OL8t}wPXFh-9YY{Op^kw_>ZM{7PSZLhez0C zZ5oPPce53UP9K!JEvfh%uj)f?d3Ye3ULbv^J4x{Ueds~k=(#O%%WiccAJ@+ne& zFvJ=L^a?$froiBv47YP2CBP5bujBxk3*Uu|ZWDEnMc#|PnaMtrrFqC(;$nlp!v`o#3AJBM}o7SkytbveUys zWLmre&FU9;-E8jSV!}f|=>;I}shr|$`o)r*RHI*7l9WG1=XM^t*}2$`8fV zza~}=_^Pj%T*s6y0UxT5Q3xA~7qODv8;bRM`Ux{_4}3Pn9U&+j^DJ||-=Ohs`bUOJa| zS}Ur>{KyJ=xmUVc5B_qt4<xQHcQh0wg}d#vY&tPkIPz|BIZW9(<_g7n|-CmOU>x6QzN|9Dbd?w4tl_qG`lc zUUdCX;NseW6THg_)hh>245hbj4(cuI+&){=g?TlI{^8?hxt#vA_akfjIP%3ZX&U;5 zoWVc-CMX}cWp)vE+>Uy6q)~CB^fWVAYETVn#0UKqZOi>_~~`M!miYJgjAR&TkEX4ECD{0`a)x?XU^xf5rNtr{ioH?0nxX_K7of0P^t+=AHVPKXRiZ;{Snh&@`H zHeEXU-uPP#oeT0~?L~#-WJ(`5O1r8uXF7Yh=vW`# zLM0RVj9Bb;lBPccbo_&jdIigzutEmbTN9=g4dsdl8xC?MYdemwr8rjeNo&f9B*(-S zMzd+<;c;Der{m|H z69F%6%iaFVDq!X_>&pOZKcAZ`oH|%q4#;DDa{_3NX=-ObPVt`6Piy|1{l7;n+euY1vXE5ts$XmU@KY8L`DdJWylAElB z*B?RJ;x^^Gbq|zzAEm1PEnGYHJN~9nznZSP0`2P~Gjb>4R6;gID^jJF(y54D_;LpQ(<2Z_C+r&0k6E zz+Honro>MckHjApgl)%V+DDzJSKciE4~9veHNG(Q-LNY8{XXsa6N)cR1G0^XLk&_^ zXGN^mkccStv+jejJU7~ z?Tu~}Wawj*p`aWRyA;bnBN#mE%OZs?*1v7HwGaQq&bPr2S=L=>lC=Wpwru85U`qew zgliASIOTq{+}(t%sidP6k?IC~2Zp06r0Me)3>Ngre`{|nfMP+2WEdK>9S{(3?D8IYE#Ni?T%kQ{S#p=9joKU-o`;=EYMI{afb_z;_ zMwJOehR73VERlFiVf5#q9r_a?hUeK%igwJ$_U06FOKd1rZ1hLHj5?Mz{*;uDsac`x z7}Kp(xYV!x1J#X_&;7h9;Y_>ogl zoSnBE32`uUMEW}Y7T($@WVwZdudysp6U}EVkY7A|=}G%)`RI=YZfU&2Bkg_{(C=$k zVoD$Mn!66a6TGWgd6?C*X9)N0p6Kq0&*d)|H33b4Dx%;@fJ;utTU)FPd4EfCb~oO5 zm-QAU(MHlvt$m=R*N>{H-;$fVYjT|Dl-=Q-YF9du>NtaViP<}DaeCw;2HG}S8R>h4 zH~_q+V;nbIKJkr83R$An&pg36LZ<^eu~+_1t_y74s;f?}+*F~I`1J~(f3ID!fo@(# zSKPz@Q2J?YFhP>xx!hRCSvGI1v_wVPzggzmi3i4U_sP`Izk8dfo-0T%bLTs?JRr@c zuT0cCk@`t)@2qVQLyb9Z@hs=Ds(Tu@u!vT2XA~1Z2gFJDd6(%h+!eTEmZGsLGF!?( zgAc!H(Rllu(jp-j=4gk_*(x{ktFN$Cex|*<=~(6`Ynuv(f@(e4l|KFz`K__1P%dD@ zlH;C5XWmBc(5<<2UQ;UabXb~&Ndo)DzR8O{h2&E&^n707$D&8{s%o;W)r$q0*k>K$ zhyZBt=A(p;@eXYFN}-=2T9UU6{YiVRq$SHEkM${dAZNCQs(q%$Gc2@N&vapzSf0re z(#s$F+UAC%c88s=0`kj%{1PC)5XjF5@^gVJ_5ey5Dja9sNY0zt7+mGv4}w=$0Vf>+ zlwuTf#M79M4*X~EuS zE3ecTHkZ~jI0dj7|H=iuziqjg$*;+4i@ zB%~q-T}}EMrf|T%Mf(l)%AaUO&c2Ct8BAX)zb$-sq5LJT$C3vBsQaYKj^+=OZ`RSypMzele>ecQ|14h#B0L6f zD~tWO)^WoXb%AmlW+7Jt8Nr;c#2M8(cWsl6lzm~hWb%SmbQv%O3flY&!~k|R&36JL0{%f`C3 z+aXLA>w^1&<}>i^p7{R~`j{8q2-$A_o@CAmb-K&{H6Af{(8R~svG4(fw1dF3Q_n(viC#);ebNCQRs-9wANF88Ip$9}^embh5& zx(8Q_4PB^6PO^*)LG`3;JT&h~vTmT&@&QL@11a@67x~?GT}@@kdpY!`88_(IDH)d8 z73QrL)HQwL5N~>Sbn{8yvIX9&-DZxQ07 z?{vw4@j*Cib8;RWZ#BuvPUcfqR?lLm>#FMRn6K1yXZge; zZqC@l&n82Dw)WCMbYx>zrmP^8;^6Rnoxfj&i9HilZL8c5K6sVW!1O@4r}|;H5F_uF zH9Md^0;O3?xXebzF&~+FOY|l7UY{a_`GaMO$lalW!1jT_o2zyO<0aB7Ba+Nz&+@JL0*e80p6&>F z-X`d--DZq)yr^8b#Xy-R6KG-Ta(Adun(=9^t`(VCzAQBp$9rruMt1N4FX5B~<4OYD zu<)}Y#|6yW4y{zomc$PWck_4f)nWIg3{x};&xuSH;6h+|p&*B_cTr2cUzIZ1&ELyc z<|~!Xvt+799%h{L_q%tB-U?gOq5_Vri=?kLOI#^6=0U)QfsO{ftyd+ED+n*Ve=d7m zYTFNRQPWRdFTdlM*b$o*spt&@x@5NH`OowtagX}9gxt{6$~GLFLg?k@DUPkF_{7xY z>>ArjezNyvWWh`-%1JgfphE8QGS{PJ#k;qK0IWSe7hEjP8D*I3@V?>zcj9b$k@3|*b?AU& zlgKN}qMo;FMs8MnxX0!(W6kREti|mQFo!EuKf~X3?m9J60a}>=g#Qg<)T>&-?o$%9 zCaedpY$`U826#Dv39;W>kl z{anGZ;9VxF>YIT(fs%4kXsOtz9TXq;c@3V-By|hNv=J5b>5cU{O;3znW{a8ngYHUm zMeIRqEyV6WgWt%=yKhxCW*-f$v* zqnd6qnqF#k?+~}Fc*fhjq1Pa!+EEV|I+k~GZ4MSyvy8`WB;d7eu&kZ z3M`BH6Et;xi1_GrX!I$+$)vNPQNotUteLT4vF%oQp|JmeuOXZ{?!RDOVM}_H9_;zj zx_*offd)O7MLlT~hM0C12x+DV3O9B+t8Tw^s(WgEW*O>=?w%5kr9u}hyB{s8zyumW zB71$~c&7sTqymzq-gjsb8u94xDYtJ(A~^LUB{p=}K^o->a~8?*PrK z)j0kwivOx!bGm!CD09dE1t`ORQgpH4C&cF!EXH}$yXD3M(JzLmse!jt<_`t8IHzB$ zOsRLX_vZ+qI+JHcpAXl6c*VT-1NwfupzwmIXaK3x)p4uZTW3;VnUe7;-1Y??`~q;( z1Re|8N$;cA!mvXA!3GSz$aY~<@P77gcI}=c(GlT?-z}F%DF#h-E{AWg3p&fy2T*#u z`EO86qWA32I+kN@!W9pE*UDIZ!-=`)($@8c3=e=3oKdgXOT zqVoJrxg_*ORZxNl`XW=8cT=&lvCib;(AO=v7~ai8f78n%TW;)v@y zr-;j;%>OY?@W5ZJARHJEc~j|q%&?+|>SlE$`s6b=mA0~kQ?qd&!mL0GHsRW}B%2CC zZ+J9E1o-nKd~0t4C1QLwLBV}nw92HT`fm68kO9n@J((+z`w?qnUf~R&%vODo!?jGE z{koTXw4znoXJ1rAXsx)3`TsY$hPyBY*lniL-v6Q^Ol!q;+y8@HY`oAH@gjq|-BWa7 z9J5QD=2am34~djnso%odu<7HQ0n@%nJ}>c)a{o5cpDNN^IP3Ntb}>BdDr88s%@cE= z&--G1pvr{V@sT*C2Dz{c`CRd;?FDnYGV(H{mfV|1-#v>xOVfGPQvT;kb1 zx`rNg0)KspFMWymA9O*Tl4uqCgqVL2?wY`BtWlNr3&B+Pueuf4m{i&V47laijku{% z-JzfuL5<&bfoPD?d&{TjOm^f{kMZX@2;%8?$<;?|Fy8x|J>N zyTPTU;vCFK<9w!Lu?0y_x}5!T7=a`hKSJMlSkClcvE@&N^#vP`%`{Rl(~b8r7&w5h zl1M8Q7&cN2>ee*b#^dQ5lL4Y)oo+>OrLR&;k8G$+&@cXLRsf|IN#FsMM1Zd;eQ*T! z&{d1i)IeTY^g%L5o85XXidyMc<;GNvUUFKnxYzw^#m9Y&*XEe1(lBe`)2#e{KMZuf zz3$O|V0C}S<8k*!ZPbTmrW;OlAYNoW4u9fk7Z4Zl&xcM6X3y}FGOJdn zsZ{!OqY1rtvdR~mGwYsIMVq|e0H8}22EwgpMX{WdArd0Q|3=F|L!W?mp&JNrS{f&9 z2K_-0F7%^bTt_)g1UW5L%d9*m%yZXSVrR%t?TThyFL{@zm#*V3kVy3&ka%rE7DAC4 zLM6E`nfF5LTVUmWTHH42jzcZ3NackCzF*5LaSC(~^)@s7TCU+f*R{CQi`XE;5Sessb&}gdH(&HBE8OFK_8wQo4F7|= z?aFjchRM&a2Z4#9KFP1gTQiAW(tpfYTY#S>e?X!KF%g9gvpWXZYlSR_eRIKEc7Ljk5GRTqG$(6L=VF5c$Kj_ znqHTFywRlK4JylQIusac)JUfv^tFejxg^hE@4Ui%fVCvqs|KaBrc52{1x0b)Gyt8| zJuNTjjKl)#=3R5{9~}FT7r;L^OYMp}8CF&*g8RnX>4 zda{c}Y>;|KFQQ+9tKk!5U;5j6@L$tjH<5l%Xz(5a)Qnk`9k|a|n<|8FcBqx8O7E-- zDN!SjPz~F=<`1r{{Z%l6l=+r>SlnLY;?jcc|5l!;^yJ9NyD$D!Zqlhhhz(Q86#&(^x-E zkFW5ES=h~?u!EJEYITj>=_OfTY1uRETMOjCYMy6Fh57h>R>$oSkSr2VF}ND^HMGoD zx0R7*;@C*go98Tz`r}9Y33heplQfww-@RyWSkB;e>O&@VbQ;NcJ)AKk}FB*PU0_VQp*Ty8`s~N!7PyJ-z#(M!9Ovu;QG6oWB30p}I zx_nhBLef@W?YscePJhzQY5Zg>b9T-@f(0@P#=s?69Y(<*e@RmJ)_&B^EP$E`z$h5# zKL;Cc-PqWwsSsv{IX!QY;3)<< z7h01>e^4@f=+ffw?d}KcbhW~ZfKWn>zV)=pk;N}+K?$bwUFhGSK=pLhQRjuE_{Y=i z>$ghPFmdwrA^u)XYTEU5NDpNXj5hqTkgplNBF9+r@3rViA}Cn~X07&9zh2kO zvjBff>t)^UXMN40x|m|>yb!yYl_%+skCVu^`*B~h%3Vw$b)hYR#E{n8n!f%-n7BNh zE{FPk&>b?-Ls$RjlF&&0V8cWJ31BKh{NeN7(5c#7a29gP1W;>QS5G3=nFh>k{52|k zU@L9xt};B4RBKUdYN$$A1^84`z9sz+Dw8Pxf}9;78tbmb8vPf&MrG3C$uEe&2qHc5 zk5GI@;MtVoJ*LjZ?^IPYF!J*68-Gqq-KvuG4e9Hx)K!qU^I5u+uYc$GcoN90Zjw}M zqCqUh%B=>i2JbPLB+P5{qvMBX?xSKNJP`eAb8->oV9HzwO^!rjTXqDPFLap~PHl_d zne{ZzEc?nTG$OPK6Wr98bul?fN$FlBp6I%#3YSFvaYo*zn&cT?32cNm`>T+v5;n$v zM6HD0(QeYA&OAEONZ_Rrc)uHd3j}I7GA5*1Xolk{o9o@2UkS#7Z<`QT*PZ9@cAXCM z*7MC%3!5R3w)-08%^)0ud2Vf#I=+CpJH8g zPcn;wzbS#v@g+C1lEcR-)e)@Na5D{63SuyD3~9{c1(sE`R^gk52gPF~2cQdH-mLfx4zvK7AgKmQ@v&cb-YapPCfjTs|E}?Ja)vZY+gNPRjs3z+H9kF8lL%<*IwR z_^^D{J^kN9pta7R`;5V%NxHMNSe^)>PXtswp)f%}*JEO1`gcdL&j(7&o7&IdW3wRB z6oQr4+m7xjoY9VyOfRb9O~=MBn;Bu~S}bT#2|9V&N+0Iy3cgGV|{k=Dncl z{YIHjvpB7ZUAJX;{Yc^ajUpd-af90zA54*tpx7Dna11O&guYC&pJqD+=crNE?FB*2 zE6mFGyuwj)bYvNhz;+Q;+0r zV0x?Xfr`{P(>S5uv#M!YX0BUV9@|XkemeQfKV*#I^!(uYM%OW!S&Fbsi9hP*P7a3J z1{au_zr>KgHGOZxPh(1Y=PS>=VI;z>fRr^zpgtm!_~@F}3I)TPdNMYSn@hM)wy& zXYQv*jC8oo5~=(2d)7}9FJn^KI^G}E0+5M2CxxnN{(b*ko9ou^9m8Z_SpN+2s-My$ zjGqiSAML8H0((Yt?jot8eXD!H>V?OXhqW-`k_vXK5wBz?h05LBUu#p-_v=t%X3$O7 zfs^=(gao7TA} zup0OEMsl=fn+#%L;8L{U@RIB9j^8@ZG?~dZ0s(G=M;*y?)H;*2@k8??SMoYB!x@#J+8+IzBTn!M6g6z|x z9`3?TvwivFnu-*b&OT3|rp(lM3o1#kvC_UTO|Zh=BUcf*-n=QEGE;9svlPCIGV-!e zlcIzK<>gwe2JCLCKi|(8b9B8=_-y0f7w&D$;?{J=1p3dF0s@=clTIkPYidy+& zy$X$ZE@&hM_Su-XL5Gr5#>zoMQR7K0?NyBjf+o9gwsxLB=isF&_Sk)L5RDZrR*A3g z_4bB$cKNgZ!F{Yo_F<;6_XWklG64mD1@thHxfk?P4r%_oYviM%n#u2%Q~2na`{mX> zYqW!uU{fmYIl-@;c1C73v>W$a@Lh%kR!S7TM=+`Pny%gGZ<#l`8mU;f-)LtJ~pb>e?N3kT)yjWw2a-*;G0;=Cs9TdwA4HuK%aU(+A{y;EMp6fmG$ zZ&2nAil0(~s4qpuV5i5wwUPKU_h0`OEy3cSo}-=O@i;rwl&r6~F3lDm#su(Rh7?A- z-R|=9R_pqaoE7A^$F;qFPM`uAk5?hy%rdvV7PRUTcf zs}R850r9e*?l98W?yjhoaQ4wi1Ymfk6l2AkN#D~Jd_!CmX`A~Ud{<;5vP-##C;2Q} zQqd(8b|R*{E9deXr-h~j=7S&eU!O5eS{w#6yX&?adHDYvkE_)8R=O0euJ>Q*%rw#L zACDUppO^FbF8KU-t$<4&Iy`$5*{l}y74kkXHt3vxN4Q@HxAuH==ZnL8Ml~{ZXx?2Z zArXwUr7ix|l#wIjrk({&^5)|&Lc&Hm)|-raZR93d+{4loy4|nyJlE9DnZRo7#ee!Y z#C^Vf=m1cZs?N_G1hP`qvwqx16CU)^s&`J3fRkH69@SXnrP!AoTNaUcx`}|^~ zEJoWinEtU$^;uy3sWSUwo>|C&zqqFzW?L}fcTOnBD_CR2rTxz{V zCE*4uVqsY2if*xpe^DJUHk@rb+piu(nu}s_UiP=8B$8)H>VG11k=^vVBxXZwf19-U zjkD4qZ(UD*a!50;$&xe&?2=5>-ivF*TExlc%jZwsN5?Fw>)tj0#Wv1^%Y6!~P#{FH zS`?09{|}#W+!XW)?a)7V&w^{0u_`8naGKTdqQ4Ehx6VM=e;@7pI-^h3CzYi9y<(+_SO->O)D zlT*4O`|~K+b(Sfdf}a|Xp{3ND%|PGk9}Cuw#s9#Ev3VxQDX33}Qlhaqqqq%-Y&1zM z^sBhiaU%S?lKjr<;fWoTM^OVUL4Rz!+!L1*aR%;KlXtWuU3(J^_xkG3{?6z%`9Ra` z;;B-7VXtXgVk3sWSJbKHa!WfBgwfB;+q{_keS8rS|8fx-oeFkrapdR{d8wcx7-l`P z=XhFS_X1uMl*|7+{*#YMMep&oE$)`rL2m}fsszf`BQA3c*KEN;Pa?MKVzMZ1UGnMW z@|&{r$DDF1GyZ0ymY>&OmUPC-Vzo*>Z-I3Gr^t0G;Hws89dV<3TT6}?RY1%jY)E&%Os(rHo zzJaJ&w@-!SHMOjNW@apwKeVvpP$&mUL6XFzv!7sKge5V??9!s~O~k$KpWN(yhYbh6 z^Ko+I!jnfa(o@>UdMKY1fSL#i*xaAj5BA)P#X))BjrzS2VML9klI0Vh`5AZ6m+)7E zj;$6!>VODw=TDiHWDO!Awk%`=)pZZFeSDNzDv+yy96q;>9ey0 z`qJUGlI83XHfG6#a4X997r1m|_6wxOR~T+LtgXpDdpE~d_@Ed@d&GuC$pf%2k+z`h z4UDWP8spizVa~o9_3Ay+Q#=l*1UmqFG15JiC(nya>?4u2NHE(3T7EQQT@)aC1eIFX zJ5fhu-QG|se+e##br6{Xa_V*N77X)(`PsH#eLG~Aii!~nQfrSHEj@Z3f|6x{gWzN; zR||xQ-H_0MnBPz|*tsm32I*XH9FRVS$pFS7_B1{1HoPm^OhkPwEaK1iVd4?V>u(s# zjIhyl(B_ySKj;kvaxCKYJ4L6yEMu)8^h8Fpxa%JGlVv5o}fYhvB>1HoqETQrIf zT+3X7s6?hy%Ovb2^kO01`~-NDqEJn zGQbRqt9&Qq$f86)xR;NacL|dkn_t}n<)Us=j9&nA5D!u*{4-=xv#L4rS^y8_DTqEL z+Qck>g^|fL%S1L5W1z?Q2(EI@GWJt?2WhyR0d;SUQs@$C@Fm5OT}~pbAJcJu^rwhn z`~jKt5J}4ldIQGXJ|T*oi~K1{LS(-O#opup1YO6RKY_8H=VTz!f@s2$VN-aW#=LlRUh4ACa zmOk6y-|q;$=8DLEWRT?s05>QCS_uXBMVaczgJb0<%{4f_{0F^g;taw|a5zT>a1}G9 zjWmZTTHv%n(!%}l+B=9&`dsf4>kHAcNtKK}!-#eeDPpaK5e#W_&b@2F{3Jr*L-rSo zF~BVWud`@LJAVnlFh{98uFBbozK(Pn#Xd+@XQwc%Z}AdT+DStIM;;{J1o*y6>+aYP z`WEG&`wqMe!2IytoSVb=dSzA&Ym#5M+>iy*f*xMS=7aLOkVf>XC2aAsSuF6WFzXJY zKSn#Sl!D|u6rDHU2~6YYeOdouIB&C5Uc9WL_oDm>#HM!Q+RbbeRJWiJ>ocuKyR39eOC3>;mdzbSB!b|@x zy17BM-78|%2zY+AU~7Bwu{F~^Jv#v@ve}u zjx}yZOXw&<`fa2-;^!)wazk@wPcNtk|8qTp3-xmTnP{edO2ba5R}AlLZ0(hw;^X1# z-5sp<#sioOqnPV1YEzmr8N1nl9!bW4f{QS46hT{4PX%q6RpTH-c?g|4J)FKsYmsV4 z_jNGy_kAPMg_pkv(hjgo7?L^5Hk$i_oA(KgV7t0R>BYz^W@;a9P4HuSa6@K;s3ltW zM?viZI~j4SrW^`1PeRzHiLR-qD{({8Fq-ah1eVL3@keCV4NiU^q=TQ*V?2P&7kz~t z6qpDAMEs!IE$MO318}8gLyM~%pD3N?X zAYw=6)Lgo!u&amVVz%RA5wZg)!`ZkcK$Q4;qw2t@%7QjEgs9niN`;B4OQqdQDjyF3$ z`opw0-|2oOsO+zHj)ZY{r117N4AiJeqB*}0eVTJU`YWk@YS`uC6kTnVBQb_=HC*~? z;hus{WCEl?(!=;8XV>}6?5~3@pwU24O5VY`pauH;@9SIoynhCj6o4ei-3DNU^eE=X z@wo@u{(`f`oP#;vPTcJ;j93>-F_S3L{YK$xAMJ5>^3@|S1OBm*@`N6M*zY=QjWp+$ z28yLXjMnjYIWr^tXicDWOX93sB(P~$%TvUA9gJ@@1H`@_B~R1~t8t)y7FdHv5glvP zPKwrW@~jOQU@kkGFzYg^7elHuSk@wTEGsQ}5)Up#4D*(l1a6od|6+9z!~wb7J@Ex^ zv{+aKqg`bmL%IM;yYR2|6A-oQmlEp+v39fdi{?iKuEcAq_yTkx|5g`xzTA`h@+jDA zx}X2C=fh~0_NT&<4d34P{!B0@NKhX_}voxkR+NQa(#nIE&@~rtUiB-5{!$5K2snqELFVsJx(9M{1Tt$M26`5@ zUvLTKs}BO?SOdxng1-2R<|M+O%K!tzpZ9riPZT3melishDuUZJa0T#`T_Zf>%U``5 z3FHe-3T(Z~oHGH;q0pva<~Tx%11}EyG^mp;wvNDd!$_^BZNfW=8o`ZsTEyarycF?; z*|5FW*Ob2>UR;cZik%yVVbd$68|n^7niX{TJFQ@NK!FO zw-CGbr_M^`e;kLiLsU7Dt47wRk~uL;5z*_ijazM_#a@fnLtz%~e`xXIUD)@O=p?)~ zraJ|V`(h-z$ZggH2l~4SkAKD&7GNZsEnS=TCNUc!zeUN6V%+vt)@A4Pv_xkUMV?Hw@xxW)Co1g`-}u%eOiOcF#9QH)SwvgH{Pk8js4Wqa zD0JBlE&%oOeXo5@@4)7PKE8v5&~1M9ea6ygR&0BQHr#w~%WH91Okpb~7epaESTmx9 zw;BR-B&gSrW4_#~xs+vW2p7VzMH=w~x%6WA4^k`S3AmNt%SwdwW8`C0TIE{{J0LeV zl=NbZ!&jc9!<#nGW($kgcR)Q<#;^<=%v=VsSCF*ylPrBA7?!ae07lwG+CUHU^|@0I zMIzk>%wN`|&;p`?k1K3f+e-M2$`G>51tNH=p8FQS?rN!)@-e-I{Iv$gg){I#jZc(7tl47y4gbhU1*Bc2gqN0%xw%}KzM^!lD_GtFZf_CI4Bm1cH*G$So4n+&cp;#2j(R{ zhEKKNxV;A5;Tku+=eXQzfy$UmNI#U{kFgyU-ONOcfRdy`K^1&X!C3EW(1#X>jUd`X zHkbi`n^$PxEnWg0!<6PH8LywC`4Tg~3C|(qnq9BqRTn{4_>YUConQ4uuSNUdzK{M0 zG!`<~(io6i!k9IGwkP-GsHiiHHNwO|M!7aHIrDhw?-))h2mpK`Yy=||_@+@W#G2vZ zHPjN4JyJexkC_2-($*GD1`zuM1aOV;XH3L|Y|umL6+61MxiVr8ynH?OGko4~nK#Py z3sIj`5uO(0iZz`dYw63ew>UOXgtw`nVjZ>Qw``rNGFUfUGQw@pV(QtjqE@Lsh~nx>u|3AzF66>BO#MXchMC~=dj!pvJ;A_iaFn5Pu(JX{ny6_Sv=v#mXmv&7 zF=B`NHpq2Uu~Gw~eh0;VGsGHIrZfTi(L3j|^!OGh(;vSd+}Sx2Uy2X!s$EN3LOymt z{EnOj_MyHiMIv!N?joDQ?#T6fobP)C<(oGepK0D8sDLK{1`z{paF1^_)GEUI8r9T{qAbZcg;W?V?8Xljsp8t9aDDP*> z+B4>Ioa7lBnK65vgK84i?M5ihwj{e@Ru>t9Eqdn#Ee|}E&W_MrMdw7tG|;lfC|~@% zThpxWX^Zu{?NCeTEjebGgXl^My<6H`dm0}T3m1MxFBe_J#UANLkLqI5AEFJ| z>R{e;2f+{7IlLhTU5u{h9KVZriGE6BITC|nw1o~X!cF3Vy$ekk3vb>3j~ypAV|9rj z8^PQJqbd!X#*3Es6kGyX|HkZfLKe0qER%H5zc!-DM&YfI#lqet!zD|xp*y#c_Ji^9 zk$bZK&JR;;Ws8{<%!A9VpW8^e2;>mfk%-?^{sjNtU)pufxn*;@l&!HTD8%IM^#MHw zG~Je*xh5Cz74nB5wI;o!5^es5=-3)Dq(_4a^T$$>pZ7hWl**SVMZ#}1ZJ`J4v9P>` zcld_5DAZ%j7b8JBJoFly8QyyIjHt6@{@QZh2D9kI7*@K{Jx2b5sQFe6G6QV&SpC;t-fM=6V_iyy_5(xrA{SUlF%nHyCt-n4oNZh6l_WnGuuOoN z@0?9SeANpdH~d>Ch&NKY4XaT5%j$sFPg+=9s8*@MPPL_Xwp{;quO z+$$kpL}M+`A}dNX)+%~1*ZcANMY>$2hkWCo;#p=ZJXvgbYx3o|DNzDF5_pc)>X-}9 zxw)a%%Y|e4g%&MNWujjki{2tQsb0F`BCI^%}~i%3f%#s+-$w_HZy81mp9I$L4({?(sN%b6`%$r6Tl`XRZ3^-R&2Xia{JJ}PuB z$U>XCHzJv3Vk=5{O)pa<(OZtCbgP=Sm_H>-A||r6s?LdjClz*ipWZEkNOvM*M5%@V z`79n;IZ!+QhghnI%{_*;Hd!TMGFYhELgeR3q+zojyl7q3A5Xs_%x8da32sN66UE|f zAq9W6-6gOe^&B@`I!HG3W%O7)OnBF@X>u3{VMAAc-O;1bZlcPWv``e1Kv<;S5$_Hw zS+v|13)M|TWb3j^;iR?sUQYT(qOoJHsML{C^@38hlnA9OHr zkoLbNj)%?>W&>MZ6n;cZEq`FpY_4&dp$HdFICl$|#pTNj0=RpKLfnTzMU&G+lnEu7p#i1k~ghM$!4z@5O~`)?$~4#e9g9(2Swc6EO(-NWDoANxDB< z$9#1BLQ9C?Xy0YF;#>Iw%QVafV#Lk~iN-YQM^>Jw2nG^d;A#@3mvBR@s7cI@Ze#1Y zqA&OzTp-FoiR4HU;jUnzCWO){r~?Gk}!l2?fTg*G?j$b z&Lwo|$B^VlHH5DG7<#*Hwe3(5lKD}FXb3|xBuQ(hAGel%O@$C`Q)?x)pS5$gvva=Z zem{Snb$adWbzZOMkH_Qje7@xAeh#<$l>${WOE23)Vj5jd0)5-W9M>WE4z=t z{yk(czt`WR-;w!2ph=9KV->(0__w54YT0sJ`%w1pn%DSx%gm%`HU6HF4rW-YYt|gW z_pH3f^}>iqW6vCGI)TgiUt<6Zj$8h%SEcuydxHJ=vT3(*8^j7fulG|HzSH}f8HrhO zhRSX|_Rn8|5%^oq1WjPl+-!2&rrh<8IYxUOnqS9{#TJ_u5SejMZ)j}1fXoI0sT^7z zc$)X5jvt2wndYg-bElMT57~>4YXL>Y8*~2@KP=wT?|;(OcS*;gwbs|0X=giFcV@j0 zYlKq03=P{phdd~bM1FkKxhefO^6Y)N>9CdFow$W}9ZF4Q@xn9lH@^<9OApY%2If!048ZRUzSJXiIvl z{A0aHLSFro4$vt=-3nc`X*Mn9HwK;jv-7kr(DXkt<&2+eolz8z`K1Xe$@fU%L_}12 z8Io)q73z%BWPdq~{x|>o;MpmeItI9o{9p&)=f!D7RB;6 z;rSe>w{ssGa^6`P%GjRBN4?JUjBz;+HAd|32wnnffuwV!1lYlL43jBL`Ps$yi=~$| zz()i3<}2_}zkypoSU*pRn^7D&=uAmd3k2eS)_4g!lL@6o!Decp0*NXn2pd+_(wf8DT|(EX5-30wM|sRsk>3_3`*> z$;{k;yyVQJPq^F49pW^`NN`Fgl!^E(m-ZgF&GkIAKf2PGV@mG(lr#rj3nz6Efv94q zZZB)3QB=Jq7jl-T1dZ!NLVdYRqa}EZEljO_Z(o(T8%=Zv`MiZjQT`CJBbV|oOwNzT+(%0tCYAN=R1B*CAbqk_Oc)%E-MA@CtfU_Aa874N&mzKk6W=|WBo4J7Z47ilNH zmY19eKy)J;zz=Sq)D3@ez1EuXZ-x@`!S&Z`J010t-uT?oL~`rIrY!vaO=w`B5Psg< zh{jPpWs2ip7P#<+*|vX#h}1f=MHt?1)v`k@j&*|BO{*{;li-6TNHQ67x9#)A)V{LW zrpPRCM}lke2)XbHw*B-rS4KOH`N(pcI>q`e?DMU9luekOUR_2n^NAkkKFRFtWwwe{ zXy06o@G|JemAWxH_~D)OW`+KZgdEDDavW^miRYF5n{exEZ!-NOol274K(wuDc;h!w1<3Tg!+)Ig&_o2oe3%eae9x9n`dLy$s~xVO4a zn1^p*JpKuJPVdjK%(@E}5ZU}T${`D52D2uQm%jz+V`Jvj;Qo`7)DKK=1z(2cf7CZm zWqH>zH!wOo-HF#XNEosbBHnQ!5Qq#Fz1c6x(pLZ7?qSG7GUjLV=L3P1biev8B$x4`t|BA8tvm}f{Bw*)sYfa=2Ll1WEd`02R;^q^H za`Ag`bD#L4t|9HKI=OTQl%XlFzrlF+n*IaP#aqS`10yaj6$!=W~d`X_?z$?8W3+w z$_V)ns6@-+ZHs7R%$Y0XJ6G668c-2mP`Xw!Z}MIdaLJ#Vov9*H6AR&>PV2_N2Wc@Qpn(}N zia`PuUc)l=Tw;GGShCxNKN`~oXTDkAy^1VXq%)yKdpmSQrfN9Y+4#9WaKQR+k^TAA z-MM|8jrZ~cyFUz0LYQV?#WgEE9;>%3 zb#etRTIn>JYsVQZm#-WX zS#kBYVdV4%e-r=bx){Kjo(8UC{Oo+EYc$Of8p4%e3oxW#%4*2`287cBbG4~%tpY1+ zn1o^rCsWcGp?HHVSXJCgkVP|zWHx~;PNUoxn~oXR*Kz{!N|}=?xtC#Kc}tpDG+a$A z-fJfDM|9$U%Q2YhsU=UAr!ZDC`t_5N#-pPM7#*{AA+zCV(+OJ4Fz}Q#<|AD)BW4X{ zP+$J?()J()0mbHyP^`tn)QYp68C2NIvVgC7Egt;W;Tse_DEy<3!5YKO;LFoVcLg>Q zbOx)!b-ktn6a8RQ+&ha4HrD2rjX!uQR5|vvb0ovDDcn*%0b0CI`~x^;Yb`fidVEi7 z($8a6h7#lTQ#wX=WJ~MafGNCXwn#EPJ+1|eq-`8x5k|h3|2bp2~9P@?~oDE{nz?afR_@0#`IOegng?WmKf~()xR3lYTPXYYL1< zCeTxb!N9$riojejoe?HB=vT9r*&eaNsIr`=qMp!QAw$vYc+8lm#qiAuxitp2C@^QFI)HBw2tt$|H_}^|2rtT zL0z_Y$G;e^VFYIbXKku=UEmpXYaQdN#-1j#;9LFg6dCvjJLn@Andq_?Khe@}&;`_d zUHH^cU8oXPg6nuY)tzc|vSjZb$#h@Oyr7 z%j=r_yUBGCxU63BhfMVc{(G6I4&0baSi!p2c1>Ga%~xiU%XhXUKel8Wfl zd&nK$^xr;%`Awub8kyyIGtq&0@Sx0ESo(b`t~IXf(AfF6Bsa@5GN~9faDc>|xy-qh zav_t-n@l;$*dQ<;oB!~m6c7Ej)FJ1AshOsBn*$v47UOJ7T(9zE?_#rfE;QX1@5_y= zsCP+g6#a)6w=Cx}s_4S$-rI8xM4YoicmLt;!mCJI&AMEC`y#ofGKj7+l3rZa7CVti z{m(g~BtzCGDDT{+*4)My`{6yhVnt62mCw$rS5%`#5*- zw$?Um{8$+INc{ljfFm-q9G(?lf6F`l>!`-JM`x&$we~`wKthw5-~+ znr=mx&Qm6NbL?z$BOu;&;6Y~P!``v3ij)(s?bZvQFeZL29xlBmt?qP>9ln1B^+n+4v2|*_FwW+sHJrRbQP`(~ z>+uTNLZ#YNun1h<7X0JX#ob0fTTs#rn-d$KMP)AIlX_FV(CJyY*PaFFT+1@c{07DX zt)g%8vhM@u`~-R6kw`V@(Ps~*B(uO*aTdlpWMP->q%PHT+_I!wob`Fdp|^_q&ft$y zQG#uG7M77{OFmFe<+E>}M|bv?Ue|t*;J@XLhjOrd55_ZRO}TS37+z0z_~}QM^0Cqx zctaBWeg2_`-({V_MV#|)Rl+;?T_T?z4$k8FeoZXifoZB*l>q}9{eu{q>Wi+hH#tk_ z*3KZ9@fg0mV#p_>PlUfWKSooJa}>UZURS!^<5>sM%bmfnLw972uo7|FHyeMQr&34mO0`AabPc%K7j$Q79Uc5y4q?{9`p5-|V zW5>s197riQtvq(Q6U^qFbj_2Tx4+AWRs>j~Gl&m8Q9hIB62{v_Zxy(oxiR zko?Y?3f=X~$T%d_|AN|k8zXFP?_B8p!+)-@9H^@=;U&4` z9tCS}-K_zMmKjqTfN*xBzGezv2d_t}P1UAL22lzA_Ok2Net$mZSjMko$gz_2j>r|j z!PuL$Ix84q{V1{5gjjx4YwFF%mVlIdq|Iu&2E7pm1hW^IwOh;Oe_9{9%dctz-O?H< zx~1?g^=y;yf2{AaAB`(?h1q@@qs-2=(^eXfy}kqd2}G*tS=yjG=%C4%Mc;$3{EK|g zlDMo4>y!YInfRO)P?}-qdwC@Ghen=la?BE+5zGb`P-nG*cb_O$BGUfQ-G%26=jydb zpigziXuprHQ1sI}XZcC;UTi)scO=s?LQCG-=`24(dJy+WUmqtjP&>&3ortdOI}yq9)xZ z1XRDb8`rTa?F_D4o%FnnqFY$x4gBl?WZ?Q=04Lfusb>)f8A@(pZ{&un|J(Wb7QRJt z;G!N-6>{!ZGR`EX$@SZ5-pW&=&c-P^H?Aep6a61tq>JO!FouI&2Rd*VxTaWZ(rm$# z$HZ`V9>$YHi-fFQ-q#r2&Tt5W_KjMlDdavBkL?i9BH3#j6D%gbEeP}yl#Umk>?MRb zTIJ9&XQRTj9di=x!tpOKsEzxSJC?iwY?p;Ai(3_&21_^P;wQxqp!{nLcnMAl79}}4GNI=8SDJ&PyF=(KLpQvrJbWL z`yyp50bdxlln{-I%5?3Qp*6^cBcMnv%Sl#|9}nhnmd(|tJU@UA7ix!0bVPcZv+Q?! z*L##slQALqnWieeRUlhC5P88Z|*Q~s%!1I8`)3EKwG?bmvx=<>Bchx7PrI4c7>8_htDE(1&k+_GX5YqjL@mX z2qXJTui4`M;AR>QcG>RL%I|=h=@5s!@9H6l;*jHD3Vni~Pdo*LDP}q&+#fgXr+{gs zKpVu*paP4;jdbY#KeocP1k&n|7^6bQ5dgDM$&FDX<07!*GokL}I(*ZA%Mbch#PS(6 zXkD)c$52xF9!kWK_;?sJEH@K9PCyR&s>*I#8ylPLX|S}8A%s%Db45FV3{6E}qZ)DW z#Q}}=V9b5(W;OnO>_jBE7qYM>qW%^pEoQiaj^B^x@6Wx{pJ6ynHCSgT5fw9#V$p0vm0?)MNkq{4Ef8{8jWK zijfKg*bV2n}ii z=RnQ@vcdBVyONFC|X_qV5|qin2%7$ zq#x}P>A(SD+}n{2v!bLon{yta!CzZoK1V;P3$kNgK&RFL0uH>N<-)4}v&%|;*@Zo=uk3z>Q1N>N zE2AW|6my{>Lof>kCU%VLSXc5beP+*@LC1Rf)>b!j!o!M2e=6j3Hj1|+mRy ziI_+#YZS-u^iuD=ufXX$o0~UgO7=x3`27U%g#N2=uN)+z4we_RkUi z*P&h!fisjVb|W^f+LQ^<}b_I#EvPKb5{fatqxBgui%q{HlpMM#XNXX+5cd`K)B<6I! z=5-~MyvG_$kF<&Y>L87!?5s7$##@M950S~A!W1Lpk%^Qv;oGxj@R8-5bCq*5#bHe@ znK*h^6lk;e>_!&*V$NMwz`cmjW)QsL83Io|N&pCxS*7ziv<@HM3XHYM@B({$hrb0O z>(Py+e3&DNhqfU!5@F0~I~D`SIZIu!u>n3hg)DBqF0nUuIL_rvT|Sp^{|r}H+gZ2; z{_ub!C8T{SM5~{Yw!@`Ii?--(u(z6^`_gE)`i|Z+dZHn z4rC3P$!Hcw7|pa2>Hqfkqh%GXyw2v&KcbU%Bm1yz1h|lJ2@uf2ikO!<&@?35dXZX+-&dahKs2HGA9CT|DwY#VxtAN30Q=4Y41i}0*$-Bw5% zlJ_JMn`8~_W{OgmL}Beul}2ry;GNm$vTz;5K-PZ7>w?GSP*i;zar-U!-=2M>56~oR z9J;EAhs=8M8*&)vwE21fXNkZbS`F5AzC<$wRc)>0tub^<5aSpAp1f%gylxY%J%&P> zon?c`Gjmf>7ounWVC1Te9nn*kX9REe8yK7skVa{jRG`zZD4 zLhRrWOMX0BZ6MBZ;aUz_;1sL5PucW+w(;2xFin*(>U5)t!s2Z`O#ZiV`)*?Zx~Ge> zu`iuxuo(;E+ejINQp>0HIR~sZik@KkZ+IcdO?l8`#3|h98f^*6H6-q~p;=VuqQR)l z+Xy|#9paMhGmZzi`vx5Pv;>c(Bad}AH5LC0-^PrPut!TnLWNPx#&yV5 zRf4iU0;7Kh8&b85YGb~uyc}j|^ar(*av2f*33Kb{LA6X$~;EqgaWrrk%Xl>IzJ2C&MY_kx+Iy)4F+EOK0*`ai0fYN%Iu|Z5gWUGP>;i|YQQdN%s z<$j91uzTD(JPuiWyB68mcs%A|@elM-3Ga8a@!DKGJgM(y=PZIFbA1{QWttH||ld z^@iCk#$K4F7e1EU$|VVhYt?IxD0b8vTepEv_abH4!r2N%jY-g4bukINNo9;sglaoc z^WeF?ix}Kb$8m<*tsW7s`K2hwue*B3X89>?>wyaG&57Ou|I6k$#UeRl+31|NeQ!W9 zI+cx0>bSvs;8eoRT`XhhDopuV3P;LmAQam1kvXD0aV}@n&%{ha{Tti%x3mt4qx?9A z%gIrFsM)q}1><*SDitX z+zH;D9LWgUU@6Ne%n9sXN62*&KTl?k`tG5)VPf-KXpX!|v%!cU#uD8Q=)2JxxG+Co?LmO^3+x zbU`!INI(h)9BZ%rMIXU2L({so8JJ)w>JNV<-7;72rdlhrl#t zJtTL5#x7X7n5WdA;|nUPOhE)PM>~&QKhExWHiLE>d&9SXHabVsLx)+DI9|5(#4JF^ z#icF6&9J( z?1oI>Qz2thr@*{sf6SC+_!2xqEvPq~GdS@G^_pSXOPmNPOl{fFTscrKzax*pXmZM+ z2)c{aQs@)%tR6N&%IZs-ALiewtk(RNs!za86R;i$z#X`~%s*9iu( zXZ^w-+ygmvXd=!>jJaR2y1{Jk56l3A;2vtuF1~8CMy7{~gg+X+VK7TmxlkFbJg6iu z$8DTL2H)LIWtnn0%o-yhm%T@{nz&X%r$+vXP&Ab17&}G!-)9F4FX6*Ec0Y^%LJoh% z|2Qd3W2RDu^xp7=e*Jz5=bRIp!~080xi)3lD&8OZxrDPC4LI>8Ai)tf{0tGRTxZ;W zP5N;_m)=WmZDSjJlnK2;!imRK0Cy?jga-KxK1RISb`2-nG~smVQ$i`D*Y>LQ-OCL? zxSFIwgl+X~&J%P;jPP?P0|77KjvslkYFphS{Iov{eP_s-QHo6xpW#0QAADjOB>R+K zpR=!FMMUu7AUzv%Z;0Q;u0I5eOw53ouZwq$dG5H;fgs=WiDx?3cDj*4;J~?K>7U%f!-paBMvQ}kak4tv_f!j0TaV9N?N}{Do-*px*eUVE7PfNda8nBBq7_0G^A~2JA zm#Kdf1&Q@GlQ-YFSyR<#tF-2PKqpepB;LUv{nX_C^OkmK6hU+h=Iir&+aqxG0T-Vs zQf2NXWV>3pP;Q=!$8{6(lW^*E-W6%MT4*m%^ZPu7e5_2bP}>nm`&BHzj-IZmkl(`} zT0|@w>S577!7~K+@TU9t-C|%lt^au7XX;;y{_WUaj8Ogw@8geuGDgVL#PwD4(^!@)+>iTuhg{fS%NX;d(~qD@?aMCm z<)=igu^h>7v{Nx{GDlTm@3D%n=GMu1yuq)r*5Tkd-pZfk(d%9-+zsgWH_y+hGQa98 z2+gXz65H;QbP4fGz)UsR&Z&mdmcC{;5AteYK8!19pUfY`cMg{Ctuy;v0&CzD~TIr?UnI-^aHAz`M6FSzGTsDfYV_&SDp~EEk1Z5#U#XOT}1+Ix7ZYr{g?jIx`>=6uZo@eK1Ht+tty-n0wtB^x=;!WiK9a?gMREw;Ims?Kf_Le@{Ud|ow%l}+Ne;M;?<=*Z}M!6~T{7bVvfA0zhD(GWa0zvh?rIT<$46tjc&gP>? zYuE;Rcg1;YchuM&C*-yt=5nCmtNZd5UMQ$6Ikc-#%3*J(R`>}+;{ z-81K^*e5?4X&3Ni*8sla#gi``%&)f|D#?vL~c7BVrgczj^PPKwsm)H59@7Z z4`v&?2>c`#+Z^84tD`IXFX5L&+;6stQid&#a0@|s)V81Bvqt!NOuro+XfiT#4fKN-Z3kI(HJ5Ju33}Bf*xuY2)a!y&nmkmn z4Sz6`56^^mcS9izrG7O$(hcS%6PgFbdW!CYcFreped28646dgU80w0v5VR4#GX71s#Xi>dFD-;JxvaVh=%8p85K$681hD3oQW@}GlI!zp*QX2R)gO?tqOEH}R= zz2NQ$YPV6?^e-rRbvM(p`x!7}jj?1F%kb$^?-cd*iI2c+5$f&E7!aR!D~&%gFoljZ>~CdpxTzT!j#b~STfas74AOq zloT%A*ul^z)b4FfPk{fb`8!KE3e2Ka67Yw%IVh+dN%oCya^6?f_MS3GAbAhzobiM% zY7Cij+D*0%n*DYN&Kpg;d$5?0}M3p=1 zjK0w625ke_dX>?64vLk$xX5-zv@8RGN4zuBl?$4>aalXmJ4M&pKulEn|nMi!G5Sc30k)S`a@|CNP>|J+VDalk~frU7_1$8&rhd64(~Ia$<-=i)|0mEu>~=^2&x(}En5W5kDb~k23xLX7k63Q=T;=` zRNsbqIrw|Jkq0}yVTs1OuOOtAe#oX3n z{h+6k*Hcc*@00dozttQ*&iyIAFmi)db8%f1XM6eJ9@xP$ zT5c8;F2RDlz%l%^hA)E!aY;V`dryVqyJur=^z}xvs6qlTz0AutTTP}FI&!ZcTQb^H z<8(Yf@L}k^SkHQg8#!EJjj``F3VUq4C7cP8X)$5KuFeO#N25N8Sdy92zdE$6rF*|t zIPXSV17e10+eh@1pesmWZ{pmT53_fTDtA;l^^#bI{L6~)4lzmofC#R$b@NR@RM)?q zmiU#2^G`P%vE&ho0cPuaOROvX9zUIb576lM!hr_fG?5^7$*RLDH9XwzHy>}v{2`!-6t_+b!RN-iX(6>?=(c1I?acMe|Z zH;Wdk4u=)FYW34ie{T7F>%O0vqgW?#l~amCUUu9>3Z}{LiCWr|>cHuUp)7Y&79i+& z*IBPJ1l+#g^W6PzqMnCm=8jja()Q_@DueBN*2>-C;v0jG)Q*>j%Wc@f6Ct0!DJm^% zUA2GG#V*T?y#f}x=H=iTmb>jZUwDRtNaN>o+-xiPLPvpC&~$EGPUGSN{yytPje=Wa z3=Uw&>X)mlO&L9Y9zcyT(5a_5xki|-ueZi;{!!UI%<}8{SF3dfQ8%g(E}O;mkY zMds=?Lkxts$Ahzkc}OZ$kPS&IIo`HaayX;?tCn&xUDIsjQ0=i{HV3)6Z9|V*7itn+ zC#wKPD*khwDuAwN%A!922kK2Cg^+yrjt_2bwo1@n3 zqcU)%$Kh%d<-fvWPn(O@+)liI$%UldPHpcj#jcb)aaH~;!2!8+p&faR;^EgIsdyP} z_MwjZ_)`m?fG_O0f;d}bOA`+-nA!2Fa8N<*q&&z8uj~%7Or+yihXmS;kw4QLOLUx9 zV741jz%94&wv9*MKBG#F9B2=cJ!D;P%vimDD);hngtmD;A03ZCT4_`BYZeQnj?)=*PDScf=)Qkg%56#a-g~T)=RyA0^Rzcl*B?G$i-yrk!i)2-yYJFW?y*~C> z?W_KQ>&~iKz4Ag1!dv}C^BGSA0zCJw{K#RXZjyqR-b|{Zck0i%F`kj@txYXN)iK>H z0nM}!hy(rZf=vskzRLL8Y?%qW=rmrK&vkG?9tXNJmgi0$+gnhBKbr{-)z(qmEWg!w@M=aB1PxLk$p6CcE5 zk$k0gE(95vYTJRoao2#uh+TkI*cjsQrj40TNE#Y-*L<3ra?Locb>Xfsff-ynCa28( zHMdFs3Y=t6TkYRvRz2*S{z*Q_niDWCH;nwl9a;d`@fLF*(Rouj9s%EFg(`ZB+^mm+ zOHGa(&Un<(vX&Mz8b8N-AvZZ!@mv2>StGQ6Z%~1s;k*@+xdBzOg(_RmTuvQ5e$uk4 zp1E9!BQ=LsM-&Odfu>-tp;eX8D?qy9Dxv#v7MKMuvrHq)Pm%9327E9o%N9eG4w;0} z0R==5+$w&`2HB0ro3u{L%h;S>?-&;hZU(GitBFv0UWc}KkXar>U~hOpJzd~)3|*`c zorFf>Q|jf5=*X<5(QmAQYuE3->hc;XF;TDKZ=!%BXZmBw1B|2&PcW&Pk3y6!q4%${Qvtb?_>u%kbm$v|{#RfIEXvI;VlN$aOYn^qf zCJ+DT9@Ka20OZ|)f4quGXMicmu1gMW?!`BG@(*WK%36Sp*wtiL%Ax(Oz?MOQ^|DWU zTH`{~X%Bq(3cvwBCH+gS&C=wk(t9%^c*%%#tfczSzTm9HtNm^g5>Wwwy#$8?!k9IT zNMpyIFH*Ny3jv5g4@g(~1KXdM9KAG1ry`rNjbEgd;(L^EqvkLV*Z5h+$gTK%g%U3O z4YBqL9}i7WvsKMu=@#`>6KdivbS@D_Ydpa7Gof0wV@cB)e{&Yo7B{UqLh_*l03jSso*TRf)@X{pk7-BPKI=I!6 zuAl+cU=U($PoX&AyU*j#r;*7MI0s?==9c0ND|u8oIam*@!LX$2G@s#^B8$0FtDdHt z4IACjHWMf>#}9nuk1v@RC!L9t!j}6h@t1IG3K%j#8H2sTR$V*Vtm_Mxs;HmbN*IPD zu6(hv^rg;gK=6UX=*}ooQRbjmbT(ys1>1s^&LpT2~;SexR zIs+|o#~61ozZA%GJ~pUJRR%xM`3@pm;TCt5rd)oCa`gu=3}1$hbH@}5>n+nbUnb+) zDv@6&y8b*-X&+fG2v+TUiC?#4(B`9Cb&2JXAu2^0M54_-jZeVF!5iH5ZTq=4tu8wp zZ99d}l5VK88hy3$wT)lMp$>R(062l;z6nTB_EqwSx2vFK9Ii=Nt1n?e+H`S{ZDlaN zCA@<_4<23-IayUa*7-2d#ibPv{I%SwQ@nc%z#9wBCX%!_XFF(Sas-ocgIPJ=0ed<1 zmiPrcqiAjiyLVEcQ`oo)^8~%7N<2Sz#c^(k?z>JgcRmlXj&U0a%#gYvkZa-=!t$XIv>t87V#N~14^J=5nX@eoI?EEAGMGnh zxUgY)aVMl4&N-uWs{oD-lfG7x(;1v$(rhIo4KxhrNR{SFO381)HXWl9I5CWOO9`ej zl7{iFDaC&`!ne?4D*F~F;xt20*{9Idrh>Ewyn5{{>&39;sY=G1-+;|JCspyb!9<8f z93jU`&zaQ3sla)RXN9dEjCZ6-omDdqJB3+7z1(6qJS&v_i2QhNxlb=N@b;X3`xu6B z=)g^7-)KC!02Vq+(17oObI^UTf{6$uXpCs6(IE~%t?uZT{A%lLxKL-m8LpUP^B=)@ zHcpfN6kV~y@5gs}Oewdr*B<9P>Sm1qregO`07ISwL4X_lB}M3wt99<<4Y(r{nE|!E zSw}6e_o3@x&7W*&=#=LkY&hONlGs-GER52J44pT1nvVDp0rT>*-K~dDuv325rxG#XK9M1`$T8VzvX5gPkIY*E5&I}$3x=AR&e#ANOMxn7&@c_>K zm`Y>@@6;5$mRc>Ih^BdZX@W1~8H;euX<`=kc3K?VTC%a$AL4^E^#jcR&6szqPbm=H zr$ka2XOu1#!0juvcXB5*Pq%P$iyN|MTs4YbyB;2HVlI5guwix9S@ol(*2Pa1(I>^T z;TJl2)Jf(dLbEQ9IjQ{}j#Nc5PHGpzbY)xANwPc95<(t*QaA_hd+Wt}^BWYQJE0On zzd@0@Xcgl*+@JZuCP*IvOyULBS?6nusbBw4NgN@s2iSUA%W_rJ4Y_4nf9d~PpGw{e zy`hN8>2u-awaDbnJa7qqy$(hqQHYtXUGF7bRD-$~`Ws{WtVeFp*ubtE)Mj3};KCFx zG>_QSc`C8mI*`@@Ohrdk03#VS7FyI93dm1pUQIJHVV6ZQ|6R3DjJwcD^rYw%JFc)e?6H!}= zcCi5v)X}tW8OY(Me0{$*aer&xxesII`K9yjbx-d%jeHth{$;hq5 z*K;%@fQSn~OdhWxh$8O4`7x4;7kFuT*NgY8m6L0&5#C3fjN}U39Zq~|0=fBbp{_^D z$c`sxDSBYR{sH-;WQ09zlnqjI1m@TaPMlYX4OSkycLQqRWfY_^=fh0mv=h(P=-f4aN2^%rJ+d)c|I8o~Ats_^ConUj}EQ(pmV*`J7p1Q}K$mw_$CCXAW zE-Jdr-wQ^~zx5raMP^{CI1^?SmE%DMgX~PP?s-F-uRl zEdC@^mUsL%8zuy7by_z+&ZRyo$HhwS5f)0x4fv9_FQcJ>;pnak$N@)3!pBnZ(b#E6 zod(P8*xE zXnT6XZ3kU12QcLS<7Os|-DnP>ATTBFH&|b86`niZFGrkB7XKyejypBZC1IYN=>M(| zTN|~aI1O?r!^S_&!fxBc>Yl;G)w8-RgKZ^Ef5AmPk=qoqvDkvP8^a)1o8wgS3is|J z9i>lOa|lnt?a{s-b>dP;XWO7)Cfp_ynrI-FOHSCK6MSp3xM;q{pE6ie@__D@;;Oci z-@qL@VMSs$=a?G{;g;X^DQVgc5A+PK0NGLy`4XjhIqWI@Zky(p8nNubn@)T!r>_yq zztkHCxg&wGyo(o|vovio+qJ%sGmNwtVXQ#YMjykQj>fkT)L-Of>@uWTSvpdI##|;5 zgEHCD(jjt5nCw&?9`}FO1fWvVv?pIN`Zrd8YX*Jb_8dJ%hjk%;~-s5S)DzX~Qn`s|+R$uKp6cq1B^Zvc9RP391>_Uv3y5oA^ zw{#rX%wkJlem+>zG#&=R;kYhyTnau@y4;%K(1+eB9$32NwpcPodhG;nR1+%MX* zn_m?hc6xnD2YXy2c@igrP1BrDOVFIX9==`|`vsDu>k`x$`&^n&b_QGaKzCvUBTyH4 z)Jw~~MZT=L)rDNhTm3BBTg4dxsZyKCQ*v;cT{n+vfg%O zcm-qW%I*+n4ioktl$LUUk&4|*`{LX&wKkM+V0sMYi?5R00cT(8M3Z@f!Crc-&8=PL@H(c7P7F7CoU?M|iqELKnz>Y#~+Bg0|YXY$2_7enn-MNC-}1;R_Vo4^$2()n#G z&Vr3`?*=pfaS+*Kq&!N~%1qSu)%U;f#}zkd=Cyr@fVAv8;g#$)I_p|^_a}MuK`tKE zmR6XaQARmM8HG>PIF7FntYvua|0GM?61F_@VytbrR8k%EWZtbs@DXBOEk?r(2h9T5 zjhINnii?Fu&y+(W#m@ zMYrxNU^Gl3-jC1NBbSdJNf+#{dEH9c{-2TnHP zw;LeFT#R-c_0%Tbe)Ng-Y;Q-zx0`r(2Evq|Yaq_B+0{r6K8vW2!in#-h281()#%ZY zsDnvXfb5oDCm%`Sdoj=LFqU$>pk#ZRBX`_EUfZ??1ub2iE`8<;?ev5h%Jw^LMoEh$ z@#dS)WzL<(flsLVB+)SEG~r;T9mF=TYoO1lq^|~=Z$cL)b4c)TQ^r%|-3l*Y`Y6cG z*7pg`%f1eVoB>iWpM%(@-@Bb1RZvUPLF`zVE?`iT$AsH^C1R zj2Vf_`a6`vjX>BKEE$e6`4%A6e|bTpL%MB&V1_U7$6TVVp(-d3lFh&qCv@VQbnWk< z_)NL%oZkFD*!&(km?`$F)%&7x97a*NoY7@XK32(gz!W|5?VXykJ!sUe)2jsfFMG>o z&X?^Lcdzsv0T_p(G+s49W-s2sc@WvDQ!LX#O+VB~0Fu0UUwL?E3t9U z+CDxJxqS`z7e1EMu-zRVITcz3i|5D_&65Z5VO}(1Uw>^J+-l94{Z%mu)deo=-*N3D z?Vkz#ibmaFb6eq8*|-#~onmU)5x4sHw6K$4%0GGK@z5N?smd$0YoMxl$gtKLF&bZC znY-0mwC)xCDzf{0XAku9tGJdiM`0pG>SC~cMU0X6Y&*u0+cY1a4&}f2TSz-azauaD zDssQawM>=zTaIkCZV7xvua0x)`B)BbwfY3V0;VV#yRe0Q6;WIvy}Z3*4t&{Qr8P@UoF(1VMR4LT-CEoAI<)J)(r+|2H$&lx zl3F0KZes(oQ77DvdRFi+K|*73l&GP~OXF67&z+A(H{kaQW5YH!@agw;n(e@K3Y;+l zTzMMYDq)C4HHxXT~$96uh|Fc{H{Z^&^s7owIBl5S&KQGX5WXZ`l>) z_l6Cts0ausAq@gQK)SnBln!Zz6lsu-VMvvhlFnhIk(TbEJEUtE7#KQ+9AJQ%oB#6x zp8E^j@AkT0?7h~$j=lF8$9bHLoG2}GYR^oq`^53T%8G`iMuWV-o9*{ot95D@6=d`3~++sEN9C1n@5uq&x#T((28&$qV8MPrLAnU30n*E4gS$ za2x&e&pJ(MYYR5V%Jq~llZ^v^Xi;t6H1~0!F4GRZY6wZ~&HlrJLwAh? z3~%3{H#w>3pg9)l`)zNo`dM&2$rB>O zN?SN(ZMmM*Kc_d}ZcU!^U)o7WUZRA%(kQQiVqs}F`QzV0Yweq)mwE6kjN90*bieR-Wq=iX@!F4PKfVVEL)8E%4-`11g+1Q3eT6U^l93)nx?t6cH>R zAcn2s!QqGEs@7J!R~bieBnVt$%7J`d@W{Frk(^y&kY&II-Rf1pc*jYs>;D`6|L((C za7Z(~dhKzvd7QA$=a#ER&Las9rDDm4%)xKyUCk1<9)|^-J{DrQ?hCg0aAi5Lcns=Q zA@>NAiWBw^hNVfg8jW(;Dkw+>UupT+u1Y*44U-6Ig!aiE(Pp>OGFYy24Bjf*Xky^K9v`Mp3)w7ep zh+2KP6o&V|Ir(sTRR4zDewuw^x~f7vx!yKz!G4?~uR~%DmTEQtC(=n1FA4$<1wvH( z1$Oy_DX z_1NVUtW%=~_WawN=gfP)G{5lVVmbRNcrrL8V8E0^3+W)iS*8Q0p7vJXBg{80yGys@ zV;`1G^0LrM2WSQxLK_LH*%qE0kdi!&Kp4)h+^^Do&p}dN=G%PaMh6qy&J{TXR$Wb_ zKHSueUU?sR4~cjy>n?EfKCopQF&LH_|FTPH_=H0285hqkSMYpmQD7;OYxJ?xH{wp2 zTV!*_5GH$DtPz>W%wXUN6Km{7DND3>Ijns-9{$x`n)@I_`BiorYksP-prl7oJccLcG@V{jyQ4&J-&2sy} z#Lb)HLmR89BlZ;owFYVL(2=mVcqiozsp?;K6vhs`F_}QXFvd*oou6yulOz;SQyszL z_M}O$2xf5deqHwW;dEd`YAn32IOAkWaAj_Yg1X&7tFU}pJ62#;7oX+{ev-Q#f-kG7 zM)uN0r(pnpDn~=kZU91DCci}A&G|a}hp(6wQ`)JwgO#aM+vjC*9m5q0K>VW32>qjw zm^oO%O2IT+=z|(HT&17g{TM zsGRBH$?H<--B6%%bFomhox!F$�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

!nc+p`Fs>&5I|MU^}epm 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

?d(2h`Kt$}cwo~!FqOgN{CJ@|&l;_B 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
  • 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πn-8vbCw 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 z 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≥V^v_emFfCVj$f`g0DlM+l_ zK5)2;DPffYf$BQkuDbW0)cydQ1ZmQH7B=Na=?_L~-53w)J7zqg!DH7 zd=t~(JmJjdjzfIyV zoIlQx(4&eq&@asybgGGCFYC}WyL#@SKSQp$1Fjf1uX zQ@4SNaI3dZd7O?;@nMsIEcv6n7Zp@^`lSh!H1(eJjM|5@l?CHGz!AC+fh@#4LSqx6 zp=G3xx{`xON*^@31qNk1>%vAmy!92`KJ?o|lsD`Xs&)l_{6KS>+;;aJ*C6fDuZ<2Xw`UjiICoU+GRl27!G0|;%;Qg%w)zB z+F8uhrboAEm^>d73fLK1gK`I=-iNJ%J?8V_Pd{DBieoEov08Pxt>mq`nqo3Ww6)jR zZFa0XN8SXDO5o|f(l|(*_m%#`b%r!|%V|l^xALsdPAkX2UPdMg3=bVrGwBgO($-C0 zX7AXLRyBM@{`{cBE3B39;ZABfl>7Y_Sd!J2kTI6p`PCG!gje8EUlHObpT zA^s$;?IT1o*SRy`G-4g|_SN|nDBH@N2JJeOLQ*Amk`#Aalt?q{YIaJ!5jU-pU9Fr+{XkHaiL!K`^xF%t&?4a|#Is({}cnfNenhP9P83{}80LG%v%|}{& znnr#@)*wp*3%-bj~8= zH`H>@c<^Ps&Te2Fz(X3BQH7#W5 z#O-E1gI`hkZC~VXC#K<&^Z?_NWQQVQCG|cz@ekzS8PN4MS~={CX(IT?gBqoUDP&?q zhiOtA)Mf(dFt~E)D=uY z!#D%SGSrV+8%3-}a}kGU!{rj2)>=WlBscb2D#Marx+t*2ENE`9QZ}xzvBTyKpH1KM zEs)22B^jCQpY-Q*{dufE8+_P|Z(+8XSjo+h(PQswq=QRc%7fWu);F@-Iei?-4ZYqB z&v^@-jX`mYlJ0XsZ)@Q#EN0>5Uq@#ZSCt> zqu$F06z-*unbqi&5u4H#l(Lqr7;8r!!nNTgf=i^rd5o2ug>N@A^`Nc4o9#B<6FQ0U zF>K1jy>ZNxHYQdqsZ->yH=a1^g%piEAIbStU2{8HiRf>>l8zg=-#&gk=z`dIEPX`b z==lc?2x#l8$Bx*81R-?Bcs%5?(%b3BEL~DTnw(kfLS zXvJx`aSemS9YcfjXphG+mnIb6y1F`T?+^REZlMcXzyJ3l=gbFED{Qq_FUD3GN}yGz zdqWox<{dJ1tOetX?oQVD%~!wi_r(Y{BX4F`eZsAzTzEvg?{3nOsE&x$k3FSDwDAI7 zmb;H-@|{&Hk20C{1r2wzFCBNFr^5=nB9n3O@fye{J-NQ{0uB&X8U6mLI(@T-Q$^y6 zGi)cTBORDWcUIMi?$@udv`?Xt<}#7Vy63Bd9lyjLjm|6XDs2|0Y1goaz+SG2dJ4FD zpOx$Se9+=nr0F@`uf9EIlY+T399QgRH`DuC?PQwoc!_;4v2SgyPe`9taD?uhzq=1d zfD!+|yn|Wvva9e|n4#(T7W-M~5K2OFWKLzd|H(Qizt?Qaa1Q_WQ}}xbZ-_#*%=5QX z4CVE4Q@6Wn$-#W$U#^BGVTSZTCt%3}_2Y3Y80)HXk!9HC9-De)zVDds3-XKgMq9A7 zplP+}0ACG;sj4Boj_TEXIzoCjL&%7D{&vIxO0{ zc@fOpEdeu@IiX$}gW^*G`x7iPyozQhoN`4dfmW7QgJr|s(8xxn?rm(B8F+k#Pi(5` zhaJ*MS}{ytf!+=`Fgnjw6J~#S(w3oUwHe&R1U(WRmI3=Q(|u)CeN5i%W~X`J?)~m) znt48fC6{(*Rz(tifR#Gr7x|XxO^&ryw{lMP`8=c;j7uhDnD603!7qGcqc=Eh+gs9D z(uY)A105BT*(@i(Zrq#FkxQk{_RoLKgXMf0vyC@CANDx#^KJDtj6Ro*T4K`ToAzLQACG)$i&^o6;Ku; z(f7om8Gg6A5;F=-8K?|-pLU6+&C$!430_DeNk zwp2BGK7r`Dq^ZGK__NnnQEir7ta;e5$HW*IS)68rTAjOac80Y$dfa9Odn;5^&isiw z1g+jkvt5FDs^TaCSrA)kvnaB@g>f7VwMhpo%=b4YLDRD(2%n^gVrvX#4txp708>D$ zznCRV>UXgMQUa$xSYz;vVb(xy-OU+e(`&WFV$mLQm<;v15?iaC>A;+xoA*s;@Hzv| zUyNKnIJqvDdJ72mpvMCmc)&W z;B&b9Q}AH`MLs^fDmF`@CgUYK;c)*_8VeywJci8erp8@e(BByAY)*j?kgJ(QZZ$^L zr>2#mhwngopqIIbFlbX``&lEh1G<%7GM3s;C&K}-Wy4gH$iS+B@3IqzrkcU_y_q); z5#ITXE@YaR4{zb`YyEj6%lrHk4~`Hoz|dB=`LkiaPw-Uo%k3Y9FpB5r(FK*%{anV$ zVS#>vc{)Ger@H4XDBpbqY%ZdNLV#)8YLVMYFTrhGd4494Pf$b10J-Y3EEoY-WOO|@ zZ-Bd^llH(lECnIe%SOSj-!L0US;EaHj1I@n7vY+V%t?&AQq#UID)qR9@gq z!iS6Y{>XWA5D*U7wzcC|E&Vy7f%zn-(2MRVz5c9$hr!Thvw74Fj*j(G;OwM0;6H1P5+$cGn?>Ie$t=;-=W)DR5(+HPz+jS{amL6~8lv zo88SyIl-M|Ix5c_TpX@N&@A)SsC^8Fii+T?qqsV^OtM1|*)qek6yK*&5zqUZW4QN> z)fDe!ZL7^FY?WCVfwe9VBdYh)v+dE2X}zq}G4G8eq6=CT<~&K=nEpJl-5y;Pm(-;6 zW!?{Y`WdVQ(|#Sg(?JF=pNF)Nj2IkY1br73GUk(19Pov@9@Z~LvW9*c9xT*ex9c93 z*wHVf5>uf%;M~z!{oVNIK(A8zydkH0fof+6@XM)zDEEQ_9XyonO6ujf}U|M9B!%n>yEZJr}$BQR?F4B5*S9O-YE-9@o zCXgQeO*`^Bl5ZkO@r~1<$W#|#pj3ipSLKpb*%Fj2b`VSoEZD9xx3= z=fe4Bx8#s_q1n}CV3I+B1FW~O{4m~k?E@9TrX^`kX443|3Wea837; zVIoo7oI}b^f#q$b$~qFi!P9H%ED3D;T;QOw%R=QAP~ftm`h#Y-A#G_JR6E!kh%rb|UHC}YaS|aCt*DG2rbP|T8%>;~h`{ABrf)Z?_$tjNzo%TL z3Q@3c@H7Utf=5tS5Gg~tlKkB~`0gna-fcora`MFd|QQ5?FZC(*SOwks|`syT9W({)tS@t&Urp`2j zA5s~pNJl#{7N`10oWf^~=aIhj0r@EB@plse-qk-Dd2D#vJ#SEfq)@j(H<|;vYI!IIU1qAMyuk20JH=$T{XFRIZlq=L}io$2ZND2?5t8vxX|~RE)52*TxkS(@t$f z@<}AWjO14=j4D5~StBa)EGNux=9{mXmU)6TRmLStFOHM9-YT-)F5BcMw3s z$qb4W(!1dl7{1?I8U0jO_(KsCZJMdpfsWNuY~JJF0aM&i(zp=UY6je~^eAbXY0|V+ ztOnAp4<|kzgZz6jGrqN$p=7DJ8gbpXQ~!WVqcHpqjAOx9%UFIHt{#kIL0r)X4K{@f zDTn7t9+4(>C#UHZk|DW5r5^@FV0mOrhQba~uU24ah{l+nAFNIynENTE-SssV>N_uFv7vyejAEGXqs$wUg& zwaBy)>@rH4r#|Dj8|g`=G;CbKt1on9Sqh|mr#QOG+UI(SWP}GhI6t_R(TnCSM72VD z;>UE2r6JC_WxkZ1pJdIa^&)SWqE|8T5wYz$PJpDkP=VIvz!nY3q{%eh6!>an6Xzfq zjWUu5bXuTq+io`hJS+z1)biEz4@>E~mziAtPk%GHpvMNY1HoW{%rer$SGGTq)));; zEeWkpaK+{cvCI&P%xC@^TbomN=DyHB|ka^UIScKRruousMF+l ziZMl!b|IwPNi!`XG!g#xW|h*pdzp;d6lCsUeTg8uv+9wTJFvyr@{R zXIxR_1=gczyiU4-JgF=?yAoT``OZUw((};hZF9j=_hpSiP27(RIPN6*kK5sb+qCDG zwU+*F1xGvdO+JQxH^|YKu0cJh_KpmyBgy7cx}x||m#RS3l(XOt3Tc>|NZWCtrw&?Q zqrFPXLB>Yqpjkuc?Q2q*fYM8%m(g_ldSg}5*BBApz1lXqO$Gl46{pmhQpy!F?#WQ~ zx%^R+>r-x5_954G=voaP+>2U);cH!gYBKY6nw!#HI~D^I_iCz#B~lbsNpUJh_NU}E zxU@W_>O6sFe*`AKpE%d9RgNvR&Ll0#J!XDKoq z%le*~^h}UNh`4^vBJ?Fme`xY7X|rHk9kY^e`1hF20!yUOvIY7s-k?&U3|Z7SvUs2< z4}3}k7X9UGmz!%CSt0&1%!cd;BUQi}V!!rtSczdXH$v3a*=*Y5UNmCEAK8{bd&#aWNR~?NLT~XB9_m-OKO!Eh$ z9cpCc@BRT57-Z`G619T~dvrFtIs#Y+Q&`@?vtF)oNAyI}VLfoXZGMw0`fGhc8hXI! zD)UA>ld2E28Oa}YiLl<#yWkHjc9g>AVuh4?A8i^=N2{bdc(Kw|hUWl==Pp7x2?wiS zXq$+BVx;RWFi}4)CZeOj3nmqEtD}gO{Bn5ytS=pV#u$90q^SmKG<^|6+UOvz#O}8gBCj3Dl7qE|vgP^3EuN@p3FH z6qk5Q^V4)Ukn7lR0fGJM&o^WO3@JsgdG%d)^Bv-_g!D>C$0)d9T(GTQ83A;r8bwuX znJ4-T-V4;&mi&vZD=k$bkEk8wcI&5|d@yWgo*eWQ$Q{r%iM%rP6EKq%je0NpesJEF z4}mmVUWv^gqzEH9L(FBxU{l164y2>kW%iAX2L;@xrg10bxeRNnlQ@0z%Oj{R*x{Zl zqwN~D-BdL;8;A&#hd}F69|I71SSm13oiUwSmZ8w08U6S1b>Ifd4IoRZMgZtY+{fNu@I8dZ|&lmq*|uY}QNlkN?s?F0@`=xjUMGta>VsrF+xd_`?{(|CrpaSbFsF&@*@==^m>Eg;E6~1yKU6$H4kr~Bt5?5_ z$;^i1ITF+*Lm#>!qu~eHzIzj4V>g;N)z}qEe;Y8*&iz^|DX0OO^3zBi^Oj z^bFZ;)ugu3dOncmpf>QR>Sd!n#962j-{-O*>BQ)&wd?WC7Q$}Xc&j;Vs+=;mU=`ZK z0-7i{v&*a@uTTE&o8-|56@d91hD9afsk8xmonUe2d7yUPZo^RD0WI`tzgur28d;(D ziYYu5yFY?qO0HWyrYsFF%_wNTh6H#W$lhb=x8MmTL&z6*ne`fj+OPiOuRg1t3axm<#g!y}FC= zsv50Gkng10Jrp>lzqMa62dQsal>Dtk&Iv}uLKSy&Z>;|{yY#e3gx>n~Buu2|F(CBV)3}RmfrbHWONT`hNoX7*ib_gw~ zHbm+`-8jAq^EipS85zPX%>_s!Dg@RxR8v5;4+Fpjg|13i3f3?hp?lHU=)}Vj2wBi@ z;KBT@jLx?2@Mp~D20t|-+sKqi8ZNNs7>2q62!at0m(* zaEKp(VBCbF(fmT>%~24629D3n-f`l02I=cn*IfPX`O{ooaoAb7s+iW!MH19S>X%Pw zUOMq{yd36BW7k_98iRci4Y^nKkpUs=VUCrnjBR-BZT1F{B+;w!t4hQ_YfVhG+-d5h zdDRg}i6;|tM(xti&cw}@wDiO@{_1fMNjt@A@i-B#ECJ{3E$V+PgWPGE^Q_Gi8dI;7 zKsT{oQdAclmUB79JmU;N>4pUs>!3C44JZu&doPgR)V`BxHq1WXOx(7;i>m%I>@jua zYZG_IpqB6=RLp9E`lzTROyR{Sr*qvTATFF+wh4e}94)hHupkI3mrKFLz?CuQ!Th0c zKdE@0Vz5iywD~|Db>C*4i5mDn7j(>jy|3(#-;*Qwz+DL$DB1VdsZzfjQ8>o!Gc>C_ zkW4Ys);C%wQsu_RPRGt4ZnR_>*UIWx79gJ*6-mvNz)7@`>R8tpv%{Hcxe<~lnD@*| zOC$|6mU>o9IeOHujv}%$NTKKuu9YF?S%|_UT?_#7Z1zuwx_kXW>vU7mJE@Lv$;wz{KE*VrZsL)&_=kNf?GST}Q(=v-KrBzi1s*~uj~-JEWGHhc zK(CF~uC^BGQZufO;$~+N;X;NIFvs>Q@=%LT= zP^6s)>CRERY>T#m!6UMo(2cD`XZCE!yj{Z0^9a_6ObW zKu`9;u}N8RXp<1?*h_C`oYil&sM0;dAD!sY7HwYDMx0gLvc1!xKDNBFhBgxe@$ooT znvj8BX7yKRtYu~XIL!K2VSb)bP=g`1Jf2xA7YQOdo0%o=$_~yrZnh_iYaA$&@NzRl z%1+cszqa2uc&1L1Wi&T;=qphMVldY^ek-1;Cfv{eRt|GiyvjVjMX=K`5n`DzqG#qY zeBcVer?TMO?GFCb?Vf8@?>frBUK+49NpbHvaQ)BO8gKGpNHG)MQfif{b~bIEZxmAB z4lByw)C|IgITqrRY@5!);LOjXmjFL2@5(F(EZK{}i%>KB7&+-~6; zY^svOy+ER8uw6U0d|70Yts1pdZh=dfj)!dOvKvvjKKGs}`s_M)*Oe=Mk0kvKW*2UEQ zc733px5!~n$utwS&M--ToA>k%l+H`fwHRPW*c|dbP%-FL#|A0i=jT0xPtApt+xYsi zCCd}W#{MCvCnKx#ZPVkKYn9&be2FbA+ajSv{Hp33KS{k^iS8@rlZ_|QTtl-}ZmKTT;eHrJ{?E)@_ABDaD&uYG~{*(oq%2`?AtX5-dN|Bo_{6d?+`SMZ0g2G`NgD*vZ zZL=db_L=Dp%qUBXFuQ|WU+}%>@KB{Hl*%3UEGoIO>U+=ciZOyi0J|vwiti5+W=w#e z(nP4SwDNvpE36#!^>s664glgC*xn9Uud6~bZ}s(w80kWLurV^TFUe8 zP+h*iki_ zai;CCh!Cyuto>F-5smnxD1*=_`L1gh%sP)vVSR*GJ-cuEV!1E1Xe38Obu!n=2Wi*^ z7RX&LN`7}*GR#STd$D>vk%?DU}&Ekt@gzIRvZ3q zj_N1g{vpN~(srR(dR^M8r13lfvVDY?TWxq)D}y&%=%Lg2tATH)Na8%W0xB%kZh<@2 zABd7r+4%gNo}83cflC?FtXjbkHOOQ=MUP~$B>Mj5&sM#MRgRio-XVlRN9}#K-S$gr zDYN4|{w7`@C&9zTg_PKZ=P3Sgj27x0jvJ;4QP7)LvMb*YWz8A#{%YD?SYG2Ya}lb; z-ZYIH;3g5xVI%{BDyQ)uEf>N!RsxA!#_5TweC7#<!7*7^AlKWrJ`Mk;UJCdIED^$;CQFig-M}|^@A>>U8+qgBo!t^U`c_)BFQwR zn0&trPI-e!1DsQA!Hh{^8Kxnw=76N0+7;=o~54y)l=Ww!Y#8w(`dT9hiL5qgrlv;BwqzIKZ1i+q=YF!9p z!#(}b&?!Z$8*O!&!`6%DphO;`kIx!99lWkVHzK@u13?I$`(ER>qeyKFUetAmMaIRN zZn*sF+|z$mgId12>i+%M#f@-rkqzjeFC@ujstXO{A}R>U`oXRr(Apu48Jqfqjm*Q& zqs22fBZ;(b9^t7oY&YQP&Oe9R?6)<1JHO*~=jQJ6wwkR>{8oQ!vR22IaMEQ6tc!d| z&mo^i0a8=G<*j+CihnZ`|Lj1Q$0liEidm&HDL;46!R~6M%$qXJ ztfDGNRFts*L{^xdR7V7bxvaK+-ahZFofu8F%+Z-8&^{FP znhU&b7zdw6i-A0DZahA2bVd=Vkd%>ZICfb+cG=spJcDNE`S8;z8bO`NuZwq{m?u0v-$dAvsv4T)FfS_XAMxVNjvlf{W&fy9$|)T|L86 zZHyVFm~9qmnZ+@y4ExtfVN|s59+Y#Rw3JKUVV8`u=^;d%2RfsIY$Mphe5L>T)>bnw}FLzb+99~7DAQzKWGi{CWoDdt1?yTK7ZOH%TMD;Z5gflWM+hvY8 zRX3O(Sz*ce)V6d=F?o;6PHkboi+bI%;&sr1T&QeeaRC=R@!6Ky|2P2M$Q5Tw*90_G zrj7R|>TB@Ra0akQGFNX^dU9sS^KddUYY3T}r&;$KJaAXujp>ndvmKQ#AOdZhf1!zr z0cxf*=bT#ed;lGsKgpk3ZL_%QG@$shUbeUmhMIkjv$fyVB)gjd;LP*U`uh4`uiwj> znb<|ykBZ*kk6`pRyLx~8BHN6^`x2qB*}6s`{}zoh_yUbG*gPq^ZA6+i`FbJ2csgtyK;Xt@r8^*w&nkDG!0uS;p}6YsX8kJ5`jpUQqGPy?gdQ8RO~0) z#q&uL7F#iE%w&V|aw*A%@p!!snhOcfkAE%z8s{Of@Iwu+76DL^tuQIF8u0MUe;9+l zslm{y*6d~l#e2rS;7OMm4S9IgZ|$Wbq7VKGkr;dGJn%e=#OO3zPpI5@+uz3H+m(tQWDz~>J5?%2+@eJYo^Db}DhgT(#} zpU9?m?=omxaE9Av$7+c^%60qq8kie)GlbhTXkR4VkA6GYh}e3j5bq2<*Q35rk+H}v z&RMTvNpwZ)!^m7fxCvV&TNp$|O4dXMTSQ7{?)-GyJlh+K0TatFRwVBa&fvvg8S6aL z%0Qc7Qc0^D&PObw!kY6O!}mJwr+e0M_zdUOG{yx1^G8-s2R6Pvqv>%i1?(7s0R7iI z2;}pic!!RnfoMXaDl7(ex86U6qY(l;9^m>!LK1#7y9X>Q8$rL(TvYF}T%%j>R zQ26G`5WhFpNasU#Eu2|ajL^?{!MI?x>&dp3Gfu}$RdJYeN}oEi8uiav*a=q?#{55q z?CNuU##s?#?l|4tE_;>KGTZR1t5PkFcTIJlg3Q`D#<}BOf{#oq_peRTnWP%i%yieP ztx(=f*;m3YlagxGUQ8s>?` zgf-JNBGB?>xoVN9@mp62gf;TMDgp2<;h;!8m_%=gRx??Vhrm=TBY*{x8$orPTs1TX z&EXJzH-$Acn0+Jnu1m2vait{Fk26e#Us9RMRIV-`LM|>Ppqm%zEGzP2wXlxMI?| ze&B$kN}(ZLcbVpt@7Y{8Yb-4q_*`9+p|=>x#Rjuk1Jsr-VeDbMSxfFrt=Q^N}?^@)-iX)uUs?MorSoCu%BD7ZIwRWpzey>lfB!4OX z)a>{cBVZxYTI6B`cA8;@?}$8AQjv4lg0PyKw+Jsoxj0NaqNh(psOdi!NR7}L*x+%= zk^XryZ|PA86jI>U=}rQ5cRFz)J{J>mTV+L7pSfDX_C?|xfjFKljY0lBM0+ITLjaS7 zGGF+^$y&pkcQqpWXWfCXb{;s)AidAaY6UZv7#mxC7B#|}(-2ilK!X=4obKk&N0{=$ zYMJ-#zghz8&3v7;*J^3ht(e2a(4=S{sw}0vX{IN6*e}APUB;$?p;d_eUimc z5~Epr7$e#*2GZ^D^u;6**9~BFbb8g9j{tUP(+p-;90BSRm)M}a)SHkA zp-s1ZQM+XkPUj=N^-h+@OOX$r{F6MYm{I0+$XY6c8Z|RwVWDzAVq+mcKe|3GTze-? z$H9}24U0*F9xTm81o1qpC6+f^EkWTP%O%(}9TrO<6s?msVQ|jHGB1mRpN}H7S}A}h zded?_kM_r;D2wemtq44pRRcNNqSr?C)OVj8Ixda?g?@$C#Oz!ScoKIL!Um;|IU~%4 zT*X-~y%vp&@`fYjWz}{J^*C!RBRtM03=~-J8b2PIadj+((HXruDm_`HGry;YU|KQu zdG|cg8J`O%_jp!HZ17$~^va%#!uVe6$1HnmmxsuS%wQ1(Rm@pSk&&?B5Swz2pcoSoZU#sY&aBybr1 zw#S2omEkaqHNiH4CC4AT4 zMPewXFOuPI4rN`~>twb+WHAcZ1%fi}TFN1Ym+hLbrucq-nVEwN!lfOON`OLRBdCTg za4OD+wbOP8bYa}vxVN(%9gfc!+pha9+=KXH!o?j8L&A2{cFB`?2{KRO$yGrjHs0g? zMZ|VvjZ?{HJNh?f`|5uEav+cDJ(q>&1E_0ymeqa7nBzJync4VLk%r!JtXoS^Y~<8C z#X%VQqLDdY6g~371}9pvD@@P0G?$@3IBO{P@m3QChU?Zf7ZX?)K}&{Y{b#{3Vl`km zDb?_o0n%O6JCX06p2CRG0&)j^!Yp0~V#MjGi=_)xmP%a zt{Rd^D|ZYk^*}7Y=PUuIPzVuVEIXFojXQK}fgCZy4tQbNX(%1YH&(sWx^q<#kq&x@ zt?ZJ5zDJtjIi*HxGtTboN?hq&eNx_Wz|5$^noe7PP?XK7coVg8BL!=oIj78No3ruM z{&}=5S#=i2CVl9{aF%128L=r@4Oq#ngl%IH=mQx}4dxXJ%F%owzKw7%VS;6qx=>n5 zlDtLN#<89Ao=%WaMQKhs#L#t_kF46a8RygeoiZQwf!Q6Qrf}#y?d<4~M<1-v~z)-z6H5)8wK4$d~e6 zyL$r7Pj|!*$UUl)#<90jIMJ*)#m{fix!@ZH*ZX!`#pvR!{#Hf2@8w;~`*tUwY)UBX zu#&2|qvP9B;OXg#Q`&OCXh|No&CI0^pUh)yg3L`{3B=|_H*dxj7Y;-i!E?dVzn5>E zJE1EE=z+fr*Y_Mf>%NPnFxXMmk~E-s8}r31A=}tvt-5XB!;H3eac7sc?b;4Ih*anT z&+lW|7}(a(!62+!_0pk^DIn~k!Fij?A#-E~Jv|_r_`bx}-lI`E?6?1(MkzaTT9QU0 z(MP0L%<^tKro^3XR(I#{=}RRVw$=n;swNA@h9$&|0aWw`tt%nhN9Wbi#&?NqTYa_T z-M!S&PrWs*I#r%SmIK`F^Z9*tAP8ltd1p-RCGdM4*jlp-7$3q#J9J>vn})cCi(>UR z7a*1CLVnzQ%^7s`WSV88VOV>pgoy2WQcx19wG}#U_N|8}Y{riIC*!?3CjYS_on|-+ znlfHBTuJ$L4-`P$qhS=)OwMB6aE``S?#TK&FAX~@gk{32w{?c%H?4Q;+47Z?`(t+A zwYrtdJkAL_fd(7Ytc4xT{=ztTE`0x5W7czF(7R1$V0Y2UQ4iTQ+n~h6Wtb~b-Hmk6 zk=0A4EyYyJl-%;Atg}9l?O3ejHKXYZIuUK=QoIPag=iZ#Qo{a|r-Y3M0=;fKF7P7K zwQmP*jis1|4Wrc*)BRC>j~AvG>O(!Brm(}oOb?KEiv4~)hjA+V1`Y$Jjo7sJje}Vn zTlf_`sP#e9)PEO@4C2n+5g?qp=nL{QSicV6kj7#V;17p;FQe=OE;$?l>-zcZ#_l*Q z5suN2kl1@+sz>L+ATguAe7UPi$Gs*C1+1`sUh~SBw4$@uztXb?zY6_q7o2j*b2b3B z(j)^n^On>(9o9{I>;*i9a*$niPGd~!hcZb}zJ-4@LO1YV`f|i}GQwB#v1NO2h9%2@ zQPnj8?>S~KOMPKb;PULYsL+6VhJ|AiXY{mV&5%(ESc?+*gM+?Q2eEw=Q7CmD;ygmcm|Cml&*#eh6xeWPoaW16ny0%8i zT88fqT8^_uuma97h~x^H(|Y47)u){%%7faOKu4JbU@w_eaQwH)Dc^3H03Vc+|$#@mu~)uH6c`tRDId ztXpl+mB~uu5~G58W4X#}Fg(HUBQ7dRg_!@IiANzJDXQ$<$DViIa=I-;#d+8;Y5&Rf z0}c!qeV$JPd9Zgz10FUac2An_ear#-hDrKTZDkapL^Ee7q*0N8R!Z!1J4|9P#n)u% zLM19uDhLpzV7}~}jTT(hO*^QgvAgC9nRP%@38e%E6=1Dt&L_>~8;Bf9nmF zuq#69fGfT^57K1kb2ssy5yzU1d1zcQFK!fAeH=7&g# zk-8ng8k+LaiUQGABuGtys#s1}I|{_@dSOgoTK7B>en0DT3Ad!MT7hn!2djdBy)LtF zykIOXc^*AuJZiA0G?sEUYHNF5+F?H?6;pp~CN^+oXp@HBrd#Vt{xnyIOCw5q?N6P=N;jWfu1gsKZK-iyYdA5^V-cq?>G4+>}96%j26@xhUs)1_4RvVM`D*2`v~tE0F!44U_4R_~u&ZRHlFYnf1tgT8rb3gc#~7}b;w zc-Cn^r^u09H_yN&II^L1@)z-LBF_-mI9-8AG}Sk zWqj+I`51wiBUOkrOylx?ds7aG#Oo@UUHv_oa zIK8so1Vg8aQ&{%chj4}Ca_wiC)G}R#@#`q<;>qx%QJ40uTd%*S;E|oz2(iTe?zAfI-Jk-3TlyHV9e_+OFJ? zwMbimR~6&nwPK$xW9_PG1zKk8YtblF@gq^4Gu#&Zc2a6bziXq2i6-m=eH;UR?o_Sz z&tv~;4b#78hTqk6k4Cw%q(x719d><3K%%>VC52>)&M&eT8J(fcD0WeA_yf75RE?Z# zyJ!VeNY`-j+qn&^bDH$$ENV~-+ZlEmdDIKr*EkbbRug4h&izG#sXV+DqFKaP7pqCG z{b(A#n84=je-zQ_(;qA1h4qN8#pB)Xp2MZF)i;WB&J>=c>JfqQonU9&O~ogU71ZlA zEl?=m1Wi%x5#7rxe~!zmLk~>OTMtj#d4us4g;TdZRj1a!XI6S-vJ2b*jZ&Fu@JQL&iF-?x++I%1n2Ul%XsZc&>ULDlm1*b@0;<{59 zcetpWdX-fAwG(eR;T$v?9D^A2hJ(>B6{VgQP6ln2P8E>o;zo4`;0difM9&+VYLg;X zwl8I;jMp7xgkkG9EfYu`Qf`xP+AXqcwC(6Mvu~^ZgRC7L8nOWp#kxaBwka1ovieA~ zC$l5%`GD&|;zF4(k_%O7+Yi@0K9RX^!hH4s=T-vi?-+KsPb(eJz z#*Avp~IV}^09Sv^2V2p(o)U7oE2Dw=|9c~BP z|HIuwY;U8v$BZ-Zd{n#$yI)ZaW7@gbk$l5$L9!XN><`-}IVx@&O&3T{-z~NZ#i*nGg^Hs7HvhfNb*PbU&{ECmve4RZkuX5-4HS$jUnle%_J4JAP1id<7wRUJmO?TrH!5EkEwVw;wNm0C;*PE>4oA)v$3T8y zcSgXHuso6wHYmonsTLE^BAx}r#kj!HLol1%)B@OBS4IF`i7q8*W^1`LXBL)i%O%vr zxz!YmOFXSkYSTDlNN%o&j80UIfwbeqr5EUi`%HX0hX=u%mmX3;3M7y@-LQ3U} zd1c?Zk-YPT88z|AMAU_Kbth{-MeH2){LF;Yj>dswsdUd5rcd>CIxs~);ochIU!f2? zW))B|UUv}rX4;Uiqa84t8~%c^v-T)qYHD`;p1E+zbIRN22fy9Zo&s~m-~p=Q$hNyC zAQy}X4!bTO@;!2#)nZDbRYZIcW`C2m#zb5(TD^T}K|H%;CYcAYg;p`zToN0nXDWvb z-*?@f6FkR`svfe`zqI*8Z1bcRaNte9;c=)QH0x%0$H+w3<{r1X}Zm4a{&v^OO&;S)TWS6 zyh|T|mLW0r(EC$no)2W)2T`7@B=vZ=QUcxU!fFXEd8>*rxBJT1+o_QD-GJ^5pctk- ze<`HIv)zS&C6?W#2L>7Zz0fe&ZN!a$F@p}ssY3ePAS>|l&mITNlWD17diwR7|} zahsfaut;oyt7QABK}{t+$GOMu+E;&%nX#le=-_&rsx4y?>1v(qUG30w=_q6_2_Jo`t9uk5^?4H$jAdhk)c(xe zd6qz(Wak~m(X8q2gAY1qM_gqsJN2p;-X8lI!4RvKEx~AbS};j9o~Z^NBT0c5$A>r@ zo}YAJNWiAcZ3_p4IiFZCcBf-u20Y!^im``5^A+5my5?LoD#ccf`$>{aY_JSJX?8wt zIAtWoP6^YCqpnu4yQ8MHaJkepk^ZPlm0e!W^#XgQe+=DTSXkUu{u=+Cvzo%s$ja}9 z(^I4OU?<`^^)u94B6d~Psi+jN>`-cGJ>%d`$BGhqZ)o2p7~RxNG_K+@oHxNDqZK^m zMJPDQm~$u(%Jz}n)Y<ajP(5!6#0HbdsGfVMQ#vZTmSRz?)IvPx_qPC+3iEYMgfi zI(yOI#Ufg`^w0F$ce*{;(JXZTLwWW%O~OKV@N< zW{h_y#$ltfYD}`}k3NVINq=9k&{s##zhI@pq!#~a5X19JtZ8g@qu+{}33%%eJXxgwHU59%x zy1;~P1jZC$X&8s{qa_QeP5snL?zJiogtJ&XEFuXjG!;ITd>*5G%qUp6HRLttJ%wLs z38sv*7(qi;6oCim#A@zAg2v&*KH3kHL|qT*+Rj}3qfLLv>-y$@5NU114fP#|!`N)! zx?X5bL>cc@!@4dS3qKhuCf+wBG5C`--B4S#w4G*YW8Mpi`;*It-~-w_DYR+t8W@@+ zl&b{h9_5@WwSaTL}=E9}+f_34s9LU6h_hJBTM9_N?p;?eCwkZUS z-I$>i-r+~B*HR$kQSDs7!eH>@S-0);V#WEeQ62X(O^16nkhZU=j9OC!+cE`RD1HzS zmG55VNqfzQM4jkjnMo!-OTR9|KwQ|)M=TgpYp|0O4y!I55<47HMJaL zFj5Un?VV%Ajnme|XQ#6IAD*ns*!snhjIUQOG8tpP*xcWNb=4Oba`Qp)#d*EZ)AIIr z!F29IN~AHev{czBdG@q@)jKnJ<@TvY29n>WjMRGCH7jx{u6xvtdX$r=-4?t|$s_j~ zCsK+`Va=X}@B`yVI`R&|VF=Fp=Xs%n)7)uEdv)^E1A7~xLkZj~W4lzb5Zd$RX`gkJ zzsDQ)`^0{~wBN6!?)a7UPSeO{mi2h!t7B@2WE{%D78)IFp3G3@a&A`ZWd-dSZk^IT zVVXb3Cj%&AlVqVEDa}=8);z`_TF18JafjNWsBp##v*L2kym?s1HYPMjgyB$TLFB<7 zBOr+kav*!M(8>D84c#U=KFdt=CP`!N5<*-0Ray3SFRs?xQkV6pg?;Ok^70ga^t>O` z-pQZQI6@^ySzvt)UnR$zc`ZIT?W3SUuBRR|r^EV1T^+T|oemKe**wQc?JmBP`t7rN zHpX92hfyK9*M(|Cn@P+C=2X+2zIpmn-kbOp{?_XLhR7pA%PP;+*oAGkpy*R36wjV8T_g)Eym$Hy#<;xP| zo$nS-D%5nMKk>+j+9yd6r>2Y%{qB{nD<8o*fUJ!dEhj9lUohP7vLXd7D|F+i(6_Gc z8HDWXo0^z9GdB%rhO)y3dFG;|y%;=hO(BH=To# z{>3YSO<>bjG_%5P%fnD#_%;{;k^32ju8BLOXn@j8oU8C@3Vzwe#6yr}uRn2U*Rr_1 z2};AIf%-nfb^xmTy{v_=WU@M8p=M`}n)9oWK2y*~52970JylT$D30o9Ntk)bG#Nc8 z1L>}ii03_6U*U$)AY+bPKifJRcHS0jO|W*prL|Cl2_r&uA@Ub2S$<(8u%Kjq>Or&c z{!)7f#sJ`i$YSY#*N72E$af8fm*tVe9!tRqD?FVv`9MUd%f)(j;{(osx2_?*ve@g@ z|1!){Z-@lh7ucS7;ieAWqc;{v+#InbVL!{>LPwkK+*lr7bR7;?a50yO0HJ``9ct%_ z8Y~IJK3N5zItRK>sxRbNwv3J&V zeboh|zUs8QB2zP}&&@OJpxwgXFQiBf-C5P&%}$dxA`C;Xkh;pNCXB@&olhX_@uXQi zAgDqX0Z18WQ$gyRIg9b6DoUI3o296s;92xlBcnrPVknZu0AoO$zXUb^8fPO8ZYIxM zL(B+|#bU)5s`z5ljJI8*w&-NUn~zEF&ZFk=u^UzDacG#d^a*P5P9MI@t>%U{8Z z!}M9!?(G(*JAC$b&-ZRXAD?hWQK60*mAnly{Mk1( zX$1L=yW-$vj5z7y`@RG2u-j5sBiPKaMWkfQ`p|R1avKGno&h^O+wbRCVO&YK5l+6> zewVW$Ss7>dIvF-BWOF?zl=bL1Z=CFg>4FH(rbJarC{7|h@e@j%%#X>iIr5j7r&!!RN7N6 zY!6R@qwhu#7QT1t%zYq{+RrJv2xZCvXXX_N^-(I6KJUm;mzRYc!Gn_2Y1o&xQ{PEv zy?Pirl(9i#nv8wzAZ`8q!C8Ufwdkp|ee(?AcxUieT~tb%`(l!`K~HKVf7jp2noQ)O z3kZuPJ~$9vCVox>=MZXO3g8zT>yHDqAx$>W__hy?*!c3d>l?rQ&HBbykJmRgzW(Ox z$6r7GV&cB1{`SfG#&5n}m%opH{hqY1zFhzH6HB{eX-!$kuMd0m{A$?2@_yoLOK8FR zaJ|tvX?ITxF8qmnF~IV_oi6`nt-N0Ey`A{&fAy6|@-6YwkL}X)tMzUH0j$0*0?8M{ zFP?n$<$rkmAD+m|(G2h2y<68tQg=INC8tz)LxbKk1m(%}5?4fB1S5Sl`YC4nViLUt z!rlSn1Apk$wVNIj|M)kP{n6wDuxzaI%-PVxRms;Q9Z_T%Tcb^hL?|McNEAQICvN1w zkpCO<|B3wna$+*KoybbgHMH3(-ps#~L2@x4^}Kd(6geCWPjvBpJ6GkSn>jw&$=vo` zZsdm(w{l23l0#*Q5AwRSUfwuv)3pjdrW|9|OdcJ2O@mg8-pSnjcvV0g>)yxd#5_5C zle$YVNB*6RT^W*j6}Fjg{q(8==4XI;uBX2$d!#}^n zpML>NQBKOxF;WOU%5y-{GwT+`L8J|u zABPMmKy!22bXGk@<7hxVdm$fjoj5DNP?q~FN-C~Nwk?H6;7g}5mp$l|VfX?&-X)$7sbIVi5sdyARXZo#H<O&kKk=4=q{4?2TF^Pv!0%QX0{Z;uZoa%WoObrBgXzE9bz&6G)O@-Akgy z4A^VRS}Sty@xZLELV_%`uNv;d=XS28%;t%+$~iCtZ0sSrAKpAIO8A3*_*ipX?sVL1 zBw2bKnk2c`vg~^;9lVr&$(4yQ7KWA_1^G%Ku{_m+VB=y0^DHEc`aaBq($GR6kM)aP z%E#PlvgU@-J$;^pH>>7jyKwi$pzt9sk0s$aD_1u;c-iJJXVIy+dUC|nRBz@qSj!o| zF9`rRqX>`Irc+G46zx*r~Mb98Q?AHFm@YC`X ze#B+oI@c-nWPdz>g!!nUVd!9E_gO8!u&8vJi2v(;s{ZIxxo7G?L|4FNHzE`N!~dU^ z`Ttytr=b$(=D(}<&+2mT-24vKejk&rYt@>_c~S;nh5Dg~Ub_Y9aUB@ufZL;qe+y)- z*1mYw%&9>LiD$il_ZRKleoXWTx9l2NGv9iT@({lWy^@3Vp`DB^vv>>BQ0%l`V)7#B zbH-8qgt|m`6@5pv^>6be_H_FC*7xpy{i?#n&GX^ z*tzu?EkhrTf)86sx1-mTL~m!CZtB6|#07A9f}&PK7qFm^>1Q0#(GR&8H}W$7iBKO6 zn(zN?S_Z#Qznn$f_lJ5vuXoJp@kd0;PbY2GMGOphePgrf;jmMTF^l0UAE1kbIEJ}; zJGPMA$*@KkA&S+bmjfcyXdNnsKqh~qZ&|qS1|o-eDKiEN5K2r3N&*@P#2E9|<(#X9 zctPCPigYtvm;Z!$^OnXkp5o6|8$!8JX)vx?g61wl@^**tlZ1=u;h8_r^ei08B;-A$ z8yVNQBon-~k+V)Xm#dFxSkj0fJDVpiqn8sVC}K?K!HM(~NjfAVW$pw?zqa2umJ2%% zi%uQ)IB8N`1Va6S^SlWaK&|WXxgPPYD2EP!>nzV?uCA-C_L*yzI_o>>B^ICk2iUTd ziWOO(LLq)P*|k7PkM1T;@=+XMoY+B=@K#PuT3)WtS3oUDf3;X$3kBENC;)!5Z7`V1 zT>)poslC=SnTC$>E(6eM9z%dp{&)~{jVBf3yCuQ(#m5PAZII`MBm)Jf|A(`8?~yCX z?!;=EWL0H7vff3q+1-=#(1qoUoOsfgWjqE*}8i zXdJjXg>FXh7CMuYgyxyBI*Hq~f!SW<6^NCgq)W&rIh(saq?J*A`jy;j#OGJnSj z!aOrL-01Z4R>|3h+xEj@|C>X;KeM@S<2l0_^e4g=C7i0ytC1XImql877~PCy+TSPm zvutpX-j+s9S&n4YqQL-xN-?);1Z00$a3g~NVH9EPNuQuMj*2&ACUJFEf`$tHBJe%( zc@&xK!LjizL;Q&TsMjg>vlB?G-|1s4RjvI#yw$eGuVHZCueSGv5#zD_3=sLMq{Re~ zZ?41MsVjU~L>TGYK*yP9zf$8TyzKpxvNKd3Lv4UFErrHjs@(DjEQ#c}By?^DaoM9n zALsUM#FDWp^?C;IxP$=IOx`tMcl49bezI4XMu953T(Pvhf@y?J4aQP%qKOdPJpIJG z4Cup%=bU{w9vl_@o{S3t`?}>YwE#9*P-bD?(+7|5-ekpSi85z^?kB75Dpz}H83Te; zuoQ+XA4HH@6bjY~HG1OX#$${QX$w1glpd2keDSCc#TKrbRS3e&8zv(%PxmY8MZSk? zg#*h09Q^cqwQz20lc~^?m$$jo*AQy*HY&1NATWHR&Q)ei2TVRr1$Kt&f)%eq!Y=$m zy+JjJvYHD(hVCzJ&M|!(g$Lwk1t}rqptd1n3Stc1b+MMIt_9Up+zkaHH5M~O2aE17 z@u>c&3nfkr(YrG7QL}Gnc%)Mei-4ULi@>u6MP>EUu%!@a0;nELdOK z`TUj11otp7b&V;|dDmfn=M<{{rtHo~dmIHKt|PV(5EQ>o3`@9de)Uaf*pJL;4Lt z&r;F;@DS=dtUR55aR`ozG8h~3#w5z}dJXlvq>t})cs#cVXxz~;#X-ZcwP^Eus#8bt zV+CDv#!N&Gda_tBKx25JM9NQjXN*}4q=L$sF=v%qz<>kAO&ZLz;m~#j?_lt#N=`5} zGp7rDI8zXeGh%G3rHJY9-cW+awDdA$+P%N~0Cj@NgvW%O1KJ;(oU_u1=rg9=i5lBH z)^JD*8tR=xnX>>-1BM!dT)#Pl`W?>b8;0%S1fXK{!OEs{?yPv*Nq@{bogkQ5uZwd! z+=ozul&l7oK4pwrebwUYn#l@`Pv~j^VKsyy8=z3m%`)g7blzZXfAz}d@aRennff{} z;i}#cBdpbHlEAebqYd?D)HltU#(ZNjCcK_^nAZM4FkqGq&@qJiEf_`HN;>Vq0FEeV zRw08(+Zu&=bT%xg0ofU{2dU%JFuHyY4}?RZlMrn_MWH!@`n(6ihN~SY?Po&{M+AU1=lHT9oe5($51M<G4I@Hn= z>u4k^6Y@jIpy&4Mfet0!)2(&J{gd$*+O@JRt5f`G6+*p|-M0^;y(0!>0ru?WcKD5$QW&a6Y( z&Vdfc!XrVyp|a>uKF$A=NlL4$a+y@9l%3}~%oerhXA02Z2>kcp4`UH6VkmKk*e6qy28@3*@UC;aU^Lm zve9~iv`k7mhh|U09c`po%(Sdze6~A!$}bPn0HxZj3yPW#N%=q?cKSW2Rn7w(;ba)< zpg_>=Pxl@s$e0{%Ky2YglgNIjq;b+LV4kusIkY>{MHhtro9yQp$MoeQ8vqC@bo`k% zo%59qO|!Y40Y5meuNpEq)mUU>-K9VgP8UFg@^CJdVLhaL^bF&AEa^2ejH^nZc*y&r z3EJ_~PJS<=rj6opevmd+T{*fx#2PpYN@W$GJ~{ZPMZox+T{gr0r!VZyzN?tu$>#tf%w{%8T}-SXsb$q<}e;usa9@Nwrc-cdc)^-XzvkNSxEPV4wu(#16xWj3c`NfjWa4SateE$ebiffXF$WfwH_0R6JtBkeipq*0C%AJ|}5S|0cnq(R< zj4=DIoR4}vfi@lGzS3ms`WYDpol|6xE;FCV5PGvXO0!jTV8%J8k7R$)g%-bURz1EP zK{_CI(Drb_%P&TxFgUMe-5SGtALW}fq@9qpRoAk3RfU3Rt)eGcL$4V6G?O*ST$bsG zUqgya3lu0gQ68Yn7=f{V;Ls=a8RlsQWuI4^W}#Ltt(+v`@Y`^7 z?U+G!w)W1^i7FFvc;O}UsjiW(7(m-)TIfgR8>DcHxB(CYUuTdn&EiBlo`!c>+;gE^ zo`#}oW3KLU@iUNlVis?yL4=3nD*@acnU`p!MhOd4D^zPo3e@$a>4X(EF8b`=sSL54s;*pfVvP!XW3DR|4p)GN0&Q2@2xwL#I`| z1U$F-<}bDELK*apkLmb2C=R3@re<6$!y{c5pag8^Jn~ zqgf#v@SBR$vsOC2qm5zgD9G_rE76$Den9{xsoo9#p^400kNxlyu zSM|Jj0W&6c5U!8|h_^xW$Y@jRC)o->($1*@i<0|Y0;{uEAXFpYvF-y&*H1KNRL>XW zblCNgFRjND6ncpTT)o*zWYtSb!s^t8Ko@<1c@>qWe}LyD#@F6}PuVNngPO9}=-e6!#; zM7LR2jgqeD(z&-WhO{0YjUL=HzTcnDp**+b~>f|{Vx4ve)fmqh3yg;2KPMa$Yf&S6Yct+p^Jj8!Jsqk2s`VzJi`J z3M5dKVD+WqU-btRfVg|JW+Z7G@jmqtpglJjcXpj=KsLG*Fj@4n;rs^FyOdElFG(kJ z-z~hxK28uSZo!K`{K+SjNf5BGkb+TN=pAZ?<6LePzxqX>N_30b0L?!*Msqc%Nc|An zmA5_Uz}JhgL*^`~uYO;d&D;V5v~$wgzPo#!0fep5oB`S!spHrAfN?_)#GOqv`|1zO zgSoO?Hs_*4((z>G5IEL`n#GXSg4;b6k1QvMYG*F!sjwYdUjhb2t+6S${fCFexUZ*) zPO4b=h=*er`r`v>+asyt(e}Pm zp9@LtYN5`+2^yNce*}>MnqLE?_m5;_)E_#(r^T!| z6`Y-tmJpVZNtbrjmOM={!%`*R3H{YGZ5Le?lH(({R;Qp8xdWyb=~AnoZa2xs}VfF~lr#X$5oH1u(S zcs_?CaQ{vdUWL(ERstn({V~(e`}+v&l05$B1-7Si0k5XMjBqL@Iey*mzIOd7MgI79 zE9NzMlWvy|$55=1MtJtkq3}UGGnI4JFBa};D zcaAz+Qw?4^$K$Q3W&qX8$6~-A6ky;2s$9Zqz@NIyi>Y}{(u7GQ5%SY5yNPfx^je9u9n+XtizG77ly_V{hsb00 z$=oDfi9}VM3E9^tQ%GHoRN1QaWwVn|;2KV*=k+?p{m#~@cBFo}PVI%qf53!895lt_ zvFeB1t3z*lHKyyiyD(f=&eH7kWaDfKWNMpd$r_oJ^rL)>_CsvAkNd^PJG=25o!#*< zdivu#MKJ(R*-S{XbGG}4Lu;$kOWXzG;>kX4YdMkktT z5yr+}JEO#YdyBhn%iZ|8_vR1PAIr?wg?hle_;mqW0{rd{Dbkq+jP2&v#UT!WrsfUU z+J93CBWFU^FYZoL0jkRC|{icOqVPGtihH6*Idst zn{>VON9Az?0VxB+hsAL9>tEMdZ}tB<>$X<%skznF#GA;c<|!Gv>!TK7nKlpe(zRx= z;qhR+j2Vl>3EFqwOuh3)h73$zZ*-{CLD*D98qqX%nCVy}7_tU9M^1D5rnw5(RUuOhThp7bQb5f>m zNlY4=J0x@aAZL>N|s} zcLq1*@7C1p0OnkXv8mABaWQpiK&zbvUfegz3^DA+43O1q7E|US_>HDRu7Bz{g;jFP z=#}!ma|GKoa$O}ns@Xv-kXE^4Mfs#NbMSj{fGDtw_zgCgQ`11Vcc$j`+S79mAUZFb z5KRePniR|sk!-U77$@ecLtKZxg0B-{d{kVs2Gy7xS#K57LOB3DJ;|Y7vAxt(;sQwP5hv)Fi6l4K$-}Sz(SzT zD526yh5hFh!z|`}5=4m2s1j#_CL1OQN4x-@$%mpQV8q~qW8NXi{FW2Myzi32U4xe3 zJ<$Zlk*Iz|S)yv>1CoLA@WIpv26~0#`GDzdFrA9h?E0^;|QsmAE3F#nA!d-OoFOqpNkbC2yA+aWQg=+h!8b5hz=y}vF%_; z)npzIyxf*9HZ_7K#Psy0qBDdf^tPXVaYq^>>&b9@^o*q4p#T?o5OxW_*QKg*+1_U? zA6Zp_-6;@011DpYAT^W*QT!}GP7TY1=y3i1U0NM64N5=qk^((=;!~9%=E8$n)E^Nb z`%0MI1K`dof)L4se0&S6Ydq__SCpzl$OJpI1IY1Yb|}o*E)T2MZMYAK7&=tmK0g#r zYk>1G`T3!AwNBA9rsLqiO$TnF3;?mMAT-hg+1CcR4NEA`Ol?`36RLXv3- z8sky}%olRwi884|fIMt^a4@2>_289F7!0K?Rh7Hn8T92v`}ygW&!;X2 zLa_zKiie{^6#!fu^bZRB3R84xz+LZUUeJZlUE}Z7s)yXaR%)#^nTq4r=6CVnQ#gy81xHHC&?> z2}>aZ>5Yg_#@eM70t6rI4M)&(11Wq!iCYjj1)R2N&#OSWhp~Yzlhj)&diJwum_|Vf ziC<;?{X&+&fl2Tf6Tri4w<6g*o9h8e%<)~#!Gk*<)YGN<3Y9hbDm)Xl-bM1v1G zeL4Mdplgu4w1PEBV~XCaqqp$vGeX5!)J8ouX}2>XMxjj#66JFYG(Wic!5Pw%&Z&Nc zv3$8tk1kE7cn536!18nOpx%y`rArXgCNLVkEGz}|Vev|rMkkoV(s%=pvSRvIh!HhL zjbtEVB6#@SR(eVwtbKr-N&h7!{`Hh3W_=UVgK^OQi34s{KZk`31T*U_tpplCFMMg^*1% zpyTY46?>5*^lgW4H%-SVJ#Dy*b(Y~uSSx7>a&u*wM@Ad*YithEm^+m|ijMvaaLorM z@J!VJ4a1fol?;}m3sM)RrQk9v`Bs6|g0OF#A*loZK@cY|4r)T=C87@xVS&Uzd771u z<(dRz5GGB6JRPsA${l)z6iRDD`!bwf!mrWnz%+3&!r`Y8zu|}-sy)o|MwOf#V(^be z$28i9+%J6G1suUiW4)r&PHE~_ZY(PGdG+iN+sERST1Cnouf8H3@>SgQN?CCQf+qU_ z$5+hPAAXF-CTCpC-5*BpEc1%PEqc%LM!)C-opNXN`Y~&8j5_o6hd25A3b&=YgmXYm z#f`U&2Fcu+jsRACBWHLvmJHgEo-mfUpqD9%}4P`rnmFP4;9IwL2Mjea_=!P#B zpjaRePIM)wVIDKOj^>6@!z1qN8$`O$Hh5=%S*Q#f7iX#G1ac3a(*wEY*X1@J+mh_y z%>>5I!C~9|$FJd?!I9uRdsV+U0*3`phDYsWRSK#*4i{9|9Mi0qVo-$b#E)#1mF_yK zEx07k433mBUNs@SDiPo8hBGpy>FDkDGt^#JAWmETQ+Xx z0KPyPc@RV_25<-7k(LAMPMW0B=D>Z^A=N(f8ci+bb@Rum>D!~N~B%QwWtiLROE7kr0sG{;xnUn z1WVvNA7O@#SgPZ?U>2-hoH$x~xdvX{!wJTM_a z^PHSgp73_d31ZQ5b3OLcQ_39kw=NOQ2y?P;5Z9B>{7$zUJtaw@{a2<#rlHXmL3tQX z1(s_l4`o2%;lWI9ZaD#vYhEP;6YNjO+(A9HOz zidm`Pa4)ujTfNtJML6yfY1d!Tc0mFwG;M?*zAP_qmz(AhT zgTPYh@{&{Rxh!&Mr&M_EklMZSa%yw36P(7eXpqc%T%MRduNk6&*cdc=z!#k);w6@x zjy*a&mMu>ZZj+*JWH?YH&tjgMP_w4v>=n)urCQ0Lmcse*#h_BTSx?JSP!AD$EvGT{ z`D^<|ey$Ub%S!(8j6d=PPZ(Ic1C#lix|@3ini&*Uep6wN{+=9OR?m5Qhn`P|}Uf{2hz)R_m22oA%szlOR*T+B_2S%>s`?q=xtRJ_aQ5;5a^ zgm3eG3_%DkkEXnB=Ja%h??l(iU!EX%DKHbql)IKB-CzK=O4R<-3_S@AMoRtre(z1Y=Gj>du@r z3gcKOj>AgULLEeC+GdRchFEdy*RZ8fDwcej42^}CQy~v8m{M_-k0;EGbEK&L`sMsy zh8YK{lsl<&n`W*j>dx~o6IVxvruUqi^_to)lj&G@TCJ?bK&45|4;@7xg|p3Ii*0Tf zH<61o3qDk}M1kjrd8OL{ac)dF!V5$UW-Y9-ZOlyj1n&f;no*`wzPX&r<`fsrDEz{K zmn==SzLe`vFkOS%}c6J0ITyFO20)GIwgq&5a z?BQ0m7|B4?;$<)6>FO+dB6&F^duZ=wZW}zCGnO3pNp5w5Kxb3=J;dF$UA5+h*u~Mc72;^t^Hm+q zJ}OGIi(8N9_i%m)bwP(70CcUe^&CgqXrd}%#Fit~41DKFxi8!(6e)>(A;Zkv@F~K9}u#y#S1ztZ2NLPAs3JVGeHUL zbpt7*Q{^cL>U=1rmwj_Py_oZa+$FJ+6uf-MJttXLISn){9a$Q?%{XMa`?e(5r}zLZ zBw$j%%M*l9y$wkyX~5(16+QUQRdghU+MISvTFpIyPB|gLu;x|_p z9>&{07}**=pF0D-gHJFb?B+@4d}WdXAxKo%lGo=62QOBCxg|LHu(@$PuT40%z|Q36 zrg}F2qBGjZKv>GZ$i_BpYWOq|bXtP&*;KpUC6!UGD3y3B&-FAZ%y_&;{)NYcT+Hh( zLh@u`oz2a?thBK~rnbK!c%@808pj|IF_NiGvSLJ6!nbm;n}8h-$H~cEBCq_2_CK> z52|06a+TBPJE^PHbw@F`SMC;R$*GSD3$R`%yks4QT(Nnz9u4qqKH0wUncTjgSpzEJ zcXrItB1AhA5znyMt#6JR@AxMCE|BcwBE|fHu02OYn@M`!T{KJ+dMVBIa6&t>fteRFm{Q)` zzLdqB`Y=)C1=RV%1~F>(UCPzqgO|7|pCb-le<;oCM^MQ?3*cG+lMbBAqo7t^C+ZN) zl&g6Xl9eM~*xL--E}4##q_FHJw2*UFsW72c2vhJCf`{>ZBk;=$dFo3Bw|KPD z99j=OtY`}X#3o1Tt&M|D#m+_691U_Szk6w35_%LdR|-Jt-5PuGfW!#fmg_%sbFR&x|>}f(dK9wkHpju$4Z_~o!f{XaV?*iO;b_nW`2I$*7we* z+g(jdeQEO$DnuU?T>ct49Pp6Wo(mv^qg7)|@hb!mY-DBn|m{CuJd63eq<#yTygM4NviPp=yo`cDI8tw!u6g7Kwkv*3a$vrwOT7ZxW&<9d)XEyk z!qz#tgR>V$toLSe)6plOf*A#3XrKwgZPqsV5;hFg?<6=woj0<&8U-@$L&*smk|~C5 z5xg0JDwnX1NJW&-_pR)z6Yh*;>~uQ_8qjo_JDG9Z7EXDstSGsCcboFL9IlaEYyuc- zzWOT2O>d#1s6pxlw|Wg;*o(+e#$EqX4V4|?0tvp$UIwPqS!Tv^i8BR;R4{qrvLXKR zRY;})Q92e9Rrwlw7}{F*28c(TLY8w6!u-5+X);ZftcQ@*qN%RHX9JI$+))ox!vULv z*p00QEYTniw4GXjpm-;Olga3n zcEnW!W--OU5(Ot(YXX*o(|T*7;t&wgmz_Fq$W2_WDsJD)gY-JO8dbehpS`AYWeU)O zDq+><(i9Rh3kOZSrQghIAe4CwNi1YX))zpas3By;lchD-YW5qT;^6nN!quI8RkJgNwQc4@YY7 z%8z}9dMd*w#%XTR2+vER4MkCvW&l-cD5Ie`-npk{Q^**FtFEWJmcvU^IQ91KI7@_v z9I1ZzMg)tE5|$?jP#sdupC!FU-J~@o_zNlV-AJ@%OqH3K#*?~Lg?lOgeHpZ2s?}!F zHmPz~I5u;yp~$X9tFbgcAa|cj(p^jW#M0`7L>Wm5ffrTO7Yg$)h}k=Gz^T{j4fCK* z$)J3FR^2%x>v|Pn>_P)Vb*-g3jt#@Jj9+6=`^r#|AIV1x-=Y}D& zLW;|sOva?zJdZlE89G5X3R)cdMw2_&^$DWxU+0Vp!T-F$%)XW&m@o!MWDAw3U9)JI zeHNam1+S;rnF91{d_SixQ_s#ZCXWg}s3)KKzOUBPHGZ7>8kk7ZV`5Fhixr0ha2UJ8 zFTWzg&Sof%Rgtbi_^a31(8$9(r;jpLy*PH))sg}w8uC$>a*cwNliv)|7-DLF+suQX zJ~Dwbien;GARfvK1#bH?vxvP{;u|{Oci(Id*M0QeKuAx#<|B-4mPOTT8sM@qnF1J` zQd*;AM5PCjX~&l=GjOjn>cyj^g5t_|?K5pbe*fMV*B~8nU@HO-l zX(dpS>C#C$QLRQiJZd`Ek9sDzS#4bbny^IO%#HJ?Rws+PtnW6?OiQex7@Z?4$obPA zbjT6p=bcduu%4fH2)Z1pw&&l-&vlQuS|_u~S8_kV2mu*Tx2#mn@tpn=?I;jzRp^bP zG{0iGb6dy&eS%k~Btp`K-CwHmP;qhMdW7~E6>l<1G6SaK2^s9;!+o~?Dc7rKhx=r` zuK;@9r@)8$TZz;UHX5b_V@D|(zcR%jb#3IrG3pk69-!OIHWb06a|s~!uX_~e?lFEq zt{=G6Mgh#r^?;}ghN~cd)i7h4=)GXsXwKffI74~KN|A!@!NV)4QLCQZLasg?5kLoX zDKr60b8?x8Y6PhH^b#pw42pfTacPi1R!VQRsr)LDRQ!^xeMr)+Wm3jdJ$GjKSBfe~ z&?=ZTj+D6^t*(>K`}w!(eM~bMjL+Wd3_e=qN^(X3Ud>%bK$^qNohO5 zIpDGqo)5d;l2Rj_!$5t4sRo-Wg*?Q3UFuF?K2O%5#RTC&Xhih`Syjs5uuGLUNCjmM zNNC}^_pEf3=?rR0GbJy-z0}FSmX*rxPoU2t+f<&5?j85LSyV}0n;>v1S<9afsa>lR zLB}>rYFZqHOiMUGo!m{yH~sc1EK|DC?qht{OiI0IaSWuAOV@{1k8bE%b- zH7rzfayeK3Z5*^XK$Ma9ocncEup$$&uBN@NRBuCeCb#&R%lTv+$&I}3%~Ox=-c6!7X;_Bb@gIw)()sU)Q4J>%Gxw`Q@V38rJ!CHRKOu3Y+%s=#L z(+ReV^bA3AusT7|RZD5yvtP`AUUsAvzJd-CWJqQvaxwqvbs=x-df#dg6gYc~G9%F* zAW=6`GWVT<+B9mEt->)ow|-xZI$VO@$zRCdOZjWdC*A4d2Qzr*Rlh5>!8|^T-?q&8 z(!hWQoE8=dYY0xNa0xmtK9{M50Q_|0b}U=+o0!Z5%XHO$6tq3=>_-DTdB~g0Jwg#C zH?RiK6#c?RX9YxXX_2%{lI_GOyj%cfCxq1o_9(5=6{kG2mq}E?ky6t?76L?E)Y^>? zy$m`w-^PnEL^qb9btI5m(%q+Ke^05>M{!M zM)U^RdEDvqSVAZ!x=M){3LGXO8uLtUZ-`oec#q_+Mne%U1rKyI>?85u&Iq@x3Go+aHvWq5#x@9mPA z!}D^lxLZ6bG$O0qLW{e(Ts0;EYcBVa&Tg~tt*cC_-}wP)s#|(q$ybu}ddmAr3L|)& zS0yt+cX*5sO2BjS&!;B&bBP)L0^!V5Zf6Z^V<=M1(}BwBsvLGjb+jXVqSUz8F*>hT zorLA1I6>7;T7T5K`FRWFoZO&SB?G`@3Ur|UP1&I*HxNw~OqGMTHTy4$0(+#+$+iwc zT;X4phEv4UwLK)8DN2u!D8bqA&IyVU2S;eq@;S>K11GC)qV(;Y!+GVX#d9Jh?K zh()&JM=7SB-1f6pr&U^51`9QW$?=5#poFoZZ%kBA3!HO^qMyzQl%vdzO;b^GVpH)Z zhQDO1+@q=@uF599)Z3{UYs_fpBuqlM<9=T8anRfIHU%7(mxwWLG+!^0-u`+l2#$X2 zV5M`CD4EIdJW1m3#-{w>EeY-tq>%^J0+|O+cG!84Bl&I;Yy7*QLFra=B6w_HrU-J1 z@1050D2$rA;Hj+TRmV7xYsFlfOiD{ZpXiQkLm^lZL*a|zvb!0p{-^v9{`4>}IT9YG z?zUzaU;Tiep$1x42(Ccb1XSiw(1J+HLUHoA14)k$9F%I7?Ha0fQ3?0EieeLfs$OO1^QdXVB5PV9s8Oj*fqp)G;n?Y1v7njz8qTh}d6n*LGVEG}b^hD^JuI=8}GWX2v#&{+c!|E9>EOJGm+#+$=c#Mm#Y)w{(s*qOCe=vmzNmpbI z2Q==y5e_gc29hdcz&~KYe%|k}LH9Fk8)UDrFA4j03U(pi$85PjitW}AETr~+ESY;h z-seXDNE|B#GouL3~wEEoj zxU~582*(~^50gpyj}qkihpo=A*GecTQmBY`Rxw=qpi{OoNof`1*VJ%{d8sMy)=SMK zK~D|qg-(4qLHL#>^y);`L;~Wk!cD-%9NO2jIkjC5UD2@dY39clH4BBh2zxke0#3aq6J+!FB|=Lyr(G)=;j&1{j%1d zO?4-Dm-1|+Z6y~IgD(?_+eUs;YId<|fVyis?5aVT((d(N(E(rX>V5*5kD~@4725wG zfO^;;M2}E-rhm^7W+~4EZTUdHoRS|GF@aB_Ug3P6s1+_cqP+ifuG86!UR%PaDUf() zR!S|#(wN! zs7Z^_jY!%a4*hUtWs(BEmLyL5c0(JUx2ra!>YJ04cBa16mCk`7OKZ21Ik=BwslIuy zoz59dhu0o$qn{6cdrV!{mQqGQ;x-X~2tBx^$8i1rx$ zA*1Q?`Gf+eXL#WB43C^%oj^_x%@??A1lm3rljiYqau2?ZSAUYpmpeY?qg)pTO}m(@ z`BUHrQ?z1xsES~J_*`d{L#nD!X_p-nSS~!!nZ5q-1%F@iU24o89+7f)$d>T|S^K~_ zE8GQsF7&z+!qZTN!?89m9iRxId_?CoG}}RSaOE*PJ(MLIWRYR5j<(IY+OkXIb*7AJ#MX+%6)hmrJ9By5CeMv^FE5;vFOIcGDRObb`1 zI>dWLP;L;KDGs2RqYN@=^$LY?a0IWv^LkZ}zjKN}fz56x(&rwzf29PW5?w?d7srbC z;%?^}@Pkp2x3=%@?fiUa?`8Y$)BD?d_wUKHw;B@9qdmRuW6l}W=edx=r+&}i^v>xcoczH9{S0VW!6k_))M4lG7ZiJ@2OXP3HId1lmr!SYhBrU~3z05!&Bibo(zN$GBcId1doH;>kUebG z?Fgf|K9NDE^x5G)&j8Ts`;Uyty)@j%TK&$jJ9S~$?aSNrvIEyj9tsPxe|nd!M1<9! z;Kd;nt>*Bn#*tF@4B{Eph@V;khR}Uxoici(nV)LJwT8lsA_0&w%$ERF_xieL8lCDL z8cp63QxhQ)?08Ye3b6X)>w#?LIX05z;jan{4jw?=CJZM{i{2e()E=lQOFEO;ZwF?I51iv_}h4a2#L!tU)o^V$z;r_4-?=;jQGm;9) zWr-XnR!M7yJWNA<_#N&|!09!z$zno^rHTPAf zDfhu7-94a~=dvHXE#3XIz?Av>lbKS3sJ9iwRdd23==~(qIhFbTTaw>am$yA;nRycT zmuR|US3OWzqq58b=CQksfMasQ(*O<+n9W_dA)5;0rRR>-X`AXG(J*C(L>W=@22goI z5##XZ6d~LM{Q7YCM#e896D%jVs!J|_g0W7{G+=tlKcvZgPnnm7VsK$)2_9UA7!Roc z*^&FXAy7N`*GHV}fpwdIOihJHV>{}=%YLZ=I)<>-SN?YBZp@m55bs@$ zZ0Cuaf)?*Edv$;m!Qr*J<(wvjp50LCQ&px!>31P}9ldk$|Z zN`7G;XCwMyT}!CJJqB7L==AX+&-WhuAxF;hAw!eZzS3pVq0ie(-c9$74Ttm_V)2Uv zg6bKX)}0XZPILVVNW%^a%X0hztL^cNM-RUk!MS6>q|uFhetI)8z86+)O-N5 zp3xaTXAxiwC&nUlY6zbYERj+C2Ej9-!`?lYY#t9ajnfyOv{T(DZ`srL^0h!dd`xG2 z^T+Ej-wPZ1IK%)#o37EHs7?d}lbA`u$xGW4Zd-9!iCL(6O`@ZXm8_atkVUOrpZAtI@NOWxUGaign_;vJH`>iZEE zh$eI&wOqUB6W&B3Z?a_RisHuDt)8X76HHQPhJ~KfHHIN>v(Pk>loY7C4j@?w$6*mn zsBuqwUt^X^hBgFJq*aUpFW)aklK92S&PYLY))_#Jo~I~P(N=~YTJ%BIIh64OmaS&5 zuT0U>5Kh;*7U~>0J!H6FTsf^?#IYDL9F8sO)xXGwqBu8PRZtdh?J-)ATU;$wOw9&2O z2fEoRpc&bH-Nt|#V*_@7P-Sfl2*nUSVb&16Q5N7f-+=3a?E>`6lhKHHKGjyZ3AW%JzS|?%i0a(a1xUX2goxSO8_d26DceBC3 zG1u!_OR=3Ht0BXwMx;{z&2y=@_`3A~D4tIv2~=i4wNj@(g;gO)h=Ho_a{sPYX(hs5 zp(aW7S9evkl?Z$G)s$qlKTEsCR=Pi;2&iIhI6+|lbEsh%O!o~agY4;bhlZhms>Gof!dU0$gVH3-yK`$@=8l(8giJ1k34 z3qpn4rA0)FCwTTM+N(0pbonI$i0`oyD0%5FD~-fhR5L?6EBj6{^-gh9{%%b*if6XN zpPDW@6hmDo_V@Ag_0+8VsAvk13PI-p8K(mn6YkDITM80**aJ8%Ao!96xzeSKDkmt0 ztqJaX+Bqh9MqqWgVt_fJK_S$fF!il@y=rv~i8aD*i2gYguI_(xDECUO&2N#E0&fXZ z>w1l@-zf{da)t_pD4LaPihEn#RFrmYy+nYpTJ(B!>|fzq9;sLiG|b5|a|kG}g#ZHh zo{5>^fxu5;xd+=iosFi2gxFfR|0|qjj6s6;XX&s5X|IC^gF<%hjpD#dxl|m`86<*s z34HLV;sx>wUi1L6L70a`(}iwDntBc4$v!YVtGZaQ)v9u@cy!9ertk4-R1!XX`3MC zmI-+^XqEteKrCPgY=)fM4=?)Of%h=5O>dPn=LZ zb&BO`7SM&ocHkokMWxTFi$Z(B- zDSl5~J-{QG%IBlxB`}koMZK>I2UcQYSTZLOp{TjUYs5-~-E04HBpL4rN*er07;jK| z($%I0Y--dii5ZxAj%y|)E)@y>G%MwiEZ#}F5l=H&B-%A0A&!xLB<2hgZ8uhj=ne%n z=T)a5#zy$GhLiDz0u5s~ZOOy&Yea?94^Fqeo0H@RvKnFQFiD47sHv-y)MpxH4`$p< z(rUs)fHbtu#KdEqDD zKR180#Y8g9p{?CeZEz%aixQ_?v!TZq9HMLRxndaoygCfz10am|Qg^p8lu`Ryw$v!l z{AW2NJA^_#-C4z{lQkhdTiV9>xKEk zvsaY`>-9&i@#rv1VyOP*U$(k1_tD9T<{Rki18O;5|L~_VzNtSgP96CCj22z^ILYd+ zu>+lG-b(^*{+z;1i95hpIDP4nwC*JDe3f21RR!EB_Iaz{yZy-tADD#Bz<0vatwp_h zlW)~f1bQ_ainm0a-KgbH7N?=vYESJ3uq7>j+WIAgbO`W)+HLhT$^7n^hWk(PguiNa zDe1X>{{;HC(4?1M`{mr!muCt*`u|zd4`NAw{FZ-nQ+Hz~ecEgFG`=Q7CnQ# zjIb5+xSFGAd}sktdx^D#68ez$9)p3R4y-Xq&r^(VX)F*wJ#1o&Vvu!)*Ud8aqgwjU z?!RpBJZnGLdHQUxz4Q1Z9Z(>j{peC?WXGm<5bO6dhRbRDA(2S7M~qa`Tn`9OM!9t%!)I7g|P z^wedCCIgemV^mLFI!B7>aw=d!TBdg9Y8}Tw#ar_EC;eq;7zDlLjFSUAnNC>D{k1&# z%TC4bVT0hAJCMT;!KH)L1-^HXlm@Om=!;yhI^cACHqiP+ZSXYwW3Z(D&Y&jsqxe2sYFziP3O4F7?hukfS_R2Fy-{#<$TE zKm8>|9(v4S)-hc>H|uyhVat}8-+Pl_bk@H}Jg6qk5Pc3F-<|ufI22iyrjv~CTMoDz z4@j}pUN_D~YL3dpS3wDhUtX4w;Lxf!iuq~}ISiK^3rdN+XT%ty935+=gnF$iUW+C^ zr?f{nocURVu{;{58W+bO{YZ-zJ^};Er0QEww!gUFe*FAV`;%H6b1lpYLGL7JE7Z}l z!BacEgDJ{o&KrCs(!4#E0x9VPCHQp6mxn_ItH69QjALglL88CTB8}q!`PTTjXmw!<$W^>*$=$8wXeH}y;nfmv=p3V~HBy+Z6PgUr zDAmi2JvK#HI701zd_(-lO zp15{QX5g42_>b#&tJm+be_^hOPL{cjM{<1(+B`VC_F}x2i-y~{B`Q2|tS(Uxnc>OC zG%OgZJi`nycs2i?0pG&>$wp6>QXJIkIFY3|iHL%(uw*-#Gv*p}-Eq`E9$7>%ZKHQ^ z1#jmb{g)$26?FI#Mxmd7Mbq`x2H$2(sda@F8N4g^rrv|Cfoh$evp&5aQ%RV3*^QWt z^-5C7AG~*loZhq+tsCNpu}I=rRfjTmPXVRzioq5jx1qTM6GoY5TPIe^1d;O481js`c@E)0t8y>|h@M=Ds(NbpDjFJs(^*I4x)mRC{sPPs^J#_`g zGSozG6CkA5XQy!UvWz9)g5$E*Fdks4Dx_TtAf+`s!zjnCrdlEKZSIlZJuioe)xI0j zpeB9J*kyg_T$zA!e|#hAaJVj=#n~(TsMjFr{%wb_sHarvq2XZ)UpB(?;VUb3B~U8Qv~DDGx@KjgBgX^t@Yc_& zEb&0Ya^;8`|0>UZ5`i>{(ZllPAr zQ_RXC8-3I@15L;1Ji~^YzThGea}%eJs(a$q>eb|Z6!=~R74CEK=5^oHKMF~3Rx6d0}w(OY41>iGD z;bf>fzb?+cW`K*;YcoXC65TET+Ig1Pn?{`6ZZ8$Xx<<^j+G?}u<%&X65vkM2^e;vn z4_-aT%-gc~YCzQVnlA(r;no9~%K{vZ?zTxwnY;w8SU{w5QBH!DanZrxescV;k60aR&mKu=lG?UUIhQwxUEec!C3-e1TH|%D0FK2BYSqQ zb7~4!(kj{BaS=Si%FYPd(Xx*$Xa-vh2d6js2dbFK%BT28+yD&PKZtAL(W168zk4F^Vg;nS8PY-*$+q@l*= zLHH`$e}-Z8B0r=?vf!wrTG zh>J|XwwVsbmvN>_70LsF`W+XF5`)atMUkqIw$oY-g{+TXn7P}r+p15b>Z49~kZo1p z47TKv5xKX$cVGH5683f;-G8>X{pg8|Wm2IkVOE-(lN5WP75JyU{jSQhH<4%+?K z&LvwRbCM_%M081krhlhD3O*eWq z^#}5^1%t5H*_N<2c`-cQI)P9_kpR&D*Wy#{Rx^NVWBK=SW&v zrj)Hi9zD?9Q8i#yW#=01$-0AnDMfyrjmM{3ok2O=+J5-t@zf8_CJrU-v8wWqg?D*X zO#Lo0RV7B~0XB&+Jv`UCQhGE7>zc-?<4#YneXyZ+3Mm7`AS@>)qep*PXs-;>3@UWB z5@@qR-%#Nkvm=w(+Bv71Q3u%TY`CLUvymcGnzFNVtT{BqNVO*)Aqu< z;0;z8FBc$;&D53YI|cN8=xb_?mwVE#ol$iBN+RYy1KFbs1l<>vVy;j$rx-O>^cIcx zOK`7v5ulgS@_?-J7a)zEm!Dwt-6(J(Mc3rB5KyZ>zf=xQ#5v4HbZiLvBlm1GBM4og zqY#UFAP|-2KyqD|Lo<~?A}wpC1%RC@uCNSV&};Gx!88W@q9U&AWjS|UQ_AerI^8#j zYPC?Lc57Bne6}Dj9C+!O+kHL<`!cf(p_yTCcXWUMz$|mF|$=cE{A003Xw8 z{9?iQl|_&g-Z?er-|LYUwZ7#g0#)PHMBMeaWgrRdgTb!q)tVR*c_%8<#+mytDYZ(cZzO){UHY0^Ew-|9~L|qbo zm(7cdD=;>QafE%RoO-AHME-70&6GE>?RnwA%c)D{O^kY8UP_)@l61@S-10oPG|w%~ z^Qk0#>Ulo(JfCWwPmyP){LIro^YqU&{WGLbm#VQgQ<~Y*N~v)IZ}f#t<@`Ij`mm#VL=$QG6 zHVj?iH_>slXH(D7{wQ-D9Z>Zh-Ha%`X@z9-9*yIgsRn-UQD1Tvpepf|AzI~J8RCg5 zOm8ohW-%v|WssPoeu*@lC8`g>(mlFLcfpe!UP~^@9w}|4mkJk5rBcB@X>^EGf;qfY zQan0W#=wlL4)1biRgV*(3G>HG;>m1dfrF`nGbXa+*1oYjbjpuO{vrZ-X|qSv6KxLU{AsPjtG`mZF2sUBGw z!2!!+z&S@14`jkxwgN(Kx0xVNz1dV;_19Z(vQx{qL^@|UHRG65f<_>SaLd$q=B7TZ z5eJ=L{Nn8XjOb5UZ_BE}YW9p#p#REu(R!OD#eyQLJ;U~^bSteDl|_00Z-`lC6}7-^ zgo6ULK1KL1J&DOXZoJIDv7Z z8F{D$ql~R{cdBA1>;B}kpJ?xEGRy{a0MTtVm!^i{F!CmdL9IlN>9qhRZhTghsNAzY zLHogm{(6GM5%zm^>bDLteFAv@5LimvOxb3A3-GKR2x_hB2!hfu2<{sk#94?AK=(+f zWj%Xc*gRQ5fTPwoI>`PEX3$~a>CHWJ+Oup}2wq@CxUXZ*UsdKG>!{VshNt*gb>NM* z2Lqj2&9GKWADQi|-BcT8!sPcbVIU`M%T+1Ati|>P#_VvP%)Yx=+JaqI5Sufv9f*!Hl;vqC&%{Mw9%338HN3ZVJs znFGO%006sA#Viq;2-7zxm?r%mW(~L*pj&7-Lhdhc-f-_BBKDYdLus%YoPsYHHLRb+ z_6oJ7FI^@emB9gfgBR-BEfCx_jkiU^B99}eD>O|LBX4&aEEuFZr_n5lUg|T>;R$to zgx5c%&!%Mq;A2hYle0#-8K7HeS3<^%5Z!+C<9pZdTF{pJUuF9|2bVnUZhzDrWbJWLCJwST&m^b^tP3TKj>_J_y`p=lULDI`Y3?^m z#;C?Grg{zewLsJ*taHRvG}!>GHaN2YX@WBk2%#>A@~+E*jP7C!Mq^<4j@BnBWV|*& zH61n;CaceRkYP=NFKytcdL^$|u~D#-nJLXtDF9>dYms)ROO28}Q<{9_-O@EM&iZy* zEK}_a)UU3rp)SYQC&^S?*i5LYQO7l-pR1()ZcIF*m+qA@<@75xw5HcxOJVOdOV=Y& zt?AV|uI`4MHtM`Wml09#bW|oXO4P{m%ATk8bETe^=>9BNiYm!?YuGmVUUnc;Qf8mQ zRZl#tm*MZ2=qoG+5>MQ{24_!jy$1fRIVNSu=os~j9zKB)wu0ewlPzX2-LYe`U5Yf7 z{4^tBuYlEj#49UdT-m9LtSG0f3S^At48t%;I{|VfqhwH~yw^AYndaq(k`q^cGz$bD zn{jB0-Kt@q*09Qos#x;4kgDRMfnHerxZtUQf?UnsDf{x-m{rHT0k&gOM9K~c6dPVB z`#t;&rA2k}Rc|MkG(6KHFIa|YuYx>p_*==hCcnWWJkA_`0{hbsBAFqwTF1iewtlyI z-MRVk?@Ib525rD|Xpc9e*P9O9a^O=3J`>>0tD&~>pwq>oH|UJ%JmVr15Qv}N$+A*r zS%aQ|L4;?-{{Dy|nac@vt7chOwwf;!RV(IZ5$4Qmvpiq(YSHN$%5|o+C2XVQ@n5@- zW14otT?`J*Y0W!jF0Z2|dAw}f^^RTdN}utn{+J2hlbYe0cy3)NRc}GFH4NM7g#_O` z2lWOm3j2R7y$$^O+JG?5SR0UZir)f~0r@rg58++agPsNqCkv%~m6ElDfTt*fJ(jdV zg6-stZUAS8DOo>vDYo?8rc^@Xkg+sE^jFkOvD-h8rWX99kJ&*1=EB|jGRuIZJ7axT zCn<>UBs9J;Zd7NCmr5QMHF)7nHc!xOFfP(R)DpdZSkMRbp|k>9v}*Bpo4Dn*a;>UTCd|~x{BKv2Ep04K=7U3iW8!nfJG-My6$Mr&T}f0402D{ceWwuzzzhGmL-DOc;{-6Tfe zGLjyrZd1_k<21|W1i?#1>*F{Hj0@R#Q*#`Q^%jM94y1GsTdR2rb%_R8<1e!kTo3(x zfMshG(~uXT0j#O$Ap2vzPho9InIp}I)nu^mB~R#41FOQIK1OGNhn(eQ_uv+utB_V~ zx*T=-6v*&ufn^fpPaJ!s&dHY*LtIhwQuqf-LA**CIK>lU*f6QT?=1uku9SNH!}JJv zMsI{z6q>fOTb6ep1&6)z+$=Ue@@SPC0-2k&MFAPcJ%f>o43-i28%Q`tIPID))r0Sx zUYTb;!j&h`p{~?M{lzXAplty%m?PBJC)6f}0`MAG5iRD7z+!e#8v0SqkMJ z>4pT4h9>O|6}QNQVmSOOtB3TdwX?Kp>bvImr!#LjH!qtBLM|_ewUkchex>WKEjpyLTI}Iw|}R zlfC3DsdPCa&{3y*N)muJNc@~-rBeV_<7y0sI+LV=$Sa1`goNsIA*7sSz3rWV|7mf^ zZ+^~jMnsCRI(Aw&f@_OWgE8C!FGF6lM5WDZrhAB$fQ|YP=1Ud)F_8}wQ?Jc@a zxw(aytG^R-aTiHrp?Ws>Kl<*sWaHCjU8RUEL&%RGfkH^ON~ogBmP@8VJLzY=C&@YX zjM6HOvlATyC#T`Pc+2UHPV``*&2Kae;!YU2LX1u-*@Y*k?o&|<+OFL*N18c+C+wlC zEqmQjYJ)Tmh}E*n4tvE@_)f`f2Y0Dtbf)R@aDULpK^w17uvExfVTowHJ=O?=SV&jwSi$uzs_Av|)te>R8it~I%VWH>H) zDWCXZ^;()N9 zoDOyL@LBL@s#t@7-M&bGs`@%JfZI?FBLJ->KGCN%;RJ;Aefep%$P~Tx6i8lKIR1J3 z?so$G{6#_iIz^XXa{Ji;tY&<^g-TU||pzym$J%riSbtUt7& zN@dDLJE%#Q>v()7Gvc$a4rH{P>Vt_J0S!Y{IRNylO#lag7{Arj|M(qT-sZ&RO?G-l z5%@%aT;zxb!E-~6xt_8%aYf|F3`X+rRri|MBnsO^feZ zZBy1JfVzjpw@`T;H^7f|$r6ZSS*Dw4@}2T{>O0>|z4OhjsfBNz-qnz0_@FL+Bkc6l z@;6z2xb^yYE0?8@4w$FE8Ic>D{buB2^7Puz{9l&>)pB4zv2Bc1OWdWC`Uyn^(ThyoEG@&YW1 zCC~A8uFWc->N5aR25SLO@MpQ2Vy=fPv{b7^oeqR z%>lEs(FWlIFeozw!MPF`_IUE=MlGP-$qr!lHcOZua|s=)Q%8lldTS0W--{0EYSDDm zKHi4o^2q{B&XzTP7KsP}qesd_Lsu*-3fI2Y5gSTzP8y-M@a1nBS-Stw{L4`~Ft7B{ z5NB`+aw|nXO_9&E%JvNcq-x$0Au3bpMvFBKB5b`$)s|Srr~?xekw})lvb0NVHda7*s*@Q_`xEnL!+?jG-eU}ljB7(E;b4-BJC+iJLF-r(Tbfv& zs;$l{C>cIgh_k*{019nEG=+IsD#rtTR+3-D$N#=JJ+|O4zklux^g(pC^xyq=W%g3_ zEwH%EIrPxF5U@#TfIjM!IQx9mk>Puyxp8)QXdj4bqicCAdDS77VH$;?8N)YCxYX|= z;r#fpCp8TS7W#ytX9&4Kj9v94*^01y3xKwuuu0<9Qp`sVU-N0

      q_i+=hS!MA?F3 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 YWA~6m?z5Nko_R98dEilB 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 M44mEigG7z`Kc7R52LJ#7 literal 0 HcmV?d00001 diff --git a/APIJSONTest1.6.0.apk b/APIJSONTest1.6.0.apk new file mode 100644 index 0000000000000000000000000000000000000000..18c7bb1b988ffef1b9ab3538787d5b101b349ca4 GIT binary patch literal 399952 zcmb5VWl$c$x9&TX1Zslrl!~G=hxjzvXD?%02~|~fC`Bs3;aJ4CIAI|vNv^hurif5vbQofb8%(% zw6lF51%U70$LuksvBDHz!lZ4J0Enb?O3@&4@PtGFnwZo9dq4^l9Rw7EsT2t1S9*~V zCnKB~BN{4eG&&*BLaj98-3h$_8q6twgh5!#+4AS7Rw^rqbP5 zR+X$An!-ssZePhaFbsduqizS|aN}<#YSVN|#4o4u)yb|glxx}lK*!Re{yv|lX!{5Al)C(>*A{^cu)b$xY6ULvsVjOexRzJ(g zfFjg#FfyJ0imzcMfs!cEqnh04oHA4v;-!A{0`FsB(HNo!9WU8L{Ul$Jc|W_nCj9aJ^luQi5i(uWaqtLj4DQm7qKo!I zh?abv5Z>{4nRmB2U!{E~%T6%A#cuMlwu=>w?O12Vu4vgzD&Sjc_M5v4tLG#UI%hO; z{eFSTm0Z2eF52W-c&TYQe?)bqna)ZS=s8lHbq1}?=MMg0OjBxOY~{IT_~E5-SHr

      |CZ@E&EHB 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%0ABn!RDMBj*Izn-*Cba#R8 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 z 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�u=c* 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 literal 0 HcmV?d00001 From 97fec9399f0d343abfa323b79a5074ae4cb4ae1f Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Mon, 14 Aug 2017 00:40:43 +0800 Subject: [PATCH 137/219] =?UTF-8?q?=E6=9B=B4=E6=96=B0table?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- table/sys_Comment.sql | 4 +-- table/sys_Login.sql | 2 +- table/sys_Moment.sql | 4 +-- table/sys_Pair.sql | 2 +- table/sys_Praise.sql | 2 +- table/sys_Request.sql | 6 ++--- table/sys_Response.sql | 2 +- table/sys_Test.sql | 50 +++++++++++++++++++++++++++++++++++ table/sys_Verify.sql | 6 ++--- table/sys__Statistics.sql | 2 +- table/sys__Visit.sql | 2 +- table/sys_apijson_privacy.sql | 4 +-- table/sys_apijson_user.sql | 6 ++--- 13 files changed, 71 insertions(+), 21 deletions(-) create mode 100644 table/sys_Test.sql diff --git a/table/sys_Comment.sql b/table/sys_Comment.sql index 1f0ed69ce..d07d4e8fe 100644 --- a/table/sys_Comment.sql +++ b/table/sys_Comment.sql @@ -39,7 +39,7 @@ CREATE TABLE `Comment` ( LOCK TABLES `Comment` WRITE; /*!40000 ALTER TABLE `Comment` DISABLE KEYS */; -INSERT INTO `Comment` VALUES (3,0,82002,15,'2017-02-01 11:20:50','This is a Content...-3'),(4,0,38710,470,'2017-02-01 11:20:50','This is a Content...-4'),(13,0,82005,58,'2017-02-01 11:20:50','This is a Content...-13'),(22,221,82001,470,'2017-02-01 11:20:50','This is a Content...-22'),(44,0,82003,170,'2017-02-01 11:20:50','This is a Content...-44'),(45,0,93793,301,'2017-02-01 11:20:50','This is a Content...-45'),(47,4,70793,470,'2017-02-01 11:20:50','This is a Content...-47'),(51,45,82003,301,'2017-02-01 11:20:50','This is a Content...-51'),(54,0,82004,170,'2017-02-01 11:20:50','This is a Content...-54'),(68,0,82005,371,'2017-02-01 11:20:50','This is a Content...-68'),(76,45,93793,301,'2017-02-01 11:20:50','This is a Content...-76'),(77,13,93793,58,'2017-02-01 11:20:50','This is a Content...-77'),(97,13,82006,58,'2017-02-01 11:20:50','This is a Content...-97'),(99,44,70793,170,'2017-02-01 11:20:50','This is a Content...-99'),(110,0,93793,371,'2017-02-01 11:23:24','This is a Content...-110'),(114,0,82001,371,'2017-03-02 05:56:06','This is a Content...-114'),(115,0,38710,371,'2017-03-02 05:56:06','This is a Content...-115'),(116,0,70793,371,'2017-03-02 05:56:06','This is a Content...-116'),(120,0,93793,301,'2017-03-02 05:56:06','This is a Content...-110'),(124,0,82001,301,'2017-03-02 05:56:06','This is a Content...-114'),(157,NULL,93793,371,'2017-02-01 11:20:50','This is a Content...-157'),(158,0,93793,301,NULL,'This is a Content...-157'),(160,0,82001,235,'2017-03-02 05:56:06','This is a Content...-160'),(162,0,93793,12,'2017-03-06 05:03:45','This is a Content...-162'),(163,0,82001,235,'2017-03-02 05:56:06','This is a Content...-163'),(164,0,93793,12,'2017-03-06 05:03:45','This is a Content...-164'),(167,NULL,82001,58,'2017-03-25 11:48:41','Nice!'),(168,1490442545077,82001,235,'2017-03-25 11:49:14','???'),(172,162,82001,12,'2017-03-25 12:22:58','OK'),(173,NULL,38710,58,'2017-03-25 12:25:13','Good'),(174,172,38710,1488691759538,'2017-03-25 12:26:00','what?'),(175,0,38710,12,'2017-03-25 12:26:53','Java is the best program language!'),(176,166,38710,15,'2017-03-25 12:28:03','thank you'),(178,NULL,38710,511,'2017-03-25 12:30:55','wbw'),(182,110,82001,371,'2017-03-26 06:12:52','hahaha'),(188,97,82001,58,'2017-03-26 07:21:32','1646'),(190,0,82001,58,'2017-03-26 07:22:13','dbdj'),(191,176,82001,592,'2017-03-26 07:49:29','zbsj'),(192,0,82001,592,'2017-03-26 07:49:35','sjsj'),(200,0,82001,592,'2017-03-27 03:20:16','oooo'),(201,0,82001,594,'2017-03-29 03:00:44','come on!'),(202,166,82001,592,'2017-03-29 03:01:08','eej'),(203,178,82001,592,'2017-03-29 03:01:14','znsk'),(204,169,82001,592,'2017-03-29 03:01:32','ghh'),(205,177,82001,592,'2017-03-29 03:01:37','hhh'),(206,54,82001,170,'2017-03-29 03:04:23','ejej'),(209,13,82001,58,'2017-03-29 03:05:59','hehj'),(300,97,82001,58,'2017-03-29 03:06:07','hj'),(301,194,82001,235,'2017-03-29 03:06:24','jj'),(304,195,82001,592,'2017-03-29 04:48:28','eej'),(305,188,82001,592,'2017-03-29 04:48:32','ssh'),(307,161,82001,592,'2017-03-29 04:48:51','ejej'),(308,0,82001,592,'2017-03-29 04:49:02','eheh'),(4001,0,82001,58,'2017-03-29 08:39:52','I would like to say …'),(1490776944301,0,82001,58,'2017-03-29 08:42:24','hello'),(1490776966828,173,82001,58,'2017-03-29 08:42:46','me too'),(1490777876202,192,82001,592,'2017-03-29 08:57:56','ghh'),(1490777905437,0,82001,543,'2017-03-29 08:58:25','rr'),(1490778122719,175,82001,12,'2017-03-29 09:02:02','Yeah! I think so!'),(1490778494751,1490778122719,82001,12,'2017-03-29 09:08:14','reply Android82001'),(1490778681337,166,82001,12,'2017-03-29 09:11:21','gg'),(1490780672012,164,82001,12,'2017-03-29 09:44:32','93793'),(1490780759866,99,82001,170,'2017-03-29 09:45:59','99'),(1490781009548,51,82001,301,'2017-03-29 09:50:09','3'),(1490781032005,45,82001,301,'2017-03-29 09:50:32','93793'),(1490781817044,209,38710,58,'2017-03-29 10:03:37','82001'),(1490781850893,1490776966828,38710,58,'2017-03-29 10:04:10','haha!'),(1490781857242,190,38710,58,'2017-03-29 10:04:17','nice'),(1490781865407,1490781857242,38710,58,'2017-03-29 10:04:25','wow'),(1490781899147,197,38710,12,'2017-03-29 10:04:59','kaka'),(1490781914528,1490780672012,38710,12,'2017-03-29 10:05:14','ops'),(1490794439561,1490778681337,82001,12,'2017-03-29 13:33:59','gg?'),(1490794610632,172,82001,12,'2017-03-29 13:36:50','All right'),(1490794937137,1490794919957,82001,12,'2017-03-29 13:42:17','All right ok ok'),(1490794953438,1490794937137,82001,12,'2017-03-29 13:42:33','All right ok ok ll'),(1490796241178,0,38710,58,'2017-03-29 14:04:01','Anything else?'),(1490796629591,175,38710,12,'2017-03-29 14:10:29','well'),(1490798710678,110,38710,371,'2017-03-29 14:45:10','110'),(1490800971064,175,38710,12,'2017-03-29 15:22:51','I do'),(1490848396072,175,82001,12,'2017-03-30 04:33:16','Lemon'),(1490848581424,166,82001,12,'2017-03-30 04:36:21','82001ejej'),(1490850764448,162,82001,12,'2017-03-30 05:12:44','-162'),(1490850844016,0,82001,12,'2017-03-30 05:14:04','I like it'),(1490850876656,1490800971064,82001,12,'2017-03-30 05:14:36','I do so'),(1490854894566,175,82001,12,'2017-03-30 06:21:34','it does be a good lang'),(1490863443219,1490850844016,82002,12,'2017-03-30 08:44:03','me too!'),(1490863469638,0,82002,15,'2017-03-30 08:44:29','Just do it'),(1490863507114,4,82003,470,'2017-03-30 08:45:07','yes'),(1490863563124,0,82003,704,'2017-03-30 08:46:03','I want one'),(1490863651493,0,70793,595,'2017-03-30 08:47:31','wow'),(1490863661426,1490780759866,70793,170,'2017-03-30 08:47:41','66'),(1490863676989,0,70793,12,'2017-03-30 08:47:56','Shy'),(1490863711703,0,70793,511,'2017-03-30 08:48:31','I hope I can join'),(1490863717947,178,70793,511,'2017-03-30 08:48:37','what?'),(1490863783276,1490863711703,93793,511,'2017-03-30 08:49:43','haha welcome'),(1490863903900,0,82006,470,'2017-03-30 08:51:43','SOGA'),(1490863915675,0,82006,235,'2017-03-30 08:51:55','Good boy'),(1490863938712,0,82006,12,'2017-03-30 08:52:18','Handsome!'),(1490863978239,1490796241178,82006,58,'2017-03-30 08:52:58','there still remains a question…'),(1490864016738,0,82006,511,'2017-03-30 08:53:36','I want to have a try!'),(1490864023700,0,82006,543,'2017-03-30 08:53:43','oops'),(1490864039264,0,82006,551,'2017-03-30 08:53:59','Wonderful!'),(1490864060358,308,82006,592,'2017-03-30 08:54:20','I an little girl'),(1490864075725,1490864060358,82006,592,'2017-03-30 08:54:35','do you like me?'),(1490864152008,0,82006,58,'2017-03-30 08:55:52','U R ugly( ´?` )'),(1490864254400,1490863915675,82044,235,'2017-03-30 08:57:34','And I have no idea'),(1490864276824,0,82044,12,'2017-03-30 08:57:56','Oh my God!'),(1490864292184,1490864152008,82044,58,'2017-03-30 08:58:12','haha!'),(1490864379424,1490863938712,82001,12,'2017-03-30 08:59:39','Thank you~'),(1490864400210,1490864276824,82001,12,'2017-03-30 09:00:00','Amazing, isnt it?'),(1490874908570,1490864023700,82055,543,'2017-03-30 11:55:08','yeah'),(1490874930994,1490777905437,82055,543,'2017-03-30 11:55:30','yy'),(1490874968779,0,82055,12,'2017-03-30 11:56:08','I love it'),(1490875033494,0,82055,301,'2017-03-30 11:57:13','More Comments'),(1490875040761,158,82055,301,'2017-03-30 11:57:20','157'),(1490875046704,120,82055,301,'2017-03-30 11:57:26','110'),(1490875660259,1490863469638,82055,15,'2017-03-30 12:07:40','I prove wht you said(??????)'),(1490879678127,0,82001,543,'2017-03-30 13:14:38','Baby you are a firework!'),(1490972390235,1490863903900,82001,470,'2017-03-31 14:59:50','HaHa'),(1490973736662,1490973715568,70793,170,'2017-03-31 15:22:16','Hello, I am a fresh man'),(1490973890875,1490864039264,93793,551,'2017-03-31 15:24:50','While I donot think so…'),(1491014830404,1490864016738,82001,511,'2017-04-01 02:47:10','Have a nice day!'),(1491119615611,1490864023700,82001,543,'2017-04-02 07:53:35','$$'),(1491119670185,68,82001,371,'2017-04-02 07:54:30','Leave a word'),(1491119695580,0,82001,371,'2017-04-02 07:54:55','leave a word'),(1491130701902,0,38710,511,'2017-04-02 10:58:21','Thanks for your supports (-^?^-)'),(1491209763162,0,82001,1491200468898,'2017-04-03 08:56:03','How do you do'),(1491277552385,0,82001,58,'2017-04-04 03:45:52','Seven'),(1491312382941,0,82001,1491200468898,'2017-04-04 13:26:22','Wow'),(1491312438951,1490863651493,82001,595,'2017-04-04 13:27:18','WaKaKa!'),(1491357607389,0,82001,594,'2017-04-05 02:00:07','Why not have a try?'),(1491709064513,0,82001,551,'2017-04-09 03:37:44','soga'),(1491740899179,0,82001,470,'2017-04-09 12:28:19','www'),(1491798370749,0,82002,551,'2017-04-10 04:26:10','Nice!'),(1491798499667,115,82002,371,'2017-04-10 04:28:19','I do not understand…'),(1491830543193,0,82001,170,'2017-04-10 13:22:23','What is the hell?'),(1492932228287,1491209763162,38710,1491200468898,'2017-04-23 07:23:48','fine,thanks'),(1493094307810,0,82001,551,'2017-04-25 04:25:04','删除或修改数据请先创建,不要动原来的,谢谢'),(1493094307910,0,82001,551,'2017-04-25 04:26:04','用POST新增数据'),(1493186363132,1490850764448,82001,12,'2017-04-26 05:59:23','sndnd'),(1493655944016,1491357607389,82001,594,'2017-05-01 16:25:44','good'),(1493835048580,1493834818490,82001,594,'2017-05-03 18:10:48','p'); +INSERT INTO `Comment` VALUES (3,0,82002,15,'2017-02-01 11:20:50','This is a Content...-3'),(4,0,38710,470,'2017-02-01 11:20:50','This is a Content...-4'),(13,0,82005,58,'2017-02-01 11:20:50','This is a Content...-13'),(22,221,82001,470,'2017-02-01 11:20:50','This is a Content...-22'),(44,0,82003,170,'2017-02-01 11:20:50','This is a Content...-44'),(45,0,93793,301,'2017-02-01 11:20:50','This is a Content...-45'),(47,4,70793,470,'2017-02-01 11:20:50','This is a Content...-47'),(51,45,82003,301,'2017-02-01 11:20:50','This is a Content...-51'),(54,0,82004,170,'2017-02-01 11:20:50','This is a Content...-54'),(68,0,82005,371,'2017-02-01 11:20:50','This is a Content...-68'),(76,45,93793,301,'2017-02-01 11:20:50','This is a Content...-76'),(77,13,93793,58,'2017-02-01 11:20:50','This is a Content...-77'),(97,13,82006,58,'2017-02-01 11:20:50','This is a Content...-97'),(99,44,70793,170,'2017-02-01 11:20:50','This is a Content...-99'),(110,0,93793,371,'2017-02-01 11:23:24','This is a Content...-110'),(114,0,82001,371,'2017-03-02 05:56:06','This is a Content...-114'),(115,0,38710,371,'2017-03-02 05:56:06','This is a Content...-115'),(116,0,70793,371,'2017-03-02 05:56:06','This is a Content...-116'),(120,0,93793,301,'2017-03-02 05:56:06','This is a Content...-110'),(124,0,82001,301,'2017-03-02 05:56:06','This is a Content...-114'),(157,NULL,93793,371,'2017-02-01 11:20:50','This is a Content...-157'),(158,0,93793,301,NULL,'This is a Content...-157'),(160,0,82001,235,'2017-03-02 05:56:06','This is a Content...-160'),(162,0,93793,12,'2017-03-06 05:03:45','This is a Content...-162'),(163,0,82001,235,'2017-03-02 05:56:06','This is a Content...-163'),(164,0,93793,12,'2017-03-06 05:03:45','This is a Content...-164'),(167,NULL,82001,58,'2017-03-25 11:48:41','Nice!'),(168,1490442545077,82001,235,'2017-03-25 11:49:14','???'),(172,162,82001,12,'2017-03-25 12:22:58','OK'),(173,NULL,38710,58,'2017-03-25 12:25:13','Good'),(174,172,38710,1488691759538,'2017-03-25 12:26:00','what?'),(175,0,38710,12,'2017-03-25 12:26:53','Java is the best program language!'),(176,166,38710,15,'2017-03-25 12:28:03','thank you'),(178,NULL,38710,511,'2017-03-25 12:30:55','wbw'),(182,110,82001,371,'2017-03-26 06:12:52','hahaha'),(188,97,82001,58,'2017-03-26 07:21:32','1646'),(190,0,82001,58,'2017-03-26 07:22:13','dbdj'),(191,176,82001,592,'2017-03-26 07:49:29','zbsj'),(192,0,82001,592,'2017-03-26 07:49:35','sjsj'),(200,0,82001,592,'2017-03-27 03:20:16','oooo'),(201,0,82001,594,'2017-03-29 03:00:44','come on!'),(202,166,82001,592,'2017-03-29 03:01:08','eej'),(203,178,82001,592,'2017-03-29 03:01:14','znsk'),(204,169,82001,592,'2017-03-29 03:01:32','ghh'),(205,177,82001,592,'2017-03-29 03:01:37','hhh'),(206,54,82001,170,'2017-03-29 03:04:23','ejej'),(209,13,82001,58,'2017-03-29 03:05:59','hehj'),(300,97,82001,58,'2017-03-29 03:06:07','hj'),(301,194,82001,235,'2017-03-29 03:06:24','jj'),(304,195,82001,592,'2017-03-29 04:48:28','eej'),(305,188,82001,592,'2017-03-29 04:48:32','ssh'),(307,161,82001,592,'2017-03-29 04:48:51','ejej'),(308,0,82001,592,'2017-03-29 04:49:02','eheh'),(4001,0,82001,58,'2017-03-29 08:39:52','I would like to say …'),(1490776944301,0,82001,58,'2017-03-29 08:42:24','hello'),(1490776966828,173,82001,58,'2017-03-29 08:42:46','me too'),(1490777876202,192,82001,592,'2017-03-29 08:57:56','ghh'),(1490777905437,0,82001,543,'2017-03-29 08:58:25','rr'),(1490778122719,175,82001,12,'2017-03-29 09:02:02','Yeah! I think so!'),(1490778494751,1490778122719,82001,12,'2017-03-29 09:08:14','reply Android82001'),(1490778681337,166,82001,12,'2017-03-29 09:11:21','gg'),(1490780672012,164,82001,12,'2017-03-29 09:44:32','93793'),(1490780759866,99,82001,170,'2017-03-29 09:45:59','99'),(1490781009548,51,82001,301,'2017-03-29 09:50:09','3'),(1490781032005,45,82001,301,'2017-03-29 09:50:32','93793'),(1490781817044,209,38710,58,'2017-03-29 10:03:37','82001'),(1490781850893,1490776966828,38710,58,'2017-03-29 10:04:10','haha!'),(1490781857242,190,38710,58,'2017-03-29 10:04:17','nice'),(1490781865407,1490781857242,38710,58,'2017-03-29 10:04:25','wow'),(1490781899147,197,38710,12,'2017-03-29 10:04:59','kaka'),(1490781914528,1490780672012,38710,12,'2017-03-29 10:05:14','ops'),(1490794439561,1490778681337,82001,12,'2017-03-29 13:33:59','gg?'),(1490794610632,172,82001,12,'2017-03-29 13:36:50','All right'),(1490794937137,1490794919957,82001,12,'2017-03-29 13:42:17','All right ok ok'),(1490794953438,1490794937137,82001,12,'2017-03-29 13:42:33','All right ok ok ll'),(1490796241178,0,38710,58,'2017-03-29 14:04:01','Anything else?'),(1490796629591,175,38710,12,'2017-03-29 14:10:29','well'),(1490798710678,110,38710,371,'2017-03-29 14:45:10','110'),(1490800971064,175,38710,12,'2017-03-29 15:22:51','I do'),(1490848396072,175,82001,12,'2017-03-30 04:33:16','Lemon'),(1490848581424,166,82001,12,'2017-03-30 04:36:21','82001ejej'),(1490850764448,162,82001,12,'2017-03-30 05:12:44','-162'),(1490850844016,0,82001,12,'2017-03-30 05:14:04','I like it'),(1490850876656,1490800971064,82001,12,'2017-03-30 05:14:36','I do so'),(1490854894566,175,82001,12,'2017-03-30 06:21:34','it does be a good lang'),(1490863443219,1490850844016,82002,12,'2017-03-30 08:44:03','me too!'),(1490863469638,0,82002,15,'2017-03-30 08:44:29','Just do it'),(1490863507114,4,82003,470,'2017-03-30 08:45:07','yes'),(1490863563124,0,82003,704,'2017-03-30 08:46:03','I want one'),(1490863651493,0,70793,595,'2017-03-30 08:47:31','wow'),(1490863661426,1490780759866,70793,170,'2017-03-30 08:47:41','66'),(1490863676989,0,70793,12,'2017-03-30 08:47:56','Shy'),(1490863711703,0,70793,511,'2017-03-30 08:48:31','I hope I can join'),(1490863717947,178,70793,511,'2017-03-30 08:48:37','what?'),(1490863783276,1490863711703,93793,511,'2017-03-30 08:49:43','haha welcome'),(1490863903900,0,82006,470,'2017-03-30 08:51:43','SOGA'),(1490863915675,0,82006,235,'2017-03-30 08:51:55','Good boy'),(1490863938712,0,82006,12,'2017-03-30 08:52:18','Handsome!'),(1490863978239,1490796241178,82006,58,'2017-03-30 08:52:58','there still remains a question…'),(1490864016738,0,82006,511,'2017-03-30 08:53:36','I want to have a try!'),(1490864023700,0,82006,543,'2017-03-30 08:53:43','oops'),(1490864039264,0,82006,551,'2017-03-30 08:53:59','Wonderful!'),(1490864060358,308,82006,592,'2017-03-30 08:54:20','I an little girl'),(1490864075725,1490864060358,82006,592,'2017-03-30 08:54:35','do you like me?'),(1490864152008,0,82006,58,'2017-03-30 08:55:52','U R ugly( ´?` )'),(1490864254400,1490863915675,82044,235,'2017-03-30 08:57:34','And I have no idea'),(1490864276824,0,82044,12,'2017-03-30 08:57:56','Oh my God!'),(1490864292184,1490864152008,82044,58,'2017-03-30 08:58:12','haha!'),(1490864379424,1490863938712,82001,12,'2017-03-30 08:59:39','Thank you~'),(1490864400210,1490864276824,82001,12,'2017-03-30 09:00:00','Amazing, isnt it?'),(1490874908570,1490864023700,82055,543,'2017-03-30 11:55:08','yeah'),(1490874930994,1490777905437,82055,543,'2017-03-30 11:55:30','yy'),(1490874968779,0,82055,12,'2017-03-30 11:56:08','I love it'),(1490875033494,0,82055,301,'2017-03-30 11:57:13','More Comments'),(1490875040761,158,82055,301,'2017-03-30 11:57:20','157'),(1490875046704,120,82055,301,'2017-03-30 11:57:26','110'),(1490875660259,1490863469638,82055,15,'2017-03-30 12:07:40','I prove wht you said(??????)'),(1490879678127,0,82001,543,'2017-03-30 13:14:38','Baby you are a firework!'),(1490972390235,1490863903900,82001,470,'2017-03-31 14:59:50','HaHa'),(1490973736662,1490973715568,70793,170,'2017-03-31 15:22:16','Hello, I am a fresh man'),(1490973890875,1490864039264,93793,551,'2017-03-31 15:24:50','While I donot think so…'),(1491014830404,1490864016738,82001,511,'2017-04-01 02:47:10','Have a nice day!'),(1491119615611,1490864023700,82001,543,'2017-04-02 07:53:35','$$'),(1491119670185,68,82001,371,'2017-04-02 07:54:30','Leave a word'),(1491119695580,0,82001,371,'2017-04-02 07:54:55','leave a word'),(1491130701902,0,38710,511,'2017-04-02 10:58:21','Thanks for your supports (-^?^-)'),(1491209763162,0,82001,1491200468898,'2017-04-03 08:56:03','How do you do'),(1491277552385,0,82001,58,'2017-04-04 03:45:52','Seven'),(1491312382941,0,82001,1491200468898,'2017-04-04 13:26:22','Wow'),(1491312438951,1490863651493,82001,595,'2017-04-04 13:27:18','WaKaKa!'),(1491357607389,0,82001,594,'2017-04-05 02:00:07','Why not have a try?'),(1491709064513,0,82001,551,'2017-04-09 03:37:44','soga'),(1491740899179,0,82001,470,'2017-04-09 12:28:19','www'),(1491798370749,0,82002,551,'2017-04-10 04:26:10','Nice!'),(1491798499667,115,82002,371,'2017-04-10 04:28:19','I do not understand…'),(1491830543193,0,82001,170,'2017-04-10 13:22:23','What is the hell?'),(1492932228287,1491209763162,38710,1491200468898,'2017-04-23 07:23:48','fine,thanks'),(1493094307810,0,82001,551,'2017-04-25 04:25:04','删除或修改数据请先创建,不要动原来的,谢谢'),(1493094307910,0,82001,551,'2017-04-25 04:26:04','用POST新增数据'),(1493186363132,1490850764448,82001,12,'2017-04-26 05:59:23','sndnd'),(1493655944016,1491357607389,82001,594,'2017-05-01 16:25:44','good'),(1493835048580,1493834818490,82001,594,'2017-05-03 18:10:48','p'),(1502622521192,0,82001,551,'2017-08-13 11:08:41','djdn'),(1502632433970,0,82002,1493835799335,'2017-08-13 13:53:53','just have fun!'); /*!40000 ALTER TABLE `Comment` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:28 +-- Dump completed on 2017-08-14 0:39:43 diff --git a/table/sys_Login.sql b/table/sys_Login.sql index 2a5aa393f..d9128811d 100644 --- a/table/sys_Login.sql +++ b/table/sys_Login.sql @@ -50,4 +50,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:29 +-- Dump completed on 2017-08-14 0:39:45 diff --git a/table/sys_Moment.sql b/table/sys_Moment.sql index ceeb1d475..600604b5f 100644 --- a/table/sys_Moment.sql +++ b/table/sys_Moment.sql @@ -39,7 +39,7 @@ CREATE TABLE `Moment` ( LOCK TABLES `Moment` WRITE; /*!40000 ALTER TABLE `Moment` DISABLE KEYS */; -INSERT INTO `Moment` VALUES (12,70793,'2017-02-08 08:06:11','1111534034','[82003, 70793, 93793, 82006, 82044, 82040, 82055, 82002, 90814, 82001, 38710]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/788c0a7e11a4f5aadef3c886f028c79b4808613a/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343932353935372d313732303737333630382e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\"]'),(15,70793,'2017-02-08 08:06:11','APIJSON is a JSON Transmission Structure Protocol…','[82055, 82002, 82001]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]'),(32,82002,'2017-02-08 08:06:11',NULL,'[38710, 82002, 82001]','[\"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\"]'),(58,90814,'2017-02-01 11:14:31','This is a Content...-435','[38710, 82003, 82005, 93793, 82006, 82044, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\"]'),(170,70793,'2017-02-01 11:14:31','This is a Content...-73','[82044, 82002, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\"]'),(235,38710,'2017-02-08 08:06:11',NULL,'[]','[\"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\", \"http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000\"]'),(301,93793,'2017-02-01 11:14:31','This is a Content...-301','[38710, 93793, 82003, 82005, 82040, 82055, 82002, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(371,82002,'2017-02-01 11:14:31','This is a Content...-371','[90814, 93793, 82003, 82005, 82006, 82040, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(470,38710,'2017-02-01 11:14:31','This is a Content...-470','[]','[\"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\"]'),(511,38710,'2017-02-08 08:06:11',NULL,'[70793, 93793, 82001]','[\"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\"]'),(543,93793,'2017-02-08 08:06:11',NULL,'[]','[\"https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(551,70793,'2017-02-08 08:06:11','test','[]','[\"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\"]'),(594,82001,'2017-03-08 09:11:11','JSON!','[38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\"]'),(595,38710,'2017-03-05 05:29:19',NULL,'[70793, 82002, 82001]','[\"http://common.cnblogs.com/images/icon_weibo_24.png\", \"http://static.oschina.net/uploads/user/19/39085_50.jpg\"]'),(704,38710,'2017-03-12 09:39:44','APIJSON is a JSON Transmission Structure Protocol…','[82003, 82002, 82001]','[\"http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000\", \"http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000\"]'),(1491200468898,38710,'2017-04-03 06:21:08','APIJSON, let interfaces go to hell!','[]','[\"http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000\", \"http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000\"]'),(1493835799335,38710,'2017-05-03 18:23:19','APIJSON is a JSON Transmission Structure Protocol…','[82002, 82001]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]'); +INSERT INTO `Moment` VALUES (12,70793,'2017-02-08 08:06:11','1111534034','[82003, 70793, 93793, 82006, 82044, 82040, 82055, 90814, 82001, 38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/788c0a7e11a4f5aadef3c886f028c79b4808613a/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343932353935372d313732303737333630382e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\"]'),(15,70793,'2017-02-08 08:06:11','APIJSON is a JSON Transmission Structure Protocol…','[82055, 82002, 82001]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]'),(32,82002,'2017-02-08 08:06:11',NULL,'[38710, 82002, 82001]','[\"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\"]'),(58,90814,'2017-02-01 11:14:31','This is a Content...-435','[38710, 82003, 82005, 93793, 82006, 82044, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\"]'),(170,70793,'2017-02-01 11:14:31','This is a Content...-73','[82044, 82002, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\"]'),(235,38710,'2017-02-08 08:06:11',NULL,'[]','[\"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\", \"http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000\"]'),(301,93793,'2017-02-01 11:14:31','This is a Content...-301','[38710, 93793, 82003, 82005, 82040, 82055, 82002, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(371,82002,'2017-02-01 11:14:31','This is a Content...-371','[90814, 93793, 82003, 82005, 82006, 82040, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(470,38710,'2017-02-01 11:14:31','This is a Content...-470','[]','[\"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\"]'),(511,38710,'2017-02-08 08:06:11',NULL,'[70793, 93793, 82001]','[\"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\"]'),(543,93793,'2017-02-08 08:06:11',NULL,'[]','[\"https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(551,70793,'2017-02-08 08:06:11','test','[82001]','[\"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\"]'),(594,82001,'2017-03-08 09:11:11','JSON!','[38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\"]'),(595,38710,'2017-03-05 05:29:19',NULL,'[70793, 82002, 82001]','[\"http://common.cnblogs.com/images/icon_weibo_24.png\", \"http://static.oschina.net/uploads/user/19/39085_50.jpg\"]'),(704,38710,'2017-03-12 09:39:44','APIJSON is a JSON Transmission Structure Protocol…','[82003, 82002, 82001]','[\"http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000\", \"http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000\"]'),(1491200468898,38710,'2017-04-03 06:21:08','APIJSON, let interfaces go to hell!','[]','[\"http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000\", \"http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000\"]'),(1493835799335,38710,'2017-05-03 18:23:19','APIJSON is a JSON Transmission Structure Protocol…','[82002]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]'); /*!40000 ALTER TABLE `Moment` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:29 +-- Dump completed on 2017-08-14 0:39:45 diff --git a/table/sys_Pair.sql b/table/sys_Pair.sql index f5964554a..4c53d9d93 100644 --- a/table/sys_Pair.sql +++ b/table/sys_Pair.sql @@ -49,4 +49,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:29 +-- Dump completed on 2017-08-14 0:39:45 diff --git a/table/sys_Praise.sql b/table/sys_Praise.sql index 6bae21488..b33d066fe 100644 --- a/table/sys_Praise.sql +++ b/table/sys_Praise.sql @@ -48,4 +48,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:29 +-- Dump completed on 2017-08-14 0:39:45 diff --git a/table/sys_Request.sql b/table/sys_Request.sql index 27d1bb566..d287a8da9 100644 --- a/table/sys_Request.sql +++ b/table/sys_Request.sql @@ -31,7 +31,7 @@ CREATE TABLE `Request` ( `description` varchar(10000) DEFAULT NULL, `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8 COMMENT='最好编辑完后删除主键,这样就是只读状态,不能随意更改。需要更改就重新加上主键。\n\n每次启动服务器时加载整个表到内存。\n这个表不可省略,model内注解的权限只是客户端能用的,其它可以保证即便服务端代码错误时也不会误删数据。'; +) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COMMENT='最好编辑完后删除主键,这样就是只读状态,不能随意更改。需要更改就重新加上主键。\n\n每次启动服务器时加载整个表到内存。\n这个表不可省略,model内注解的权限只是客户端能用的,其它可以保证即便服务端代码错误时也不会误删数据。'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -40,7 +40,7 @@ CREATE TABLE `Request` ( LOCK TABLES `Request` WRITE; /*!40000 ALTER TABLE `Request` DISABLE KEYS */; -INSERT INTO `Request` VALUES (1,0,'User','POST','{\"User\": {\"disallow\": \"id\"}, \"necessary\": \"phone,password,verify\"}','\"User:toUser\":{}转化为\"toUser\":User的JSONObject ?','2017-02-01 11:19:51'),(2,0,'Moment','POST','{\"disallow\": \"id\", \"necessary\": \"userId,pictureList\"}',NULL,'2017-02-01 11:19:51'),(3,0,'Comment','POST','{\"disallow\": \"id\", \"necessary\": \"userId,momentId,content\"}',NULL,'2017-02-01 11:19:51'),(4,0,'User','PUT','{\"add\": {\"@role\": \"owner\"}, \"disallow\": \"phone\", \"necessary\": \"id\"}',NULL,'2017-02-01 11:19:51'),(6,0,'Moment','DELETE','{\"put\": {\"Comment\": {\"@role\": \"admin\", \"momentId@\": \"Moment/id\"}}, \"Moment\": {\"add\": {\"@role\": \"owner\"}, \"necessary\": \"id\"}}','所有删除都要有currentUserId和loginPassword?','2017-02-01 11:19:51'),(7,0,'Comment','DELETE','{\"put\": {\"Comment:child\": {\"@role\": \"admin\", \"toId@\": \"Comment/id\"}}, \"Comment\": {\"add\": {\"@role\": \"owner\"}, \"necessary\": \"id\"}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(8,0,'Password','PUT','{\"Password\": {\"disallow\": \"!\", \"necessary\": \"id,password\"}, \"necessary\": \"oldPassword\"}','对安全要求高,不允许客户端改type,date等字段','2017-02-01 11:19:51'),(9,0,'User.phone','PUT','{\"User\": {\"add\": {\"@role\": \"owner\"}, \"disallow\": \"!\", \"necessary\": \"id,phone\"}}','! 表示其它所有,这里指necessary所有未包含的字段','2017-02-01 11:19:51'),(10,0,'MomentWithComment','POST','{\"Moment\": {\"Comment\": {\"disallow\": \"id\", \"necessary\": \"userId,workId,content\"}, \"disallow\": \"id\", \"necessary\": \"userId,title,content,picture\"}}','用的极少,可能根本用不上','2017-02-01 11:19:51'),(12,0,'Password','POST_GET','{\"disallow\": \"!\", \"necessary\": \"id,model\"}','String:table, Long: tableId 限制类型?','2017-02-18 12:03:17'),(13,0,'Wallet','POST_GET','{\"Wallet\": {\"disallow\": \"!\", \"necessary\": \"id\"}}',NULL,'2017-02-18 14:20:43'),(14,0,'Login','POST_GET','{\"User\": {\"necessary\": \"phone\"}, \"Password\": {\"disallow\": \"!\", \"necessary\": \"table,phone,value\"}}',NULL,'2017-02-18 14:20:43'),(15,0,'Login','POST','{\"disallow\": \"!\", \"necessary\": \"userId,type\"}',NULL,'2017-02-18 14:20:43'),(16,0,'Verify','POST','{\"disallow\": \"!\", \"necessary\": \"id,code\"}',NULL,'2017-02-18 14:20:43'),(17,0,'Verify','POST_GET','{\"necessary\": \"id\"}',NULL,'2017-02-18 14:20:43'),(19,0,'Verify','POST_HEAD','{}','允许任意内容','2017-02-18 14:20:43'),(20,0,'Moment','PUT','{\"disallow\": \"userId,date\", \"necessary\": \"id\"}',NULL,'2017-02-01 11:19:51'),(30,0,'Wallet','POST','{\"Wallet\": {\"disallow\": \"!\", \"necessary\": \"id\"}, \"necessary\": \"payPassword\"}',NULL,'2017-02-18 14:20:43'),(31,0,'Wallet','PUT','{\"Wallet\": {\"verify\": {\"balance+&{}\": \">=-10000,<=10000\"}, \"disallow\": \"!\", \"necessary\": \"id,balance+\"}, \"Password\": {\"disallow\": \"!\", \"necessary\": \"id,password,type\"}}',NULL,'2017-02-18 14:20:43'),(32,0,'Wallet','DELETE','{\"Wallet\": {\"disallow\": \"!\", \"necessary\": \"id\"}, \"necessary\": \"payPassword\"}',NULL,'2017-02-18 14:20:43'),(33,0,'Login','POST_HEAD','{\"disallow\": \"!\", \"necessary\": \"userId,type\"}',NULL,'2017-02-18 14:20:43'),(34,0,'User','POST_GET','{}','允许任意内容',NULL),(35,0,'Privacy','PUT','{\"add\": {\"@role\": \"owner\"}, \"necessary\": \"id\"}',NULL,'2017-02-01 11:19:51'),(37,0,'Privacy','POST_GET','{\"add\": {\"@role\": \"owner\"}, \"necessary\": \"id\"}',NULL,'2017-06-12 16:05:51'),(38,0,'Praise','PUT','{\"necessary\": \"id\"}',NULL,'2017-02-01 11:19:51'),(39,0,'Comment[]','DELETE','{\"Comment\": {\"add\": {\"@role\": \"owner\", \"necessary\": \"id{}\"}}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(40,0,'Comment[]','PUT','{\"Comment\": {\"add\": {\"@role\": \"owner\", \"necessary\": \"id{}\"}}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(41,0,'Comment','PUT','{\"add\": {\"@role\": \"owner\"}, \"necessary\": \"id\"}','disallow没必要用于DELETE','2017-02-01 11:19:51'); +INSERT INTO `Request` VALUES (1,0,'User','POST','{\"User\": {\"DISALLOW\": \"id\"}, \"NECESSARY\": \"phone,password,verify\"}','\"User:toUser\":{}转化为\"toUser\":User的JSONObject ?','2017-02-01 11:19:51'),(2,0,'Moment','POST','{\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,pictureList\"}',NULL,'2017-02-01 11:19:51'),(3,0,'Comment','POST','{\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,momentId,content\"}',NULL,'2017-02-01 11:19:51'),(4,0,'User','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"DISALLOW\": \"phone\", \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(5,0,'Moment','DELETE','{\"PUT\": {\"Comment\": {\"@role\": \"admin\", \"momentId@\": \"Moment/id\"}}, \"Moment\": {\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}}','所有删除都要有currentUserId和loginPassword?','2017-02-01 11:19:51'),(6,0,'Comment','DELETE','{\"PUT\": {\"Comment:child\": {\"@role\": \"admin\", \"toId@\": \"Comment/id\"}}, \"Comment\": {\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(7,0,'Password','PUT','{\"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id,password\"}, \"NECESSARY\": \"oldPassword\"}','对安全要求高,不允许客户端改type,date等字段','2017-02-01 11:19:51'),(8,0,'User.phone','PUT','{\"User\": {\"ADD\": {\"@role\": \"owner\"}, \"DISALLOW\": \"!\", \"NECESSARY\": \"id,phone\"}}','! 表示其它所有,这里指necessary所有未包含的字段','2017-02-01 11:19:51'),(9,0,'MomentWithComment','POST','{\"Moment\": {\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,title,content,picture\"}, \"Comment\": {\"PUT\": {\"momentId@\": \"Moment/id\"}, \"DISALLOW\": \"id\", \"NECESSARY\": \"userId,workId,content\"}}','用的极少,可能根本用不上','2017-02-01 11:19:51'),(10,0,'Password','POST_GET','{\"DISALLOW\": \"!\", \"NECESSARY\": \"id,model\"}','String:table, Long: tableId 限制类型?','2017-02-18 12:03:17'),(11,0,'Wallet','POST_GET','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}}',NULL,'2017-02-18 14:20:43'),(12,0,'Login','POST_GET','{\"User\": {\"NECESSARY\": \"phone\"}, \"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"table,phone,value\"}}',NULL,'2017-02-18 14:20:43'),(13,0,'Login','POST','{\"DISALLOW\": \"!\", \"NECESSARY\": \"userId,type\"}',NULL,'2017-02-18 14:20:43'),(14,0,'Verify','POST','{\"DISALLOW\": \"!\", \"NECESSARY\": \"id,code\"}',NULL,'2017-02-18 14:20:43'),(15,0,'Verify','POST_GET','{\"NECESSARY\": \"id\"}',NULL,'2017-02-18 14:20:43'),(16,0,'Verify','POST_HEAD','{}','允许任意内容','2017-02-18 14:20:43'),(17,0,'Moment','PUT','{\"DISALLOW\": \"userId,date\", \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(18,0,'Wallet','POST','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}, \"NECESSARY\": \"payPassword\"}',NULL,'2017-02-18 14:20:43'),(19,0,'Wallet','PUT','{\"Wallet\": {\"VERIFY\": {\"balance+&{}\": \">=-10000,<=10000\"}, \"DISALLOW\": \"!\", \"NECESSARY\": \"id,balance+\"}, \"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id,password,type\"}}',NULL,'2017-02-18 14:20:43'),(20,0,'Wallet','DELETE','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}, \"NECESSARY\": \"payPassword\"}',NULL,'2017-02-18 14:20:43'),(21,0,'Login','POST_HEAD','{\"DISALLOW\": \"!\", \"NECESSARY\": \"userId,type\"}',NULL,'2017-02-18 14:20:43'),(22,0,'User','POST_GET','{}','允许任意内容','2017-02-18 14:20:43'),(23,0,'Privacy','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(24,0,'Privacy','POST_GET','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}',NULL,'2017-06-12 16:05:51'),(25,0,'Praise','PUT','{\"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(26,0,'Comment[]','DELETE','{\"Comment\": {\"ADD\": {\"@role\": \"owner\", \"NECESSARY\": \"id{}\"}}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(27,0,'Comment[]','PUT','{\"Comment\": {\"ADD\": {\"@role\": \"owner\", \"NECESSARY\": \"id{}\"}}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(28,0,'Comment','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}','disallow没必要用于DELETE','2017-02-01 11:19:51'); /*!40000 ALTER TABLE `Request` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -53,4 +53,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:28 +-- Dump completed on 2017-08-14 0:39:44 diff --git a/table/sys_Response.sql b/table/sys_Response.sql index 1de55c810..201f1f9c0 100644 --- a/table/sys_Response.sql +++ b/table/sys_Response.sql @@ -53,4 +53,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:29 +-- Dump completed on 2017-08-14 0:39:45 diff --git a/table/sys_Test.sql b/table/sys_Test.sql new file mode 100644 index 000000000..0fb30c744 --- /dev/null +++ b/table/sys_Test.sql @@ -0,0 +1,50 @@ +-- MySQL dump 10.13 Distrib 5.7.12, for osx10.9 (x86_64) +-- +-- Host: localhost Database: sys +-- ------------------------------------------------------ +-- Server version 5.7.16 + +/*!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 `Test` +-- + +DROP TABLE IF EXISTS `Test`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Test` ( + `id` tinyint(2) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `Test` +-- + +LOCK TABLES `Test` WRITE; +/*!40000 ALTER TABLE `Test` DISABLE KEYS */; +INSERT INTO `Test` VALUES (1); +/*!40000 ALTER TABLE `Test` 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 2017-08-14 0:39:44 diff --git a/table/sys_Verify.sql b/table/sys_Verify.sql index b38badb01..411f083c5 100644 --- a/table/sys_Verify.sql +++ b/table/sys_Verify.sql @@ -24,7 +24,7 @@ DROP TABLE IF EXISTS `Verify`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Verify` ( `id` bigint(15) NOT NULL COMMENT '一般存phone', - `type` int(2) DEFAULT NULL COMMENT '类型:\n验证码登录、注册验证手机、修改密码验证手机...', + `type` int(2) NOT NULL DEFAULT '0' COMMENT '类型:\n0-登录\n1-注册\n2-修改登录密码\n3-修改支付密码', `verify` int(6) NOT NULL, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) @@ -37,7 +37,7 @@ CREATE TABLE `Verify` ( LOCK TABLES `Verify` WRITE; /*!40000 ALTER TABLE `Verify` DISABLE KEYS */; -INSERT INTO `Verify` VALUES (13000031000,NULL,10442,'2017-05-04 09:30:02'),(13000031001,NULL,9445,'2017-05-04 09:31:30'),(13000038710,NULL,2649,'2017-07-09 06:37:44'),(13000038752,NULL,5879,'2017-04-22 13:03:37'),(13000038758,NULL,10077,'2017-04-22 13:09:06'),(13000038777,NULL,9175,'2017-05-02 17:51:45'),(13000038778,NULL,1191,'2017-05-02 17:56:13'),(13000038779,NULL,10350,'2017-05-02 18:09:41'),(13000038780,NULL,4200,'2017-05-02 18:10:00'),(13000038781,NULL,6674,'2017-05-02 18:18:02'),(13000038888,NULL,8186,'2017-04-29 15:35:33'),(13000038999,NULL,6167,'2017-05-03 18:27:16'),(13000039999,NULL,8566,'2017-05-04 07:31:38'),(13000082001,NULL,9276,'2017-07-09 06:13:43'),(13000082011,NULL,7026,'2017-07-03 04:47:03'),(13000082013,NULL,1229,'2017-06-17 14:04:59'),(13000082081,NULL,6760,'2017-05-04 07:32:01'),(13000082111,NULL,5650,'2017-06-18 13:36:07'),(13000093794,NULL,7563,'2017-04-23 08:29:20'); +INSERT INTO `Verify` VALUES (13000003871,0,2858,'2017-08-13 11:28:05'),(13000031000,0,10442,'2017-05-04 09:30:02'),(13000031001,0,9445,'2017-05-04 09:31:30'),(13000038710,0,7463,'2017-08-13 16:15:36'),(13000038752,0,5879,'2017-04-22 13:03:37'),(13000038758,0,10077,'2017-04-22 13:09:06'),(13000038777,0,9175,'2017-05-02 17:51:45'),(13000038778,0,1191,'2017-05-02 17:56:13'),(13000038779,0,10350,'2017-05-02 18:09:41'),(13000038780,0,4200,'2017-05-02 18:10:00'),(13000038781,0,6674,'2017-05-02 18:18:02'),(13000038888,0,8186,'2017-04-29 15:35:33'),(13000038999,0,6167,'2017-05-03 18:27:16'),(13000039999,0,8566,'2017-05-04 07:31:38'),(13000070793,0,5465,'2017-08-13 14:01:02'),(13000082001,0,2475,'2017-08-13 15:26:36'),(13000082011,0,7026,'2017-07-03 04:47:03'),(13000082013,0,1229,'2017-06-17 14:04:59'),(13000082081,0,6760,'2017-05-04 07:32:01'),(13000082111,0,5650,'2017-06-18 13:36:07'),(13000082222,0,9150,'2017-08-13 15:49:32'),(13000082333,0,3870,'2017-08-13 15:49:57'),(13000093794,0,7563,'2017-04-23 08:29:20'),(13000099999,0,7739,'2017-07-23 15:53:25'); /*!40000 ALTER TABLE `Verify` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -50,4 +50,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:28 +-- Dump completed on 2017-08-14 0:39:43 diff --git a/table/sys__Statistics.sql b/table/sys__Statistics.sql index 86d33412f..f7078aa22 100644 --- a/table/sys__Statistics.sql +++ b/table/sys__Statistics.sql @@ -54,4 +54,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:28 +-- Dump completed on 2017-08-14 0:39:44 diff --git a/table/sys__Visit.sql b/table/sys__Visit.sql index e0bda574b..5c31343d7 100644 --- a/table/sys__Visit.sql +++ b/table/sys__Visit.sql @@ -48,4 +48,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:28 +-- Dump completed on 2017-08-14 0:39:44 diff --git a/table/sys_apijson_privacy.sql b/table/sys_apijson_privacy.sql index 970ffaf33..7bcdd3024 100644 --- a/table/sys_apijson_privacy.sql +++ b/table/sys_apijson_privacy.sql @@ -39,7 +39,7 @@ CREATE TABLE `apijson_privacy` ( LOCK TABLES `apijson_privacy` WRITE; /*!40000 ALTER TABLE `apijson_privacy` DISABLE KEYS */; -INSERT INTO `apijson_privacy` VALUES (38710,1,13000038710,20000.00,'apijson',666666),(70793,0,13000070793,50000.00,'apijson',666666),(82001,1,13000082001,8000.00,'123456',123456),(82002,1,13000082002,6000.00,'123456',123456),(82003,1,13000082003,2000.00,'123456',123456),(82004,0,13000082004,2000.00,'123456',123456),(82005,0,13000082005,2000.00,'123456',123456),(82006,0,13000082006,2000.00,'123456',123456),(82012,0,13000082012,0.00,'123456',123456),(82020,0,12345678900,0.00,'123456',123456),(82021,0,12345678901,0.00,'123456',123456),(82022,0,12345678902,0.00,'123456',123456),(82023,0,12345678903,0.00,'123456',123456),(82024,0,12345678904,0.00,'123456',123456),(82025,0,12345678905,0.00,'123456',123456),(82026,0,12345678906,0.00,'123456',123456),(82027,0,12345678907,0.00,'123456',123456),(82028,0,12345678908,0.00,'123456',123456),(82029,0,12345678909,0.00,'123456',123456),(82030,0,12345678910,0.00,'123456',123456),(82031,0,12345678911,0.00,'123456',123456),(82032,0,12345678912,0.00,'123456',123456),(82033,0,12345678913,0.00,'123456',123456),(82034,0,12345678914,0.00,'123456',123456),(82035,0,12345678915,0.00,'123456',123456),(82036,0,12345678916,0.00,'123456',123456),(82037,0,12345678917,0.00,'123456',123456),(82038,0,12345678918,0.00,'123456',123456),(82039,0,12345678919,0.00,'123456',123456),(82040,0,13000082019,0.00,'123456',123456),(82041,0,13000082015,0.00,'123456',123456),(82042,0,13000082016,0.00,'123456',123456),(82043,0,13000082017,0.00,'123456',123456),(82044,0,13000082018,0.00,'123456',123456),(82045,0,13000082020,0.00,'123456',123456),(82046,0,13000082010,0.00,'123456',123456),(82047,0,13000082021,0.00,'123456',123456),(82048,0,13000038711,0.00,'123456',123456),(82049,0,13000038712,0.00,'123456',123456),(82050,0,13000038713,0.00,'123456',123456),(82051,0,13000038714,0.00,'123456',123456),(82052,0,13000038715,0.00,'123456',123456),(82053,0,13000038720,0.00,'123456',123456),(82054,0,13000038721,0.00,'123456',123456),(82055,0,13000082030,0.00,'123456',123456),(82056,0,13000082040,0.00,'123456',123456),(82057,0,13000038730,0.00,'123456',123456),(82058,0,13000038750,0.00,'123456',123456),(82059,0,13000082033,0.00,'123456',123456),(82060,0,13000082050,0.00,'123456',123456),(90814,1,13000090814,0.00,'123456',123456),(93793,1,13000093793,3000.00,'apijson',666666),(93794,0,99999999999,0.00,'123456',123456),(1490109742863,0,13000082100,0.00,'123456',123456),(1490109845208,0,13000082101,0.00,'123456',123456),(1490420651686,0,13000038716,0.00,'123456',123456),(1490427139175,0,13000038717,0.00,'123456',123456),(1490427577823,0,13000082102,0.00,'123456',123456),(1490584952968,0,13000038790,0.00,'123456',123456),(1490973670928,0,13000082051,0.00,'123456',123456),(1492936169722,0,13000093794,0.00,'123456',123456),(1493480142628,0,13000038888,0.00,'123456',123456),(1493747512860,0,13000038777,0.00,'123456',123456),(1493747777770,0,13000038778,0.00,'123456',123456),(1493748594003,0,13000038779,0.00,'123456',123456),(1493748615711,0,13000038780,0.00,'123456',123456),(1493749090643,0,13000038781,0.00,'123456',123456),(1493836043151,0,13000038999,0.00,'123456',123456),(1493883110132,0,13000039999,0.00,'123456',123456),(1493890214167,0,13000031000,0.00,'123456',123456),(1493890303473,0,13000031001,0.00,'123456',123456),(1493890303474,0,13000088888,0.00,'123456',123456),(1493890303475,0,13000088888,0.00,'123456',123456),(1497792972314,0,13000082111,0.00,'654321',NULL),(1499057230629,0,13000082011,0.00,'123456',NULL); +INSERT INTO `apijson_privacy` VALUES (38710,1,13000038710,29812.00,'apijson',666666),(70793,0,13000070793,56000.00,'apijson',666666),(82001,1,13000082001,8497.00,'123456',123456),(82002,1,13000082002,6450.00,'123456',123456),(82003,1,13000082003,2000.00,'123456',123456),(82004,0,13000082004,2000.00,'123456',123456),(82005,0,13000082005,2000.00,'123456',123456),(82006,0,13000082006,2000.00,'123456',123456),(82012,0,13000082012,0.00,'123456',123456),(82020,0,12345678900,0.00,'123456',123456),(82021,0,12345678901,0.00,'123456',123456),(82022,0,12345678902,0.00,'123456',123456),(82023,0,12345678903,0.00,'123456',123456),(82024,0,12345678904,0.00,'123456',123456),(82025,0,12345678905,0.00,'123456',123456),(82026,0,12345678906,0.00,'123456',123456),(82027,0,12345678907,0.00,'123456',123456),(82028,0,12345678908,0.00,'123456',123456),(82029,0,12345678909,0.00,'123456',123456),(82030,0,12345678910,0.00,'123456',123456),(82031,0,12345678911,0.00,'123456',123456),(82032,0,12345678912,0.00,'123456',123456),(82033,0,12345678913,0.00,'123456',123456),(82034,0,12345678914,0.00,'123456',123456),(82035,0,12345678915,0.00,'123456',123456),(82036,0,12345678916,0.00,'123456',123456),(82037,0,12345678917,0.00,'123456',123456),(82038,0,12345678918,0.00,'123456',123456),(82039,0,12345678919,0.00,'123456',123456),(82040,0,13000082019,0.00,'123456',123456),(82041,0,13000082015,0.00,'123456',123456),(82042,0,13000082016,0.00,'123456',123456),(82043,0,13000082017,0.00,'123456',123456),(82044,0,13000082018,0.00,'123456',123456),(82045,0,13000082020,0.00,'123456',123456),(82046,0,13000082010,0.00,'123456',123456),(82047,0,13000082021,0.00,'123456',123456),(82048,0,13000038711,0.00,'123456',123456),(82049,0,13000038712,0.00,'123456',123456),(82050,0,13000038713,0.00,'123456',123456),(82051,0,13000038714,0.00,'123456',123456),(82052,0,13000038715,0.00,'123456',123456),(82053,0,13000038720,0.00,'123456',123456),(82054,0,13000038721,0.00,'123456',123456),(82055,0,13000082030,0.00,'123456',123456),(82056,0,13000082040,0.00,'123456',123456),(82057,0,13000038730,0.00,'123456',123456),(82058,0,13000038750,0.00,'123456',123456),(82059,0,13000082033,0.00,'123456',123456),(82060,0,13000082050,0.00,'123456',123456),(90814,1,13000090814,0.00,'123456',123456),(93793,1,13000093793,3000.00,'apijson',666666),(93794,0,99999999999,0.00,'123456',123456),(1490109742863,0,13000082100,0.00,'123456',123456),(1490109845208,0,13000082101,0.00,'123456',123456),(1490420651686,0,13000038716,0.00,'123456',123456),(1490427139175,0,13000038717,0.00,'123456',123456),(1490427577823,0,13000082102,0.00,'123456',123456),(1490584952968,0,13000038790,0.00,'123456',123456),(1490973670928,0,13000082051,0.00,'123456',123456),(1492936169722,0,13000093794,0.00,'123456',123456),(1493480142628,0,13000038888,0.00,'123456',123456),(1493747512860,0,13000038777,0.00,'123456',123456),(1493747777770,0,13000038778,0.00,'123456',123456),(1493748594003,0,13000038779,0.00,'123456',123456),(1493748615711,0,13000038780,0.00,'123456',123456),(1493749090643,0,13000038781,0.00,'123456',123456),(1493836043151,0,13000038999,0.00,'123456',123456),(1493883110132,0,13000039999,0.00,'123456',123456),(1493890214167,0,13000031000,0.00,'123456',123456),(1493890303473,0,13000031001,0.00,'123456',123456),(1493890303474,0,13000088888,0.00,'123456',123456),(1493890303475,0,13000088888,0.00,'123456',123456),(1497792972314,0,13000082111,0.00,'654321',NULL),(1499057230629,0,13000082011,0.00,'123456',NULL),(1500825221910,0,13000099999,0.00,'123456',NULL),(1502639062900,0,13000082222,0.00,'123456',NULL),(1502639424119,0,13000082333,0.00,'12345678',NULL); /*!40000 ALTER TABLE `apijson_privacy` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:28 +-- Dump completed on 2017-08-14 0:39:43 diff --git a/table/sys_apijson_user.sql b/table/sys_apijson_user.sql index f695b4f03..c911e03c5 100644 --- a/table/sys_apijson_user.sql +++ b/table/sys_apijson_user.sql @@ -32,7 +32,7 @@ CREATE TABLE `apijson_user` ( `pictureList` json DEFAULT NULL, `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1499057230630 DEFAULT CHARSET=utf8 COMMENT='对安全要求高,不想泄漏真实名称。对外名称为 User'; +) ENGINE=InnoDB AUTO_INCREMENT=1502639424120 DEFAULT CHARSET=utf8 COMMENT='对安全要求高,不想泄漏真实名称。对外名称为 User'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -41,7 +41,7 @@ CREATE TABLE `apijson_user` ( LOCK TABLES `apijson_user` WRITE; /*!40000 ALTER TABLE `apijson_user` DISABLE KEYS */; -INSERT INTO `apijson_user` VALUES (38710,0,'TommyLemon','Android&Java','http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000','[82003, 82005, 90814, 82004, 82009, 82002, 82044, 93793, 70793]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]','2017-02-01 11:21:50'),(70793,0,'Strong','djdj','http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000','[38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/788c0a7e11a\", \"https://camo.githubusercontent.com/f513f67\"]','2017-02-01 11:21:50'),(82001,0,'Android','APIJSON User','http://static.oschina.net/uploads/user/19/39085_50.jpg','[82004, 82021, 82023, 82025, 82039, 82027, 82002, 70793]','[\"http://common.cnblogs.com/images/icon_weibo_24.png\"]','2017-02-01 11:21:50'),(82002,1,'Happy~','iOS','http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000','[82005, 70793, 82001]',NULL,'2017-02-01 11:21:50'),(82003,1,'Wechat',NULL,'http://common.cnblogs.com/images/wechat.png','[82001, 93793]',NULL,'2017-02-01 11:21:50'),(82004,0,'Tommy','fasef','http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82005,1,'Jan','AG','http://my.oschina.net/img/portrait.gif?t=1451961935000','[82001, 38710]',NULL,'2017-02-01 11:21:50'),(82006,1,'Meria',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-02-01 11:21:50'),(82012,0,'Steve','FEWE','http://static.oschina.net/uploads/user/1/3064_50.jpg?t=1449566001000','[82004, 82002, 93793]',NULL,'2017-02-01 11:21:50'),(82020,0,'ORANGE',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-02-01 11:21:50'),(82021,1,'Tommy',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(82022,0,'Internet',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82023,0,'No1',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-02-01 11:21:50'),(82024,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/427/855532_50.jpg?t=1435030876000',NULL,NULL,'2017-02-01 11:21:50'),(82025,1,'Tommy',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-02-01 11:21:50'),(82026,0,'iOS',NULL,'http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82027,0,'Yong',NULL,'http://my.oschina.net/img/portrait.gif?t=1451961935000',NULL,NULL,'2017-02-01 11:21:50'),(82028,1,'gaeg',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-02-01 11:21:50'),(82029,0,'GASG',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-02-01 11:21:50'),(82030,1,'Fun',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-02-01 11:21:50'),(82031,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/48/96331_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(82032,0,'Stack','fasdg','http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-02-01 11:21:50'),(82033,1,'GAS',NULL,'http://my.oschina.net/img/portrait.gif?t=1451961935000',NULL,NULL,'2017-02-01 11:21:50'),(82034,1,'Jump',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82035,1,'Tab',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-02-01 11:21:50'),(82036,0,'SAG',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82037,0,'Test',NULL,'http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82038,0,'Battle',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-02-01 11:21:50'),(82039,1,'Everyday',NULL,'http://common.cnblogs.com/images/icon_weibo_24.png',NULL,NULL,'2017-02-19 13:57:56'),(82040,1,'Dream',NULL,'/storage/emulated/0/output_image.jpg','[70793]',NULL,'2017-03-02 16:44:26'),(82041,0,'Holo',NULL,'/storage/emulated/0/output_image.jpg','[38710, 82001]',NULL,'2017-03-04 09:59:34'),(82042,1,'Why',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-03-04 10:04:33'),(82043,0,'Holiday',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000','[70793, 82006]',NULL,'2017-03-04 10:05:04'),(82044,1,'Love',NULL,'http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000','[82006]',NULL,'2017-03-04 10:20:27'),(82045,0,'Green',NULL,'http://common.cnblogs.com/images/wechat.png','[82001, 82002, 82003, 1485246481130]',NULL,'2017-03-04 10:22:39'),(82046,0,'Team',NULL,'/storage/emulated/0/output_image.jpg','[38710, 82002, 1485246481130]',NULL,'2017-03-04 15:11:17'),(82047,0,'Tesla',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-03-04 16:02:05'),(82048,0,'Moto',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-03-04 16:04:02'),(82049,0,'ITMan',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-03-05 09:51:51'),(82050,0,'Parl',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-03-05 09:52:52'),(82051,0,'Girl',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-03-05 09:53:37'),(82052,0,'Unbrella',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-03-05 09:57:54'),(82053,0,'Alice',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-03-05 15:25:42'),(82054,0,'Harvey',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg',NULL,NULL,'2017-03-06 12:29:03'),(82055,1,'Solid',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg','[38710, 82002]',NULL,'2017-03-11 15:04:00'),(82056,1,'IronMan',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-03-11 15:32:25'),(82057,0,'NullPointerExeption',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-03-12 06:01:23'),(82058,0,'StupidBird',NULL,'/storage/emulated/0/zblibrary.demo/image/output_image1489317829932.jpg','[82001, 82002]',NULL,'2017-03-12 11:23:04'),(82059,1,'He&She',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-03-19 14:49:15'),(82060,1,'Anyway~',NULL,'http://static.oschina.net/uploads/user/1/3064_50.jpg?t=1449566001000',NULL,NULL,'2017-03-21 14:10:18'),(90814,0,'007',NULL,'http://static.oschina.net/uploads/user/51/102723_50.jpg?t=1449212504000',NULL,NULL,'2017-02-01 11:21:50'),(93793,0,'Mike','GES','http://static.oschina.net/uploads/user/48/96331_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(93794,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/48/97721_50.jpg?t=1451544779000',NULL,NULL,'2017-02-01 11:21:50'),(1490109742863,1,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-21 15:22:22'),(1490109845208,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-21 15:24:05'),(1490420651686,1,'APIJSONUser',NULL,NULL,'[70793]',NULL,'2017-03-25 05:44:11'),(1490427139175,0,'APIJSONUser',NULL,NULL,'[38710, 70793]',NULL,'2017-03-25 07:32:19'),(1490427577823,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-25 07:39:37'),(1490584952968,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-27 03:22:32'),(1490973670928,1,'APIJSONUser',NULL,'/storage/emulated/0/zblibrary.demo/image/output_image1490974049707.jpg','[70793, 93793]',NULL,'2017-03-31 15:21:10'),(1492936169722,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-04-23 08:29:29'),(1493480142628,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-04-29 15:35:42'),(1493747512860,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 17:51:52'),(1493747777770,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 17:56:17'),(1493748594003,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:09:54'),(1493748615711,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:10:15'),(1493749090643,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:18:10'),(1493836043151,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-03 18:27:23'),(1493883110132,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 07:31:50'),(1493890214167,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 09:30:14'),(1493890303473,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 09:31:43'),(1493890303474,0,'Test Post',NULL,NULL,NULL,NULL,'2017-06-12 15:50:44'),(1493890303475,0,'Test Post',NULL,NULL,NULL,NULL,'2017-06-12 15:51:23'),(1497792972314,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-06-18 13:36:12'),(1497792972315,0,'一二三',NULL,NULL,NULL,NULL,'2017-06-25 10:42:33'),(1499057230629,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-07-03 04:47:10'); +INSERT INTO `apijson_user` VALUES (38710,0,'TommyLemon','Android&Java','http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000','[82003, 82005, 90814, 82004, 82009, 82002, 82044, 93793, 70793]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]','2017-02-01 11:21:50'),(70793,0,'Strong','djdj','http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000','[38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/788c0a7e11a\", \"https://camo.githubusercontent.com/f513f67\"]','2017-02-01 11:21:50'),(82001,0,'Android','APIJSON User','http://static.oschina.net/uploads/user/19/39085_50.jpg','[82004, 82021, 82023, 82025, 82039, 82027, 82002, 70793]','[\"http://common.cnblogs.com/images/icon_weibo_24.png\"]','2017-02-01 11:21:50'),(82002,1,'Happy~','iOS','http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000','[82005, 82001, 38710]',NULL,'2017-02-01 11:21:50'),(82003,1,'Wechat',NULL,'http://common.cnblogs.com/images/wechat.png','[82001, 93793]',NULL,'2017-02-01 11:21:50'),(82004,0,'Tommy','fasef','http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82005,1,'Jan','AG','http://my.oschina.net/img/portrait.gif?t=1451961935000','[82001, 38710]',NULL,'2017-02-01 11:21:50'),(82006,1,'Meria',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-02-01 11:21:50'),(82012,0,'Steve','FEWE','http://static.oschina.net/uploads/user/1/3064_50.jpg?t=1449566001000','[82004, 82002, 93793]',NULL,'2017-02-01 11:21:50'),(82020,0,'ORANGE',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-02-01 11:21:50'),(82021,1,'Tommy',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(82022,0,'Internet',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82023,0,'No1',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-02-01 11:21:50'),(82024,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/427/855532_50.jpg?t=1435030876000',NULL,NULL,'2017-02-01 11:21:50'),(82025,1,'Tommy',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-02-01 11:21:50'),(82026,0,'iOS',NULL,'http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82027,0,'Yong',NULL,'http://my.oschina.net/img/portrait.gif?t=1451961935000',NULL,NULL,'2017-02-01 11:21:50'),(82028,1,'gaeg',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-02-01 11:21:50'),(82029,0,'GASG',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-02-01 11:21:50'),(82030,1,'Fun',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-02-01 11:21:50'),(82031,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/48/96331_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(82032,0,'Stack','fasdg','http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-02-01 11:21:50'),(82033,1,'GAS',NULL,'http://my.oschina.net/img/portrait.gif?t=1451961935000',NULL,NULL,'2017-02-01 11:21:50'),(82034,1,'Jump',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82035,1,'Tab',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-02-01 11:21:50'),(82036,0,'SAG',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82037,0,'Test',NULL,'http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82038,0,'Battle',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-02-01 11:21:50'),(82039,1,'Everyday',NULL,'http://common.cnblogs.com/images/icon_weibo_24.png',NULL,NULL,'2017-02-19 13:57:56'),(82040,1,'Dream',NULL,'/storage/emulated/0/output_image.jpg','[70793]',NULL,'2017-03-02 16:44:26'),(82041,0,'Holo',NULL,'/storage/emulated/0/output_image.jpg','[38710, 82001]',NULL,'2017-03-04 09:59:34'),(82042,1,'Why',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-03-04 10:04:33'),(82043,0,'Holiday',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000','[70793, 82006]',NULL,'2017-03-04 10:05:04'),(82044,1,'Love',NULL,'http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000','[82006]',NULL,'2017-03-04 10:20:27'),(82045,0,'Green',NULL,'http://common.cnblogs.com/images/wechat.png','[82001, 82002, 82003, 1485246481130]',NULL,'2017-03-04 10:22:39'),(82046,0,'Team',NULL,'/storage/emulated/0/output_image.jpg','[38710, 82002, 1485246481130]',NULL,'2017-03-04 15:11:17'),(82047,0,'Tesla',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-03-04 16:02:05'),(82048,0,'Moto',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-03-04 16:04:02'),(82049,0,'ITMan',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-03-05 09:51:51'),(82050,0,'Parl',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-03-05 09:52:52'),(82051,0,'Girl',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-03-05 09:53:37'),(82052,0,'Unbrella',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-03-05 09:57:54'),(82053,0,'Alice',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-03-05 15:25:42'),(82054,0,'Harvey',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg',NULL,NULL,'2017-03-06 12:29:03'),(82055,1,'Solid',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg','[38710, 82002]',NULL,'2017-03-11 15:04:00'),(82056,1,'IronMan',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-03-11 15:32:25'),(82057,0,'NullPointerExeption',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-03-12 06:01:23'),(82058,0,'StupidBird',NULL,'/storage/emulated/0/zblibrary.demo/image/output_image1489317829932.jpg','[82001, 82002]',NULL,'2017-03-12 11:23:04'),(82059,1,'He&She',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-03-19 14:49:15'),(82060,1,'Anyway~',NULL,'http://static.oschina.net/uploads/user/1/3064_50.jpg?t=1449566001000',NULL,NULL,'2017-03-21 14:10:18'),(90814,0,'007',NULL,'http://static.oschina.net/uploads/user/51/102723_50.jpg?t=1449212504000',NULL,NULL,'2017-02-01 11:21:50'),(93793,0,'Mike','GES','http://static.oschina.net/uploads/user/48/96331_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(93794,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/48/97721_50.jpg?t=1451544779000',NULL,NULL,'2017-02-01 11:21:50'),(1490109742863,1,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-21 15:22:22'),(1490109845208,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-21 15:24:05'),(1490420651686,1,'APIJSONUser',NULL,NULL,'[70793]',NULL,'2017-03-25 05:44:11'),(1490427139175,0,'APIJSONUser',NULL,NULL,'[38710, 70793]',NULL,'2017-03-25 07:32:19'),(1490427577823,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-25 07:39:37'),(1490584952968,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-27 03:22:32'),(1490973670928,1,'APIJSONUser',NULL,'/storage/emulated/0/zblibrary.demo/image/output_image1490974049707.jpg','[70793, 93793]',NULL,'2017-03-31 15:21:10'),(1492936169722,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-04-23 08:29:29'),(1493480142628,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-04-29 15:35:42'),(1493747512860,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 17:51:52'),(1493747777770,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 17:56:17'),(1493748594003,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:09:54'),(1493748615711,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:10:15'),(1493749090643,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:18:10'),(1493836043151,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-03 18:27:23'),(1493883110132,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 07:31:50'),(1493890214167,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 09:30:14'),(1493890303473,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 09:31:43'),(1493890303474,0,'Test Post',NULL,NULL,NULL,NULL,'2017-06-12 15:50:44'),(1493890303475,0,'Test Post',NULL,NULL,NULL,NULL,'2017-06-12 15:51:23'),(1497792972314,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-06-18 13:36:12'),(1497792972315,0,'一二三',NULL,NULL,NULL,NULL,'2017-06-25 10:42:33'),(1499057230629,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-07-03 04:47:10'),(1500825221910,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-07-23 15:53:41'),(1502638023483,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-08-13 15:27:03'),(1502639062900,0,'TESLA',NULL,NULL,NULL,NULL,'2017-08-13 15:44:22'),(1502639424119,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-08-13 15:50:24'); /*!40000 ALTER TABLE `apijson_user` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -54,4 +54,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-07-09 14:39:28 +-- Dump completed on 2017-08-14 0:39:43 From b28da06e86d21de7b4a4e542e038e48b835ad93f Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Thu, 17 Aug 2017 09:07:04 +0800 Subject: [PATCH 138/219] =?UTF-8?q?Server:=E5=8F=96=E6=B6=88=E6=B3=A8?= =?UTF-8?q?=E9=87=8AController=E4=B8=AD=E8=B5=B0HTTP=20GET=E7=9A=84open=5F?= =?UTF-8?q?get=E5=92=8Copen=5Fhead=EF=BC=8C=E6=B5=8B=E8=AF=95=E8=BF=87?= =?UTF-8?q?=E5=92=8C=E8=B5=B0HTTP=20POST=E7=9A=84get,head=E4=B8=8D?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/apijson/demo/server/Controller.java | 64 ++++++++++--------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java index d76adbd5b..f15bf130e 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java @@ -22,11 +22,13 @@ import static zuo.biao.apijson.RequestMethod.POST_HEAD; import static zuo.biao.apijson.RequestMethod.PUT; +import java.net.URLDecoder; import java.util.Random; import java.util.concurrent.TimeoutException; import javax.servlet.http.HttpSession; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -64,37 +66,37 @@ public class Controller { //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - // /**获取 - // * @param request 只用String,避免encode后未decode - // * @param session - // * @return - // * @see {@link RequestMethod#GET} - // */ - // @RequestMapping("get/{request}") - // public String open_get(@PathVariable String request, HttpSession session) { - // try { - // request = URLDecoder.decode(request, StringUtil.UTF_8); - // } catch (Exception e) { - // // Parser会报错 - // } - // return get(request, session); - // } - // - // /**计数 - // * @param request 只用String,避免encode后未decode - // * @param session - // * @return - // * @see {@link RequestMethod#HEAD} - // */ - // @RequestMapping("head/{request}") - // public String open_head(@PathVariable String request, HttpSession session) { - // try { - // request = URLDecoder.decode(request, StringUtil.UTF_8); - // } catch (Exception e) { - // // Parser会报错 - // } - // return head(request, session); - // } + /**获取 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#GET} + */ + @RequestMapping("get/{request}") + public String open_get(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return get(request, session); + } + + /**计数 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#HEAD} + */ + @RequestMapping("head/{request}") + public String open_head(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return head(request, session); + } /**获取 * @param request 只用String,避免encode后未decode From dec38a4f68a880f56c8033f43923587ad46bfa37 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 00:48:09 +0800 Subject: [PATCH 139/219] =?UTF-8?q?readme=E4=B8=AD=E6=96=87=E7=89=88?= =?UTF-8?q?=E5=B0=86targetKey=E6=94=B9=E4=B8=BArefKey=EF=BC=9B=E8=8B=B1?= =?UTF-8?q?=E6=96=87=E7=89=88=E5=B0=86Work=E6=94=B9=E4=B8=BAMoment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 32 ++++++++++++++++---------------- README.md | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/README(English).md b/README(English).md index 5e252b0a0..3b3c409e9 100644 --- a/README(English).md +++ b/README(English).md @@ -30,14 +30,14 @@ Here is an example(Request an Moment list like Wechat friend circle data):         "User": {                                      //request an object from the table named User
                  "sex": 0                                   //object condition
              },
      -        "Work": {
      +        "Moment": {
                  "userId@": “/User/id”             //rely path with default parent path,starts from the same level object's path
              },
              "Comment[]": {                           //request an array named Comment 
                  "page": 0,
                  "count": 3,
                  "Comment": {
      -                 "workId@": “[]/Work/id”   //full rely path
      +                 "momentId@": “[]/Moment/id”   //full rely path
                   }
              }
          }
      @@ -58,7 +58,7 @@ Here is an example(Request an Moment list like Wechat friend circle data):                 "name":"Name-38710",
                      "head":"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000"
                  },
      -            "Work":{
      +            "Moment":{
                      "id":470,
                      "title":"Title-470",
                      "content":"This is a Content...-470",
      @@ -70,7 +70,7 @@ Here is an example(Request an Moment list like Wechat friend circle data):                     "Comment":{
                              "id":4,
                              "parentId":0,
      -                        "workId":470,
      +                        "momentId":470,
                              "userId":310,
                              "targetUserId":14604,
                              "content":"This is a Content...-4",
      @@ -82,7 +82,7 @@ Here is an example(Request an Moment list like Wechat friend circle data):                     "Comment":{
                              "id":22,
                              "parentId":221,
      -                        "workId":470,
      +                        "momentId":470,
                              "userId":332,
                              "targetUserId":5904,
                              "content":"This is a Content...-22",
      @@ -94,7 +94,7 @@ Here is an example(Request an Moment list like Wechat friend circle data):                     "Comment":{
                              "id":47,
                              "parentId":4,
      -                        "workId":470,
      +                        "momentId":470,
                              "userId":10,
                              "targetUserId":5477,
                              "content":"This is a Content...-47",
      @@ -113,7 +113,7 @@ Here is an example(Request an Moment list like Wechat friend circle data):                 "name":"Name-70793",
                      "head":"http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000"
                  },
      -            "Work":{
      +            "Moment":{
                      "id":170,
                      "title":"Title-73",
                      "content":"This is a Content...-73",
      @@ -125,7 +125,7 @@ Here is an example(Request an Moment list like Wechat friend circle data):                     "Comment":{
                              "id":44,
                              "parentId":0,
      -                        "workId":170,
      +                        "momentId":170,
                              "userId":7073,
                              "targetUserId":6378,
                              "content":"This is a Content...-44",
      @@ -137,7 +137,7 @@ Here is an example(Request an Moment list like Wechat friend circle data):                     "Comment":{
                              "id":54,
                              "parentId":0,
      -                        "workId":170,
      +                        "momentId":170,
                              "userId":3,
                              "targetUserId":62122,
                              "content":"This is a Content...-54",
      @@ -149,7 +149,7 @@ Here is an example(Request an Moment list like Wechat friend circle data):                     "Comment":{
                              "id":99,
                              "parentId":44,
      -                        "workId":170,
      +                        "momentId":170,
                              "userId":793,
                              "targetUserId":7166,
                              "content":"This is a Content...-99",
      @@ -202,18 +202,18 @@ Here is an example(Request an Moment list like Wechat friend circle data): Client requests for different requirements | Previous way | APIJSON -------- | ------------ | ------------ User | http://localhost:8080/get/user?id=1 | http://localhost:8080/get/{"User":{"id":1}} - User and his Work | Request twice
      User: http://localhost:8080/get/user?id=1
      Work: http://localhost:8080/get/work?userId=1 | http://localhost:8080/get/{"User":{"id":1}, "Work":{"userId@":"User/id"}} + User and his Moment | Request twice
      User: http://localhost:8080/get/user?id=1
      Moment: http://localhost:8080/get/work?userId=1 | http://localhost:8080/get/{"User":{"id":1}, "Moment":{"userId@":"User/id"}} User list | http://localhost:8080/get/user/list?page=1&count=5&sex=0 | http://localhost:8080/get/{"[]":{"page":1, "count":5, "User":{"sex":0}}} - Work list of which type is 1, each Work contains it's publisher User and top 3 Comments | The Work must contains the User Object and Comment Array
      http://localhost:8080/get/work/list?page=1&count=5&type=1&commentCount=3 | http://localhost:8080/get/{"[]":{"page":1, "count":5, "Work":{"type":1}, "User":{"workId@":"/Work/id"}, "[]":{"count":3, "Comment":{"workId@":"[]/Work/id"}}}} - Work list of an User, each Work contains the publisher User and top 3 Comments | Change type=1 to userId=1 above | Here are several ways:
      ①Change "Work":{"type":1}, "User":{"workId@":"/Work/id"} to "User":{"id":1}, "Work":{"userId@":"/User/id"} above

      ②Or save 4 repeated User by this way
      http://localhost:8080/get/{"User":{"id":1}, "[]":{"page":1, "count":5, "Work":{"userId@":"User/id"}, "[]":{"count":3, "Comment":{"workId@":"[]/Work/id"}}}}

      ③If the User is already obtained, you can also save all repeated User by this way
      http://localhost:8080/get/{"[]":{"page":1, "count":5, "Work":{"userId":1}, "[]":{"count":3, "Comment":{"workId@":"[]/Work/id"}}}} + Moment list of which type is 1, each Moment contains it's publisher User and top 3 Comments | The Moment must contains the User Object and Comment Array
      http://localhost:8080/get/work/list?page=1&count=5&type=1&commentCount=3 | http://localhost:8080/get/{"[]":{"page":1, "count":5, "Moment":{"type":1}, "User":{"momentId@":"/Moment/id"}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}} + Moment list of an User, each Moment contains the publisher User and top 3 Comments | Change type=1 to userId=1 above | Here are several ways:
      ①Change "Moment":{"type":1}, "User":{"momentId@":"/Moment/id"} to "User":{"id":1}, "Moment":{"userId@":"/User/id"} above

      ②Or save 4 repeated User by this way
      http://localhost:8080/get/{"User":{"id":1}, "[]":{"page":1, "count":5, "Moment":{"userId@":"User/id"}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}}

      ③If the User is already obtained, you can also save all repeated User by this way
      http://localhost:8080/get/{"[]":{"page":1, "count":5, "Moment":{"userId":1}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}} Server responses for different requests | Previous way | APIJSON -------- | ------------ | ------------ User | {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}} | {"status":200, "message":"success", "User":{"id":1, "name":"xxx"...}} - User and his Work | Reponse twice
      User: {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}}
      Work: {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}} | {"status":200, "message":"success", "User":{"id":1, "name":"xxx"...}, "Work":{"id":1, "content":"xxx"...}} + User and his Moment | Reponse twice
      User: {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}}
      Moment: {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}} | {"status":200, "message":"success", "User":{"id":1, "name":"xxx"...}, "Moment":{"id":1, "content":"xxx"...}} User list | {"status":200, "message":"success", "data":[{"id":1, "name":"xxx"...}, {"id":2...}...]} | {"status":200, "message":"success", "[]":{"0":{"User":{"id":1, "name":"xxx"...}}, "1":{"User":{"id":2...}}...}} - Work list of which type is 1, each Work contains it's publisher User and top 3 Comments | {"status":200, "message":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...}...]} | {"status":200, "message":"success", "[]":{"0":{"Work":{"id":1, "content":"xxx"...}, "User":{...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}} - Work list of an User, each Work contains the publisher User and top 3 Comments | {"status":200, "message":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...}...]} | Results for the ways above:
      ①{"status":200, "message":"success", "[]":{"0":{"User":{"id":1, "name":"xxx"...}, "Work":{...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}}

      ②{"status":200, "message":"success", "User":{...}, "[]":{"0":{"Work":{"id":1, "content":"xxx"...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}}

      ③{"status":200, "message":"success", "[]":{"0":{"Work":{"id":1, "content":"xxx"...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}} + Moment list of which type is 1, each Moment contains it's publisher User and top 3 Comments | {"status":200, "message":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...}...]} | {"status":200, "message":"success", "[]":{"0":{"Moment":{"id":1, "content":"xxx"...}, "User":{...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}} + Moment list of an User, each Moment contains the publisher User and top 3 Comments | {"status":200, "message":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...}...]} | Results for the ways above:
      ①{"status":200, "message":"success", "[]":{"0":{"User":{"id":1, "name":"xxx"...}, "Moment":{...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}}

      ②{"status":200, "message":"success", "User":{...}, "[]":{"0":{"Moment":{"id":1, "content":"xxx"...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}}

      ③{"status":200, "message":"success", "[]":{"0":{"Moment":{"id":1, "content":"xxx"...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}} ## Usage diff --git a/README.md b/README.md index 579ff36cf..e1942a913 100644 --- a/README.md +++ b/README.md @@ -405,7 +405,7 @@ DELETE:
      删除数据,
      非明文 | base_url/delete/ | {
       & 4.POST_GET与GET、POST_HEAD与HEAD分别为同一类型的操作方法,请求稍有不同但返回结果相同。下同。
      5.在HTTP通信中,GET、HEAD方法一般用HTTP GET请求,其它一般用HTTP POST请求。下同。
      6.所有JSONObject都视为容器(或者文件夹),结构为 {...} ,里面可以放普通对象或子容器。下同。
      -7.每个对象都有一个唯一的路径(或者叫地址),假设对象名为targetKey,则用 key0/key1/.../targetKey 表示。下同。 +7.每个对象都有一个唯一的路径(或者叫地址),假设对象名为refKey,则用 key0/key1/.../refKey 表示。下同。
      From 61cb8a455a374af6d916e48f41665282b396dc57 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 00:51:08 +0800 Subject: [PATCH 140/219] =?UTF-8?q?readme=E8=8B=B1=E6=96=87=E7=89=88/work?= =?UTF-8?q?=E6=94=B9=E4=B8=BA/moment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README(English).md b/README(English).md index 3b3c409e9..4971efbb9 100644 --- a/README(English).md +++ b/README(English).md @@ -202,9 +202,9 @@ Here is an example(Request an Moment list like Wechat friend circle data): Client requests for different requirements | Previous way | APIJSON -------- | ------------ | ------------ User | http://localhost:8080/get/user?id=1 | http://localhost:8080/get/{"User":{"id":1}} - User and his Moment | Request twice
      User: http://localhost:8080/get/user?id=1
      Moment: http://localhost:8080/get/work?userId=1 | http://localhost:8080/get/{"User":{"id":1}, "Moment":{"userId@":"User/id"}} + User and his Moment | Request twice
      User: http://localhost:8080/get/user?id=1
      Moment: http://localhost:8080/get/moment?userId=1 | http://localhost:8080/get/{"User":{"id":1}, "Moment":{"userId@":"User/id"}} User list | http://localhost:8080/get/user/list?page=1&count=5&sex=0 | http://localhost:8080/get/{"[]":{"page":1, "count":5, "User":{"sex":0}}} - Moment list of which type is 1, each Moment contains it's publisher User and top 3 Comments | The Moment must contains the User Object and Comment Array
      http://localhost:8080/get/work/list?page=1&count=5&type=1&commentCount=3 | http://localhost:8080/get/{"[]":{"page":1, "count":5, "Moment":{"type":1}, "User":{"momentId@":"/Moment/id"}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}} + Moment list of which type is 1, each Moment contains it's publisher User and top 3 Comments | The Moment must contains the User Object and Comment Array
      http://localhost:8080/get/moment/list?page=1&count=5&type=1&commentCount=3 | http://localhost:8080/get/{"[]":{"page":1, "count":5, "Moment":{"type":1}, "User":{"momentId@":"/Moment/id"}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}} Moment list of an User, each Moment contains the publisher User and top 3 Comments | Change type=1 to userId=1 above | Here are several ways:
      ①Change "Moment":{"type":1}, "User":{"momentId@":"/Moment/id"} to "User":{"id":1}, "Moment":{"userId@":"/User/id"} above

      ②Or save 4 repeated User by this way
      http://localhost:8080/get/{"User":{"id":1}, "[]":{"page":1, "count":5, "Moment":{"userId@":"User/id"}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}}

      ③If the User is already obtained, you can also save all repeated User by this way
      http://localhost:8080/get/{"[]":{"page":1, "count":5, "Moment":{"userId":1}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}} Server responses for different requests | Previous way | APIJSON From bb8fe76a91ccda1f8c98c5633a84f4c3d2675076 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 13:29:02 +0800 Subject: [PATCH 141/219] =?UTF-8?q?=E8=8B=B1=E6=96=87=E7=89=88readme?= =?UTF-8?q?=E8=B0=83=E6=95=B4examples?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 398 +++++++++++++++++++++++++++++---------------- 1 file changed, 255 insertions(+), 143 deletions(-) diff --git a/README(English).md b/README(English).md index 4971efbb9..c3dc27e90 100644 --- a/README(English).md +++ b/README(English).md @@ -19,149 +19,6 @@ Now you can realize JSON Transmissions without any interface or doc anymore!
      And server developers no longer have to write new interfaces and docs for compatibility with legacy apps! And they will no longer be endlessly disturbed by client developers at any time! -Here is an example(Request an Moment list like Wechat friend circle data): - -### Request: - -

      {
      -    "[]": {                                               //request an array
      -        "page": 1,                                    //array condition
      -        "count": 2,        
      -        "User": {                                      //request an object from the table named User
      -            "sex": 0                                   //object condition
      -        },
      -        "Moment": {
      -            "userId@": “/User/id”             //rely path with default parent path,starts from the same level object's path
      -        },
      -        "Comment[]": {                           //request an array named Comment 
      -            "page": 0,
      -            "count": 3,
      -            "Comment": {
      -                 "momentId@": “[]/Moment/id”   //full rely path
      -             }
      -        }
      -    }
      -}

      - - - -### Response: - -

      {
      -    "[]":{
      -        "0":{
      -            "User":{
      -                "picture":"",
      -                "id":38710,
      -                "sex":0,
      -                "phone":"1300038710",
      -                "name":"Name-38710",
      -                "head":"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000"
      -            },
      -            "Moment":{
      -                "id":470,
      -                "title":"Title-470",
      -                "content":"This is a Content...-470",
      -                "userId":38710,
      -                "picture":"http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000"
      -            },
      -            "Comment[]":{
      -                "0":{
      -                    "Comment":{
      -                        "id":4,
      -                        "parentId":0,
      -                        "momentId":470,
      -                        "userId":310,
      -                        "targetUserId":14604,
      -                        "content":"This is a Content...-4",
      -                        "targetUserName":"targetUserName-14604",
      -                        "userName":"userName-93781"
      -                    }
      -                },
      -                "1":{
      -                    "Comment":{
      -                        "id":22,
      -                        "parentId":221,
      -                        "momentId":470,
      -                        "userId":332,
      -                        "targetUserId":5904,
      -                        "content":"This is a Content...-22",
      -                        "targetUserName":"targetUserName-5904",
      -                        "userName":"userName-11679"
      -                    }
      -                },
      -                "2":{
      -                    "Comment":{
      -                        "id":47,
      -                        "parentId":4,
      -                        "momentId":470,
      -                        "userId":10,
      -                        "targetUserId":5477,
      -                        "content":"This is a Content...-47",
      -                        "targetUserName":"targetUserName-5477",
      -                        "userName":"userName-80271"
      -                    }
      -                }
      -            }
      -        },
      -        "1":{
      -            "User":{
      -                "picture":"",
      -                "id":70793,
      -                "sex":0,
      -                "phone":"1300070793",
      -                "name":"Name-70793",
      -                "head":"http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000"
      -            },
      -            "Moment":{
      -                "id":170,
      -                "title":"Title-73",
      -                "content":"This is a Content...-73",
      -                "userId":70793,
      -                "picture":"http://my.oschina.net/img/portrait.gif?t=1451961935000"
      -            },
      -            "Comment[]":{
      -                "0":{
      -                    "Comment":{
      -                        "id":44,
      -                        "parentId":0,
      -                        "momentId":170,
      -                        "userId":7073,
      -                        "targetUserId":6378,
      -                        "content":"This is a Content...-44",
      -                        "targetUserName":"targetUserName-6378",
      -                        "userName":"userName-88645"
      -                    }
      -                },
      -                "1":{
      -                    "Comment":{
      -                        "id":54,
      -                        "parentId":0,
      -                        "momentId":170,
      -                        "userId":3,
      -                        "targetUserId":62122,
      -                        "content":"This is a Content...-54",
      -                        "targetUserName":"targetUserName-62122",
      -                        "userName":"userName-82381"
      -                    }
      -                },
      -                "2":{
      -                    "Comment":{
      -                        "id":99,
      -                        "parentId":44,
      -                        "momentId":170,
      -                        "userId":793,
      -                        "targetUserId":7166,
      -                        "content":"This is a Content...-99",
      -                        "targetUserName":"targetUserName-7166",
      -                        "userName":"userName-22949"
      -                    }
      -                }
      -            }
      -        }
      -    }
      -}

      - ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/apijson_all_pages_0.jpg) @@ -175,6 +32,261 @@ Here is an example(Request an Moment list like Wechat friend circle data): ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/mysql_workbench_user.jpg) ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/mysql_workbench_moment.jpg) + +### Here are some examples: + +#### Get an User +Request: +
      
      +{
      +  "User":{
      +  }
      +}
      +
      + +[Click here to test](http://139.196.140.118:8080/get/{"User":{}}) + +Response: +
      
      +{
      +  "User":{
      +    "id":38710,
      +    "sex":0,
      +    "name":"TommyLemon",
      +    "certified":true,
      +    "tag":"Android&Java",
      +    "phone":13000038710,
      +    "head":"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000",
      +    "date":1485948110000,
      +    "pictureList":[
      +      "http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000",
      +      "http://common.cnblogs.com/images/icon_weibo_24.png"
      +    ]
      +  },
      +  "code":200,
      +  "msg":"success"
      +}
      +
      + +
      + + +#### Get an Array of Users +Request: +
      
      +{
      +  "[]":{
      +    "count":3,             //just get 3 results
      +    "User":{
      +      "@column":"id,name"  //just get ids and names
      +    }
      +  }
      +}
      +
      + +[Click here to test](http://139.196.140.118:8080/get/{"[]":{"count":3,"User":{"@column":"id,name"}}}) + +Response: +
      
      +{
      +  "[]":[
      +    {
      +      "User":{
      +        "id":38710,
      +        "name":"TommyLemon"
      +      }
      +    },
      +    {
      +      "User":{
      +        "id":70793,
      +        "name":"Strong"
      +      }
      +    },
      +    {
      +      "User":{
      +        "id":82001,
      +        "name":"Android"
      +      }
      +    }
      +  ],
      +  "code":200,
      +  "msg":"success"
      +}
      +
      + +
      + +#### Get an Moment and it's publisher +Request: +
      
      +{
      +  "Moment":{
      +  },
      +  "User":{
      +    "id@":"Moment/userId"  //User.id = Moment.userId
      +  }
      +}
      +
      + +[Click here to test](http://139.196.140.118:8080/get/{"Moment":{},"User":{"id@":"Moment%252FuserId"}}) + +Response: +
      
      +{
      +  "Moment":{
      +    "id":12,
      +    "userId":70793,
      +    "date":"2017-02-08 16:06:11.0",
      +    "content":"1111534034"
      +  },
      +  "User":{
      +    "id":70793,
      +    "sex":0,
      +    "name":"Strong",
      +    "tag":"djdj",
      +    "head":"http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000",
      +    "contactIdList":[
      +      38710,
      +      82002
      +    ],
      +    "date":"2017-02-01 19:21:50.0"
      +  },
      +  "code":200,
      +  "msg":"success"
      +}
      +
      + +
      + + +#### Get an Array of Moments +Request: +
      
      +{
      +  "[]":{                             //request an Array
      +    "page":0,                        //Array condition
      +    "count":2,
      +    "Moment":{                       //request an Object named Moment
      +      "content$":"%a%"               //Object condition, search the Moments in which their contents contain 'a'
      +    },
      +    "User":{
      +      "id@":"/Moment/userId",        //User.id = Moment.userId  reference path with default parent path, starts from it's grandfather's path
      +      "@column":"id,name,head"       //set the columns in the response
      +    },
      +    "Comment[]":{                    //request an Array named Comment and extract Comments
      +      "count":2,
      +      "Comment":{
      +        "momentId@":"[]/Moment/id"   //Comment.momentId = Moment.id  full reference path
      +      }
      +    }
      +  }
      +}
      +
      + +[Click here to test](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":2,"Moment":{"content$":"%2525a%2525"},"User":{"id@":"%252FMoment%252FuserId","@column":"id,name,head"},"Comment[]":{"count":2,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + +Response: +
      
      +{
      +  "[]":[
      +    {
      +      "Moment":{
      +        "id":15,
      +        "userId":70793,
      +        "date":1486541171000,
      +        "content":"APIJSON is a JSON Transmission Structure Protocol…",
      +        "praiseUserIdList":[
      +          82055,
      +          82002,
      +          82001
      +        ],
      +        "pictureList":[
      +          "http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000",
      +          "http://common.cnblogs.com/images/icon_weibo_24.png"
      +        ]
      +      },
      +      "User":{
      +        "id":70793,
      +        "name":"Strong",
      +        "head":"http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000"
      +      },
      +      "Comment[]":[
      +        {
      +          "id":176,
      +          "toId":166,
      +          "userId":38710,
      +          "momentId":15,
      +          "date":1490444883000,
      +          "content":"thank you"
      +        },
      +        {
      +          "id":1490863469638,
      +          "toId":0,
      +          "userId":82002,
      +          "momentId":15,
      +          "date":1490863469000,
      +          "content":"Just do it"
      +        }
      +      ]
      +    },
      +    {
      +      "Moment":{
      +        "id":58,
      +        "userId":90814,
      +        "date":1485947671000,
      +        "content":"This is a Content...-435",
      +        "praiseUserIdList":[
      +          38710,
      +          82003,
      +          82005,
      +          93793,
      +          82006,
      +          82044,
      +          82001
      +        ],
      +        "pictureList":[
      +          "http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg"
      +        ]
      +      },
      +      "User":{
      +        "id":90814,
      +        "name":7,
      +        "head":"http://static.oschina.net/uploads/user/51/102723_50.jpg?t=1449212504000"
      +      },
      +      "Comment[]":[
      +        {
      +          "id":13,
      +          "toId":0,
      +          "userId":82005,
      +          "momentId":58,
      +          "date":1485948050000,
      +          "content":"This is a Content...-13"
      +        },
      +        {
      +          "id":77,
      +          "toId":13,
      +          "userId":93793,
      +          "momentId":58,
      +          "date":1485948050000,
      +          "content":"This is a Content...-77"
      +        }
      +      ]
      +    }
      +  ],
      +  "code":200,
      +  "msg":"success"
      +}
      +
      + + +
      + +[Online Test](http://139.196.140.118) + +
      +
      + + ## Compare with Previous HTTP Transmission Way Process | Previous way | APIJSON From 4c2e821032b87c4746510cda13b78bf3f0da33a6 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 14:22:31 +0800 Subject: [PATCH 142/219] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E7=89=88readme=E4=B8=AD=E5=AF=B9=E6=AF=94=E4=BC=A0=E7=BB=9F?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E7=9A=84Request=E5=92=8CReponse=E7=9A=84?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README(English).md b/README(English).md index c3dc27e90..03ea33cfe 100644 --- a/README(English).md +++ b/README(English).md @@ -116,7 +116,7 @@ Response:
      -#### Get an Moment and it's publisher +#### Get an Moment and it's publisher(User) Request:
      
       {
      @@ -170,13 +170,13 @@ Request:
             "content$":"%a%"               //Object condition, search the Moments in which their contents contain 'a'
           },
           "User":{
      -      "id@":"/Moment/userId",        //User.id = Moment.userId  reference path with default parent path, starts from it's grandfather's path
      +      "id@":"/Moment/userId",        //User.id = Moment.userId, reference path with it's grandfather's path omitted
             "@column":"id,name,head"       //set the columns in the response
           },
           "Comment[]":{                    //request an Array named Comment and extract Comments
             "count":2,
             "Comment":{
      -        "momentId@":"[]/Moment/id"   //Comment.momentId = Moment.id  full reference path
      +        "momentId@":"[]/Moment/id"   //Comment.momentId = Moment.id, full reference path
             }
           }
         }
      @@ -313,19 +313,19 @@ Response:
       
        Client requests for different requirements | Previous way | APIJSON
       -------- | ------------ | ------------
      - User | http://localhost:8080/get/user?id=1 | http://localhost:8080/get/{"User":{"id":1}}
      - User and his Moment | Request twice
      User: http://localhost:8080/get/user?id=1
      Moment: http://localhost:8080/get/moment?userId=1 | http://localhost:8080/get/{"User":{"id":1}, "Moment":{"userId@":"User/id"}} - User list | http://localhost:8080/get/user/list?page=1&count=5&sex=0 | http://localhost:8080/get/{"[]":{"page":1, "count":5, "User":{"sex":0}}} - Moment list of which type is 1, each Moment contains it's publisher User and top 3 Comments | The Moment must contains the User Object and Comment Array
      http://localhost:8080/get/moment/list?page=1&count=5&type=1&commentCount=3 | http://localhost:8080/get/{"[]":{"page":1, "count":5, "Moment":{"type":1}, "User":{"momentId@":"/Moment/id"}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}} - Moment list of an User, each Moment contains the publisher User and top 3 Comments | Change type=1 to userId=1 above | Here are several ways:
      ①Change "Moment":{"type":1}, "User":{"momentId@":"/Moment/id"} to "User":{"id":1}, "Moment":{"userId@":"/User/id"} above

      ②Or save 4 repeated User by this way
      http://localhost:8080/get/{"User":{"id":1}, "[]":{"page":1, "count":5, "Moment":{"userId@":"User/id"}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}}

      ③If the User is already obtained, you can also save all repeated User by this way
      http://localhost:8080/get/{"[]":{"page":1, "count":5, "Moment":{"userId":1}, "[]":{"count":3, "Comment":{"momentId@":"[]/Moment/id"}}}} + User | base_url/get/user?id=38710 | [base_url/get/
      {
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710}}) + Moment and it's publisher(User) | Request twice
      Moment:
      base_url/get/moment?userId=38710

      User:
      base_url/get/user?id=38710 | Just request once
      [base_url/get/
      {
         "Moment":{
           "userId":38710
         },
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) + User list | base_url/get/user/list?
      page=0&count=3&sex=0 | [base_url/get/
      {
         "User[]":{
           "page":0,
           "count":3,
           "User":{
             "sex":0
           }
         }
      }](http://139.196.140.118:8080/get/{"User[]":{"page":0,"count":3,"User":{"sex":0}}}) + Moment list, each Moment contains it's publisher(User) and top 3 Comments | The Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3&commentCount=3 | [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{},
           "User":{
             "id@":"/Moment/userId"
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + Moment list of an User, each Moment contains it's publisher(User) and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3
      &commentCount=3&userId=38710 | Here are several ways:
      ① Change
      "Moment":{}, "User":{"id@":"/Moment/userId"}
      to
      ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ② Or save 4 repeated User by this way
      [base_url/get/
      {
         "User":{
           "id":38710
         },
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ③ If the User is already obtained, you can also save all repeated User by this way
      [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) Server responses for different requests | Previous way | APIJSON -------- | ------------ | ------------ - User | {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}} | {"status":200, "message":"success", "User":{"id":1, "name":"xxx"...}} - User and his Moment | Reponse twice
      User: {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}}
      Moment: {"status":200, "message":"success", "data":{"id":1, "name":"xxx"...}} | {"status":200, "message":"success", "User":{"id":1, "name":"xxx"...}, "Moment":{"id":1, "content":"xxx"...}} - User list | {"status":200, "message":"success", "data":[{"id":1, "name":"xxx"...}, {"id":2...}...]} | {"status":200, "message":"success", "[]":{"0":{"User":{"id":1, "name":"xxx"...}}, "1":{"User":{"id":2...}}...}} - Moment list of which type is 1, each Moment contains it's publisher User and top 3 Comments | {"status":200, "message":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...}...]} | {"status":200, "message":"success", "[]":{"0":{"Moment":{"id":1, "content":"xxx"...}, "User":{...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}} - Moment list of an User, each Moment contains the publisher User and top 3 Comments | {"status":200, "message":"success", "data":[{"id":1, "content":"xxx"..., "User":{...}, "Comment":[...]}, {"id":2...}...]} | Results for the ways above:
      ①{"status":200, "message":"success", "[]":{"0":{"User":{"id":1, "name":"xxx"...}, "Moment":{...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}}

      ②{"status":200, "message":"success", "User":{...}, "[]":{"0":{"Moment":{"id":1, "content":"xxx"...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}}

      ③{"status":200, "message":"success", "[]":{"0":{"Moment":{"id":1, "content":"xxx"...}, "[]":{"0":{"Comment":{...}...}}}, "1":{...}...}} + User | {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | {
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } + Moment and it's publisher(User) | Get the Moment from the first Response,
      and take it's userId as the value of User's id,
      then send the second request to get the User

      Moment:
      {
         "data":{
           "id":235,
           "content":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      }

      User:
      {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | Response only once, and no longer needs to waiting too long, relating 2 responses, switching threads and so on

      {
         "Moment":{
           "id":235,
           "content":"xxx",
           ...
         },
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } + User list | {
         "data":[
           {
             "id":38710,
             "name":"xxx",
             ...
           },
           {
             "id":82001,
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | {
         "User[]":[
           {
             "id":38710,
             "name":"xxx",
             ...
           },
           {
             "id":82001,
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } + Moment list, each Moment contains it's publisher(User) and a list of top 3 Comments | each Moment must contains:
      1.User Object
      2.Comment Array

      {
         "data":[
           {
             "id":235,
             "content":"xxx",
             ...,
             "User":{
               ...
             },
             "Comment":[
               ...
             ]
           },
           {
             "id":301,
             "content":"xxx",
             ...,
             "User":{
               ...
             },
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | 1.Flexible structures, you can combine the Objects and Arrays as you want
      2.Loose couplings, the structure is clearer

      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "User":{
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           {
             "Moment":{
               "id":301,
               "content":"xxx",
               ...
             },
             "User":{
               ...
             },
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } + Moment list of an User,
      each Moment contains
      it's publisher(User)
      and a list of top 3 Comments | 1.Many repeated Users, a waste of data traffic and server performance
      2.Difficult to optimize since the needs of expanding apis and writing documents, and then calling the apis according to the documents

      {
         "data":[
           {
             "id":235,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":470,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":511,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":595,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | Differences responses for the requests above:

      ① Common request
      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      }

      ② Save repeated Users
      {
         "User":{
           "id":38710,
           "name":"Tommy",
           ...
         },
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      }

      ③ Save all repeated Users
      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } ## Usage From fce36b60a43555da6ad5623dd3ec225e98192541 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 14:35:24 +0800 Subject: [PATCH 143/219] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=8B=B1=E6=96=87rea?= =?UTF-8?q?dme=E4=B8=ADRequest=E5=92=8CResponse=E5=85=B3=E4=BA=8EMoment=20?= =?UTF-8?q?list=E7=9A=84=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README(English).md b/README(English).md index 03ea33cfe..39514bce5 100644 --- a/README(English).md +++ b/README(English).md @@ -316,16 +316,16 @@ Response: User | base_url/get/user?id=38710 | [base_url/get/
      {
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710}}) Moment and it's publisher(User) | Request twice
      Moment:
      base_url/get/moment?userId=38710

      User:
      base_url/get/user?id=38710 | Just request once
      [base_url/get/
      {
         "Moment":{
           "userId":38710
         },
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) User list | base_url/get/user/list?
      page=0&count=3&sex=0 | [base_url/get/
      {
         "User[]":{
           "page":0,
           "count":3,
           "User":{
             "sex":0
           }
         }
      }](http://139.196.140.118:8080/get/{"User[]":{"page":0,"count":3,"User":{"sex":0}}}) - Moment list, each Moment contains it's publisher(User) and top 3 Comments | The Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3&commentCount=3 | [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{},
           "User":{
             "id@":"/Moment/userId"
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) - Moment list of an User, each Moment contains it's publisher(User) and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3
      &commentCount=3&userId=38710 | Here are several ways:
      ① Change
      "Moment":{}, "User":{"id@":"/Moment/userId"}
      to
      ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ② Or save 4 repeated User by this way
      [base_url/get/
      {
         "User":{
           "id":38710
         },
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ③ If the User is already obtained, you can also save all repeated User by this way
      [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + A list, each item contains
      a Moment, a publisher(User)
      and a list of top 3 Comments | The Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3&commentCount=3 | [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{},
           "User":{
             "id@":"/Moment/userId"
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + A list, each item contains
      a Moment, the same publisher(User)
      and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3
      &commentCount=3&userId=38710 | Here are several ways:
      ① Change
      "Moment":{}, "User":{"id@":"/Moment/userId"}
      to
      ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ② Or save 4 repeated User by this way
      [base_url/get/
      {
         "User":{
           "id":38710
         },
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ③ If the User is already obtained, you can also save all repeated User by this way
      [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) Server responses for different requests | Previous way | APIJSON -------- | ------------ | ------------ User | {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | {
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } - Moment and it's publisher(User) | Get the Moment from the first Response,
      and take it's userId as the value of User's id,
      then send the second request to get the User

      Moment:
      {
         "data":{
           "id":235,
           "content":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      }

      User:
      {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | Response only once, and no longer needs to waiting too long, relating 2 responses, switching threads and so on

      {
         "Moment":{
           "id":235,
           "content":"xxx",
           ...
         },
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } + Moment and it's publisher(User) | Get the Moment from the first response,
      and take it's userId as the value of User's id,
      then send the second request to get the User

      Moment:
      {
         "data":{
           "id":235,
           "content":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      }

      User:
      {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | Response only once, and no longer needs to waiting too long, relating 2 responses, switching threads and so on

      {
         "Moment":{
           "id":235,
           "content":"xxx",
           ...
         },
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } User list | {
         "data":[
           {
             "id":38710,
             "name":"xxx",
             ...
           },
           {
             "id":82001,
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | {
         "User[]":[
           {
             "id":38710,
             "name":"xxx",
             ...
           },
           {
             "id":82001,
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } - Moment list, each Moment contains it's publisher(User) and a list of top 3 Comments | each Moment must contains:
      1.User Object
      2.Comment Array

      {
         "data":[
           {
             "id":235,
             "content":"xxx",
             ...,
             "User":{
               ...
             },
             "Comment":[
               ...
             ]
           },
           {
             "id":301,
             "content":"xxx",
             ...,
             "User":{
               ...
             },
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | 1.Flexible structures, you can combine the Objects and Arrays as you want
      2.Loose couplings, the structure is clearer

      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "User":{
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           {
             "Moment":{
               "id":301,
               "content":"xxx",
               ...
             },
             "User":{
               ...
             },
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } - Moment list of an User,
      each Moment contains
      it's publisher(User)
      and a list of top 3 Comments | 1.Many repeated Users, a waste of data traffic and server performance
      2.Difficult to optimize since the needs of expanding apis and writing documents, and then calling the apis according to the documents

      {
         "data":[
           {
             "id":235,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":470,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":511,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":595,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | Differences responses for the requests above:

      ① Common request
      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      }

      ② Save repeated Users
      {
         "User":{
           "id":38710,
           "name":"Tommy",
           ...
         },
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      }

      ③ Save all repeated Users
      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } + A list, each item contains
      a Moment, a publisher(User)
      and a list of top 3 Comments | Eech Moment must contains
      it's publisher(User)
      and a list of top 3 Comments

      {
         "data":[
           {
             "id":235,
             "content":"xxx",
             ...,
             "User":{
               ...
             },
             "Comment":[
               ...
             ]
           },
           {
             "id":301,
             "content":"xxx",
             ...,
             "User":{
               ...
             },
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | 1.Flexible structures, you can combine the Objects and Arrays as you want
      2.Loose couplings, the structure is clearer

      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "User":{
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           {
             "Moment":{
               "id":301,
               "content":"xxx",
               ...
             },
             "User":{
               ...
             },
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } + A list, each item contains
      a Moment, the same publisher(User)
      and a list of top 3 Comments | 1.Many repeated Users, a waste of data traffic and server performance
      2.Difficult to optimize since the needs of expanding apis and writing documents, and then calling the apis according to the documents

      {
         "data":[
           {
             "id":235,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":470,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":511,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":595,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | Differences responses for the requests above:

      ① Common request
      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      }

      ② Save repeated Users
      {
         "User":{
           "id":38710,
           "name":"Tommy",
           ...
         },
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      }

      ③ Save all repeated Users
      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } ## Usage From a25a18027ef910dfd4fe2ba7066484e4bb119b92 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 14:57:25 +0800 Subject: [PATCH 144/219] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E7=89=88readme,interface=E6=94=B9=E4=B8=BAapi,doc=E6=94=B9?= =?UTF-8?q?=E4=B8=BAdocument=EF=BC=8C=E4=BC=98=E5=8C=96About=20author?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/README(English).md b/README(English).md index 39514bce5..0022fb7c7 100644 --- a/README(English).md +++ b/README(English).md @@ -12,12 +12,12 @@ APIJSON is a JSON Transmission Structure Protocol. You can set any JSON structure and request your server, and the server will return a JSON String with the structure you had set.
      -You can get any data with any JSON structure by requesting server just once. It's very convenient and flexible, and does not require a special interface or multiple requests.
      +You can get any data with any JSON structure by requesting server just once. It's very convenient and flexible, and does not require a special api or multiple requests.
      It provides additions and deletions, fuzzy search, remote function calls and so on. And you can save duplicate data and improve transmission speed as well!
      -Now you can realize JSON Transmissions without any interface or doc anymore!
      -Client developers will no longer be suffered from various error in docs, and don't have to communicate with server developers about interfaces or docs anymore!
      -And server developers no longer have to write new interfaces and docs for compatibility with legacy apps! And they will no longer be endlessly disturbed by client developers at any time! +Now you can realize JSON Transmissions without any api or document anymore!
      +Client developers will no longer be suffered from various error in documents, and don't have to communicate with server developers about apis or documents anymore!
      +And server developers no longer have to write new apis and documents for compatibility with legacy apps! And they will no longer be endlessly disturbed by client developers at any time! @@ -291,13 +291,13 @@ Response: Process | Previous way | APIJSON -------- | ------------ | ------------ - Transmission | Server developers edit interfaces and update docs, then client developers request server and parse responses according to the docs | Client developers request server and parse responses for their requirements. No inteface! No doc! No communication for any interface or doc between client and server developers! - Compatibility | Server developers add new interfaces tagged with v2 and update docs | Nothing need to do! + Transmission | Server developers edit apis and update documents, then client developers request server and parse responses according to the documents | Client developers request server and parse responses for their requirements. No inteface! No document! No communication for any api or document between client and server developers! + Compatibility | Server developers add new apis tagged with v2 and update documents | Nothing need to do! Client request | Previous way | APIJSON -------- | ------------ | ------------ - Requirement | Client developers append key-value pairs to an url for a request in docs | Client developers append JSON to the url for their requirements - Structure | base_url/lowercase_table_name?key0=value0&key1=value1...
      ¤tUserId=100&loginPassword=1234

      The currentUserId and loginPassword is only for parts of interfaces | base_url/{TableName0:{key0:value0, key1:value1 ...}, TableName1:{...}...
      , currentUserId:100, loginPassword:1234}

      The currentUserId and loginPassword is only for parts of interfaces + Requirement | Client developers append key-value pairs to an url for a request in documents | Client developers append JSON to the url for their requirements + Structure | base_url/lowercase_table_name?key0=value0&key1=value1...
      ¤tUserId=100&loginPassword=1234

      The currentUserId and loginPassword is only for parts of apis | base_url/{TableName0:{key0:value0, key1:value1 ...}, TableName1:{...}...
      , currentUserId:100, loginPassword:1234}

      The currentUserId and loginPassword is only for parts of apis URL | Different urls for different requests | One url for one method(GET,POST...) Key-Value Pair | key=value | key:value @@ -308,7 +308,7 @@ Response: Client parse | Previous way | APIJSON -------- | ------------ | ------------ - View structure | Search docs or view logs after responses for requests | Just view the requests, and viewing logs after responses for requests is also supported + View structure | Search documents or view logs after responses for requests | Just view the requests, and viewing logs after responses for requests is also supported Operate | Parse JSON String from responses | Parse with JSONResponse or use previous way Client requests for different requirements | Previous way | APIJSON @@ -317,7 +317,7 @@ Response: Moment and it's publisher(User) | Request twice
      Moment:
      base_url/get/moment?userId=38710

      User:
      base_url/get/user?id=38710 | Just request once
      [base_url/get/
      {
         "Moment":{
           "userId":38710
         },
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) User list | base_url/get/user/list?
      page=0&count=3&sex=0 | [base_url/get/
      {
         "User[]":{
           "page":0,
           "count":3,
           "User":{
             "sex":0
           }
         }
      }](http://139.196.140.118:8080/get/{"User[]":{"page":0,"count":3,"User":{"sex":0}}}) A list, each item contains
      a Moment, a publisher(User)
      and a list of top 3 Comments | The Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3&commentCount=3 | [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{},
           "User":{
             "id@":"/Moment/userId"
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) - A list, each item contains
      a Moment, the same publisher(User)
      and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3
      &commentCount=3&userId=38710 | Here are several ways:
      ① Change
      "Moment":{}, "User":{"id@":"/Moment/userId"}
      to
      ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ② Or save 4 repeated User by this way
      [base_url/get/
      {
         "User":{
           "id":38710
         },
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ③ If the User is already obtained, you can also save all repeated User by this way
      [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + A list, each item contains
      a Moment, the same publisher(User)
      and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3
      &commentCount=3&userId=38710 | Here are several ways:
      ① Change
      "Moment":{}, "User":{"id@":"/Moment/userId"}
      to
      ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ② Or save repeated Users by this way
      [base_url/get/
      {
         "User":{
           "id":38710
         },
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ③ If the User is already obtained, you can also save all repeated User by this way
      [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) Server responses for different requests | Previous way | APIJSON -------- | ------------ | ------------ @@ -393,15 +393,21 @@ If the default url is not available, change it to an available one, such as an I ## Download Client App -[APIJSONClientApp.apk](http://files.cnblogs.com/files/tommylemon/APIJSON%28ADT%29.apk) +App
      +[APIJSONApp.apk](http://files.cnblogs.com/files/tommylemon/APIJSONApp.apk) -### If you have any questions or suggestions about APIJSON, you can send me an e-mail to tommylemon@qq.com. +Test
      +[APIJSONTest.apk](http://files.cnblogs.com/files/tommylemon/APIJSONTest.apk) + +### About the author +TommyLemon:[https://github.com/TommyLemon](https://github.com/TommyLemon)
      + +If you have any questions or suggestions, you can [create an issue](https://github.com/TommyLemon/APIJSON/issues) or [send me an e-mail](mailto:tommylemon@qq.com)
      +If you fixed some bugs or added some functions, I would greatly appreciate it if you [contribute your code](https://github.com/TommyLemon/APIJSON/pulls) ## Update Log [https://github.com/TommyLemon/APIJSON/commits/master](https://github.com/TommyLemon/APIJSON/commits/master) -## Welcome star, welcome fork +## Star & Fork [https://github.com/TommyLemon/APIJSON](https://github.com/TommyLemon/APIJSON) - -# APIJSON, let interfaces go to hell ! From 8954e8b2ba50d777acbc67ec2558bc80fa3c12b3 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:19:50 +0800 Subject: [PATCH 145/219] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E7=89=88readme=E7=9A=84Requirement=E5=92=8CServer=20operation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/README(English).md b/README(English).md index 0022fb7c7..3b8dd88b4 100644 --- a/README(English).md +++ b/README(English).md @@ -294,32 +294,42 @@ Response: Transmission | Server developers edit apis and update documents, then client developers request server and parse responses according to the documents | Client developers request server and parse responses for their requirements. No inteface! No document! No communication for any api or document between client and server developers! Compatibility | Server developers add new apis tagged with v2 and update documents | Nothing need to do! +
      + Client request | Previous way | APIJSON -------- | ------------ | ------------ Requirement | Client developers append key-value pairs to an url for a request in documents | Client developers append JSON to the url for their requirements - Structure | base_url/lowercase_table_name?key0=value0&key1=value1...
      ¤tUserId=100&loginPassword=1234

      The currentUserId and loginPassword is only for parts of apis | base_url/{TableName0:{key0:value0, key1:value1 ...}, TableName1:{...}...
      , currentUserId:100, loginPassword:1234}

      The currentUserId and loginPassword is only for parts of apis - URL | Different urls for different requests | One url for one method(GET,POST...) + Structure | base_url/get/table_name?
      key0=value0&key1=value1...

      Only one table_name can be contained in an URL | base_url/get/
      {
         TableName0:{
           key0:value0,
           key1:value1,
           ...
         },
         TableName1:{
           ...
         }
         ...
      }

      You can add TableNames as many as you want after an URL + URL | Different urls for different requests. The more diffirent kinds of request, the more different urls | One url for one method(GET,POST...), most requests use the same URL of the 7 common ones Key-Value Pair | key=value | key:value + +
      Server operation | Previous way | APIJSON -------- | ------------ | ------------ - Parse and response | Get key-value pairs and query the database with them by the default way, then encapsulate a JSON, finally return the JSON to client | Just return what RequestParser#parse returned - Way of setting JSON structure to return | Designed in server and cannot be modified by any client apps | Designed by client apps and cannot be modified by sever + Parse and response | Get key-value pairs and query the database with them by the default way, then encapsulate a JSON, finally return the JSON to clients | Just return what Parser#parse returned + Way of setting JSON structure to return | Designed in servers and cannot be modified by any clients | Designed by clients and cannot be modified by servers + +
      Client parse | Previous way | APIJSON -------- | ------------ | ------------ View structure | Search documents or view logs after responses for requests | Just view the requests, and viewing logs after responses for requests is also supported Operate | Parse JSON String from responses | Parse with JSONResponse or use previous way - Client requests for different requirements | Previous way | APIJSON +
      + + Client requests | Previous way | APIJSON -------- | ------------ | ------------ User | base_url/get/user?id=38710 | [base_url/get/
      {
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710}}) Moment and it's publisher(User) | Request twice
      Moment:
      base_url/get/moment?userId=38710

      User:
      base_url/get/user?id=38710 | Just request once
      [base_url/get/
      {
         "Moment":{
           "userId":38710
         },
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) User list | base_url/get/user/list?
      page=0&count=3&sex=0 | [base_url/get/
      {
         "User[]":{
           "page":0,
           "count":3,
           "User":{
             "sex":0
           }
         }
      }](http://139.196.140.118:8080/get/{"User[]":{"page":0,"count":3,"User":{"sex":0}}}) A list, each item contains
      a Moment, a publisher(User)
      and a list of top 3 Comments | The Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3&commentCount=3 | [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{},
           "User":{
             "id@":"/Moment/userId"
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) A list, each item contains
      a Moment, the same publisher(User)
      and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3
      &commentCount=3&userId=38710 | Here are several ways:
      ① Change
      "Moment":{}, "User":{"id@":"/Moment/userId"}
      to
      ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ② Or save repeated Users by this way
      [base_url/get/
      {
         "User":{
           "id":38710
         },
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ③ If the User is already obtained, you can also save all repeated User by this way
      [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + +
      - Server responses for different requests | Previous way | APIJSON + Server responses | Previous way | APIJSON -------- | ------------ | ------------ User | {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | {
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } Moment and it's publisher(User) | Get the Moment from the first response,
      and take it's userId as the value of User's id,
      then send the second request to get the User

      Moment:
      {
         "data":{
           "id":235,
           "content":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      }

      User:
      {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | Response only once, and no longer needs to waiting too long, relating 2 responses, switching threads and so on

      {
         "Moment":{
           "id":235,
           "content":"xxx",
           ...
         },
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } @@ -327,6 +337,9 @@ Response: A list, each item contains
      a Moment, a publisher(User)
      and a list of top 3 Comments | Eech Moment must contains
      it's publisher(User)
      and a list of top 3 Comments

      {
         "data":[
           {
             "id":235,
             "content":"xxx",
             ...,
             "User":{
               ...
             },
             "Comment":[
               ...
             ]
           },
           {
             "id":301,
             "content":"xxx",
             ...,
             "User":{
               ...
             },
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | 1.Flexible structures, you can combine the Objects and Arrays as you want
      2.Loose couplings, the structure is clearer

      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "User":{
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           {
             "Moment":{
               "id":301,
               "content":"xxx",
               ...
             },
             "User":{
               ...
             },
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } A list, each item contains
      a Moment, the same publisher(User)
      and a list of top 3 Comments | 1.Many repeated Users, a waste of data traffic and server performance
      2.Difficult to optimize since the needs of expanding apis and writing documents, and then calling the apis according to the documents

      {
         "data":[
           {
             "id":235,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":470,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":511,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           {
             "id":595,
             "content":"xxx",
             ...,
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment":[
               ...
             ]
             ...
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } | Differences responses for the requests above:

      ① Common request
      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "User":{
               "id":38710,
               "name":"Tommy"
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      }

      ② Save repeated Users
      {
         "User":{
           "id":38710,
           "name":"Tommy",
           ...
         },
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      }

      ③ Save all repeated Users
      {
         "[]":[
           {
             "Moment":{
               "id":235,
               "content":"xxx",
               ...
             },
             "Comment[]":[
               ...
             ]
           },
           ...
         ],
         "code":200,
         "msg":"success"
      } +
      +
      + ## Usage ### 1.Download and unzip APIJSON project @@ -391,6 +404,9 @@ Run > Run app Select an APIJSON request to send to server and wait. It will show the result received.
      If the default url is not available, change it to an available one, such as an IPV4 address of a computer running APIJSON Server project. Then click the Query button to request again. +
      +
      + ## Download Client App App
      @@ -399,11 +415,11 @@ App
      Test
      [APIJSONTest.apk](http://files.cnblogs.com/files/tommylemon/APIJSONTest.apk) -### About the author -TommyLemon:[https://github.com/TommyLemon](https://github.com/TommyLemon)
      +## About the author +### TommyLemon:[https://github.com/TommyLemon](https://github.com/TommyLemon)
      -If you have any questions or suggestions, you can [create an issue](https://github.com/TommyLemon/APIJSON/issues) or [send me an e-mail](mailto:tommylemon@qq.com)
      -If you fixed some bugs or added some functions, I would greatly appreciate it if you [contribute your code](https://github.com/TommyLemon/APIJSON/pulls) +If you have any questions or suggestions, you can [create an issue](https://github.com/TommyLemon/APIJSON/issues) or [send me an e-mail](mailto:tommylemon@qq.com).
      +If you fixed some bugs or added some functions, I would greatly appreciate it if you [contribute your code](https://github.com/TommyLemon/APIJSON/pulls). ## Update Log [https://github.com/TommyLemon/APIJSON/commits/master](https://github.com/TommyLemon/APIJSON/commits/master) From bbcea1cf2de9abc74946544910e10a3799f1a3ee Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:21:44 +0800 Subject: [PATCH 146/219] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=8B=B1=E6=96=87?= =?UTF-8?q?=E7=89=88readme=E7=9A=84=E6=8D=A2=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README(English).md b/README(English).md index 3b8dd88b4..2d95a7e8c 100644 --- a/README(English).md +++ b/README(English).md @@ -32,6 +32,8 @@ And server developers no longer have to write new apis and documents for compati ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/mysql_workbench_user.jpg) ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/mysql_workbench_moment.jpg) +
      +
      ### Here are some examples: @@ -294,7 +296,7 @@ Response: Transmission | Server developers edit apis and update documents, then client developers request server and parse responses according to the documents | Client developers request server and parse responses for their requirements. No inteface! No document! No communication for any api or document between client and server developers! Compatibility | Server developers add new apis tagged with v2 and update documents | Nothing need to do! -
      +
      Client request | Previous way | APIJSON -------- | ------------ | ------------ @@ -303,21 +305,21 @@ Response: URL | Different urls for different requests. The more diffirent kinds of request, the more different urls | One url for one method(GET,POST...), most requests use the same URL of the 7 common ones Key-Value Pair | key=value | key:value -
      +
      Server operation | Previous way | APIJSON -------- | ------------ | ------------ Parse and response | Get key-value pairs and query the database with them by the default way, then encapsulate a JSON, finally return the JSON to clients | Just return what Parser#parse returned Way of setting JSON structure to return | Designed in servers and cannot be modified by any clients | Designed by clients and cannot be modified by servers -
      +
      Client parse | Previous way | APIJSON -------- | ------------ | ------------ View structure | Search documents or view logs after responses for requests | Just view the requests, and viewing logs after responses for requests is also supported Operate | Parse JSON String from responses | Parse with JSONResponse or use previous way -
      +
      Client requests | Previous way | APIJSON -------- | ------------ | ------------ @@ -327,7 +329,7 @@ Response: A list, each item contains
      a Moment, a publisher(User)
      and a list of top 3 Comments | The Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3&commentCount=3 | [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{},
           "User":{
             "id@":"/Moment/userId"
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) A list, each item contains
      a Moment, the same publisher(User)
      and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

      base_url/get/moment/list?
      page=0&count=3
      &commentCount=3&userId=38710 | Here are several ways:
      ① Change
      "Moment":{}, "User":{"id@":"/Moment/userId"}
      to
      ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ② Or save repeated Users by this way
      [base_url/get/
      {
         "User":{
           "id":38710
         },
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

      ③ If the User is already obtained, you can also save all repeated User by this way
      [base_url/get/
      {
         "[]":{
           "page":0,
           "count":3,
           "Moment":{
             "userId":38710
           },
           "Comment[]":{
             "count":3,
             "Comment":{
               "momentId@":"[]/Moment/id"
             }
           }
         }
      }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) -
      +
      Server responses | Previous way | APIJSON -------- | ------------ | ------------ From 9c8a61ec07d32b57ddb011bb7d1dc3666d9d1ddc Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:33:41 +0800 Subject: [PATCH 147/219] =?UTF-8?q?=E8=8B=B1=E6=96=87=E7=89=88readme?= =?UTF-8?q?=E9=83=A8=E5=88=86return=E6=94=B9=E4=B8=BAresponse=EF=BC=8Cpars?= =?UTF-8?q?e=E6=94=B9=E4=B8=BAresolve?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README(English).md b/README(English).md index 2d95a7e8c..ace693c4c 100644 --- a/README(English).md +++ b/README(English).md @@ -11,7 +11,7 @@ APIJSON is a JSON Transmission Structure Protocol. -You can set any JSON structure and request your server, and the server will return a JSON String with the structure you had set.
      +You can set any JSON structure and request your server, and the server will response a JSON String with the structure you had set.
      You can get any data with any JSON structure by requesting server just once. It's very convenient and flexible, and does not require a special api or multiple requests.
      It provides additions and deletions, fuzzy search, remote function calls and so on. And you can save duplicate data and improve transmission speed as well!
      @@ -302,7 +302,7 @@ Response: -------- | ------------ | ------------ Requirement | Client developers append key-value pairs to an url for a request in documents | Client developers append JSON to the url for their requirements Structure | base_url/get/table_name?
      key0=value0&key1=value1...

      Only one table_name can be contained in an URL | base_url/get/
      {
         TableName0:{
           key0:value0,
           key1:value1,
           ...
         },
         TableName1:{
           ...
         }
         ...
      }

      You can add TableNames as many as you want after an URL - URL | Different urls for different requests. The more diffirent kinds of request, the more different urls | One url for one method(GET,POST...), most requests use the same URL of the 7 common ones + URL | Different urls for different requests. The more diffirent kinds of requests, the more different urls | One url for one method(GET,POST...), most requests use the same URL of the 7 common ones Key-Value Pair | key=value | key:value
      @@ -310,11 +310,11 @@ Response: Server operation | Previous way | APIJSON -------- | ------------ | ------------ Parse and response | Get key-value pairs and query the database with them by the default way, then encapsulate a JSON, finally return the JSON to clients | Just return what Parser#parse returned - Way of setting JSON structure to return | Designed in servers and cannot be modified by any clients | Designed by clients and cannot be modified by servers + Way of setting JSON structure of Response | Designed in servers and cannot be modified by clients | Designed by clients and cannot be modified by servers
      - Client parse | Previous way | APIJSON + Client resolve | Previous way | APIJSON -------- | ------------ | ------------ View structure | Search documents or view logs after responses for requests | Just view the requests, and viewing logs after responses for requests is also supported Operate | Parse JSON String from responses | Parse with JSONResponse or use previous way From 71c6db4357747298ed0faf4359c97d15a9cd52c6 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:38:14 +0800 Subject: [PATCH 148/219] Update README(English).md --- README(English).md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README(English).md b/README(English).md index ace693c4c..d5cc63f68 100644 --- a/README(English).md +++ b/README(English).md @@ -11,9 +11,9 @@ APIJSON is a JSON Transmission Structure Protocol. -You can set any JSON structure and request your server, and the server will response a JSON String with the structure you had set.
      -You can get any data with any JSON structure by requesting server just once. It's very convenient and flexible, and does not require a special api or multiple requests.
      -It provides additions and deletions, fuzzy search, remote function calls and so on. And you can save duplicate data and improve transmission speed as well!
      +You can set any JSON structure and request your server, and the server will response a JSON with the structure you had set.
      +You can get any data by requesting server just once. It's very convenient and flexible, and does not require a special api or multiple requests.
      +It provides CRUD(read and write), Fuzzy Search, Remote Function Calls and so on. And you can save duplicate data and improve transmission speed as well!
      Now you can realize JSON Transmissions without any api or document anymore!
      Client developers will no longer be suffered from various error in documents, and don't have to communicate with server developers about apis or documents anymore!
      From 21518c0653009ce39248c4e1f4a46985d873f0d5 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:40:58 +0800 Subject: [PATCH 149/219] Update README(English).md --- README(English).md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README(English).md b/README(English).md index d5cc63f68..d35869dfc 100644 --- a/README(English).md +++ b/README(English).md @@ -13,7 +13,7 @@ APIJSON is a JSON Transmission Structure Protocol. You can set any JSON structure and request your server, and the server will response a JSON with the structure you had set.
      You can get any data by requesting server just once. It's very convenient and flexible, and does not require a special api or multiple requests.
      -It provides CRUD(read and write), Fuzzy Search, Remote Function Calls and so on. And you can save duplicate data and improve transmission speed as well!
      +It provides CRUD(read and write), Fuzzy Search, Remote Function Calls, Rights Management and so on. And you can save duplicate data and improve transmission speed as well!
      Now you can realize JSON Transmissions without any api or document anymore!
      Client developers will no longer be suffered from various error in documents, and don't have to communicate with server developers about apis or documents anymore!
      From ab547dbc623f5e6aacf0ea9ba7ef026381734cd3 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:41:46 +0800 Subject: [PATCH 150/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e1942a913..b922db655 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ APIJSON是一种JSON传输结构协议。
      客户端可以定义任何JSON结构去向服务端发起请求,服务端就会返回对应结构的JSON字符串,所求即所得。
      一次请求任意结构任意数据,方便灵活,不需要专门接口或多次请求。
      -支持增删改查、模糊搜索、远程函数调用等。还能去除重复数据,节省流量提高速度!
      +支持增删改查、模糊搜索、远程函数、权限管理等。还能去除重复数据,节省流量提高速度!
      从此HTTP传输JSON数据没有接口,更不需要文档!
      客户端再也不用和服务端沟通接口或文档问题了!再也不会被文档各种错误坑了!
      From b597cf7f882919fb19fbc8c7ea17897b1a238992 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:42:34 +0800 Subject: [PATCH 151/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b922db655..e10afa0b3 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ APIJSON是一种JSON传输结构协议。
      -客户端可以定义任何JSON结构去向服务端发起请求,服务端就会返回对应结构的JSON字符串,所求即所得。
      +客户端可以定义任何JSON结构去向服务端发起请求,服务端就会返回对应结构的JSON,所求即所得。
      一次请求任意结构任意数据,方便灵活,不需要专门接口或多次请求。
      支持增删改查、模糊搜索、远程函数、权限管理等。还能去除重复数据,节省流量提高速度!
      From 9b353b7b093e802132659749df935cc0af8542a8 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:43:40 +0800 Subject: [PATCH 152/219] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e10afa0b3..d0e7c9f9e 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,8 @@ APIJSON是一种JSON传输结构协议。
      ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/mysql_workbench_user.jpg) ![](https://raw.githubusercontent.com/TommyLemon/APIJSON/master/picture/mysql_workbench_moment.jpg) +
      +
      ### 举几个例子: From c0cd43e3bf20906a7758c0ac55b74513dbbc5300 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:46:07 +0800 Subject: [PATCH 153/219] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d0e7c9f9e..1097fa4f5 100644 --- a/README.md +++ b/README.md @@ -355,7 +355,7 @@ APIJSON是一种JSON传输结构协议。

      ###

      2.5 客户端对应不同需求的请求

      - 客户端对应不同需求的请求 | 传统方式 | APIJSON + 客户端的请求 | 传统方式 | APIJSON -------- | ------------ | ------------ User | base_url/get/user?id=38710 | [base_url/get/
      {
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"User":{"id":38710}}) Moment和对应的User | 分两次请求
      Moment:
      base_url/get/moment?userId=38710

      User:
      base_url/get/user?id=38710 | [base_url/get/
      {
         "Moment":{
           "userId":38710
         },
         "User":{
           "id":38710
         }
      }](http://139.196.140.118:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) @@ -366,7 +366,7 @@ APIJSON是一种JSON传输结构协议。

      ###

      2.6 服务端对应不同请求的返回结果

      - 服务端对应不同请求的返回结果 | 传统方式 | APIJSON + 服务端的返回结果 | 传统方式 | APIJSON -------- | ------------ | ------------ User | {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | {
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } Moment和对应的User | 分别返回两次请求的结果,获取到Moment后取出userId作为User的id条件去查询User

      Moment:
      {
         "data":{
           "id":235,
           "content":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      }

      User:
      {
         "data":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } | 一次性返回,没有传统方式导致的 长时间等待结果、两次结果间关联、线程多次切换 等问题

      {
         "Moment":{
           "id":235,
           "content":"xxx",
           ...
         },
         "User":{
           "id":38710,
           "name":"xxx",
           ...
         },
         "code":200,
         "msg":"success"
      } From d2b48c59badc6bb9349c8a585abe839dee6a458e Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:50:47 +0800 Subject: [PATCH 154/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1097fa4f5..937fde6bd 100644 --- a/README.md +++ b/README.md @@ -333,7 +333,7 @@ APIJSON是一种JSON传输结构协议。
      -------- | ------------ | ------------ 要求 | 客户端按照文档在对应URL后面拼接键值对 | 客户端按照自己的需求在固定URL后拼接JSON 结构 | base_url/get/table_name?
      key0=value0&key1=value1...

      同一个URL内table_name只能有一个 | base_url/get/
      {
         TableName0:{
           key0:value0,
           key1:value1,
           ...
         },
         TableName1:{
           ...
         }
         ...
      }

      同一个URL后TableName可传任意数量个 - URL | 不同的请求对应不同的URL,基本上有多少个不同的请求就得有多少个接口URL | 相同的操作方法(增删改查)都用同一个URL,大部分请求都用7个通用接口URL的其中一个 + URL | 不同的请求对应不同的URL,
      基本上有多少个不同的请求就得有多少个接口URL | 相同的操作方法(增删改查)都用同一个URL,
      大部分请求都用7个通用接口URL的其中一个 键值对 | key=value | key:value
      From 8a14a39ebf5c96fdf0090a666854793bf631e4fc Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:52:01 +0800 Subject: [PATCH 155/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 937fde6bd..d631365e2 100644 --- a/README.md +++ b/README.md @@ -333,7 +333,7 @@ APIJSON是一种JSON传输结构协议。
      -------- | ------------ | ------------ 要求 | 客户端按照文档在对应URL后面拼接键值对 | 客户端按照自己的需求在固定URL后拼接JSON 结构 | base_url/get/table_name?
      key0=value0&key1=value1...

      同一个URL内table_name只能有一个 | base_url/get/
      {
         TableName0:{
           key0:value0,
           key1:value1,
           ...
         },
         TableName1:{
           ...
         }
         ...
      }

      同一个URL后TableName可传任意数量个 - URL | 不同的请求对应不同的URL,
      基本上有多少个不同的请求就得有多少个接口URL | 相同的操作方法(增删改查)都用同一个URL,
      大部分请求都用7个通用接口URL的其中一个 + URL | 不同的请求对应不同的URL,基本上有多少个不同的请求就得有多少个接口URL | 相同的操作方法(增删改查)都用同一个URL,
      大部分请求都用7个通用接口URL的其中一个 键值对 | key=value | key:value
      From 1964e12d6c735a1e79274843d6972a10251a2592 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 15:53:39 +0800 Subject: [PATCH 156/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d631365e2..45d8082de 100644 --- a/README.md +++ b/README.md @@ -332,7 +332,7 @@ APIJSON是一种JSON传输结构协议。
      客户端请求 | 传统方式 | APIJSON -------- | ------------ | ------------ 要求 | 客户端按照文档在对应URL后面拼接键值对 | 客户端按照自己的需求在固定URL后拼接JSON - 结构 | base_url/get/table_name?
      key0=value0&key1=value1...

      同一个URL内table_name只能有一个 | base_url/get/
      {
         TableName0:{
           key0:value0,
           key1:value1,
           ...
         },
         TableName1:{
           ...
         }
         ...
      }

      同一个URL后TableName可传任意数量个 + 结构 | 同一个URL内table_name只能有一个

      base_url/get/table_name?
      key0=value0&key1=value1... | 同一个URL后TableName可传任意数量个

      base_url/get/
      {
         TableName0:{
           key0:value0,
           key1:value1,
           ...
         },
         TableName1:{
           ...
         }
         ...
      } URL | 不同的请求对应不同的URL,基本上有多少个不同的请求就得有多少个接口URL | 相同的操作方法(增删改查)都用同一个URL,
      大部分请求都用7个通用接口URL的其中一个 键值对 | key=value | key:value From 268747f26b3e32ec65bde9fd0b519e3868860ccf Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 21:29:49 +0800 Subject: [PATCH 157/219] =?UTF-8?q?Server:=E8=A7=A3=E5=86=B3@about?= =?UTF-8?q?=E6=B2=A1=E6=9D=83=E9=99=90(=E4=BB=A3=E7=A0=81=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E6=81=A2=E5=A4=8D=E4=BA=86)=EF=BC=9B=E4=BC=98?= =?UTF-8?q?=E5=8C=96Controller=E4=BB=A3=E7=A0=81=E7=BC=A9=E8=BF=9B?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/apijson/demo/server/Controller.java | 72 +++++++++---------- .../biao/apijson/server/sql/SQLConfig.java | 2 +- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java index f15bf130e..ec1fbc32b 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java @@ -66,37 +66,37 @@ public class Controller { //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - /**获取 - * @param request 只用String,避免encode后未decode - * @param session - * @return - * @see {@link RequestMethod#GET} - */ - @RequestMapping("get/{request}") - public String open_get(@PathVariable String request, HttpSession session) { - try { - request = URLDecoder.decode(request, StringUtil.UTF_8); - } catch (Exception e) { - // Parser会报错 - } - return get(request, session); - } - - /**计数 - * @param request 只用String,避免encode后未decode - * @param session - * @return - * @see {@link RequestMethod#HEAD} - */ - @RequestMapping("head/{request}") - public String open_head(@PathVariable String request, HttpSession session) { - try { - request = URLDecoder.decode(request, StringUtil.UTF_8); - } catch (Exception e) { - // Parser会报错 - } - return head(request, session); + /**获取 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#GET} + */ + @RequestMapping("get/{request}") + public String open_get(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return get(request, session); + } + + /**计数 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#HEAD} + */ + @RequestMapping("head/{request}") + public String open_head(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 } + return head(request, session); + } /**获取 * @param request 只用String,避免encode后未decode @@ -526,7 +526,7 @@ public JSONObject logout(HttpSession session) { public JSONObject register(@RequestBody String request) { JSONObject requestObject = null; String verify; - + JSONObject privacyObj; String phone; String password; @@ -538,13 +538,13 @@ public JSONObject register(@RequestBody String request) { verify = requestObject.getString(VERIFY); requestObject.remove(VERIFY); - + privacyObj = requestObject.getJSONObject(PRIVACY_); if (privacyObj == null) { throw new NullPointerException("请设置 " + PRIVACY_); } requestObject.remove(PRIVACY_); - + phone = privacyObj.getString(PHONE); password = privacyObj.getString(_PASSWORD); @@ -553,8 +553,8 @@ public JSONObject register(@RequestBody String request) { throw new NullPointerException("请设置 " + USER_); } name = userObj.getString(NAME); - - + + if (StringUtil.isVerify(verify) == false) { throw new IllegalArgumentException(VERIFY + ":value 中value不合法!"); } @@ -595,7 +595,7 @@ public JSONObject register(@RequestBody String request) { //生成User response = new JSONResponse(new Parser(POST, true).parseResponse(requestObject)); - + JSONResponse userRes = response.getJSONResponse(USER_); long userId = userRes == null ? 0 : userRes.getId(); if (userId <= 0) { diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index df39430ab..a1bc368cd 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -1102,7 +1102,7 @@ public static SQLConfig newSQLConfig(RequestMethod method, String table, JSONObj tableWhere.put(TABLE_SCHEMA, SQLConfig.getSchema(schema)); tableWhere.put(TABLE_NAME, config.getSQLTable()); - config.setTable(Column.TAG); + config.setTable(Column.class.getSimpleName()); schema = SCHEMA_INFORMATION; From 881bde6c8227616c054d2c1fb3273bc4aa836533 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 20 Aug 2017 21:32:38 +0800 Subject: [PATCH 158/219] =?UTF-8?q?Server:=E4=BF=AE=E6=AD=A3MethodAccess?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E7=94=A8=E8=AF=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/zuo/biao/apijson/MethodAccess.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodAccess.java index 1cf14dc6e..c69f55ac7 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodAccess.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodAccess.java @@ -36,37 +36,37 @@ public @interface MethodAccess { /**@see {@link RequestMethod#GET} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] GET() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#HEAD} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST_GET} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST_HEAD} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST} - * @return 该请求方法允许的结构 default {LOGIN, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, ADMIN}; */ RequestRole[] POST() default {LOGIN, ADMIN}; /**@see {@link RequestMethod#PUT} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] PUT() default {OWNER, ADMIN}; /**@see {@link RequestMethod#DELETE} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] DELETE() default {OWNER, ADMIN}; From fedcfa99dbec710287187d21ca7645ecc9421a16 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 27 Aug 2017 11:50:05 +0800 Subject: [PATCH 159/219] =?UTF-8?q?Server:=E4=BC=98=E5=8C=96Controller?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=EF=BC=9BClient:=E4=BC=98=E5=8C=96Test?= =?UTF-8?q?=E4=B8=ADCodeUtil=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/apijson/demo/ui/CodeUtil.java | 17 +++++++++-------- .../java/apijson/demo/server/Controller.java | 7 +++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/CodeUtil.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/CodeUtil.java index 007d6eac2..fc1b6d5d2 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/CodeUtil.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/CodeUtil.java @@ -43,14 +43,12 @@ public static String parse(final String name, final JSONObject request) { if (set != null) { Object value; - String pairKey; for (String key : set) { value = request.get(key); if (value == null) { continue; } - pairKey = new String(key instanceof String ? "\"" + key + "\"" : key); if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray response += NEWLINE + NEWLINE + "//" + key + "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"; @@ -65,22 +63,25 @@ public static String parse(final String name, final JSONObject request) { String prefix = key.substring(0, key.length() - 2); response += NEWLINE + NEWLINE - + parentKey + ".add(" + getItemKey(key) + ".toArray(" + + parentKey + ".putAll(" + getItemKey(key) + ".toArray(" + count + ", " + page + (prefix.isEmpty() ? "" : ", \"" + prefix + "\"") + "));"; response += NEWLINE + "//" + key + ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + NEWLINE; - } else {//常规JSONObject,往下一级提取 + } + else {//常规JSONObject,往下一级提取 response += NEWLINE + NEWLINE + "//" + key + "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"; response += parse(key, (JSONObject) value); - response += NEWLINE + NEWLINE + parentKey + ".put(" + pairKey + ", " + getTableKey(key) + ");"; + response += NEWLINE + NEWLINE + parentKey + ".put(\"" + key + "\", " + getTableKey(key) + ");"; response += NEWLINE + "//" + key + ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + NEWLINE; } - } else {//其它Object,直接填充 + } + else {//其它Object,直接填充 if (value instanceof String) { value = "\"" + value + "\""; - } else if (value instanceof JSONArray) { + } + else if (value instanceof JSONArray) { String s = StringUtil.getString(value); if (s.startsWith("[")) { s = s.substring(1); @@ -93,7 +94,7 @@ public static String parse(final String name, final JSONObject request) { value = "new Object[]{" + s + "}";//反射获取泛型太麻烦,反正开发中还要改的 } - response += NEWLINE + parentKey + ".put(" + pairKey + ", " + value + ");"; + response += NEWLINE + parentKey + ".put(\"" + key + "\", " + value + ");"; } } } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java index ec1fbc32b..b563f85ae 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java @@ -253,7 +253,7 @@ public String delete(@RequestBody String request, HttpSession session) { /**生成验证码,修改为post请求 - * @param phone + * @param request * @return */ @RequestMapping(value = "post/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) @@ -290,7 +290,7 @@ public JSONObject postVerify(@RequestBody String request) { } /**获取验证码 - * @param phone + * @param request * @return */ @RequestMapping(value = "post_get/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) @@ -307,8 +307,7 @@ public JSONObject getVerify(@RequestBody String request) { } /**校验验证码 - * @param phone - * @param code + * @param request * @return */ @RequestMapping(value = "post_head/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) From 1eeaa028871ba65ca36d01dce4bcf389719fd9a0 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 27 Aug 2017 12:05:46 +0800 Subject: [PATCH 160/219] =?UTF-8?q?Server:=E5=90=8C=E6=AD=A5eclipse?= =?UTF-8?q?=E7=89=88=E8=87=B3idea=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/apijson/demo/server/Controller.java | 328 ++++++++---- .../java/apijson/demo/server/Function.java | 16 +- .../{AccessVerifier.java => Verifier.java} | 81 ++- .../apijson/demo/server/model/BaseModel.java | 49 ++ .../src/main/java/zuo/biao/apijson/JSON.java | 47 +- .../java/zuo/biao/apijson/JSONObject.java | 380 +++++-------- .../java/zuo/biao/apijson/JSONRequest.java | 147 ++---- .../java/zuo/biao/apijson/JSONResponse.java | 238 +++------ .../java/zuo/biao/apijson/MethodAccess.java | 14 +- .../java/zuo/biao/apijson/RequestMethod.java | 8 +- .../java/zuo/biao/apijson/StringUtil.java | 31 +- .../zuo/biao/apijson/server/JSONRequest.java | 93 +--- .../zuo/biao/apijson/server/ObjectParser.java | 21 +- .../zuo/biao/apijson/server/Operation.java | 54 ++ .../java/zuo/biao/apijson/server/Pair.java | 5 + .../java/zuo/biao/apijson/server/Parser.java | 55 +- .../zuo/biao/apijson/server/Structure.java | 414 +++++++-------- .../biao/apijson/server/sql/SQLConfig.java | 498 +++++++++++------- .../biao/apijson/server/sql/SQLExecutor.java | 20 +- 19 files changed, 1284 insertions(+), 1215 deletions(-) rename APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/{AccessVerifier.java => Verifier.java} (78%) create mode 100644 APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Operation.java diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java index 5f7846af0..b563f85ae 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java @@ -22,6 +22,7 @@ import static zuo.biao.apijson.RequestMethod.POST_HEAD; import static zuo.biao.apijson.RequestMethod.PUT; +import java.net.URLDecoder; import java.util.Random; import java.util.concurrent.TimeoutException; @@ -42,6 +43,7 @@ import apijson.demo.server.model.Verify; import zuo.biao.apijson.JSON; import zuo.biao.apijson.JSONResponse; +import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.server.JSONRequest; @@ -71,8 +73,13 @@ public class Controller { * @see {@link RequestMethod#GET} */ @RequestMapping("get/{request}") - public String get(@PathVariable String request, HttpSession session) { - return new Parser(GET).setSession(session).parse(request); + public String open_get(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return get(request, session); } /**计数 @@ -82,7 +89,34 @@ public String get(@PathVariable String request, HttpSession session) { * @see {@link RequestMethod#HEAD} */ @RequestMapping("head/{request}") - public String head(@PathVariable String request, HttpSession session) { + public String open_head(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return head(request, session); + } + + /**获取 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#GET} + */ + @RequestMapping(value = "get", method = org.springframework.web.bind.annotation.RequestMethod.POST) + public String get(@RequestBody String request, HttpSession session) { + return new Parser(GET).setSession(session).parse(request); + } + + /**计数 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#HEAD} + */ + @RequestMapping(value = "head", method = org.springframework.web.bind.annotation.RequestMethod.POST) + public String head(@RequestBody String request, HttpSession session) { return new Parser(HEAD).setSession(session).parse(request); } @@ -168,6 +202,7 @@ public String delete(@RequestBody String request, HttpSession session) { VERIFY_ = Verify.class.getSimpleName(); } + public static final String COUNT = JSONResponse.KEY_COUNT; public static final String TOTAL = JSONResponse.KEY_TOTAL; public static final String RANGE = "range"; @@ -186,6 +221,7 @@ public String delete(@RequestBody String request, HttpSession session) { public static final String SEX = "sex"; public static final String TYPE = "type"; + public static final String WAY = "way"; public static final String CONTENT = "content"; @@ -217,18 +253,18 @@ public String delete(@RequestBody String request, HttpSession session) { /**生成验证码,修改为post请求 - * @param phone + * @param request * @return */ @RequestMapping(value = "post/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject postVerify(@RequestBody String request) { - JSONObject requestObject; + JSONObject requestObject = null; String phone; try { requestObject = Parser.parseRequest(request, POST); phone = requestObject.getString(PHONE); } catch (Exception e) { - return Parser.newErrorResult(e); + return Parser.extendErrorResult(requestObject, e); } new Parser(DELETE, true).parse(newVerifyRequest(phone, null)); @@ -242,7 +278,7 @@ public JSONObject postVerify(@RequestBody String request) { } catch (Exception e) { // TODO: handle exception } - if (verify == null || JSONResponse.isSucceed(verify.getIntValue(JSONResponse.KEY_CODE)) == false) { + if (verify == null || JSONResponse.isSuccess(verify.getIntValue(JSONResponse.KEY_CODE)) == false) { new Parser(DELETE, true).parseResponse(new JSONRequest(new Verify(phone))); return response; } @@ -254,37 +290,37 @@ public JSONObject postVerify(@RequestBody String request) { } /**获取验证码 - * @param phone + * @param request * @return */ @RequestMapping(value = "post_get/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject getVerify(@RequestBody String request) { - JSONObject requestObject; + JSONObject requestObject = null; String phone; try { requestObject = Parser.parseRequest(request, POST_GET); phone = requestObject.getString(PHONE); } catch (Exception e) { - return Parser.newErrorResult(e); + return Parser.extendErrorResult(requestObject, e); } return new Parser(POST_GET, true).parseResponse(newVerifyRequest(phone, null)); } /**校验验证码 - * @param phone - * @param code + * @param request * @return */ @RequestMapping(value = "post_head/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject headVerify(@RequestBody String request) { + JSONObject requestObject = null; String phone; String verify; try { - JSONObject requestObject = Parser.parseRequest(request, POST_HEAD); + requestObject = Parser.parseRequest(request, POST_HEAD); phone = requestObject.getString(PHONE); verify = requestObject.getString(VERIFY); } catch (Exception e) { - return Parser.newErrorResult(e); + return Parser.extendErrorResult(requestObject, e); } return headVerify(phone, verify); } @@ -336,36 +372,46 @@ private JSONObject newVerifyRequest(String phone, String verify) { /**用户登录 * @param request 只用String,避免encode后未decode * @return + * @see + *
      +		{
      +			"type": 0,
      +			"phone": "13000082001",
      +			"password": "1234567"
      +		}
      +	 * 
      */ @RequestMapping(value = "login", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject login(@RequestBody String request, HttpSession session) { JSONObject requestObject = null; + boolean isPassword; + String phone; + String password; try { requestObject = Parser.parseRequest(request, POST); - } catch (Exception e) { - return Parser.newErrorResult(e); - } + isPassword = requestObject.getIntValue(TYPE) == LOGIN_TYPE_PASSWORD;//登录方式 + phone = requestObject.getString(PHONE);//手机 + password = requestObject.getString(PASSWORD);//密码 - String typeString = requestObject.getString(TYPE);//登录类型 - String phone = requestObject.getString(PHONE);//手机 - String password = requestObject.getString(PASSWORD);//密码 - - //判断手机号是否合法 - if (StringUtil.isPhone(phone) == false) { - return Parser.newErrorResult(new IllegalArgumentException("手机号不合法!")); - } - - //判断密码是否合法 - if ("1".equals(typeString)) { - if (StringUtil.isVerify(password) == false) { - return Parser.newErrorResult(new IllegalArgumentException("验证码不合法!")); + if (StringUtil.isPhone(phone) == false) { + throw new IllegalArgumentException("手机号不合法!"); } - } else { - if (StringUtil.isPassword(password) == false) { - return Parser.newErrorResult(new IllegalArgumentException("密码不合法!")); + + if (isPassword) { + if (StringUtil.isPassword(password) == false) { + throw new IllegalArgumentException("密码不合法!"); + } + } else { + if (StringUtil.isVerify(password) == false) { + throw new IllegalArgumentException("验证码不合法!"); + } } + } catch (Exception e) { + return Parser.extendErrorResult(requestObject, e); } + + //手机号是否已注册 JSONObject phoneResponse = new Parser(POST_HEAD, true).parseResponse( new JSONRequest( @@ -373,7 +419,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { ) ); JSONResponse response = new JSONResponse(phoneResponse).getJSONResponse(PRIVACY_); - if (JSONResponse.isSucceed(response) == false) { + if (JSONResponse.isSuccess(response) == false) { return response; } if(JSONResponse.isExist(response) == false) { @@ -395,8 +441,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { } //校验凭证 - int type = Integer.valueOf(0 + StringUtil.getNumber(typeString)); - if (type == LOGIN_TYPE_PASSWORD) {//password密码登录 + if (isPassword) {//password密码登录 response = new JSONResponse( new Parser(POST_HEAD, true).parseResponse( new JSONRequest(new Privacy(userId).setPassword(password)) @@ -405,10 +450,10 @@ public JSONObject login(@RequestBody String request, HttpSession session) { } else {//verify手机验证码登录 response = new JSONResponse(headVerify(phone, password)); } - if (JSONResponse.isSucceed(response) == false) { + if (JSONResponse.isSuccess(response) == false) { return response; } - response = response.getJSONResponse(type == LOGIN_TYPE_PASSWORD ? PRIVACY_ : VERIFY_); + response = response.getJSONResponse(isPassword ? PRIVACY_ : VERIFY_); if (JSONResponse.isExist(response) == false) { return Parser.newErrorResult(new ConditionErrorException("账号或密码错误")); } @@ -425,7 +470,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { //登录状态保存至session session.setAttribute(USER_ID, userId);//用户id - session.setAttribute(TYPE, type);//登录方式 + session.setAttribute(TYPE, isPassword ? LOGIN_TYPE_PASSWORD : LOGIN_TYPE_VERIFY);//登录方式 session.setAttribute(USER_, user);//用户 session.setAttribute(PRIVACY_, privacy);//用户隐私信息 // session.setMaxInactiveInterval(1*60);//设置session过期时间 @@ -439,12 +484,19 @@ public JSONObject login(@RequestBody String request, HttpSession session) { */ @RequestMapping(value = "logout", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject logout(HttpSession session) { - long userId = AccessVerifier.getUserId(session);//必须在session.invalidate();前! - session.invalidate(); + long userId; + try { + userId = Verifier.getUserId(session);//必须在session.invalidate();前! + Log.d(TAG, "logout userId = " + userId + "; session.getId() = " + (session == null ? null : session.getId())); + session.invalidate(); + } catch (Exception e) { + return Parser.newErrorResult(e); + } JSONObject result = Parser.newSuccessResult(); JSONObject user = Parser.newSuccessResult(); user.put(ID, userId); + user.put(COUNT, 1); result.put(USER_, user); return result; @@ -454,39 +506,73 @@ public JSONObject logout(HttpSession session) { /**注册 * @param request 只用String,避免encode后未decode * @return + * @see + *
      +		{
      +			"Privacy": {
      +				"phone": "13000082222",
      +				"_password": "12345678"
      +			},
      +			"User": {
      +				"name": "APIJSONUser",
      +				"sex": 0
      +			},
      +			"verify": "2139"
      +		}
      +	 * 
      */ @RequestMapping(value = "register", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject register(@RequestBody String request) { JSONObject requestObject = null; + String verify; + + JSONObject privacyObj; + String phone; + String password; + + JSONObject userObj; + String name; try { - requestObject = Parser.getCorrectRequest(POST, Parser.parseRequest(request, POST)); - } catch (Exception e) { - return Parser.newErrorResult(e); - } + requestObject = Parser.parseRequest(request, POST); - String phone = requestObject.getString(PHONE); - String password = StringUtil.getString(requestObject.getString(PASSWORD)); - String verify = StringUtil.getString(requestObject.getString(VERIFY)); - requestObject.remove(PHONE); - requestObject.remove(PASSWORD); - requestObject.remove(VERIFY); + verify = requestObject.getString(VERIFY); + requestObject.remove(VERIFY); - if (StringUtil.isPhone(phone) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.phone: " + phone + " 不合法!")); - } - if (StringUtil.isPassword(password) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.password: " + password + " 不合法!不能小于6个字符!")); - } - if (StringUtil.isVerify(verify) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.verify: " + verify + " 不合法!不能小于6个字符!")); - } + privacyObj = requestObject.getJSONObject(PRIVACY_); + if (privacyObj == null) { + throw new NullPointerException("请设置 " + PRIVACY_); + } + requestObject.remove(PRIVACY_); + phone = privacyObj.getString(PHONE); + password = privacyObj.getString(_PASSWORD); + + userObj = requestObject.getJSONObject(USER_); + if (userObj == null) { + throw new NullPointerException("请设置 " + USER_); + } + name = userObj.getString(NAME); + + + if (StringUtil.isVerify(verify) == false) { + throw new IllegalArgumentException(VERIFY + ":value 中value不合法!"); + } + if (StringUtil.isPhone(phone) == false) { + throw new IllegalArgumentException(PHONE + ":value 中value不合法!"); + } + if (StringUtil.isPassword(password) == false) { + throw new IllegalArgumentException(_PASSWORD + ":value 中value不合法!"); + } + if (StringUtil.isEmpty(name, true)) { + throw new IllegalArgumentException(NAME + ":value 中value不合法!"); + } + } catch (Exception e) { + return Parser.extendErrorResult(requestObject, e); + } + //验证码是否正确 JSONResponse response = new JSONResponse(headVerify(phone, verify)); - if (JSONResponse.isSucceed(response) == false) { + if (JSONResponse.isSuccess(response) == false) { return response; } @@ -507,24 +593,23 @@ public JSONObject register(@RequestBody String request) { } //生成User - JSONObject result = new Parser(POST, true).parseResponse(requestObject); - response = new JSONResponse(result); - if (JSONResponse.isSucceed(response) == false) { - return result; - } + response = new JSONResponse(new Parser(POST, true).parseResponse(requestObject)); - response = response.getJSONResponse(USER_); - long userId = response == null ? 0 : response.getId(); + JSONResponse userRes = response.getJSONResponse(USER_); + long userId = userRes == null ? 0 : userRes.getId(); + if (userId <= 0) { + return response; + } - //生成UserPrivacy - response = new JSONResponse( + //生成Privacy + JSONResponse response2 = new JSONResponse( new Parser(POST, true).parseResponse( new JSONRequest( new Privacy(userId).setPhone(phone).setPassword(password) ) ) ); - if (JSONResponse.isSucceed(response.getJSONResponse(PRIVACY_)) == false) {//创建失败,删除新增的无效User和userPrivacy + if (JSONResponse.isSuccess(response2.getJSONResponse(PRIVACY_)) == false) {//创建失败,删除新增的无效User和Privacy new Parser(DELETE, true).parseResponse( new JSONRequest( @@ -534,49 +619,69 @@ public JSONObject register(@RequestBody String request) { new Parser(DELETE, true).parseResponse( new JSONRequest( - new Privacy().setPhone(phone) + new Privacy(userId) ) ); - return Parser.extendErrorResult(result, new Exception("服务器内部错误")); + return Parser.extendErrorResult(requestObject, new Exception("服务器内部错误")); } - return result; + response.putAll(response2); + return response; } /**设置密码 * @param request 只用String,避免encode后未decode * @return + * @see + *
      +		{
      +			"type": 0,
      +			"password": "1234567",
      +			"phone": "13000082001",
      +			"verify": "1234"
      +		}
      +	 * 
      */ @RequestMapping(value = "put/password", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject putPassword(@RequestBody String request){ JSONObject requestObject = null; + boolean isLogin; + String verify; + String phone; + String password; try { - requestObject = Parser.parseRequest(request, POST); + requestObject = Parser.parseRequest(request, PUT); + + isLogin = requestObject.getIntValue(TYPE) == Privacy.PASSWORD_TYPE_LOGIN; + verify = requestObject.getString(VERIFY); + phone = requestObject.getString(PHONE); + password = requestObject.getString(PASSWORD); + + if (StringUtil.isVerify(verify) == false) { + throw new IllegalArgumentException(VERIFY + ":value 中value不合法!"); + } + if (StringUtil.isPhone(phone) == false) { + throw new IllegalArgumentException(PHONE + ":value 中value不合法!"); + } + if (isLogin) { + if (StringUtil.isPassword(password) == false) { + throw new IllegalArgumentException(PASSWORD + ":value 中value不合法!"); + } + } else { + if (StringUtil.isNumberPassword(password) == false) { + throw new IllegalArgumentException(PASSWORD + ":value 中value不合法!"); + } + } } catch (Exception e) { - return Parser.newErrorResult(e); + return Parser.extendErrorResult(requestObject, e); } - String phone = requestObject.getString(PHONE); - String password = StringUtil.getString(requestObject.getString(PASSWORD)); - String verify = StringUtil.getString(requestObject.getString(VERIFY)); - if (StringUtil.isPhone(phone) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.phone: " + phone + " 不合法!")); - } - if (StringUtil.isPassword(password) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.password: " + password + " 不合法!不能小于6个字符!")); - } - if (StringUtil.isVerify(verify) == false) { - return Parser.extendErrorResult(requestObject - , new IllegalArgumentException("User.verify: " + verify + " 不合法!不能小于6个字符!")); - } //校验验证码 - JSONResponse response = new JSONResponse(headVerify(phone, requestObject.getString(VERIFY))); - if (JSONResponse.isSucceed(response) == false) { + JSONResponse response = new JSONResponse(headVerify(phone, verify)); + if (JSONResponse.isSuccess(response) == false) { return response; } //手机号或验证码错误 @@ -593,10 +698,16 @@ public JSONObject putPassword(@RequestBody String request){ ); Privacy privacy = response.getObject(Privacy.class); long userId = privacy == null ? 0 : privacy.getId(); + if (userId <= 0) { + return Parser.extendErrorResult(requestObject, new NotExistException("手机号未注册!")); + } + //修改密码 return new Parser(PUT, true).parseResponse( new JSONRequest( - new Privacy(userId).setPassword(password) + PRIVACY_, new zuo.biao.apijson.JSONObject( + new Privacy(userId) + ).puts(isLogin ? _PASSWORD : _PAY_PASSWORD, password) ) ); } @@ -607,21 +718,28 @@ public JSONObject putPassword(@RequestBody String request){ * @param request 只用String,避免encode后未decode * @param session * @return + * @see + *
      +		{
      +			"Privacy": {
      +				"id": 82001,
      +				"balance+": 100,
      +				"_payPassword": "123456"
      +			}
      +		}
      +	 * 
      */ @RequestMapping(value = "put/balance", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject putBalance(@RequestBody String request, HttpSession session) { JSONObject requestObject = null; - try { - AccessVerifier.verifyLogin(session); - requestObject = Parser.getCorrectRequest(PUT, Parser.parseRequest(request, PUT)); - } catch (Exception e) { - return Parser.newErrorResult(e); - } JSONObject privacyObj; long userId; String payPassword; double change; try { + Verifier.verifyLogin(session); + requestObject = Parser.getCorrectRequest(PUT, Parser.parseRequest(request, PUT)); + privacyObj = requestObject.getJSONObject(PRIVACY_); if (privacyObj == null) { throw new NullPointerException("请设置 " + PRIVACY_ + "!"); @@ -629,7 +747,7 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { userId = privacyObj.getLongValue(ID); payPassword = privacyObj.getString(_PAY_PASSWORD); change = privacyObj.getDoubleValue("balance+"); - + if (userId <= 0) { throw new IllegalArgumentException(PRIVACY_ + "." + ID + ":value 中value不合法!"); } @@ -686,7 +804,7 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { } } - + privacyObj.remove(_PAY_PASSWORD); privacyObj.put("balance+", change); requestObject.put(PRIVACY_, privacyObj); diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Function.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Function.java index 2abccfc52..2995482cf 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Function.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Function.java @@ -60,12 +60,12 @@ public static void test() throws Exception { jsonMap.put("map", map); - Log.i(TAG, "plus = " + invoke(jsonMap, "plus(long:i0,long:i1)")); - Log.i(TAG, "count = " + invoke(jsonMap, "count(Collection:collection)")); - Log.i(TAG, "isContain = " + invoke(jsonMap, "isContain(Collection:collection,Object:id)")); - Log.i(TAG, "get(Map:map,key) = " + invoke(jsonMap, "get(Map:map,key)")); - Log.i(TAG, "get(Collection:collection,int:@position) = " + invoke(jsonMap, "get(Collection:collection,int:@position)")); - Log.i(TAG, "Integer:get(Map:map,key) = " + invoke(jsonMap, "Integer:get(Map:map,key)")); + Log.i(TAG, "plus(1, -2) = " + invoke(jsonMap, "plus(long:i0,long:i1)")); + Log.i(TAG, "count([1,2,4,10]) = " + invoke(jsonMap, "count(Collection:collection)")); + Log.i(TAG, "isContain([1,2,4,10], 10) = " + invoke(jsonMap, "isContain(Collection:collection,Object:id)")); + Log.i(TAG, "get({key:true}, key) = " + invoke(jsonMap, "get(Map:map,key)")); + Log.i(TAG, "get([1,2,4,10], 0) = " + invoke(jsonMap, "get(Collection:collection,int:@position)")); + Log.i(TAG, "Integer:get({key:true}, key) = " + invoke(jsonMap, "Integer:get(Map:map,key)")); } /**反射调用 @@ -126,10 +126,6 @@ public long plus(long i0, long i1) { return i0 + i1; } - public JSONObject newVerify(String phone) { - return new Controller().postVerify(phone); - } - //判断是否为空 <<<<<<<<<<<<<<<<<<<<<<<<<<<<< /**判断collection是否为空 diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/AccessVerifier.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java similarity index 78% rename from APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/AccessVerifier.java rename to APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java index 5460fd22e..31f64d17a 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/AccessVerifier.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java @@ -14,6 +14,14 @@ package apijson.demo.server; +import static zuo.biao.apijson.RequestMethod.DELETE; +import static zuo.biao.apijson.RequestMethod.GET; +import static zuo.biao.apijson.RequestMethod.HEAD; +import static zuo.biao.apijson.RequestMethod.POST; +import static zuo.biao.apijson.RequestMethod.POST_GET; +import static zuo.biao.apijson.RequestMethod.POST_HEAD; +import static zuo.biao.apijson.RequestMethod.PUT; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -32,6 +40,7 @@ import apijson.demo.server.model.User; import apijson.demo.server.model.Verify; import zuo.biao.apijson.JSON; +import zuo.biao.apijson.JSONResponse; import zuo.biao.apijson.Log; import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.RequestMethod; @@ -39,19 +48,23 @@ import zuo.biao.apijson.model.Column; import zuo.biao.apijson.model.Table; import zuo.biao.apijson.model.Test; +import zuo.biao.apijson.server.JSONRequest; +import zuo.biao.apijson.server.Parser; +import zuo.biao.apijson.server.exception.ConflictException; import zuo.biao.apijson.server.exception.NotLoggedInException; import zuo.biao.apijson.server.sql.SQLConfig; /**权限验证类 * @author Lemon */ -public class AccessVerifier { - private static final String TAG = "AccessVerifier"; +public class Verifier { + private static final String TAG = "Verifier"; public static final String KEY_PASSWORD = "password"; public static final String KEY_LOGIN_PASSWORD = "loginPassword"; public static final String KEY_PAY_PASSWORD = "payPassword"; + public static final String KEY_OLD_PASSWORD = "oldPassword"; // > @@ -81,13 +94,13 @@ private static HashMap getAccessMap(MethodAccess a } HashMap map = new HashMap<>(); - map.put(RequestMethod.GET, access.GET()); - map.put(RequestMethod.HEAD, access.HEAD()); - map.put(RequestMethod.POST_GET, access.POST_GET()); - map.put(RequestMethod.POST_HEAD, access.POST_HEAD()); - map.put(RequestMethod.POST, access.POST()); - map.put(RequestMethod.PUT, access.PUT()); - map.put(RequestMethod.DELETE, access.DELETE()); + map.put(GET, access.GET()); + map.put(HEAD, access.HEAD()); + map.put(POST_GET, access.POST_GET()); + map.put(POST_HEAD, access.POST_HEAD()); + map.put(POST, access.POST()); + map.put(PUT, access.PUT()); + map.put(DELETE, access.DELETE()); return map; } @@ -161,7 +174,7 @@ public static boolean verify(SQLConfig config, User visitor) throws Exception { } if (list.contains(new Long("" + id)) == false) {//Integer等转为Long才能正确判断。强转崩溃 if (method == null) { - method = RequestMethod.GET; + method = GET; } throw new IllegalAccessException(userIdkey + " = " + id + " 的 " + table + " 不允许 " + role.name() + " 用户的 " + method.name() + " 请求!"); @@ -197,7 +210,7 @@ public static void verifyRole(String table, RequestMethod method, RequestRole ro Log.d(TAG, "verifyRole table = " + table + "; method = " + method + "; role = " + role); if (table != null) { if (method == null) { - method = RequestMethod.GET; + method = GET; } if (role == null) { role = RequestRole.UNKNOWN; @@ -218,6 +231,7 @@ public static void verifyRole(String table, RequestMethod method, RequestRole ro * @throws Exception */ public static void verifyLogin(HttpSession session) throws Exception { + Log.d(TAG, "verifyLogin session.getId() = " + (session == null ? null : session.getId())); verifyLogin(getUserId(session)); } /**登录校验 @@ -231,6 +245,50 @@ public static void verifyLogin(Long userId) throws Exception { throw new NotLoggedInException("未登录,请登录后再操作!"); } } + + + + /**验证是否重复 + * @param table + * @param key + * @param value + * @throws Exception + */ + public static void verifyRepeat(String table, String key, Object value) throws Exception { + verifyRepeat(table, key, value, 0); + } + /**验证是否重复 + * @param table + * @param key + * @param value + * @param exceptId 不包含id + * @throws Exception + */ + public static void verifyRepeat(String table, String key, Object value, long exceptId) throws Exception { + if (key == null || value == null) { + Log.e(TAG, "verifyRepeat key == null || value == null >> return;"); + return; + } + if (value instanceof JSON) { + throw new UnsupportedDataTypeException(key + ":value 中value的类型不能为JSON!"); + } + + JSONRequest request = new JSONRequest(key, value); + if (exceptId > 0) {//允许修改自己的属性为该属性原来的值 + request.put(JSONRequest.KEY_ID + "!", exceptId); + } + JSONObject repeat = new Parser(HEAD, true).parseResponse( + new JSONRequest(table, request) + ); + repeat = repeat == null ? null : repeat.getJSONObject(table); + if (repeat == null) { + throw new Exception("服务器内部错误 verifyRepeat repeat == null"); + } + if (repeat.getIntValue(JSONResponse.KEY_COUNT) > 0) { + throw new ConflictException(key + ": " + value + " 已经存在,不能重复!"); + } + } + /**获取来访用户的id * @author Lemon @@ -267,6 +325,7 @@ public static JSONObject removeAccessInfo(JSONObject requestObject) { requestObject.remove(KEY_PASSWORD); requestObject.remove(KEY_LOGIN_PASSWORD); requestObject.remove(KEY_PAY_PASSWORD); + requestObject.remove(KEY_OLD_PASSWORD); } return requestObject; } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/BaseModel.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/BaseModel.java index e47f185a8..f76f6798e 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/BaseModel.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/BaseModel.java @@ -250,4 +250,53 @@ public static double value(Double value) { } //获取非基本类型对应基本类型的非空值 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> + /**index是否在arr长度范围内 + * @param index + * @param array + * @return + */ + public static boolean isIndexInRange(Integer index, Object[] array) { + return index != null && index >= 0 && index < count(array); + } + + /**获取在arr长度范围内的index + * defaultIndex = 0 + * @param index + * @param array + * @return + */ + public static int getIndexInRange(Integer index, Object[] array) { + return getIndexInRange(index, array, 0); + } + /**获取在arr长度范围内的index + * @param index + * @param array + * @param defaultIndex + * @return + */ + public static int getIndexInRange(Integer index, Object[] array, int defaultIndex) { + return isIndexInRange(index, array) ? index : defaultIndex; + } + + /**获取在arr长度范围内的index + * defaultIndex = 0 + * @param + * @param index + * @param array + * @return + */ + public static T getInRange(Integer index, T[] array) { + return getInRange(index, array, 0); + } + /**获取在arr长度范围内的index + * @param + * @param index + * @param array + * @param defaultIndex + * @return + */ + public static T getInRange(Integer index, T[] array, int defaultIndex) { + return get(array, getIndexInRange(index, array, defaultIndex)); + } + } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSON.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSON.java index 521acb01d..7bd24b97d 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSON.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSON.java @@ -60,21 +60,24 @@ public static String getCorrectJson(String s) { public static String getCorrectJson(String s, boolean isArray) { s = StringUtil.getTrimedString(s); // if (isArray) { - // if (s.startsWith("\"")) { + // while (s.startsWith("\"")) { // s = s.substring(1); // } - // if (s.endsWith("\"")) { + // while (s.endsWith("\"")) { // s = s.substring(0, s.length() - 1); // } // } return s;//isJsonCorrect(s) ? s : null; } - /**json转JSONObject + /**obj转JSONObject * @param json * @return */ public static JSONObject parseObject(Object obj) { + if (obj instanceof JSONObject) { + return (JSONObject) obj; + } return parseObject(toJSONString(obj)); } /**json转JSONObject @@ -114,12 +117,16 @@ public static T parseObject(JSONObject object, Class clazz) { * @return */ public static T parseObject(String json, Class clazz) { - try { - int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; - features |= Feature.OrderedField.getMask(); - return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); - } catch (Exception e) { - Log.i(TAG, "parseObject catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseObject clazz == null >> return null;"); + } else { + try { + int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; + features |= Feature.OrderedField.getMask(); + return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); + } catch (Exception e) { + Log.i(TAG, "parseObject catch \n" + e.getMessage()); + } } return null; } @@ -131,6 +138,16 @@ public static T parseObject(String json, Class clazz) { public static JSONArray parseArray(List list) { return new JSONArray(list); } + /**obj转JSONArray + * @param json + * @return + */ + public static JSONArray parseArray(Object obj) { + if (obj instanceof JSONArray) { + return (JSONArray) obj; + } + return parseArray(toJSONString(obj)); + } /**json转JSONArray * @param json * @return @@ -157,10 +174,14 @@ public static List parseArray(JSONArray array, Class clazz) { * @return */ public static List parseArray(String json, Class clazz) { - try { - return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); - } catch (Exception e) { - Log.i(TAG, "parseArray catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseArray clazz == null >> return null;"); + } else { + try { + return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); + } catch (Exception e) { + Log.i(TAG, "parseArray catch \n" + e.getMessage()); + } } return null; } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONObject.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONObject.java index 65b86746b..3c9e0d1cf 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONObject.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONObject.java @@ -14,193 +14,52 @@ package zuo.biao.apijson; -import static zuo.biao.apijson.StringUtil.UTF_8; - -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; +import java.util.List; import java.util.Map; -import java.util.Set; -/**use this class instead of com.alibaba.fastjson.JSONObject, not encode in default cases +/**use this class instead of com.alibaba.fastjson.JSONObject * @author Lemon + * @see #put + * @see #puts + * @see #putsAll */ public class JSONObject extends com.alibaba.fastjson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; + + private static final String TAG = "JSONObject"; + /**ordered */ public JSONObject() { super(true); } /**transfer Object to JSONObject - * encode = false; * @param object * @see {@link #JSONObject(Object, boolean)} */ public JSONObject(Object object) { - this(object, false); - } - /**transfer Object to JSONObject - * @param object - * @param encode - * @see {@link #JSONObject(String, boolean)} - */ - public JSONObject(Object object, boolean encode) { - this(toJSONString(object), encode); + this(toJSONString(object)); } /**parse JSONObject with JSON String - * encode = false; * @param json * @see {@link #JSONObject(String, boolean)} */ public JSONObject(String json) { - this(json, false); - } - /**parse JSONObject with JSON String - * @param json - * @param encode - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(String json, boolean encode) { - this(parseObject(json), encode); + this(parseObject(json)); } /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * encode = false; * @param object - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} + * @see {@link #putsAll(com.alibaba.fastjson.JSONObject)} */ public JSONObject(com.alibaba.fastjson.JSONObject object) { - this(object, false); - } - /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * @param object - * @param encode - * @see {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(com.alibaba.fastjson.JSONObject object, boolean encode) { this(); - add(object, encode); + putsAll(object); } - /**put key-value in object into this - * encode = false; - * @param object - * @return {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object) { - return add(object, false); - } - /**put key-value in object into this - * @param object - * @param encode - * @return this - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object, boolean encode) { - //TODO putAll(object); - - Set set = object == null ? null : object.keySet(); - if (set != null) { - for (String key : set) { - put(key, object.get(key), encode); - } - } - return this; - } - - - - /** - * @param key if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param decode if decode && value instanceof String, value = URLDecoder.decode((String) value, UTF_8) - * @return - */ - public Object get(Object key, boolean decode) { - if (decode) { - if (key instanceof String) { - if (((String) key).endsWith("+") || ((String) key).endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLDecoder.decode((String) key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - return null; - } - } - } - Object value = super.get(key); - if (value instanceof String) { - try { - value = URLDecoder.decode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - return value; - } - return super.get(key); - } - - /** - * encode = false - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - public Object put(Object value) { - return put(value, false); - } - /** - * key = value.getClass().getSimpleName() - * @param value must be annotated by {@link APIJSONRequest} - * @param encode - * @return {@link #put(String, Object, boolean)} - */ - public Object put(Object value, boolean encode) { - return put(null, value, encode); - } - /** - * @param key if StringUtil.isNotEmpty(key, true) == false, - *
      key = value == null ? null : value.getClass().getSimpleName(); - *
      >> if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param value URLEncoder.encode((String) value, UTF_8); - * @param encode if value instanceof String, value = URLEncoder.encode((String) value, UTF_8); - * @return - */ - public Object put(String key, Object value, boolean encode) { - if (StringUtil.isNotEmpty(key, true) == false) { - Class clazz = value == null ? null : value.getClass(); - if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { - throw new IllegalArgumentException("put StringUtil.isNotEmpty(key, true) == false" + - " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + - " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + - " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + - " \n 如果是类似 key[]:{} 结构的请求,建议add(...)方法!"); - } - key = value.getClass().getSimpleName(); - } - if (encode) { - if (key.endsWith("+") || key.endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLEncoder.encode(key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - if (value instanceof String) {//只在value instanceof String时encode key?{@link #get(Object, boolean)}内做不到 - try { - value = URLEncoder.encode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - } - return super.put(key, value); - } - - - //judge <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public static final String KEY_ARRAY = "[]"; @@ -223,9 +82,29 @@ public static boolean isTableKey(String key) { //JSONObject内关键词 key <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; + + /**set "id":id in Table layer + * @param id + * @return + */ + public JSONObject setId(Long id) { + return puts(KEY_ID, id); + } + /**set id{}:[] in Table layer + * @param list + * @return + */ + public JSONObject setIdIn(List list) { + return puts(KEY_ID_IN, list); + } + + //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< public static final String KEY_ROLE = "@role"; //角色,拥有对某些数据的某些操作的权限 - public static final String KEY_CONDITION = "@condition"; //条件 + public static final String KEY_CONDITION = "@condition"; //条件 TODO 用 @where& @where| @where! 替代? public static final String KEY_TRY = "@try"; //尝试,忽略异常 public static final String KEY_DROP = "@drop"; //丢弃,不返回 public static final String KEY_CORRECT = "@correct"; //字段校正 @@ -244,8 +123,7 @@ public static boolean isTableKey(String key) { * @return this */ public JSONObject setRole(String role) { - put(KEY_ROLE, role); - return this; + return puts(KEY_ROLE, role); } /**set try, ignore exceptions @@ -253,8 +131,7 @@ public JSONObject setRole(String role) { * @return this */ public JSONObject setTry(boolean tri) { - put(KEY_TRY, tri); - return this; + return puts(KEY_TRY, tri); } /**set drop, data dropped will not return @@ -262,8 +139,7 @@ public JSONObject setTry(boolean tri) { * @return this */ public JSONObject setDrop(boolean drop) { - put(KEY_DROP, drop); - return this; + return puts(KEY_DROP, drop); } /**set correct, correct keys to target ones @@ -271,19 +147,17 @@ public JSONObject setDrop(boolean drop) { * @return this */ public JSONObject setCorrect(Map correct) { - put(KEY_CORRECT, correct); - return this; + return puts(KEY_CORRECT, correct); } - /**set schema where table was put + /**set schema where table was puts * @param schema * @return this */ public JSONObject setSchema(String schema) { - put(KEY_SCHEMA, schema); - return this; + return puts(KEY_SCHEMA, schema); } /**set about @@ -291,8 +165,7 @@ public JSONObject setSchema(String schema) { * @return this */ public JSONObject setAbout(boolean about) { - put(KEY_ABOUT, about); - return this; + return puts(KEY_ABOUT, about); } /**set keys need to be returned @@ -307,8 +180,7 @@ public JSONObject setColumn(String... keys) { * @return */ public JSONObject setColumn(String keys) { - put(KEY_COLUMN, keys); - return this; + return puts(KEY_COLUMN, keys); } /**set keys for group by @@ -323,8 +195,7 @@ public JSONObject setGroup(String... keys) { * @return */ public JSONObject setGroup(String keys) { - put(KEY_GROUP, keys); - return this; + return puts(KEY_GROUP, keys); } /**set keys for having @@ -339,8 +210,7 @@ public JSONObject setHaving(String... keys) { * @return */ public JSONObject setHaving(String keys) { - put(KEY_HAVING, keys); - return this; + return puts(KEY_HAVING, keys); } /**set keys for order by @@ -355,8 +225,7 @@ public JSONObject setOrder(String... keys) { * @return */ public JSONObject setOrder(String keys) { - put(KEY_ORDER, keys); - return this; + return puts(KEY_ORDER, keys); } @@ -364,117 +233,142 @@ public JSONObject setOrder(String keys) { - //Request,默认encode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + //Request <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /** - * encode = true - * @param value - * @param parts path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... - * @return #put(key+"@", StringUtil.getString(keys, "/"), true) + * @param key + * @param keys path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... + * @return {@link #puts(String, Object)} */ - public Object putPath(String key, String... keys) { - return put(key+"@", StringUtil.getString(keys, "/"), true); + public JSONObject putsPath(String key, String... keys) { + return puts(key+"@", StringUtil.getString(keys, "/")); } /** - * encode = true * @param key * @param isNull - * @return {@link #putNull(String, boolean, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putNull(String key, boolean isNull) { - return putNull(key, isNull, true); - } - /** - * @param key - * @param isNull - * @param encode - * @return put(key+"{}", SQL.isNull(isNull), encode); - */ - public JSONObject putNull(String key, boolean isNull, boolean encode) { - put(key+"{}", SQL.isNull(isNull), encode); - return this; + public JSONObject putsNull(String key, boolean isNull) { + return puts(key+"{}", SQL.isNull(isNull)); } /** * trim = false * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean)} + * @return {@link #putsEmpty(String, boolean, boolean)} */ - public JSONObject putEmpty(String key, boolean isEmpty) { - return putEmpty(key, isEmpty, false); + public JSONObject putsEmpty(String key, boolean isEmpty) { + return putsEmpty(key, isEmpty, false); } /** - * encode = true * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim) { - return putEmpty(key, isEmpty, trim, true); + public JSONObject putsEmpty(String key, boolean isEmpty, boolean trim) { + return puts(key+"{}", SQL.isEmpty(key, isEmpty, trim)); } /** - * @param key - * @param isEmpty - * @param encode - * @return put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim, boolean encode) { - put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - return this; - } - /** - * encode = true * @param key * @param compare <=0, >5 ... - * @return {@link #putLength(String, String, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putLength(String key, String compare) { - return putLength(key, compare, true); - } - /** - * @param key - * @param compare <=0, >5 ... - * @param encode - * @return put(key+"{}", SQL.length(key) + compare, encode); - */ - public JSONObject putLength(String key, String compare, boolean encode) { - put(key+"{}", SQL.length(key) + compare, encode); - return this; + public JSONObject putsLength(String key, String compare) { + return puts(key+"{}", SQL.length(key) + compare); } /**设置搜索 * type = SEARCH_TYPE_CONTAIN_FULL * @param key * @param value - * @return {@link #putSearch(String, String, int)} + * @return {@link #putsSearch(String, String, int)} */ - public JSONObject putSearch(String key, String value) { - return putSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); + public JSONObject putsSearch(String key, String value) { + return putsSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); } /**设置搜索 - * encode = true * @param key * @param value * @param type - * @return {@link #putSearch(String, String, int, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putSearch(String key, String value, int type) { - return putSearch(key, value, type, true); + public JSONObject putsSearch(String key, String value, int type) { + return puts(key+"$", SQL.search(value, type)); } - /**设置搜索 + + //Request >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + /**puts key-value in object into this + * @param object + * @return this + */ + public JSONObject putsAll(Map map) { + putAll(map); + return this; + } + @Override + public void putAll(Map map) { + if (map != null && map.isEmpty() == false) { + super.putAll(map); + } + } + + + + /**put and return this + * @param value must be annotated by {@link MethodAccess} + * @return {@link #puts(String, boolean)} + */ + public JSONObject puts(Object value) { + return puts(null, value); + } + /**put and return this * @param key - * @param value - * @param type - * @param encode - * @return put(key+"$", SQL.search(value, type), encode); + * @param value + * @return this + * @see {@link #put(String, Object)} */ - public JSONObject putSearch(String key, String value, int type, boolean encode) { - put(key+"$", SQL.search(value, type), encode); + public JSONObject puts(String key, Object value) { + put(key, value); return this; } + + /**put and return value + * @param value must be annotated by {@link MethodAccess} + * @return {@link #put(String, boolean)} + */ + public Object put(Object value) { + return put(null, value); + } + /**put and return value + * @param key StringUtil.isEmpty(key, true) ? key = value.getClass().getSimpleName(); + * @param value + * @return value + */ + @Override + public Object put(String key, Object value) { + if (value == null) { + Log.e(TAG, "put value == null >> return null;"); + return null; + } + if (StringUtil.isEmpty(key, true)) { + Class clazz = value.getClass(); + if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { + throw new IllegalArgumentException("puts StringUtil.isNotEmpty(key, true) == false" + + " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + + " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + + " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + + " \n 如果是类似 key[]:{} 结构的请求,建议用 putsAll(...) !"); + } + key = value.getClass().getSimpleName(); + } + return super.put(key, value); + } - //Request,默认encode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONRequest.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONRequest.java index 4797edb0e..5d33b681d 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONRequest.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONRequest.java @@ -14,15 +14,14 @@ package zuo.biao.apijson; -import java.util.List; +import java.util.Map; -import com.alibaba.fastjson.JSONArray; - -/**encapsulator for request JSONObject, encode in default cases +/**wrapper for request * @author Lemon + * @see #puts * @see #toArray * @use JSONRequest request = new JSONRequest(...); - *
      request.put(...);//not a must + *
      request.puts(...);//not a must *
      request.toArray(...);//not a must */ public class JSONRequest extends JSONObject { @@ -32,74 +31,34 @@ public JSONRequest() { super(); } /** - * encode = true - * @param object must be annotated by {@link APIJSONRequest} + * @param object must be annotated by {@link MethodAccess} * @see {@link #JSONRequest(String, Object)} */ public JSONRequest(Object object) { this(null, object); } /** - * encode = true * @param name * @param object - * @see {@link #JSONRequest(String, Object, boolean)} + * @see {@link #puts(String, Object)} */ public JSONRequest(String name, Object object) { - this(name, object, true); - } - /** - * @param object must be annotated by {@link APIJSONRequest} - * @param encode - * @see {@link #JSONRequest(String, Object, boolean)} - */ - public JSONRequest(Object object, boolean encode) { - this(null, object, encode); - } - /** - * @param name - * @param object - * @param encode - * @see {@link #put(String, Object, boolean)} - */ - public JSONRequest(String name, Object object, boolean encode) { this(); - put(name, object, encode); + puts(name, object); } - - - - public static final String KEY_ID = "id"; - public static final String KEY_ID_IN = KEY_ID + "{}"; + public static final String KEY_TAG = "tag";//只在最外层,最外层用JSONRequest - - /**set "id":id in Table layer - * @param id - * @return - */ - public JSONRequest setId(Long id) { - put(KEY_ID, id); - return this; - } - /**set id{}:[] in Table layer - * @param list - * @return - */ - public JSONRequest setIdIn(List list) { - put(KEY_ID_IN, list); - return this; - } + /**set "tag":tag in outermost layer * for write operations * @param tag * @return */ public JSONRequest setTag(String tag) { - put(KEY_TAG, tag); - return this; + return puts(KEY_TAG, tag); } @@ -121,99 +80,59 @@ public JSONRequest setTag(String tag) { * @see {@link #QUERY_ALL} */ public JSONRequest setQuery(int query) { - put(KEY_QUERY, query); - return this; + return puts(KEY_QUERY, query); } /**set maximum count of Tables to query in Array layer * @param count <= 0 || >= max ? max : count * @return */ public JSONRequest setCount(int count) { - put(KEY_COUNT, count); - return this; + return puts(KEY_COUNT, count); } /**set page of Tables to query in Array layer * @param page <= 0 ? 0 : page * @return */ public JSONRequest setPage(int page) { - put(KEY_PAGE, page); - return this; + return puts(KEY_PAGE, page); } //array object >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - // 导致JSONObject add >> get = null - // /** - // * decode = true - // * @param key - // * return {@link #get(Object, boolean)} - // */ - // @Override - // public Object get(Object key) { - // return get(key, true); - // } - - /** - * encode = true - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - @Override - public Object put(Object value) { - return put(value, true); - } - /** - * encode = true - * @param key - * @param value - * return {@link #put(String, Object, boolean)} - */ - @Override - public Object put(String key, Object value) { - return put(key, value, true); - } - - /**create a parent JSONObject named KEY_ARRAY - * encode = true; * @param count * @param page * @return {@link #toArray(int, int, boolean)} */ public JSONRequest toArray(int count, int page) { - return toArray(count, page, true); - } - /**create a parent JSONObject named KEY_ARRAY - * encode = true; - * @param count - * @param page - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, boolean encode) { - return toArray(count, page, null, encode); - } - /**create a parent JSONObject named name+KEY_ARRAY - * encode = true; - * @param count - * @param page - * @param name - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, String name) { - return toArray(count, page, name, true); + return toArray(count, page, null); } /**create a parent JSONObject named name+KEY_ARRAY. * @param count * @param page * @param name - * @param encode * @return {name+KEY_ARRAY : this}. if needs to be put, use {@link #add(com.alibaba.fastjson.JSONObject)} instead */ - public JSONRequest toArray(int count, int page, String name, boolean encode) { - return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page), encode); + public JSONRequest toArray(int count, int page, String name) { + return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page)); + } + + + @Override + public JSONObject putsAll(Map map) { + super.putsAll(map); + return this; + } + + @Override + public JSONRequest puts(Object value) { + return puts(null, value); + } + @Override + public JSONRequest puts(String key, Object value) { + super.puts(key, value); + return this; } } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONResponse.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONResponse.java index 723eb65c9..f9b6d3fc9 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONResponse.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/JSONResponse.java @@ -20,17 +20,16 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -/**parser for response JSON String +/**parser for response * @author Lemon + * @see #getObject * @see #getList - * @see #toArray * @use JSONResponse response = new JSONResponse(json); - *
      JSONArray array = JSONResponse.toArray(response.getJSONObject("[]"));//not a must - *
      User user = JSONResponse.getObject(response, User.class);//not a must - *
      List list = JSONResponse.getList(response.getJSONObject("Comment[]"), Comment.class);//not a must + *
      User user = response.getObject(User.class);//not a must + *
      List commenntList = response.getList("Comment[]", Comment.class);//not a must */ public class JSONResponse extends zuo.biao.apijson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; private static final String TAG = "JSONResponse"; @@ -46,8 +45,7 @@ public JSONResponse(JSONObject object) { //状态信息,非GET请求获得的信息<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final int CODE_SUCCEED = 200; //成功 - public static final int CODE_PARTIAL_SUCCEED = 206; //部分成功 + public static final int CODE_SUCCESS = 200; //成功 public static final int CODE_UNSUPPORTED_ENCODING = 400; //编码错误 public static final int CODE_ILLEGAL_ACCESS = 401; //权限错误 public static final int CODE_UNSUPPORTED_OPERATION = 403; //禁止操作 @@ -63,9 +61,14 @@ public JSONResponse(JSONObject object) { public static final int CODE_SERVER_ERROR = 500; //服务器内部错误 + public static final String MSG_SUCCEED = "success"; //成功 + public static final String MSG_SERVER_ERROR = "Internal Server Error!"; //服务器内部错误 + + public static final String KEY_CODE = "code"; public static final String KEY_MSG = "msg"; public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; public static final String KEY_COUNT = "count"; public static final String KEY_TOTAL = "total"; @@ -124,22 +127,22 @@ public int getTotal() { /**是否成功 * @return */ - public boolean isSucceed() { - return isSucceed(getCode()); + public boolean isSuccess() { + return isSuccess(getCode()); } /**是否成功 * @param code * @return */ - public static boolean isSucceed(int code) { - return code == CODE_SUCCEED; + public static boolean isSuccess(int code) { + return code == CODE_SUCCESS; } /**是否成功 * @param response * @return */ - public static boolean isSucceed(JSONResponse response) { - return response != null && response.isSucceed(); + public static boolean isSuccess(JSONResponse response) { + return response != null && response.isSuccess(); } /**校验服务端是否存在table @@ -256,213 +259,110 @@ public static List getList(JSONObject object, Class clazz) { * @return */ public static List getList(JSONObject object, String key, Class clazz) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? JSON.parseArray((JSONArray) obj, clazz) : toList((JSONObject) obj, clazz); - } - /** - * @param clazz - * @return - */ - public List toList(Class clazz) { - return toList(this, clazz); - } - /** - * @param arrayObject - * @param clazz - * @return - */ - public static List toList(JSONObject arrayObject, Class clazz) { - return clazz == null ? null : JSON.parseArray(JSON.toJSONString( - toArray(arrayObject, clazz.getSimpleName())), clazz); + return object == null ? null : JSON.parseArray(object.getString(replaceArray(key)), clazz); } /** * key = KEY_ARRAY - * @param className * @return */ - public JSONArray getArray(String className) { - return getArray(KEY_ARRAY, className); + public JSONArray getArray() { + return getArray(KEY_ARRAY); } /** * @param key - * @param className * @return */ - public JSONArray getArray(String key, String className) { - return getArray(this, key, className); + public JSONArray getArray(String key) { + return getArray(this, key); } /** * @param object - * @param key - * @param className * @return */ - public static JSONArray getArray(JSONObject object, String className) { - return getArray(object, KEY_ARRAY, className); + public static JSONArray getArray(JSONObject object) { + return getArray(object, KEY_ARRAY); } /** * key = KEY_ARRAY * @param object - * @param className - * @return - */ - public static JSONArray getArray(JSONObject object, String key, String className) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? (JSONArray) obj : toArray((JSONObject) obj, className); - } - - /** - * @param className - * @return - */ - public JSONArray toArray(String className) { - return toArray(this, className); - } - /**{0:{Table:{}}, 1:{Table:{}}...} 转化为 [{Table:{}}, {Table:{}}] - * array.set(index, isContainer ? value : value.getJSONObject(className)); - * @param arrayObject - * @param className className.equals(Table) ? {Table:{Content}} => {Content} + * @param key * @return */ - public static JSONArray toArray(JSONObject arrayObject, String className) { - Set set = arrayObject == null ? null : arrayObject.keySet(); - if (set == null || set.isEmpty()) { - return null; - } - - // [{...},{...},...] - String parentString = StringUtil.getTrimedString(JSON.toJSONString(arrayObject)); - if (parentString.isEmpty()) { - return null; - } - if (parentString.startsWith("[")) { - if (parentString.endsWith("]") == false) { - parentString += "]"; - } - return JSON.parseArray(parentString); - } - - //{"0":{Table:{...}}, "1":{Table:{...}}...} - - className = StringUtil.getTrimedString(className); - boolean isContainer = true; - - JSONArray array = new JSONArray(set.size()); - JSONObject value; - boolean isFirst = true; - int index; - for (String key : set) {//0, 1, 2,... - value = StringUtil.isNumer(key) == false ? null : arrayObject.getJSONObject(key);// Table:{} - if (value != null) { - try { - index = Integer.valueOf(0 + key); - if (isFirst && isTableKey(className) && value.containsKey(className)) {// 判断是否需要提取table - isContainer = false; - } - array.set(index, isContainer ? value : value.getJSONObject(className)); - } catch (Exception e) { - e.printStackTrace(); - } - } - isFirst = false; - } - return array; + public static JSONArray getArray(JSONObject object, String key) { + return object == null ? null : object.getJSONArray(replaceArray(key)); } - // /** // * @return // */ // public JSONObject format() { // return format(this); // } - /**将Item[]:[{Table:{}}, {Table:{}}...] 或 Item[]:{0:{Table:{}}, 1:{Table:{}}...} - * 转化为 itemList:[{Table:{}}, {Table:{}}],如果 Item.equals(Table),则将 {Table:{Content}} 转化为 {Content} - * @param target - * @param response + /**格式化key名称 + * @param object * @return */ - public static JSONObject format(final JSONObject response) { - //太长查看不方便,不如debug Log.i(TAG, "format response = \n" + JSON.toJSONString(response)); - if (response == null || response.isEmpty()) { - Log.i(TAG, "format response == null || response.isEmpty() >> return response;"); - return response; + public static JSONObject format(final JSONObject object) { + //太长查看不方便,不如debug Log.i(TAG, "format object = \n" + JSON.toJSONString(object)); + if (object == null || object.isEmpty()) { + Log.i(TAG, "format object == null || object.isEmpty() >> return object;"); + return object; } - JSONObject transferredObject = new JSONObject(true); + JSONObject formatedObject = new JSONObject(true); - Set set = response.keySet(); + Set set = object.keySet(); if (set != null) { Object value; - String arrayKey; for (String key : set) { - value = response.get(key); - - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredObject.put(replaceArray(key), format(key, (JSONArray) value)); - } else if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray - if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray - arrayKey = key.substring(0, key.lastIndexOf(KEY_ARRAY)); - transferredObject.put(getArrayKey(getSimpleName(arrayKey)) - , format(key, toArray((JSONObject) value, arrayKey)));//需要将name:alias传至toArray - } else {//常规JSONObject,往下一级提取 - transferredObject.put(getSimpleName(key), format((JSONObject) value)); - } - } else {//其它Object,直接填充 - transferredObject.put(getSimpleName(key), value); + value = object.get(key); + + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedObject.put(replaceArray(key), format((JSONArray) value)); + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedObject.put(getSimpleName(key), format((JSONObject) value)); + } + else {//其它Object,直接填充 + formatedObject.put(getSimpleName(key), value); } } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredObject = " + JSON.toJSONString(transferredObject)); - return transferredObject; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedObject = " + JSON.toJSONString(formatedObject)); + return formatedObject; } - /** - * @param responseArray + /**格式化key名称 + * @param array * @return */ - public static JSONArray format(String name, final JSONArray responseArray) { - //太长查看不方便,不如debug Log.i(TAG, "format responseArray = \n" + JSON.toJSONString(responseArray)); - if (responseArray == null || responseArray.isEmpty()) { - Log.i(TAG, "format responseArray == null || responseArray.isEmpty() >> return response;"); - return responseArray; + public static JSONArray format(final JSONArray array) { + //太长查看不方便,不如debug Log.i(TAG, "format array = \n" + JSON.toJSONString(array)); + if (array == null || array.isEmpty()) { + Log.i(TAG, "format array == null || array.isEmpty() >> return array;"); + return array; } - int index = name == null ? -1 : name.lastIndexOf(KEY_ARRAY); - String className = index < 0 ? "" : name.substring(0, index); - - JSONArray transferredArray = new JSONArray(); + JSONArray formatedArray = new JSONArray(); Object value; - boolean isContainer = true; - boolean isFirst = true; - for (int i = 0; i < responseArray.size(); i++) { - value = responseArray.get(i); - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredArray.add(format(null, (JSONArray) value)); - } else if (value instanceof JSONObject) {//JSONObject,往下一级提取 - //判断是否需要提取child - if (isFirst && isTableKey(className) && ((JSONObject) value).containsKey(className)) { - isContainer = false; - } - //直接添加child 或 添加提取出的child - transferredArray.add(format(isContainer ? (JSONObject)value : ((JSONObject)value).getJSONObject(className) )); - isFirst = false; - } else {//其它Object,直接填充 - transferredArray.add(responseArray.get(i)); + for (int i = 0; i < array.size(); i++) { + value = array.get(i); + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedArray.add(format((JSONArray) value)); + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedArray.add(format((JSONObject) value)); + } + else {//其它Object,直接填充 + formatedArray.add(value); } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredArray = " + JSON.toJSONString(transferredArray)); - return transferredArray; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedArray = " + JSON.toJSONString(formatedArray)); + return formatedArray; } /**替换key+KEY_ARRAY为keyList @@ -485,7 +385,7 @@ public static String getArrayKey(String key) { /**获取简单名称 * @param fullName name 或 name:alias - * @return name > name; name:alias > alias + * @return name => name; name:alias => alias */ public static String getSimpleName(String fullName) { //key:alias -> alias; key:alias[] -> alias[] diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodAccess.java index 1cf14dc6e..c69f55ac7 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodAccess.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodAccess.java @@ -36,37 +36,37 @@ public @interface MethodAccess { /**@see {@link RequestMethod#GET} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] GET() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#HEAD} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST_GET} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST_HEAD} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST} - * @return 该请求方法允许的结构 default {LOGIN, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, ADMIN}; */ RequestRole[] POST() default {LOGIN, ADMIN}; /**@see {@link RequestMethod#PUT} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] PUT() default {OWNER, ADMIN}; /**@see {@link RequestMethod#DELETE} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] DELETE() default {OWNER, ADMIN}; diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/RequestMethod.java index 11f928134..13182f99d 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/RequestMethod.java @@ -29,13 +29,13 @@ public enum RequestMethod { */ HEAD, - /** - * 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为GETS + * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_GET, - /** - * 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为HEADS + * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_HEAD, diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/StringUtil.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/StringUtil.java index 55c631ea9..205d6436f 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/StringUtil.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/StringUtil.java @@ -17,7 +17,6 @@ import java.io.File; import java.math.BigDecimal; import java.text.DecimalFormat; -import java.util.regex.Matcher; import java.util.regex.Pattern; /**通用字符串(String)相关类,为null时返回"" @@ -100,7 +99,7 @@ public static String getString(String s) { * @param array * @return {@link #getString(String[], boolean)} */ - public static String getString(String[] array) { + public static String getString(Object[] array) { return getString(array, false); } /**获取string,为null则返回"" @@ -109,7 +108,7 @@ public static String getString(String[] array) { * @param ignoreEmptyItem * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, boolean ignoreEmptyItem) { + public static String getString(Object[] array, boolean ignoreEmptyItem) { return getString(array, null, ignoreEmptyItem); } /**获取string,为null则返回"" @@ -118,7 +117,7 @@ public static String getString(String[] array, boolean ignoreEmptyItem) { * @param split * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, String split) { + public static String getString(Object[] array, String split) { return getString(array, split, false); } /**获取string,为null则返回"" @@ -127,7 +126,7 @@ public static String getString(String[] array, String split) { * @param ignoreEmptyItem * @return */ - public static String getString(String[] array, String split, boolean ignoreEmptyItem) { + public static String getString(Object[] array, String split, boolean ignoreEmptyItem) { String s = ""; if (array != null) { if (split == null) { @@ -309,7 +308,7 @@ public static boolean isNotEmpty(String s, boolean trim) { public static final Pattern PATTERN_EMAIL; public static final Pattern PATTERN_ID_CARD; public static final Pattern PATTERN_ALPHA; - public static final Pattern PATTERN_PASSWORD; + public static final Pattern PATTERN_PASSWORD; //TODO public static final Pattern PATTERN_NAME; public static final Pattern PATTERN_ALPHA_BIG; public static final Pattern PATTERN_ALPHA_SMALL; @@ -322,7 +321,7 @@ public static boolean isNotEmpty(String s, boolean trim) { PATTERN_PHONE = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-2,5-9])|(17[0-9]))\\d{8}$"); PATTERN_EMAIL = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); PATTERN_ID_CARD = Pattern.compile("(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)"); - PATTERN_PASSWORD = Pattern.compile("^[0-9a-zA-Z_]+$"); + PATTERN_PASSWORD = Pattern.compile("^[0-9a-zA-Z]+$"); } /**判断手机格式是否正确 @@ -436,21 +435,21 @@ public static boolean isSmallName(String s) { /**判断字符类型是否是身份证号 - * @param idCard + * @param number * @return */ - public static boolean isIDCard(String idCard) { - if (isNumberOrAlpha(idCard) == false) { + public static boolean isIDCard(String number) { + if (isNumberOrAlpha(number) == false) { return false; } - idCard = getString(idCard); - if (idCard.length() == 15) { - Log.i(TAG, "isIDCard idCard.length() == 15 old IDCard"); - currentString = idCard; + number = getString(number); + if (number.length() == 15) { + Log.i(TAG, "isIDCard number.length() == 15 old IDCard"); + currentString = number; return true; } - if (idCard.length() == 18) { - currentString = idCard; + if (number.length() == 18) { + currentString = number; return true; } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/JSONRequest.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/JSONRequest.java index ef480e97f..0a357656c 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/JSONRequest.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/JSONRequest.java @@ -14,8 +14,10 @@ package zuo.biao.apijson.server; +import java.util.Map; + import zuo.biao.apijson.JSON; -import zuo.biao.apijson.SQL; +import zuo.biao.apijson.JSONObject; import zuo.biao.apijson.StringUtil; /**JSONRequest for Server to replace zuo.biao.apijson.JSONRequest, @@ -35,79 +37,56 @@ public JSONRequest() { * @param object */ public JSONRequest(Object object) { - this(null, object); + super(object); } /** - * encode = false - * {@link #JSONRequest(String, Object, boolean)} * @param name * @param object */ public JSONRequest(String name, Object object) { - this(name, object, false); - } - /** - * {@link #JSONRequest(String, Object, boolean)} - * @param object - * @param encode - */ - public JSONRequest(Object object, boolean encode) { - super(object, encode); - } - /** - * {@link #put(String, Object, boolean)} - * @param name - * @param object - * @param encode - */ - public JSONRequest(String name, Object object, boolean encode) { - super(name, object, encode); + super(name, object); } - - - /** - * decode = true - * @param key - * return {@link #get(Object, boolean)} - */ + + @Override - public Object get(Object key) { - return get(key, false); + public JSONObject putsAll(Map map) { + super.putsAll(map); + return this; } /** - * encode = false * @param value - * @return {@link #put(String, boolean)} + * @return {@link #puts(String, Object)} */ @Override - public Object put(Object value) { - return put(value, false); + public JSONRequest puts(Object value) { + return puts(null, value); } /** + * @param key * @param value - * @param encode - * @return {@link #put(String, Object, boolean)} + * @return this + * @see {@link #put(String, Object)} */ @Override - public Object put(Object value, boolean encode) { - return put(null, value, encode); + public JSONRequest puts(String key, Object value) { + put(key, value); + return this; } + /** - * encode = false - * @param key * @param value - * return {@link #put(String, Object, boolean)} + * @return {@link #put(String, Object)} */ @Override - public Object put(String key, Object value) { - return put(key, value, false); + public Object put(Object value) { + return put(null, value); } /**自定义类型必须转为JSONObject或JSONArray,否则RequestParser解析不了 */ @Override - public Object put(String key, Object value, boolean encode) { + public Object put(String key, Object value) { if (value == null) {// || key == null return null; } @@ -117,29 +96,7 @@ public Object put(String key, Object value, boolean encode) { // return null; // } return super.put(StringUtil.isNotEmpty(key, true) ? key : value.getClass().getSimpleName() //must handle key here - , target == null ? value : target, encode); - } - - /**设置搜索 - * @param key - * @param value - * @return - * @see {@link #putSearch(String, String, int)} - */ - @Override - public JSONRequest putSearch(String key, String value) { - return putSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); - } - /**设置搜索 - * @param key - * @param value - * @param type - * @see {@link #putSearch(String, String, int, boolean)} - */ - @Override - public JSONRequest putSearch(String key, String value, int type) { - putSearch(key, value, type, false); - return this; + , target == null ? value : target); } } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/ObjectParser.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/ObjectParser.java index 7bc93d048..9f16ea895 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/ObjectParser.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/ObjectParser.java @@ -14,11 +14,11 @@ package zuo.biao.apijson.server; -import static zuo.biao.apijson.JSONObject.KEY_CONDITION; import static zuo.biao.apijson.JSONObject.KEY_CORRECT; import static zuo.biao.apijson.JSONObject.KEY_DROP; import static zuo.biao.apijson.JSONObject.KEY_TRY; import static zuo.biao.apijson.RequestMethod.PUT; +import static zuo.biao.apijson.JSONObject.KEY_CONDITION; import java.util.ArrayList; import java.util.Arrays; @@ -272,7 +272,7 @@ public ObjectParser parse() throws Exception { key = entry.getKey(); try { - if (value instanceof JSONObject) {//JSONObject,往下一级提取 + if (value instanceof JSONObject && key.startsWith("@") == false) {//JSONObject,往下一级提取 putChild(key, (JSON) value); } else if (method == PUT && value instanceof JSONArray @@ -398,6 +398,7 @@ protected boolean onParse(@NotNull String key, @NotNull Object value) throws Exc } + //TODO 需要锁表来保证获取到的 [] 不会在写入前被修改 /**PUT key:[] * @param key * @param array @@ -424,7 +425,7 @@ protected void onPUTArrayParse(@NotNull String key, @NotNull JSONArray array) th //GET <<<<<<<<<<<<<<<<<<<<<<<<< JSONObject rq = new JSONObject(); - rq.put(SQLConfig.ID, request.get(SQLConfig.ID)); + rq.put(JSONRequest.KEY_ID, request.get(JSONRequest.KEY_ID)); rq.put(JSONRequest.KEY_COLUMN, realKey); JSONObject rp = parseResponse(new JSONRequest(table, rq)); //GET >>>>>>>>>>>>>>>>>>>>>>>>> @@ -485,12 +486,12 @@ public ObjectParser executeSQL(int count, int page, int position) throws Excepti if (isTableKey == false) {//提高性能 sqlReponse = new JSONObject(sqlRequest); } else { - if (config == null) { - config = newQueryConfig(); - } - config.setCount(count).setPage(page).setPosition(position); try { + if (config == null) { + config = newSQLConfig(); + } + config.setCount(count).setPage(page).setPosition(position); sqlReponse = onSQLExecute(); } catch (Exception e) { Log.e(TAG, "getObject try { response = getSQLObject(config2); } catch (Exception e) {"); @@ -538,6 +539,8 @@ public JSONObject response() throws Exception { response.putAll(customMap); } + + //解析函数function if (functionMap != null) { Set> functionSet = functionMap == null ? null : functionMap.entrySet(); @@ -564,8 +567,8 @@ public JSONObject response() throws Exception { return response; } - protected SQLConfig newQueryConfig() { - return SQLConfig.newQueryConfig(method, table, sqlRequest); + protected SQLConfig newSQLConfig() throws Exception { + return SQLConfig.newSQLConfig(method, table, sqlRequest); } /** * response has the final value after parse (and query if isTableKey) diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Operation.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Operation.java new file mode 100644 index 000000000..ed194839a --- /dev/null +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Operation.java @@ -0,0 +1,54 @@ +package zuo.biao.apijson.server; + +import zuo.biao.apijson.StringUtil; + +/**对请求JSON的操作 + * @author Lemon + */ +public enum Operation { + + /** + * 不允许传的字段 + */ + DISALLOW, + /** + * 必须传的字段 + */ + NECESSARY, + + /** + * 验证是否符合预设的条件 + */ + VERIFY, + /** + * 验证是否不存在,除了本身的记录 + */ + UNIQUE, + + /** + * 添加,当要被添加的对象不存在时 + */ + ADD, + /** + * 强行放入,不存在时就添加,存在时就修改 + */ + PUT, + /** + * 替换,当要被替换的对象存在时 + */ + REPLACE, + /** + * 移除,当要被移除的对象存在时 + */ + REMOVE; + + public static Operation get(String name) { + try {//Enum.valueOf只要找不到对应的值就会抛异常 + return Operation.valueOf(StringUtil.toUpperCase(name)); + } catch (Exception e) { + //empty + } + return null; + } + +} diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Pair.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Pair.java index ce0fc3a08..a19c8e447 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Pair.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Pair.java @@ -18,6 +18,9 @@ import java.util.HashMap; import java.util.Map; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + import zuo.biao.apijson.StringUtil; /**key:value @@ -43,6 +46,8 @@ public class Pair extends Entry { classMap.put(String.class.getSimpleName(), String.class); classMap.put(Collection.class.getSimpleName(), Collection.class);//不允许指定 classMap.put(Map.class.getSimpleName(), Map.class);//不允许指定 + classMap.put(JSONObject.class.getSimpleName(), JSONObject.class);//必须有,Map中没有getLongValue等方法 + classMap.put(JSONArray.class.getSimpleName(), JSONArray.class);//必须有,Collection中没有?等方法 } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java index dcaf7aca0..4a27750eb 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java @@ -15,10 +15,8 @@ package zuo.biao.apijson.server; import static zuo.biao.apijson.RequestMethod.GET; -import static zuo.biao.apijson.StringUtil.UTF_8; import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -31,7 +29,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import apijson.demo.server.AccessVerifier; +import apijson.demo.server.Verifier; import apijson.demo.server.model.User; import zuo.biao.apijson.JSON; import zuo.biao.apijson.JSONResponse; @@ -41,6 +39,7 @@ import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.server.exception.ConditionErrorException; import zuo.biao.apijson.server.exception.ConflictException; +import zuo.biao.apijson.server.exception.NotExistException; import zuo.biao.apijson.server.exception.NotLoggedInException; import zuo.biao.apijson.server.exception.OutOfRangeException; import zuo.biao.apijson.server.sql.SQLConfig; @@ -84,8 +83,8 @@ public Parser(RequestMethod method, boolean noVerify) { private long visitorId;//来访用户id public Parser setSession(@NotNull HttpSession session) { this.session = session; - this.visitor = AccessVerifier.getUser(session); - this.visitorId = AccessVerifier.getUserId(session); + this.visitor = Verifier.getUser(session); + this.visitorId = Verifier.getUserId(session); return this; } private RequestRole globleRole;//全局角色,对未指明角色的Table自动加上这个角色 @@ -117,7 +116,7 @@ public Parser setNoVerifyRole(boolean noVerifyRole) { private JSONObject requestObject; - private SQLExecutor sQLExecutor; + private SQLExecutor sqlExecutor; private Map queryResultMap;//path-result @@ -190,18 +189,18 @@ public JSONObject parseResponse(JSONObject request) { queryResultMap = new HashMap(); Exception error = null; - sQLExecutor = new SQLExecutor(); + sqlExecutor = new SQLExecutor(); try { requestObject = getObject(null, null, request); } catch (Exception e) { e.printStackTrace(); error = e; } - sQLExecutor.close(); - sQLExecutor = null; + sqlExecutor.close(); + sqlExecutor = null; - requestObject = AccessVerifier.removeAccessInfo(requestObject); + requestObject = Verifier.removeAccessInfo(requestObject); requestObject = error == null ? extendSuccessResult(requestObject) : extendErrorResult(requestObject, error); @@ -228,14 +227,22 @@ public JSONObject parseResponse(JSONObject request) { * @return * @throws Exception */ + @NotNull public static JSONObject parseRequest(String request, RequestMethod method) throws Exception { - request = URLDecoder.decode(request, UTF_8); + //全走HTTP POST,不用encode和decode + // if (RequestMethod.isPublicMethod(method)) { + // request = URLDecoder.decode(request, UTF_8); + // Log.d(TAG, "\n\n\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n " + method + // + "/parseRequest request = \n" + request + "\n\n"); + // } if (method == null) { method = GET; } - Log.d(TAG, "\n\n\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n " + method - + "/parseResponse request = \n" + request + "\n\n"); - return JSON.parseObject(request); + JSONObject obj = JSON.parseObject(request); + if (obj == null) { + throw new UnsupportedEncodingException("JSON格式不合法!"); + } + return obj; } @@ -277,13 +284,13 @@ public static JSONObject extendResult(JSONObject object, int code, String msg) { * @return */ public static JSONObject extendSuccessResult(JSONObject object) { - return extendResult(object, 200, "success"); + return extendResult(object, JSONResponse.CODE_SUCCESS, JSONResponse.MSG_SUCCEED); } /**获取请求成功的状态内容 * @return */ public static JSONObject newSuccessResult() { - return newResult(200, "success"); + return newResult(JSONResponse.CODE_SUCCESS, JSONResponse.MSG_SUCCEED); } /**添加请求成功的状态内容 * @param object @@ -301,7 +308,7 @@ public static JSONObject newErrorResult(Exception e) { if (e != null) { e.printStackTrace(); - int code = JSONResponse.CODE_NOT_FOUND; + int code; if (e instanceof UnsupportedEncodingException) { code = JSONResponse.CODE_UNSUPPORTED_ENCODING; } @@ -311,6 +318,9 @@ else if (e instanceof IllegalAccessException) { else if (e instanceof UnsupportedOperationException) { code = JSONResponse.CODE_UNSUPPORTED_OPERATION; } + else if (e instanceof NotExistException) { + code = JSONResponse.CODE_NOT_FOUND; + } else if (e instanceof IllegalArgumentException) { code = JSONResponse.CODE_ILLEGAL_ARGUMENT; } @@ -335,11 +345,14 @@ else if (e instanceof OutOfRangeException) { else if (e instanceof NullPointerException) { code = JSONResponse.CODE_NULL_POINTER; } + else { + code = JSONResponse.CODE_SERVER_ERROR; + } return newResult(code, e.getMessage()); } - return newResult(500, "服务器内部错误"); + return newResult(JSONResponse.CODE_SERVER_ERROR, JSONResponse.MSG_SERVER_ERROR); } @@ -766,7 +779,7 @@ private Object getValueByPath(String valuePath) { JSONObject parent = null; String[] keys = null; for (String path : set) { - if (valuePath.startsWith(path)) { + if (valuePath.startsWith(path + "/")) { try { parent = (JSONObject) queryResultMap.get(path); } catch (Exception e) { @@ -826,9 +839,9 @@ private synchronized JSONObject getSQLObject(SQLConfig config) throws Exception config.setRole(visitorId <= 0 ? RequestRole.UNKNOWN : RequestRole.LOGIN); } } - AccessVerifier.verify(config, visitor); + Verifier.verify(config, visitor); } - return getCorrectResponse(requestMethod, config.getTable(), sQLExecutor.execute(config)); + return getCorrectResponse(requestMethod, config.getTable(), sqlExecutor.execute(config)); } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java index e00ba049d..3e1c6d68d 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java @@ -16,7 +16,14 @@ import static zuo.biao.apijson.JSONRequest.KEY_ID; import static zuo.biao.apijson.JSONRequest.KEY_ID_IN; -import static zuo.biao.apijson.RequestMethod.POST; +import static zuo.biao.apijson.server.Operation.ADD; +import static zuo.biao.apijson.server.Operation.DISALLOW; +import static zuo.biao.apijson.server.Operation.NECESSARY; +import static zuo.biao.apijson.server.Operation.PUT; +import static zuo.biao.apijson.server.Operation.REMOVE; +import static zuo.biao.apijson.server.Operation.REPLACE; +import static zuo.biao.apijson.server.Operation.UNIQUE; +import static zuo.biao.apijson.server.Operation.VERIFY; import java.util.ArrayList; import java.util.Arrays; @@ -33,6 +40,8 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import apijson.demo.server.Verifier; +import apijson.demo.server.model.BaseModel; import zuo.biao.apijson.JSON; import zuo.biao.apijson.JSONResponse; import zuo.biao.apijson.Log; @@ -47,6 +56,7 @@ /**结构类 * 增删改查: operation(add,replace,put,remove) operation:{key0:value0, key1:value1 ...} * 对值校验: verify:{key0:value0, key1:value1 ...} (key{}:range,key$:"%m%"等) + * 对值重复性校验: unique:"key0:, key1 ..." (unique:"phone,email" 等) * @author Lemon */ public class Structure { @@ -58,26 +68,26 @@ private Structure() {} - static final String requestString = "{\"Comment\":{\"disallow\": \"id\", \"necessary\": \"userId,momentId,content\"}, \"add\":{\"Comment:to\":{}}}"; - static final String responseString = "{\"User\":{\"remove\": \"phone\", \"replace\":{\"sex\":2}, \"add\":{\"name\":\"api\"}}, \"put\":{\"Comment:to\":{}}}"; + static final String requestString = "{\"Comment\":{\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,momentId,content\"}, \"ADD\":{\"Comment:to\":{}}}"; + static final String responseString = "{\"User\":{\"REMOVE\": \"phone\", \"REPLACE\":{\"sex\":2}, \"ADD\":{\"name\":\"api\"}}, \"PUT\":{\"Comment:to\":{}}}"; public static void test() throws Exception { JSONObject request; try { request = JSON.parseObject("{\"Comment\":{\"userId\":0}}"); - Log.d(TAG, "test parseRequest = " + parseRequest(POST, "", JSON.parseObject(requestString), request)); + Log.d(TAG, "test parseRequest = " + parseRequest(RequestMethod.POST, "", JSON.parseObject(requestString), request)); } catch (Exception e) { e.printStackTrace(); } try { request = JSON.parseObject("{\"Comment\":{\"userId\":0, \"momentId\":0, \"content\":\"apijson\"}}"); - Log.d(TAG, "test parseRequest = " + parseRequest(POST, "", JSON.parseObject(requestString), request)); + Log.d(TAG, "test parseRequest = " + parseRequest(RequestMethod.POST, "", JSON.parseObject(requestString), request)); } catch (Exception e) { e.printStackTrace(); } try { request = JSON.parseObject("{\"Comment\":{\"id\":0, \"userId\":0, \"momentId\":0, \"content\":\"apijson\"}}"); - Log.d(TAG, "test parseRequest = " + parseRequest(POST, "", JSON.parseObject(requestString), request)); + Log.d(TAG, "test parseRequest = " + parseRequest(RequestMethod.POST, "", JSON.parseObject(requestString), request)); } catch (Exception e) { e.printStackTrace(); } @@ -147,7 +157,7 @@ public JSONObject onParseJSONObject(String key, JSONObject tobj, JSONObject robj throw new IllegalArgumentException(method.name() + "请求,请设置 " + key + " !"); } } else if (zuo.biao.apijson.JSONObject.isTableKey(key)) { - if (method == POST) { + if (method == RequestMethod.POST) { if (robj.containsKey(KEY_ID)) { throw new IllegalArgumentException("POST请求, " + key + " 不能设置 " + KEY_ID + " !"); } @@ -155,16 +165,26 @@ public JSONObject onParseJSONObject(String key, JSONObject tobj, JSONObject robj if (RequestMethod.isQueryMethod(method) == false) { //单个修改或删除 Object id = robj.get(KEY_ID); //如果必须传 id ,可在Request表中配置necessary - if (id != null && id instanceof Number == false) { - throw new IllegalArgumentException(method.name() + "请求, " + key - + " 中 " + KEY_ID + " 对应值的类型只能是Long!"); - } - - //批量修改或删除 - Object arr = robj.get(KEY_ID_IN); //如果必须传 id{} ,可在Request表中配置necessary - if (arr != null && arr instanceof JSONArray == false) { - throw new IllegalArgumentException(method.name() + "请求, " + key - + " 中 " + KEY_ID_IN + " 对应值的类型只能是JSONArray!"); + if (id != null) { + if (id instanceof Number == false) { + throw new IllegalArgumentException(method.name() + "请求, " + key + + " 里面的 " + KEY_ID_IN + ":value 中value的类型只能是Long!"); + } + } else { + //批量修改或删除 + Object arr = robj.get(KEY_ID_IN); //如果必须传 id{} ,可在Request表中配置necessary + if (arr == null) { + throw new IllegalArgumentException(method.name() + "请求, " + key + + " 里面 " + KEY_ID + " 和 " + KEY_ID_IN + " 必须传其中一个!"); + } + if (arr instanceof JSONArray == false) { + throw new IllegalArgumentException(method.name() + "请求, " + key + + " 里面的 " + KEY_ID_IN + ":value 中value的类型只能是 [Long] !"); + } + if (((JSONArray)arr).size() > 10) { //不允许一次操作10条以上记录 + throw new IllegalArgumentException(method.name() + "请求, " + key + + " 里面的 " + KEY_ID_IN + ":[] 中[]的长度不能超过10!"); + } } } } @@ -216,24 +236,26 @@ public static JSONObject parse(String name, JSONObject target, JSONObject real //获取配置<<<<<<<<<<<<<<<<<<<<<<<<<<<< - JSONObject verify = target.getJSONObject(NAME_VERIFY); - JSONObject add = target.getJSONObject(NAME_ADD); - JSONObject put = target.getJSONObject(NAME_PUT); - JSONObject replace = target.getJSONObject(NAME_REPLACE); + JSONObject verify = target.getJSONObject(VERIFY.name()); + JSONObject add = target.getJSONObject(ADD.name()); + JSONObject put = target.getJSONObject(PUT.name()); + JSONObject replace = target.getJSONObject(REPLACE.name()); - String remove = StringUtil.getNoBlankString(target.getString(NAME_REMOVE)); - String necessary = StringUtil.getNoBlankString(target.getString(NAME_NECESSARY)); - String disallow = StringUtil.getNoBlankString(target.getString(NAME_DISALLOW)); + String unique = StringUtil.getNoBlankString(target.getString(UNIQUE.name())); + String remove = StringUtil.getNoBlankString(target.getString(REMOVE.name())); + String necessary = StringUtil.getNoBlankString(target.getString(NECESSARY.name())); + String disallow = StringUtil.getNoBlankString(target.getString(DISALLOW.name())); //不还原,传进来的target不应该是原来的 - target.remove(NAME_VERIFY); - target.remove(NAME_ADD); - target.remove(NAME_PUT); - target.remove(NAME_REPLACE); - - target.remove(NAME_REMOVE); - target.remove(NAME_NECESSARY); - target.remove(NAME_DISALLOW); + target.remove(VERIFY.name()); + target.remove(ADD.name()); + target.remove(PUT.name()); + target.remove(REPLACE.name()); + + target.remove(UNIQUE.name()); + target.remove(REMOVE.name()); + target.remove(NECESSARY.name()); + target.remove(DISALLOW.name()); //获取配置>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -241,7 +263,7 @@ public static JSONObject parse(String name, JSONObject target, JSONObject real //移除字段<<<<<<<<<<<<<<<<<<< - String[] removes = StringUtil.split(StringUtil.getNoBlankString(remove)); + String[] removes = StringUtil.split(remove); if (removes != null && removes.length > 0) { for (String r : removes) { real.remove(r); @@ -342,12 +364,23 @@ public static JSONObject parse(String name, JSONObject target, JSONObject real //校验与修改Request<<<<<<<<<<<<<<<<< //在tableKeySet校验后操作,避免 导致put/add进去的Table 被当成原Request的内容 - real = operate(TYPE_VERIFY, verify, real); - real = operate(TYPE_ADD, add, real); - real = operate(TYPE_PUT, put, real); - real = operate(TYPE_REPLACE, replace, real); + real = operate(VERIFY, verify, real); + real = operate(ADD, add, real); + real = operate(PUT, put, real); + real = operate(REPLACE, replace, real); //校验与修改Request>>>>>>>>>>>>>>>>> + //TODO放在operate前?考虑性能、operate修改后再验证的值是否和原来一样 + //校验重复<<<<<<<<<<<<<<<<<<< + String[] uniques = StringUtil.split(unique); + if (BaseModel.isEmpty(uniques) == false) { + long exceptId = real.getLongValue(KEY_ID); + for (String u : uniques) { + Verifier.verifyRepeat(name, u, real.get(u), exceptId); + } + } + //校验重复>>>>>>>>>>>>>>>>>>> + Log.i(TAG, "parse return real = " + JSON.toJSONString(real)); return real; } @@ -355,13 +388,13 @@ public static JSONObject parse(String name, JSONObject target, JSONObject real /**执行操作 - * @param type + * @param opt * @param targetChild * @param real * @return * @throws Exception */ - private static JSONObject operate(int type, JSONObject targetChild, JSONObject real) throws Exception { + private static JSONObject operate(Operation opt, JSONObject targetChild, JSONObject real) throws Exception { if (targetChild == null) { return real; } @@ -369,17 +402,11 @@ private static JSONObject operate(int type, JSONObject targetChild, JSONObject r throw new IllegalArgumentException("operate real == null!!!"); } - if (type <= TYPE_DEFAULT || type > TYPE_REMOVE) { - return real; - } - Set> set = new LinkedHashSet<>(targetChild.entrySet()); String tk; Object tv; - String rk; - Object rv; - Logic logic; + for (Entry e : set) { tk = e == null ? null : e.getKey(); if (tk == null) { @@ -387,131 +414,145 @@ private static JSONObject operate(int type, JSONObject targetChild, JSONObject r } tv = e.getValue(); - - if (type == TYPE_VERIFY) {//TODO {}, $, <> - if (tv == null) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY >> tv == null!!!"); + if (opt == VERIFY) { + verify(tk, tv, real); + } else if (opt == PUT) { + real.put(tk, tv); + } else { + if (real.containsKey(tk)) { + if (opt == REPLACE) { + real.put(tk, tv); + } + } else { + if (opt == ADD) { + real.put(tk, tv); + } } + } + } - if (tk.endsWith("{}")) {//rv符合tv条件或在tv内 - if (tv instanceof String) {//TODO >= 0, < 10 - sqlVerify("{}", real, tk, tv); - } - else if (tv instanceof JSONArray) { - logic = new Logic(tk.substring(0, tk.length() - 2)); - rk = logic.getKey(); - rv = real.get(rk); - - if (((JSONArray) tv).contains(rv) == logic.isNot()) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY" - + " >> ((JSONArray) tv).contains(rv) == logic.isNot()"); - } - } else { - throw new UnsupportedDataTypeException(""); - } - } else if (tk.endsWith("<>")) {//rv包含tv内的值 - logic = new Logic(tk.substring(0, tk.length() - 2)); - rk = logic.getKey(); - rv = real.get(rk); + return real; + } - if (rv instanceof JSONArray == false) { - throw new UnsupportedDataTypeException("服务器Request表verify配置错误!"); - } - JSONArray array; - if (tv instanceof JSONArray) { - array = (JSONArray) tv; - } else { - array = new JSONArray(); - array.add(tv); - } + /**验证值 + * @param tk + * @param tv + * @param real + * @throws Exception + */ + private static void verify(@NotNull String tk, @NotNull Object tv, @NotNull JSONObject real) throws Exception { + if (tv == null) { + throw new IllegalArgumentException("operate operate == VERIFY " + tk + ":" + tv + " , >> tv == null!!!"); + } - boolean isOr = false; - for (Object o : array) { - if (((JSONArray) rv).contains(o)) { - if (logic.isNot()) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY" - + " >> ((JSONArray) rv).contains(o) >> logic.isNot()"); - } - if (logic.isOr()) { - isOr = true; - break; - } - } else { - if (logic.isAnd()) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY" - + " >> ((JSONArray) rv).contains(o) == false >> logic.isAnd()"); - } - } - } + String rk; + Object rv; + Logic logic; + if (tk.endsWith("$")) { //搜索 + sqlVerify("$", real, tk, tv); + } + else if (tk.endsWith("?")) { //正则表达式 + logic = new Logic(tk.substring(0, tk.length() - 1)); + rk = logic.getKey(); + rv = real.get(rk); + if (rv == null) { + return; + } + + JSONArray array = SQLConfig.newJSONArray(tv); - if (isOr == false && logic.isOr()) { - throw new IllegalArgumentException("operate operate == TYPE_VERIFY" - + " >> isOr == false && logic.isOr()"); + boolean m; + boolean isOr = false; + Pattern reg; + for (Object r : array) { + if (r instanceof String == false) { + throw new UnsupportedDataTypeException(rk + ":" + rv + " 中value只支持 String 或 [String] 类型!"); + } + reg = ObjectParser.COMPILE_MAP.get(r); + if (reg == null) { + reg = Pattern.compile((String) r); + } + m = reg.matcher("" + rv).matches(); + if (m) { + if (logic.isNot()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); } - } else if (tk.endsWith("?")) {//正则表达式 - logic = new Logic(tk.substring(0, tk.length() - 1)); - rk = logic.getKey(); - rv = real.get(rk); - - JSONArray array; - if (tv instanceof JSONArray) { - array = (JSONArray) tv; - } else { - array = new JSONArray(); - array.add(tv); + if (logic.isOr()) { + isOr = true; + break; } - - boolean m; - boolean isOr = false; - for (Object r : array) { - if (r instanceof String == false) { - throw new UnsupportedDataTypeException(rk + ":" + rv + "中value只支持 String 或 [String] 类型!"); - } - m = Pattern.compile((String) r).matcher("" + rv).matches(); - if (m) { - if (logic.isNot()) { - throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 !" + array + " !"); - } - if (logic.isOr()) { - isOr = true; - break; - } - } else { - if (logic.isAnd()) { - throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 &" + array + " !"); - } - } + } else { + if (logic.isAnd()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); } + } + } - if (isOr == false && logic.isOr()) { - throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 |" + array + " !"); - } + if (isOr == false && logic.isOr()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); + } + } + else if (tk.endsWith("{}")) { //rv符合tv条件或在tv内 + if (tv instanceof String) {//TODO >= 0, < 10 + sqlVerify("{}", real, tk, tv); + } + else if (tv instanceof JSONArray) { + logic = new Logic(tk.substring(0, tk.length() - 2)); + rk = logic.getKey(); + rv = real.get(rk); + if (rv == null) { + return; + } - } else if (tk.endsWith("$")) {//搜索 - sqlVerify("$", real, tk, tv); - } else { - throw new IllegalArgumentException("服务器Request表verify配置错误!"); + if (((JSONArray) tv).contains(rv) == logic.isNot()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); } - } else if (type == TYPE_PUT) { - real.put(tk, tv); - } else { - if (real.containsKey(tk)) { - if (type == TYPE_REPLACE) { - real.put(tk, tv); + } + else { + throw new UnsupportedDataTypeException("服务器Request表verify配置错误!"); + } + } + else if (tk.endsWith("<>")) { //rv包含tv内的值 + logic = new Logic(tk.substring(0, tk.length() - 2)); + rk = logic.getKey(); + rv = real.get(rk); + if (rv == null) { + return; + } + + if (rv instanceof JSONArray == false) { + throw new UnsupportedDataTypeException("服务器Request表verify配置错误!"); + } + + JSONArray array = SQLConfig.newJSONArray(tv); + + boolean isOr = false; + for (Object o : array) { + if (((JSONArray) rv).contains(o)) { + if (logic.isNot()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); + } + if (logic.isOr()) { + isOr = true; + break; } } else { - if (type == TYPE_ADD) { - real.put(tk, tv); + if (logic.isAnd()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); } } } - } - return real; + if (isOr == false && logic.isOr()) { + throw new IllegalArgumentException(rk + ":value 中value不合法!必须匹配 " + tk + ":" + tv + " !"); + } + } + else { + throw new IllegalArgumentException("服务器Request表verify配置错误!"); + } } - /**通过数据库执行SQL语句来验证条件 * @param funChar * @param real @@ -524,13 +565,8 @@ private static void sqlVerify(@NotNull String funChar, JSONObject real, String t Logic logic = new Logic(tk.substring(0, tk.length() - funChar.length())); String rk = logic.getKey(); Object rv = real.get(rk); - - JSONArray array; - if (tv instanceof JSONArray) { - array = (JSONArray) tv; - } else { - array = new JSONArray(); - array.add(tv); + if (rv == null) { + return; } SQLConfig config = new SQLConfig(RequestMethod.HEAD, 1, 0); @@ -548,69 +584,9 @@ private static void sqlVerify(@NotNull String funChar, JSONObject real, String t executor.close(); } if (result != null && JSONResponse.isExist(result.getIntValue(JSONResponse.KEY_COUNT)) == false) { - throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 " + logic.getChar() + array + " !"); + throw new IllegalArgumentException(rk + ":" + rv + "中value不合法!必须匹配 " + logic.getChar() + tv + " !"); } } - - // /** - // * @param real - // * @param tk - // * @param tv - // * @param tableKeySet - // */ - // private static void putTargetChild(JSONObject real, String tk, Object tv, Set tableKeySet) { - // real.put(tk, tv); - // zuo.biao.apijson.server.Entry pair = Pair.parseEntry(tk, true); - // if (pair != null && zuo.biao.apijson.JSONObject.isTableKey(pair.getKey())) { - // tableKeySet.add(tk); - // } - // } - - - public static final int TYPE_DEFAULT = 0; - public static final int TYPE_VERIFY = 1; - public static final int TYPE_ADD = 2; - public static final int TYPE_PUT = 3; - public static final int TYPE_REPLACE = 4; - public static final int TYPE_REMOVE = 5; - - public static final String NAME_VERIFY = "verify"; - - public static final String NAME_ADD = "add"; - public static final String NAME_PUT = "put"; - public static final String NAME_REPLACE = "replace"; - public static final String NAME_REMOVE = "remove"; - - public static final String NAME_DISALLOW = "disallow"; - public static final String NAME_NECESSARY = "necessary"; - - /** - * @param key - * @return - */ - public static int getOperate(String key) { - if (key != null) { - if (NAME_VERIFY.equals(key)) { - return TYPE_VERIFY; - } - if (NAME_ADD.equals(key)) { - return TYPE_ADD; - } - if (NAME_PUT.equals(key)) { - return TYPE_PUT; - } - if (NAME_REPLACE.equals(key)) { - return TYPE_REPLACE; - } - if (NAME_REMOVE.equals(key)) { - return TYPE_REMOVE; - } - } - - return TYPE_DEFAULT; - } - - } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index 5f9fbdcf1..a1bc368cd 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -25,6 +25,8 @@ import static zuo.biao.apijson.JSONRequest.KEY_COUNT; import static zuo.biao.apijson.JSONRequest.KEY_PAGE; import static zuo.biao.apijson.JSONRequest.KEY_QUERY; +import static zuo.biao.apijson.JSONRequest.KEY_ID; +import static zuo.biao.apijson.JSONRequest.KEY_ID_IN; import static zuo.biao.apijson.RequestMethod.DELETE; import static zuo.biao.apijson.RequestMethod.GET; import static zuo.biao.apijson.RequestMethod.POST; @@ -42,6 +44,8 @@ import java.util.Map; import java.util.Set; +import javax.validation.constraints.NotNull; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -50,6 +54,7 @@ import apijson.demo.server.model.BaseModel; import apijson.demo.server.model.Privacy; import apijson.demo.server.model.User; +import zuo.biao.apijson.JSONRequest; import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; @@ -57,7 +62,6 @@ import zuo.biao.apijson.StringUtil; import zuo.biao.apijson.model.Column; import zuo.biao.apijson.model.Table; -import zuo.biao.apijson.server.JSONRequest; import zuo.biao.apijson.server.Logic; import zuo.biao.apijson.server.Pair; import zuo.biao.apijson.server.exception.NotExistException; @@ -77,12 +81,9 @@ public class SQLConfig { public static final String SCHEMA_INFORMATION = "`information_schema`"; public static final String TABLE_SCHEMA = "`table_schema`"; public static final String TABLE_NAME = "`table_name`"; - - - - - public static final String ID = JSONRequest.KEY_ID; - public static final String ID_IN = JSONRequest.KEY_ID_IN; + + + public static final List ARRAY_KEY_LIST; static { @@ -121,6 +122,9 @@ public class SQLConfig { private long id; //Table的id private RequestMethod method; //操作方法 + /** + * TODO 被关联的表通过就忽略关联的表?(这个不行 User:{"sex@":"/Comment/toId"}) + */ private RequestRole role; //发送请求的用户的角色 private String schema; //Table所在的数据库 private String table; //Table名 @@ -336,12 +340,12 @@ public String getValues() { public String getValuesString() { return values; } - public SQLConfig setValues(String[][] values) { + public SQLConfig setValues(String[][] valuess) { String s = ""; - if (values != null && values.length > 0) { - String[] items = new String[values.length]; - for (int i = 0; i < values.length; i++) { - items[i] = "(" + StringUtil.getString(values[i]) + ")"; + if (BaseModel.isEmpty(valuess) == false) { + String[] items = new String[valuess.length]; + for (int i = 0; i < valuess.length; i++) { + items[i] = "(" + StringUtil.getString(valuess[i]) + ")"; } s = StringUtil.getString(items); } @@ -478,7 +482,7 @@ public Object getWhere(String key, boolean exactMatch) { int index; for (String k : set) { index = k.indexOf(key); - if (index > 0 && StringUtil.isName(k.substring(index)) == false) { + if (index >= 0 && StringUtil.isName(k.substring(index)) == false) { return where.get(k); } } @@ -490,7 +494,7 @@ public Object getWhere(String key, boolean exactMatch) { public SQLConfig addWhere(String key, Object value) { if (key != null) { if (where == null) { - where = new HashMap(); + where = new LinkedHashMap(); } where.put(key, value); } @@ -513,73 +517,89 @@ public String getWhereString() throws Exception { */ public static String getWhereString(RequestMethod method, Map where, boolean verifyName) throws Exception { Set set = where == null ? null : where.keySet(); - if (set != null && set.size() > 0) { + if (BaseModel.isEmpty(set)) { + return ""; + } + String whereString = ""; + boolean isFirst = true; - String whereString = ""; - boolean isFirst = true; - int keyType = 0;// 0 - =; 1 - $, 2 - {} - Object value; - for (String key : set) { - Log.d(TAG, "getWhereString key = " + key); - //避免筛选到全部 value = key == null ? null : where.get(key); - if (key == null || key.startsWith("@") || key.endsWith("()")) {//关键字||方法, +或-直接报错 - Log.d(TAG, "getWhereString key == null || key.startsWith(@) || key.endsWith(()) >> continue;"); - continue; - } - if (key.endsWith("@")) {//引用 - key = key.substring(0, key.lastIndexOf("@")); - // throw new IllegalArgumentException(TAG + ".getWhereString: 字符 " + key + " 不合法!"); - } - if (key.endsWith("$")) { - keyType = 1; - } - else if (key.endsWith("?")) { - keyType = 2; - } - else if (key.endsWith("{}")) { - keyType = 3; - } - else if (key.endsWith("<>")) { - keyType = 4; - } - value = where.get(key); - key = getRealKey(method, key, false, true, verifyName); + String condition; + for (String key : set) { + condition = getWhereItem(key, where.get(key), method, verifyName); - String condition = ""; - switch (keyType) { - case 1: - condition = getSearchString(key, value); - break; - case 2: - condition = getRegExpString(key, value); - break; - case 3: - condition = getRangeString(key, value); - break; - case 4: - condition = getContainString(key, value); - break; - default: - condition = (key + "='" + value + "'"); - break; - } - if (StringUtil.isEmpty(condition, true)) {//避免SQL条件连接错误 - continue; - } + if (StringUtil.isEmpty(condition, true)) {//避免SQL条件连接错误 + continue; + } - whereString += (isFirst ? "" : AND) + condition; + whereString += (isFirst ? "" : AND) + condition; - isFirst = false; - } + isFirst = false; + } - if (whereString.isEmpty() == false) { - return " WHERE " + whereString; - } + String s = whereString.isEmpty() ? "" : " WHERE " + whereString; + + if (s.isEmpty() && RequestMethod.isQueryMethod(method) == false) { + throw new UnsupportedOperationException("写操作请求必须带条件!!!"); } + + return s; + } - return ""; + /** + * @param key + * @param value + * @param method + * @param verifyName + * @return + * @throws Exception + */ + private static String getWhereItem(String key, Object value + , RequestMethod method, boolean verifyName) throws Exception { + Log.d(TAG, "getWhereItem key = " + key); + //避免筛选到全部 value = key == null ? null : where.get(key); + if (key == null || value == null || key.startsWith("@") || key.endsWith("()")) {//关键字||方法, +或-直接报错 + Log.d(TAG, "getWhereItem key == null || value == null" + + " || key.startsWith(@) || key.endsWith(()) >> continue;"); + return null; + } + if (key.endsWith("@")) {//引用 + // key = key.substring(0, key.lastIndexOf("@")); + throw new IllegalArgumentException(TAG + ".getWhereItem: 字符 " + key + " 不合法!"); + } + + int keyType; + if (key.endsWith("$")) { + keyType = 1; + } + else if (key.endsWith("?")) { + keyType = 2; + } + else if (key.endsWith("{}")) { + keyType = 3; + } + else if (key.endsWith("<>")) { + keyType = 4; + } + else { //else绝对不能省,避免再次踩坑! keyType = 0; 写在for循环外面都没注意! + keyType = 0; + } + key = getRealKey(method, key, false, true, verifyName); + + switch (keyType) { + case 1: + return getSearchString(key, value); + case 2: + return getRegExpString(key, value); + case 3: + return getRangeString(key, value); + case 4: + return getContainString(key, value); + default: + return (key + "='" + value + "'"); + } } + //$ search <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /**search key match value * @param in @@ -595,15 +615,11 @@ public static String getSearchString(String key, Object value) throws IllegalArg key = logic.getKey(); Log.i(TAG, "getRangeString key = " + key); - if (value instanceof JSONArray == false) {//TODO 直接掉Like性能最好! - JSONArray array = new JSONArray(); - array.add(value); - value = array; - } - if (((JSONArray) value).isEmpty()) { + JSONArray arr = newJSONArray(value); + if (arr.isEmpty()) { return ""; } - return getSearchString(key, ((JSONArray) value).toArray(), logic.getType()); + return getSearchString(key, arr.toArray(), logic.getType()); } /**search key match values * @param in @@ -653,15 +669,11 @@ public static String getRegExpString(String key, Object value) throws IllegalArg key = logic.getKey(); Log.i(TAG, "getRangeString key = " + key); - if (value instanceof JSONArray == false) { - JSONArray array = new JSONArray(); - array.add(value); - value = array; - } - if (((JSONArray) value).isEmpty()) { + JSONArray arr = newJSONArray(value); + if (arr.isEmpty()) { return ""; } - return getRegExpString(key, ((JSONArray) value).toArray(), logic.getType()); + return getRegExpString(key, arr.toArray(), logic.getType()); } /**search key match RegExp values * @param in @@ -714,9 +726,9 @@ public static String getRangeString(String key, Object range) throws Exception { key = logic.getKey(); Log.i(TAG, "getRangeString key = " + key); - if (range instanceof JSONArray) { + if (range instanceof List) { if (logic.isOr() || logic.isNot()) { - return key + getInString(key, ((JSONArray) range).toArray(), logic.isNot()); + return key + getInString(key, ((List) range).toArray(), logic.isNot()); } throw new IllegalArgumentException(key + "{}\":[] 中key末尾的逻辑运算符只能用'|','!'中的一种 !"); } @@ -779,12 +791,8 @@ public static String getContainString(String key, Object value) throws NotExistE key = logic.getKey(); Log.i(TAG, "getRangeString key = " + key); - if (value instanceof JSONArray == false) {//TODO 直接调Like性能最好! - JSONArray array = new JSONArray(); - array.add(value); - value = array; - } - return getContainString(key, ((JSONArray) value).toArray(), logic.getType()); + //TODO 直接调Like性能最好! + return getContainString(key, newJSONArray(value).toArray(), logic.getType()); } /**WHERE key contains childs * @param key @@ -830,9 +838,24 @@ public static String getContainString(String key, Object[] childs, int type) thr //<> contain >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - //WHERE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - + /**转为JSONArray + * @param tv + * @return + */ + @NotNull + public static JSONArray newJSONArray(Object obj) { + JSONArray array = new JSONArray(); + if (obj != null) { + if (obj instanceof Collection) { + array.addAll((Collection) obj); + } else { + array.add(obj); + } + } + return array; + } + //WHERE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //SET <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -859,7 +882,7 @@ public static String getSetString(RequestMethod method, Map cont Object value; for (String key : set) { //避免筛选到全部 value = key == null ? null : content.get(key); - if (key == null || ID.equals(key)) { + if (key == null || KEY_ID.equals(key)) { continue; } @@ -995,7 +1018,8 @@ private static String getConditionString(String column, String table, SQLConfig // //order: id+ -> id >= idOfStartIndex; id- -> id <= idOfStartIndex >>>>>>>>>>>>>>>>>> // // - // //结果错误!SELECT * FROM sys.User AS t0 INNER JOIN (SELECT id FROM sys.User ORDER BY date ASC LIMIT 20, 10) AS t1 ON t0.id = t1.id + // //结果错误!SELECT * FROM linking_member.mes_member_user_test AS t0 INNER JOIN + // (SELECT id FROM linking_member.mes_member_user_test ORDER BY date ASC LIMIT 20, 10) AS t1 ON t0.id = t1.id // //common case, inner join // condition += config.getLimitString(); // return table + " AS t0 INNER JOIN (SELECT id FROM " + condition + ") AS t1 ON t0.id = t1.id"; @@ -1005,125 +1029,201 @@ private static String getConditionString(String column, String table, SQLConfig * @param table * @param request * @return + * @throws Exception */ - public static synchronized SQLConfig newQueryConfig(RequestMethod method, String table, JSONObject request) { + public static SQLConfig newSQLConfig(RequestMethod method, String table, JSONObject request) throws Exception { + if (request == null) { // User:{} 这种空内容在查询时也有效 + throw new NullPointerException(TAG + ": newSQLConfig request == null!"); + } SQLConfig config = new SQLConfig(method, table); - if (method == POST && request != null && request.get(ID) == null) { - request.put(ID, System.currentTimeMillis()); + boolean isEmpty = request.isEmpty(); + if (isEmpty) { // User:{} 这种空内容在查询时也有效 + return config; //request.remove(key); 前都可以直接return,之后必须保证 put 回去 } - if (request != null && request.isEmpty() == false) { - String role = request.getString(KEY_ROLE); - String schema = request.getString(KEY_SCHEMA); - boolean about = request.getBooleanValue(KEY_ABOUT); - String condition = request.getString(KEY_CONDITION); - String column = StringUtil.getString(request.getString(KEY_COLUMN)); - String group = request.getString(KEY_GROUP); - String having = request.getString(KEY_HAVING); - String order = request.getString(KEY_ORDER); - - request.remove(KEY_ROLE); - request.remove(KEY_SCHEMA); - request.remove(KEY_ABOUT); - request.remove(KEY_CONDITION); - request.remove(KEY_COLUMN); - request.remove(KEY_GROUP); - request.remove(KEY_HAVING); - request.remove(KEY_ORDER); - - - Map tableWhere = new LinkedHashMap();//保证顺序好优化 WHERE id > 1 AND name LIKE... - if (about) { - if (RequestMethod.isQueryMethod(method) == false) { - throw new UnsupportedOperationException(config.getTable() + " 被" + KEY_ABOUT + "标注,只能进行 GET,HEAD 等查询操作!"); + Object idIn = request.get(KEY_ID_IN); //可能是 id{}:">0" + + if (method == POST) { + if (idIn != null) { //不能在这里确定[]的长度,只能在外面传进来 + if ((idIn instanceof List == false) || ((List)idIn).isEmpty()) { // id{}:[] 表示同时插入多条记录 + throw new IllegalArgumentException("POST请求,生成多条记录请用 id{}:[] ! [] 类型为JSONArray且不能为空!"); } + } else if (request.get(KEY_ID) == null) { + request.put(KEY_ID, System.currentTimeMillis()); + } + } - tableWhere.put(TABLE_SCHEMA, SQLConfig.getSchema(schema)); - tableWhere.put(TABLE_NAME, config.getSQLTable()); - config.setTable(Column.class.getSimpleName()); + //对id和id{}处理,这两个一定会作为条件 + Long id = request.getLong(KEY_ID); + if (id != null) { //null无效 + if (id <= 0) { //一定没有值 + throw new NotExistException(TAG + ": newSQLConfig " + table + ".id <= 0"); + } - schema = SCHEMA_INFORMATION; - column += ( - (column.isEmpty() ? "" : column + ",") - + (RequestMethod.isHeadMethod(method, true) ? - SQL.count(column) : "column_name,column_type,is_nullable,column_default,column_comment") - ); + if (idIn != null && idIn instanceof List) { //共用idArr场景少性能差 + if (idIn != null && ((List) idIn).contains(id) == false) {//empty有效 BaseModel.isEmpty(idArr) == false) { + Log.w(TAG, "newSQLConfig id > 0 >> idInObj != null && idInObj.contains(id) == false >> return null;"); + throw new NotExistException(TAG + ": newSQLConfig idIn != null && ((JSONArray) idIn).contains(id) == false"); + } } + } - Set set = request == null ? null : request.keySet(); - if (set != null && set.isEmpty() == false) { - if (method == POST) { - column = StringUtil.getString(set.toArray(new String[]{})); - - String valuesString = ""; - Collection valueCollection = request.values(); - Object[] values = valueCollection == null || valueCollection.isEmpty() ? null : valueCollection.toArray(); - if (values != null) { - for (int i = 0; i < values.length; i++) { - valuesString += ((i > 0 ? "," : "") + "'" + values[i] + "'"); - } - } - config.setValues("(" + valuesString + ")"); - } else { - //条件<<<<<<<<<<<<<<<<<<< - List conditionList = null; - if (method == PUT || method == DELETE) { - String[] conditions = StringUtil.split(condition); - //Arrays.asList()返回值不支持add方法! - conditionList = new ArrayList(Arrays.asList(conditions != null ? conditions : new String[]{})); - conditionList.add(ID); - conditionList.add(ID_IN); + + String role = request.getString(KEY_ROLE); + String schema = request.getString(KEY_SCHEMA); + boolean about = request.getBooleanValue(KEY_ABOUT); + String condition = request.getString(KEY_CONDITION); + String column = request.getString(KEY_COLUMN); + String group = request.getString(KEY_GROUP); + String having = request.getString(KEY_HAVING); + String order = request.getString(KEY_ORDER); + + //强制作为条件且放在最前面优化性能 + request.remove(KEY_ID); + request.remove(KEY_ID_IN); + //关键词 + request.remove(KEY_ROLE); + request.remove(KEY_SCHEMA); + request.remove(KEY_ABOUT); + request.remove(KEY_CONDITION); + request.remove(KEY_COLUMN); + request.remove(KEY_GROUP); + request.remove(KEY_HAVING); + request.remove(KEY_ORDER); + + + Map tableWhere = new LinkedHashMap();//保证顺序好优化 WHERE id > 1 AND name LIKE... + if (about) { //查询字段属性 + if (RequestMethod.isQueryMethod(method) == false) { + throw new UnsupportedOperationException(config.getTable() + + " 被 " + KEY_ABOUT + " 标注,只能进行 GET,HEAD 等查询操作!"); + } + + tableWhere.put(TABLE_SCHEMA, SQLConfig.getSchema(schema)); + tableWhere.put(TABLE_NAME, config.getSQLTable()); + config.setTable(Column.class.getSimpleName()); + + schema = SCHEMA_INFORMATION; + + column = StringUtil.getString(column); + if (column.isEmpty() && RequestMethod.isHeadMethod(method, true) == false) { + column = "column_name,column_type,is_nullable,column_default,column_comment"; + } + } + + + //已经remove了id和id{},以及@key + Set set = request.keySet(); //前面已经判断request是否为空 + if (method == POST) {//POST操作 + if (BaseModel.isEmpty(set) == false) { //不能直接return,要走完下面的流程 + List idList; + if (id != null) { //单条记录 + if (idIn != null) { + throw new IllegalArgumentException("POST请求中 id 和 id{} 不能同时存在!"); } - //条件>>>>>>>>>>>>>>>>>>> - - final boolean isWhere = method != PUT;//除了POST,PUT,其它全是条件!!! - - Map tableContent = new HashMap(); - Object value; - for (String key : set) { - value = request.get(key); - if (value instanceof JSONObject == false) {//只允许常规Object - //解决AccessVerifier新增userId没有作为条件,而是作为内容,导致PUT,DELETE出错 - if (isWhere || BaseModel.isContain(conditionList, key)) { - tableWhere.put(key, value); - } else { - tableContent.put(key, value);//一样 instanceof JSONArray ? JSON.toJSONString(value) : value); - } - } + + idList = new ArrayList(1); + idList.add(id); + } else { //多条记录 + idList = new ArrayList((JSONArray) idIn); + } + + //idIn不为空时,valuesString有多条,唯一的区别就是id + String[] columns = set.toArray(new String[]{}); + + Collection valueCollection = request.values(); + Object[] values = valueCollection == null ? null : valueCollection.toArray(); + + if (values == null || values.length != columns.length) { + throw new Exception("服务器内部错误:\n" + TAG + + " newSQLConfig values == null || values.length != columns.length !"); + } + column = KEY_ID + "," + StringUtil.getString(columns); //set已经判断过不为空 + final int size = columns.length + 1; //以key数量为准 + + String[][] valuess = new String[idList.size()][]; // [idList.size()][] + String[] items; //(item0, item1, ...) + for (int i = 0; i < idList.size(); i++) { + items = new String[size]; + items[0] = "'" + idList.get(i) + "'"; //第0个就是id。所有的值都加 '' 避免SQL注入风险 + for (int j = 1; j < size; j++) { + items[j] = "'" + values[j-1] + "'"; //从第1个开始,允许"null" } + valuess[i] = items; + } + config.setValues(valuess); + } + } + else { //非POST操作 + final boolean isWhere = method != PUT;//除了POST,PUT,其它全是条件!!! + + //条件<<<<<<<<<<<<<<<<<<< + List conditionList = null; + if (isWhere == false) { //减少不必要的步骤 + if (method == PUT || method == DELETE) { + String[] conditions = StringUtil.split(condition); + //Arrays.asList()返回值不支持add方法! + conditionList = BaseModel.isEmpty(conditions) ? null : Arrays.asList(conditions); + } + } + //条件>>>>>>>>>>>>>>>>>>> - config.setContent(tableContent); + //强制作为条件且放在最前面优化性能 + if (id != null) { + tableWhere.put(KEY_ID, id); + } + if (idIn != null) { + tableWhere.put(KEY_ID_IN, idIn); + } + + Map tableContent = new HashMap(); + Object value; + for (String key : set) { + value = request.get(key); + if (value instanceof JSONObject == false) {//只允许常规Object + //解决AccessVerifier新增userId没有作为条件,而是作为内容,导致PUT,DELETE出错 + if (isWhere || BaseModel.isContain(conditionList, key)) { + tableWhere.put(key, value); + } else { + tableContent.put(key, value);//一样 instanceof JSONArray ? JSON.toJSONString(value) : value); + } } } - config.setWhere(tableWhere); - - config.setRole(role); - //TODO condition组合,优先 | config.setCondition(condition); - config.setSchema(schema); - config.setAbout(about); - config.setColumn(column); - config.setGroup(group); - config.setHaving(having); - config.setOrder(order); - - //后面还可能用到,要还原 - request.put(KEY_ROLE, role); - request.put(KEY_SCHEMA, schema); - request.put(KEY_ABOUT, about); - request.put(KEY_CONDITION, condition); - request.put(KEY_COLUMN, column); - request.put(KEY_GROUP, group); - request.put(KEY_HAVING, having); - request.put(KEY_ORDER, order); + config.setContent(tableContent); } - try { - config.setId(request.getLongValue(ID)); - } catch (Exception e) { - // empty - } + + config.setWhere(tableWhere); + + config.setId(BaseModel.value(id)); + //在 tableWhere 第0个 config.setIdIn(idIn); + + config.setRole(role); + //TODO condition组合,优先 | config.setCondition(condition); + config.setSchema(schema); + config.setAbout(about); + config.setColumn(column); + config.setGroup(group); + config.setHaving(having); + config.setOrder(order); + + //后面还可能用到,要还原 + //id或id{}条件 + request.put(KEY_ID, id); + request.put(KEY_ID_IN, idIn); + //关键词 + request.put(KEY_ROLE, role); + request.put(KEY_SCHEMA, schema); + request.put(KEY_ABOUT, about); + request.put(KEY_CONDITION, condition); + request.put(KEY_COLUMN, column); + request.put(KEY_GROUP, group); + request.put(KEY_HAVING, having); + request.put(KEY_ORDER, order); + + return config; } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index 4785397e5..b3002f8d1 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -185,9 +185,15 @@ public JSONObject execute(SQLConfig config) throws Exception { case DELETE: long updateCount = statement.executeUpdate(sql); - result = Parser.newResult(updateCount > 0 ? 200 : 404 - , updateCount > 0 ? "success" : "可能对象不存在!"); - result.put(JSONResponse.KEY_ID, config.getId());//id一定有,一定会返回,不用抛异常来阻止关联写时前面错误导致后面无条件执行! + result = Parser.newResult(updateCount > 0 ? JSONResponse.CODE_SUCCESS : JSONResponse.CODE_NOT_FOUND + , updateCount > 0 ? JSONResponse.MSG_SUCCEED : "可能对象不存在!"); + + //id或id{}一定有,一定会返回,不用抛异常来阻止关联写操作时前面错误导致后面无条件执行! + if (config.getId() > 0) { + result.put(JSONResponse.KEY_ID, config.getId()); + } else { + result.put(JSONResponse.KEY_ID_IN, config.getWhere(JSONResponse.KEY_ID_IN, true)); + } result.put(JSONResponse.KEY_COUNT, updateCount);//返回修改的记录数 return result; @@ -249,7 +255,7 @@ public JSONObject execute(SQLConfig config) throws Exception { Log.i(TAG, "select while (rs.next()){ ..." + " >> value == null >> continue;"); continue; } - + // Log.i(TAG, "select while (rs.next()) { >> for (int i = 0; i < columnArray.length; i++) {" // + "\n >>> columnArray[i]) = " + columnArray[i] + "; value = " + value); if (value instanceof Timestamp) { @@ -267,7 +273,7 @@ else if (value instanceof String) { // + ">> } catch (Exception e) {\n" + e.getMessage()); } } - + result.put(columnArray[i], value); } @@ -301,7 +307,7 @@ private String[] getColumnArray(SQLConfig config) throws SQLException { if (StringUtil.isNotEmpty(column, true)) { return StringUtil.split(column);//column.contains(",") ? column.split(",") : new String[]{column}; } - + List list = new ArrayList(); String table = config.getSQLTable(); ResultSet rs = metaData.getColumns(config.getSchema(), null, table, "%"); @@ -310,7 +316,7 @@ private String[] getColumnArray(SQLConfig config) throws SQLException { list.add(rs.getString(4)); } rs.close(); - + return list.toArray(new String[]{}); } From 438c615394984f87f65008e455073e48ef71ac6e Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Tue, 5 Sep 2017 18:10:28 +0800 Subject: [PATCH 161/219] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 45d8082de..888b00ebe 100644 --- a/README.md +++ b/README.md @@ -511,8 +511,9 @@ Run > Run app ###

      5.2 关于作者

      TommyLemon:[https://github.com/TommyLemon](https://github.com/TommyLemon)
      +QQ群:607020115 -如果有什么问题或建议可以[提ISSUE](https://github.com/TommyLemon/APIJSON/issues)或者[发我邮件](https://github.com/TommyLemon),交流技术,分享经验。
      +如果有什么问题或建议可以[提ISSUE](https://github.com/TommyLemon/APIJSON/issues)、加群或者[发我邮件](https://github.com/TommyLemon),交流技术,分享经验。
      如果你解决了某些bug,或者新增了一些通用性强的功能,欢迎[贡献代码](https://github.com/TommyLemon/APIJSON/pulls),感激不尽^_^ ###

      5.3 下载试用客户端App

      From 1c26f95dccdbdbcf6bec958c87bb823f40c7bce7 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Wed, 6 Sep 2017 01:26:48 +0800 Subject: [PATCH 162/219] =?UTF-8?q?Client:=E5=90=8C=E6=AD=A5adt=E7=89=88?= =?UTF-8?q?=E8=87=B3studio=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/zuo/biao/apijson/MethodAccess.java | 14 +- .../src/main/java/zuo/biao/apijson/JSON.java | 47 +- .../java/zuo/biao/apijson/JSONObject.java | 437 +++++++----------- .../java/zuo/biao/apijson/JSONRequest.java | 147 ++---- .../java/zuo/biao/apijson/JSONResponse.java | 268 ++++------- .../java/zuo/biao/apijson/MethodAccess.java | 34 +- .../java/zuo/biao/apijson/RequestMethod.java | 8 +- .../src/main/java/zuo/biao/apijson/SQL.java | 125 ++++- .../java/zuo/biao/apijson/StringUtil.java | 147 +++--- .../zuo/biao/apijson/client/package-info.java | 22 - .../activity_fragment/LoginActivity.java | 2 +- .../activity_fragment/MineFragment.java | 5 +- .../activity_fragment/MomentActivity.java | 45 +- .../activity_fragment/MomentListFragment.java | 2 +- .../NumberPasswordActivity.java | 6 +- .../activity_fragment/PasswordActivity.java | 6 +- .../activity_fragment/UserActivity.java | 4 +- .../activity_fragment/UserListFragment.java | 4 +- .../activity_fragment/WalletActivity.java | 3 +- .../demo/client/manager/HttpManager.java | 90 +--- .../apijson/demo/client/model/Wallet.java | 41 -- .../apijson/demo/client/util/HttpRequest.java | 119 ++--- .../apijson/demo/client/view/MomentView.java | 2 +- .../apijson/demo/server/model/BaseModel.java | 49 ++ .../apijson/demo/server/model/Password.java | 94 ---- .../apijson/demo/server/model/Privacy.java | 19 +- .../apijson/demo/server/model/Verify.java | 2 +- .../apijson/demo/server/model/Wallet.java | 101 ---- 28 files changed, 747 insertions(+), 1096 deletions(-) delete mode 100644 APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/client/package-info.java delete mode 100644 APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/model/Wallet.java delete mode 100644 APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Password.java delete mode 100644 APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Wallet.java diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodAccess.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodAccess.java index 1cf14dc6e..c69f55ac7 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodAccess.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodAccess.java @@ -36,37 +36,37 @@ public @interface MethodAccess { /**@see {@link RequestMethod#GET} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] GET() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#HEAD} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST_GET} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST_HEAD} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST} - * @return 该请求方法允许的结构 default {LOGIN, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, ADMIN}; */ RequestRole[] POST() default {LOGIN, ADMIN}; /**@see {@link RequestMethod#PUT} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] PUT() default {OWNER, ADMIN}; /**@see {@link RequestMethod#DELETE} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] DELETE() default {OWNER, ADMIN}; diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java index 521acb01d..7bd24b97d 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java @@ -60,21 +60,24 @@ public static String getCorrectJson(String s) { public static String getCorrectJson(String s, boolean isArray) { s = StringUtil.getTrimedString(s); // if (isArray) { - // if (s.startsWith("\"")) { + // while (s.startsWith("\"")) { // s = s.substring(1); // } - // if (s.endsWith("\"")) { + // while (s.endsWith("\"")) { // s = s.substring(0, s.length() - 1); // } // } return s;//isJsonCorrect(s) ? s : null; } - /**json转JSONObject + /**obj转JSONObject * @param json * @return */ public static JSONObject parseObject(Object obj) { + if (obj instanceof JSONObject) { + return (JSONObject) obj; + } return parseObject(toJSONString(obj)); } /**json转JSONObject @@ -114,12 +117,16 @@ public static T parseObject(JSONObject object, Class clazz) { * @return */ public static T parseObject(String json, Class clazz) { - try { - int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; - features |= Feature.OrderedField.getMask(); - return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); - } catch (Exception e) { - Log.i(TAG, "parseObject catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseObject clazz == null >> return null;"); + } else { + try { + int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; + features |= Feature.OrderedField.getMask(); + return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); + } catch (Exception e) { + Log.i(TAG, "parseObject catch \n" + e.getMessage()); + } } return null; } @@ -131,6 +138,16 @@ public static T parseObject(String json, Class clazz) { public static JSONArray parseArray(List list) { return new JSONArray(list); } + /**obj转JSONArray + * @param json + * @return + */ + public static JSONArray parseArray(Object obj) { + if (obj instanceof JSONArray) { + return (JSONArray) obj; + } + return parseArray(toJSONString(obj)); + } /**json转JSONArray * @param json * @return @@ -157,10 +174,14 @@ public static List parseArray(JSONArray array, Class clazz) { * @return */ public static List parseArray(String json, Class clazz) { - try { - return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); - } catch (Exception e) { - Log.i(TAG, "parseArray catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseArray clazz == null >> return null;"); + } else { + try { + return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); + } catch (Exception e) { + Log.i(TAG, "parseArray catch \n" + e.getMessage()); + } } return null; } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java index 4d3581764..3c9e0d1cf 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java @@ -14,189 +14,49 @@ package zuo.biao.apijson; -import static zuo.biao.apijson.StringUtil.UTF_8; +import java.util.List; +import java.util.Map; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; -import java.util.Set; - -/**use this class instead of com.alibaba.fastjson.JSONObject, not encode in default cases +/**use this class instead of com.alibaba.fastjson.JSONObject * @author Lemon + * @see #put + * @see #puts + * @see #putsAll */ public class JSONObject extends com.alibaba.fastjson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; + + private static final String TAG = "JSONObject"; + /**ordered */ public JSONObject() { super(true); } /**transfer Object to JSONObject - * encode = false; * @param object * @see {@link #JSONObject(Object, boolean)} */ public JSONObject(Object object) { - this(object, false); - } - /**transfer Object to JSONObject - * @param object - * @param encode - * @see {@link #JSONObject(String, boolean)} - */ - public JSONObject(Object object, boolean encode) { - this(toJSONString(object), encode); + this(toJSONString(object)); } /**parse JSONObject with JSON String - * encode = false; * @param json * @see {@link #JSONObject(String, boolean)} */ public JSONObject(String json) { - this(json, false); - } - /**parse JSONObject with JSON String - * @param json - * @param encode - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(String json, boolean encode) { - this(parseObject(json), encode); + this(parseObject(json)); } /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * encode = false; * @param object - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} + * @see {@link #putsAll(com.alibaba.fastjson.JSONObject)} */ public JSONObject(com.alibaba.fastjson.JSONObject object) { - this(object, false); - } - /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * @param object - * @param encode - * @see {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(com.alibaba.fastjson.JSONObject object, boolean encode) { this(); - add(object, encode); - } - - - - - /**put key-value in object into this - * encode = false; - * @param object - * @return {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object) { - return add(object, false); - } - /**put key-value in object into this - * @param object - * @param encode - * @return this - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object, boolean encode) { - //TODO putAll(object); - - Set set = object == null ? null : object.keySet(); - if (set != null) { - for (String key : set) { - put(key, object.get(key), encode); - } - } - return this; - } - - - - /** - * @param key if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param decode if decode && value instanceof String, value = URLDecoder.decode((String) value, UTF_8) - * @return - */ - public Object get(Object key, boolean decode) { - if (decode) { - if (key instanceof String) { - if (((String) key).endsWith("+") || ((String) key).endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLDecoder.decode((String) key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - return null; - } - } - } - Object value = super.get(key); - if (value instanceof String) { - try { - value = URLDecoder.decode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - return value; - } - return super.get(key); + putsAll(object); } - /** - * encode = false - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - public Object put(Object value) { - return put(value, false); - } - /** - * key = value.getClass().getSimpleName() - * @param value must be annotated by {@link APIJSONRequest} - * @param encode - * @return {@link #put(String, Object, boolean)} - */ - public Object put(Object value, boolean encode) { - return put(null, value, encode); - } - /** - * @param key if StringUtil.isNotEmpty(key, true) == false, - *
      key = value == null ? null : value.getClass().getSimpleName(); - *
      >> if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param value URLEncoder.encode((String) value, UTF_8); - * @param encode if value instanceof String, value = URLEncoder.encode((String) value, UTF_8); - * @return - */ - public Object put(String key, Object value, boolean encode) { - if (StringUtil.isNotEmpty(key, true) == false) { - Class clazz = value == null ? null : value.getClass(); - if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { - throw new IllegalArgumentException("put StringUtil.isNotEmpty(key, true) == false" + - " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + - " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + - " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + - " \n 如果是类似 key[]:{} 结构的请求,建议add(...)方法!"); - } - key = value.getClass().getSimpleName(); - } - if (encode) { - if (key.endsWith("+") || key.endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLEncoder.encode(key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - if (value instanceof String) {//只在value instanceof String时encode key?{@link #get(Object, boolean)}内做不到 - try { - value = URLEncoder.encode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - } - return super.put(key, value); - } @@ -215,38 +75,46 @@ public static boolean isArrayKey(String key) { * @return */ public static boolean isTableKey(String key) { - return StringUtil.isBigWord(key); + return StringUtil.isBigName(key); } //judge >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //JSONObject内关键词 key <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< - /** - * 角色,拥有对某些数据的某些操作的权限 - */ - public static final String KEY_ROLE = "@role"; - /** - * 数据库,Table在非默认schema内时需要声明 - */ - public static final String KEY_SCHEMA = "@schema"; - /** - * 查询的Table字段或SQL函数 - */ - public static final String KEY_COLUMN = "@column"; - /** - * 分组方式 - */ - public static final String KEY_GROUP = "@group"; - /** - * 聚合函数条件,一般和@group一起用 + + public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; + + /**set "id":id in Table layer + * @param id + * @return */ - public static final String KEY_HAVING = "@having"; - /** - * 排序方式 + public JSONObject setId(Long id) { + return puts(KEY_ID, id); + } + /**set id{}:[] in Table layer + * @param list + * @return */ - public static final String KEY_ORDER = "@order"; + public JSONObject setIdIn(List list) { + return puts(KEY_ID_IN, list); + } + + + //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< + public static final String KEY_ROLE = "@role"; //角色,拥有对某些数据的某些操作的权限 + public static final String KEY_CONDITION = "@condition"; //条件 TODO 用 @where& @where| @where! 替代? + public static final String KEY_TRY = "@try"; //尝试,忽略异常 + public static final String KEY_DROP = "@drop"; //丢弃,不返回 + public static final String KEY_CORRECT = "@correct"; //字段校正 + + public static final String KEY_SCHEMA = "@schema"; //数据库,Table在非默认schema内时需要声明 + public static final String KEY_ABOUT = "@about"; //关于,返回数据库表的信息,包括表说明和字段说明 + public static final String KEY_COLUMN = "@column"; //查询的Table字段或SQL函数 + public static final String KEY_GROUP = "@group"; //分组方式 + public static final String KEY_HAVING = "@having"; //聚合函数条件,一般和@group一起用 + public static final String KEY_ORDER = "@order"; //排序方式 //@key关键字都放这个类 >>>>>>>>>>>>>>>>>>>>>> @@ -255,17 +123,49 @@ public static boolean isTableKey(String key) { * @return this */ public JSONObject setRole(String role) { - put(KEY_ROLE, role); - return this; + return puts(KEY_ROLE, role); + } + + /**set try, ignore exceptions + * @param tri + * @return this + */ + public JSONObject setTry(boolean tri) { + return puts(KEY_TRY, tri); } + + /**set drop, data dropped will not return + * @param drop + * @return this + */ + public JSONObject setDrop(boolean drop) { + return puts(KEY_DROP, drop); + } + + /**set correct, correct keys to target ones + * @param correct Map{originKey, [posibleKeys]}, posibleKey之间用 , 隔开 + * @return this + */ + public JSONObject setCorrect(Map correct) { + return puts(KEY_CORRECT, correct); + } + + - /**set schema where table was put + /**set schema where table was puts * @param schema * @return this */ public JSONObject setSchema(String schema) { - put(KEY_SCHEMA, schema); - return this; + return puts(KEY_SCHEMA, schema); + } + + /**set about + * @param about + * @return this + */ + public JSONObject setAbout(boolean about) { + return puts(KEY_ABOUT, about); } /**set keys need to be returned @@ -280,8 +180,7 @@ public JSONObject setColumn(String... keys) { * @return */ public JSONObject setColumn(String keys) { - put(KEY_COLUMN, keys); - return this; + return puts(KEY_COLUMN, keys); } /**set keys for group by @@ -296,8 +195,7 @@ public JSONObject setGroup(String... keys) { * @return */ public JSONObject setGroup(String keys) { - put(KEY_GROUP, keys); - return this; + return puts(KEY_GROUP, keys); } /**set keys for having @@ -312,8 +210,7 @@ public JSONObject setHaving(String... keys) { * @return */ public JSONObject setHaving(String keys) { - put(KEY_HAVING, keys); - return this; + return puts(KEY_HAVING, keys); } /**set keys for order by @@ -328,8 +225,7 @@ public JSONObject setOrder(String... keys) { * @return */ public JSONObject setOrder(String keys) { - put(KEY_ORDER, keys); - return this; + return puts(KEY_ORDER, keys); } @@ -337,117 +233,142 @@ public JSONObject setOrder(String keys) { - //Request,默认encode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + //Request <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /** - * encode = true - * @param value - * @param parts path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... - * @return #put(key+"@", StringUtil.getString(keys, "/"), true) - */ - public Object putPath(String key, String... keys) { - return put(key+"@", StringUtil.getString(keys, "/"), true); - } - - /** - * encode = true * @param key - * @param isNull - * @return {@link #putNull(String, boolean, boolean)} + * @param keys path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... + * @return {@link #puts(String, Object)} */ - public JSONObject putNull(String key, boolean isNull) { - return putNull(key, isNull, true); + public JSONObject putsPath(String key, String... keys) { + return puts(key+"@", StringUtil.getString(keys, "/")); } + /** * @param key * @param isNull - * @param encode - * @return put(key+"{}", SQL.isNull(isNull), encode); + * @return {@link #puts(String, Object)} */ - public JSONObject putNull(String key, boolean isNull, boolean encode) { - put(key+"{}", SQL.isNull(isNull), encode); - return this; + public JSONObject putsNull(String key, boolean isNull) { + return puts(key+"{}", SQL.isNull(isNull)); } /** * trim = false * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean)} + * @return {@link #putsEmpty(String, boolean, boolean)} */ - public JSONObject putEmpty(String key, boolean isEmpty) { - return putEmpty(key, isEmpty, false); + public JSONObject putsEmpty(String key, boolean isEmpty) { + return putsEmpty(key, isEmpty, false); } /** - * encode = true * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean, boolean)} - */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim) { - return putEmpty(key, isEmpty, trim, true); - } - /** - * @param key - * @param isEmpty - * @param encode - * @return put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim, boolean encode) { - put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - return this; - } - /** - * encode = true - * @param key - * @param compare <=0, >5 ... - * @return {@link #putLength(String, String, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putLength(String key, String compare) { - return putLength(key, compare, true); + public JSONObject putsEmpty(String key, boolean isEmpty, boolean trim) { + return puts(key+"{}", SQL.isEmpty(key, isEmpty, trim)); } /** * @param key * @param compare <=0, >5 ... - * @param encode - * @return put(key+"{}", SQL.length(key) + compare, encode); + * @return {@link #puts(String, Object)} */ - public JSONObject putLength(String key, String compare, boolean encode) { - put(key+"{}", SQL.length(key) + compare, encode); - return this; + public JSONObject putsLength(String key, String compare) { + return puts(key+"{}", SQL.length(key) + compare); } /**设置搜索 * type = SEARCH_TYPE_CONTAIN_FULL * @param key * @param value - * @return {@link #putSearch(String, String, int)} + * @return {@link #putsSearch(String, String, int)} */ - public JSONObject putSearch(String key, String value) { - return putSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); + public JSONObject putsSearch(String key, String value) { + return putsSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); } /**设置搜索 - * encode = true * @param key * @param value * @param type - * @return {@link #putSearch(String, String, int, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putSearch(String key, String value, int type) { - return putSearch(key, value, type, true); + public JSONObject putsSearch(String key, String value, int type) { + return puts(key+"$", SQL.search(value, type)); } - /**设置搜索 + + //Request >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + /**puts key-value in object into this + * @param object + * @return this + */ + public JSONObject putsAll(Map map) { + putAll(map); + return this; + } + @Override + public void putAll(Map map) { + if (map != null && map.isEmpty() == false) { + super.putAll(map); + } + } + + + + /**put and return this + * @param value must be annotated by {@link MethodAccess} + * @return {@link #puts(String, boolean)} + */ + public JSONObject puts(Object value) { + return puts(null, value); + } + /**put and return this * @param key - * @param value - * @param type - * @param encode - * @return put(key+"$", SQL.search(value, type), encode); + * @param value + * @return this + * @see {@link #put(String, Object)} */ - public JSONObject putSearch(String key, String value, int type, boolean encode) { - put(key+"$", SQL.search(value, type), encode); + public JSONObject puts(String key, Object value) { + put(key, value); return this; } + + /**put and return value + * @param value must be annotated by {@link MethodAccess} + * @return {@link #put(String, boolean)} + */ + public Object put(Object value) { + return put(null, value); + } + /**put and return value + * @param key StringUtil.isEmpty(key, true) ? key = value.getClass().getSimpleName(); + * @param value + * @return value + */ + @Override + public Object put(String key, Object value) { + if (value == null) { + Log.e(TAG, "put value == null >> return null;"); + return null; + } + if (StringUtil.isEmpty(key, true)) { + Class clazz = value.getClass(); + if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { + throw new IllegalArgumentException("puts StringUtil.isNotEmpty(key, true) == false" + + " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + + " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + + " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + + " \n 如果是类似 key[]:{} 结构的请求,建议用 putsAll(...) !"); + } + key = value.getClass().getSimpleName(); + } + return super.put(key, value); + } - //Request,默认encode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java index 78b935560..5d33b681d 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java @@ -14,11 +14,14 @@ package zuo.biao.apijson; -/**encapsulator for request JSONObject, encode in default cases +import java.util.Map; + +/**wrapper for request * @author Lemon + * @see #puts * @see #toArray * @use JSONRequest request = new JSONRequest(...); - *
      request.put(...);//not a must + *
      request.puts(...);//not a must *
      request.toArray(...);//not a must */ public class JSONRequest extends JSONObject { @@ -28,51 +31,34 @@ public JSONRequest() { super(); } /** - * encode = true - * @param object must be annotated by {@link APIJSONRequest} + * @param object must be annotated by {@link MethodAccess} * @see {@link #JSONRequest(String, Object)} */ public JSONRequest(Object object) { this(null, object); } /** - * encode = true * @param name * @param object - * @see {@link #JSONRequest(String, Object, boolean)} + * @see {@link #puts(String, Object)} */ public JSONRequest(String name, Object object) { - this(name, object, true); - } - /** - * @param object must be annotated by {@link APIJSONRequest} - * @param encode - * @see {@link #JSONRequest(String, Object, boolean)} - */ - public JSONRequest(Object object, boolean encode) { - this(null, object, encode); - } - /** - * @param name - * @param object - * @param encode - * @see {@link #put(String, Object, boolean)} - */ - public JSONRequest(String name, Object object, boolean encode) { this(); - put(name, object, encode); + puts(name, object); } - - - + public static final String KEY_TAG = "tag";//只在最外层,最外层用JSONRequest - - public JSONObject setTag(String tag) { - put(KEY_TAG, tag); - return this; + + /**set "tag":tag in outermost layer + * for write operations + * @param tag + * @return + */ + public JSONRequest setTag(String tag) { + return puts(KEY_TAG, tag); } @@ -86,104 +72,67 @@ public JSONObject setTag(String tag) { public static final String KEY_COUNT = "count"; public static final String KEY_PAGE = "page"; - /** + /**set what to query in Array layer * @param query what need to query, Table,total,ALL? * @return + * @see {@link #QUERY_TABLE} + * @see {@link #QUERY_TOTAL} + * @see {@link #QUERY_ALL} */ public JSONRequest setQuery(int query) { - put(KEY_QUERY, query); - return this; + return puts(KEY_QUERY, query); } - /** - * @param count + /**set maximum count of Tables to query in Array layer + * @param count <= 0 || >= max ? max : count * @return */ public JSONRequest setCount(int count) { - put(KEY_COUNT, count); - return this; + return puts(KEY_COUNT, count); } - /** - * @param page + /**set page of Tables to query in Array layer + * @param page <= 0 ? 0 : page * @return */ public JSONRequest setPage(int page) { - put(KEY_PAGE, page); - return this; + return puts(KEY_PAGE, page); } //array object >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - // 导致JSONObject add >> get = null - // /** - // * decode = true - // * @param key - // * return {@link #get(Object, boolean)} - // */ - // @Override - // public Object get(Object key) { - // return get(key, true); - // } - - /** - * encode = true - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - @Override - public Object put(Object value) { - return put(value, true); - } - /** - * encode = true - * @param key - * @param value - * return {@link #put(String, Object, boolean)} - */ - @Override - public Object put(String key, Object value) { - return put(key, value, true); - } - - /**create a parent JSONObject named KEY_ARRAY - * encode = true; * @param count * @param page * @return {@link #toArray(int, int, boolean)} */ public JSONRequest toArray(int count, int page) { - return toArray(count, page, true); - } - /**create a parent JSONObject named KEY_ARRAY - * encode = true; - * @param count - * @param page - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, boolean encode) { - return toArray(count, page, null, encode); - } - /**create a parent JSONObject named name+KEY_ARRAY - * encode = true; - * @param count - * @param page - * @param name - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, String name) { - return toArray(count, page, name, true); + return toArray(count, page, null); } /**create a parent JSONObject named name+KEY_ARRAY. * @param count * @param page * @param name - * @param encode * @return {name+KEY_ARRAY : this}. if needs to be put, use {@link #add(com.alibaba.fastjson.JSONObject)} instead */ - public JSONRequest toArray(int count, int page, String name, boolean encode) { - return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page), encode); + public JSONRequest toArray(int count, int page, String name) { + return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page)); + } + + + @Override + public JSONObject putsAll(Map map) { + super.putsAll(map); + return this; + } + + @Override + public JSONRequest puts(Object value) { + return puts(null, value); + } + @Override + public JSONRequest puts(String key, Object value) { + super.puts(key, value); + return this; } } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java index 1135a3f9e..f9b6d3fc9 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java @@ -20,17 +20,16 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -/**parser for response JSON String +/**parser for response * @author Lemon + * @see #getObject * @see #getList - * @see #toArray * @use JSONResponse response = new JSONResponse(json); - *
      JSONArray array = JSONResponse.toArray(response.getJSONObject("[]"));//not a must - *
      User user = JSONResponse.getObject(response, User.class);//not a must - *
      List list = JSONResponse.getList(response.getJSONObject("Comment[]"), Comment.class);//not a must + *
      User user = response.getObject(User.class);//not a must + *
      List commenntList = response.getList("Comment[]", Comment.class);//not a must */ public class JSONResponse extends zuo.biao.apijson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; private static final String TAG = "JSONResponse"; @@ -46,26 +45,30 @@ public JSONResponse(JSONObject object) { //状态信息,非GET请求获得的信息<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final int CODE_SUCCEED = 200; - public static final int CODE_PARTIAL_SUCCEED = 206; - public static final int CODE_UNSUPPORTED_ENCODING = 400; - public static final int CODE_ILLEGAL_ACCESS = 401; - public static final int CODE_UNSUPPORTED_OPERATION = 403; - public static final int CODE_NOT_FOUND = 404; - public static final int CODE_ILLEGAL_ARGUMENT = 406; - public static final int CODE_NOT_LOGGED_IN = 407; - public static final int CODE_TIME_OUT = 408; - public static final int CODE_CONFLICT = 409; - public static final int CODE_CONDITION_ERROR = 412; - public static final int CODE_UNSUPPORTED_TYPE = 415; - public static final int CODE_OUT_OF_RANGE = 416; - public static final int CODE_NULL_POINTER = 417; - public static final int CODE_SERVER_ERROR = 500; - - + public static final int CODE_SUCCESS = 200; //成功 + public static final int CODE_UNSUPPORTED_ENCODING = 400; //编码错误 + public static final int CODE_ILLEGAL_ACCESS = 401; //权限错误 + public static final int CODE_UNSUPPORTED_OPERATION = 403; //禁止操作 + public static final int CODE_NOT_FOUND = 404; //未找到 + public static final int CODE_ILLEGAL_ARGUMENT = 406; //参数错误 + public static final int CODE_NOT_LOGGED_IN = 407; //未登录 + public static final int CODE_TIME_OUT = 408; //超时 + public static final int CODE_CONFLICT = 409; //重复,已存在 + public static final int CODE_CONDITION_ERROR = 412; //条件错误,如密码错误 + public static final int CODE_UNSUPPORTED_TYPE = 415; //类型错误 + public static final int CODE_OUT_OF_RANGE = 416; //超出范围 + public static final int CODE_NULL_POINTER = 417; //对象为空 + public static final int CODE_SERVER_ERROR = 500; //服务器内部错误 + + + public static final String MSG_SUCCEED = "success"; //成功 + public static final String MSG_SERVER_ERROR = "Internal Server Error!"; //服务器内部错误 + + public static final String KEY_CODE = "code"; public static final String KEY_MSG = "msg"; public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; public static final String KEY_COUNT = "count"; public static final String KEY_TOTAL = "total"; @@ -124,22 +127,22 @@ public int getTotal() { /**是否成功 * @return */ - public boolean isSucceed() { - return isSucceed(getCode()); + public boolean isSuccess() { + return isSuccess(getCode()); } /**是否成功 * @param code * @return */ - public static boolean isSucceed(int code) { - return code == CODE_SUCCEED; + public static boolean isSuccess(int code) { + return code == CODE_SUCCESS; } /**是否成功 * @param response * @return */ - public static boolean isSucceed(JSONResponse response) { - return response != null && response.isSucceed(); + public static boolean isSuccess(JSONResponse response) { + return response != null && response.isSuccess(); } /**校验服务端是否存在table @@ -256,213 +259,110 @@ public static List getList(JSONObject object, Class clazz) { * @return */ public static List getList(JSONObject object, String key, Class clazz) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? JSON.parseArray((JSONArray) obj, clazz) : toList((JSONObject) obj, clazz); - } - /** - * @param clazz - * @return - */ - public List toList(Class clazz) { - return toList(this, clazz); - } - /** - * @param arrayObject - * @param clazz - * @return - */ - public static List toList(JSONObject arrayObject, Class clazz) { - return clazz == null ? null : JSON.parseArray(JSON.toJSONString( - toArray(arrayObject, clazz.getSimpleName())), clazz); + return object == null ? null : JSON.parseArray(object.getString(replaceArray(key)), clazz); } /** * key = KEY_ARRAY - * @param className * @return */ - public JSONArray getArray(String className) { - return getArray(KEY_ARRAY, className); + public JSONArray getArray() { + return getArray(KEY_ARRAY); } /** * @param key - * @param className * @return */ - public JSONArray getArray(String key, String className) { - return getArray(this, key, className); + public JSONArray getArray(String key) { + return getArray(this, key); } /** * @param object - * @param key - * @param className * @return */ - public static JSONArray getArray(JSONObject object, String className) { - return getArray(object, KEY_ARRAY, className); + public static JSONArray getArray(JSONObject object) { + return getArray(object, KEY_ARRAY); } /** * key = KEY_ARRAY * @param object - * @param className - * @return - */ - public static JSONArray getArray(JSONObject object, String key, String className) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? (JSONArray) obj : toArray((JSONObject) obj, className); - } - - /** - * @param className - * @return - */ - public JSONArray toArray(String className) { - return toArray(this, className); - } - /**{0:{Table:{}}, 1:{Table:{}}...} 转化为 [{Table:{}}, {Table:{}}] - * array.set(index, isContainer ? value : value.getJSONObject(className)); - * @param arrayObject - * @param className className.equals(Table) ? {Table:{Content}} => {Content} + * @param key * @return */ - public static JSONArray toArray(JSONObject arrayObject, String className) { - Set set = arrayObject == null ? null : arrayObject.keySet(); - if (set == null || set.isEmpty()) { - return null; - } - - // [{...},{...},...] - String parentString = StringUtil.getTrimedString(JSON.toJSONString(arrayObject)); - if (parentString.isEmpty()) { - return null; - } - if (parentString.startsWith("[")) { - if (parentString.endsWith("]") == false) { - parentString += "]"; - } - return JSON.parseArray(parentString); - } - - //{"0":{Table:{...}}, "1":{Table:{...}}...} - - className = StringUtil.getTrimedString(className); - boolean isContainer = true; - - JSONArray array = new JSONArray(set.size()); - JSONObject value; - boolean isFirst = true; - int index; - for (String key : set) {//0, 1, 2,... - value = StringUtil.isNumer(key) == false ? null : arrayObject.getJSONObject(key);// Table:{} - if (value != null) { - try { - index = Integer.valueOf(0 + key); - if (isFirst && isTableKey(className) && value.containsKey(className)) {// 判断是否需要提取table - isContainer = false; - } - array.set(index, isContainer ? value : value.getJSONObject(className)); - } catch (Exception e) { - e.printStackTrace(); - } - } - isFirst = false; - } - return array; + public static JSONArray getArray(JSONObject object, String key) { + return object == null ? null : object.getJSONArray(replaceArray(key)); } - // /** // * @return // */ // public JSONObject format() { // return format(this); // } - /**将Item[]:[{Table:{}}, {Table:{}}...] 或 Item[]:{0:{Table:{}}, 1:{Table:{}}...} - * 转化为 itemList:[{Table:{}}, {Table:{}}],如果 Item.equals(Table),则将 {Table:{Content}} 转化为 {Content} - * @param target - * @param response + /**格式化key名称 + * @param object * @return */ - public static JSONObject format(final JSONObject response) { - //太长查看不方便,不如debug Log.i(TAG, "format response = \n" + JSON.toJSONString(response)); - if (response == null || response.isEmpty()) { - Log.i(TAG, "format response == null || response.isEmpty() >> return response;"); - return response; + public static JSONObject format(final JSONObject object) { + //太长查看不方便,不如debug Log.i(TAG, "format object = \n" + JSON.toJSONString(object)); + if (object == null || object.isEmpty()) { + Log.i(TAG, "format object == null || object.isEmpty() >> return object;"); + return object; } - JSONObject transferredObject = new JSONObject(true); + JSONObject formatedObject = new JSONObject(true); - Set set = response.keySet(); + Set set = object.keySet(); if (set != null) { Object value; - String arrayKey; for (String key : set) { - value = response.get(key); - - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredObject.put(replaceArray(key), format(key, (JSONArray) value)); - } else if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray - if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray - arrayKey = key.substring(0, key.lastIndexOf(KEY_ARRAY)); - transferredObject.put(getArrayKey(getSimpleName(arrayKey)) - , format(key, toArray((JSONObject) value, arrayKey)));//需要将name:alias传至toArray - } else {//常规JSONObject,往下一级提取 - transferredObject.put(getSimpleName(key), format((JSONObject) value)); - } - } else {//其它Object,直接填充 - transferredObject.put(getSimpleName(key), value); + value = object.get(key); + + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedObject.put(replaceArray(key), format((JSONArray) value)); + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedObject.put(getSimpleName(key), format((JSONObject) value)); + } + else {//其它Object,直接填充 + formatedObject.put(getSimpleName(key), value); } } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredObject = " + JSON.toJSONString(transferredObject)); - return transferredObject; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedObject = " + JSON.toJSONString(formatedObject)); + return formatedObject; } - /** - * @param responseArray + /**格式化key名称 + * @param array * @return */ - public static JSONArray format(String name, final JSONArray responseArray) { - //太长查看不方便,不如debug Log.i(TAG, "format responseArray = \n" + JSON.toJSONString(responseArray)); - if (responseArray == null || responseArray.isEmpty()) { - Log.i(TAG, "format responseArray == null || responseArray.isEmpty() >> return response;"); - return responseArray; + public static JSONArray format(final JSONArray array) { + //太长查看不方便,不如debug Log.i(TAG, "format array = \n" + JSON.toJSONString(array)); + if (array == null || array.isEmpty()) { + Log.i(TAG, "format array == null || array.isEmpty() >> return array;"); + return array; } - int index = name == null ? -1 : name.lastIndexOf(KEY_ARRAY); - String className = index < 0 ? "" : name.substring(0, index); - - JSONArray transferredArray = new JSONArray(); + JSONArray formatedArray = new JSONArray(); Object value; - boolean isContainer = true; - boolean isFirst = true; - for (int i = 0; i < responseArray.size(); i++) { - value = responseArray.get(i); - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredArray.add(format(null, (JSONArray) value)); - } else if (value instanceof JSONObject) {//JSONObject,往下一级提取 - //判断是否需要提取child - if (isFirst && isTableKey(className) && ((JSONObject) value).containsKey(className)) { - isContainer = false; - } - //直接添加child 或 添加提取出的child - transferredArray.add(format(isContainer ? (JSONObject)value : ((JSONObject)value).getJSONObject(className) )); - isFirst = false; - } else {//其它Object,直接填充 - transferredArray.add(responseArray.get(i)); + for (int i = 0; i < array.size(); i++) { + value = array.get(i); + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedArray.add(format((JSONArray) value)); + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedArray.add(format((JSONObject) value)); + } + else {//其它Object,直接填充 + formatedArray.add(value); } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredArray = " + JSON.toJSONString(transferredArray)); - return transferredArray; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedArray = " + JSON.toJSONString(formatedArray)); + return formatedArray; } /**替换key+KEY_ARRAY为keyList @@ -485,7 +385,7 @@ public static String getArrayKey(String key) { /**获取简单名称 * @param fullName name 或 name:alias - * @return name > name; name:alias > alias + * @return name => name; name:alias => alias */ public static String getSimpleName(String fullName) { //key:alias -> alias; key:alias[] -> alias[] diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java index 1cf14dc6e..4d3054bc2 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java @@ -14,6 +14,10 @@ package zuo.biao.apijson; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; import static zuo.biao.apijson.RequestRole.ADMIN; @@ -23,10 +27,6 @@ import static zuo.biao.apijson.RequestRole.OWNER; import static zuo.biao.apijson.RequestRole.UNKNOWN; -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - /**请求方法权限,只允许某些角色通过对应方法访问 * @author Lemon */ @@ -34,40 +34,40 @@ @Retention(RUNTIME) @Target(TYPE) public @interface MethodAccess { - + /**@see {@link RequestMethod#GET} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] GET() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - + /**@see {@link RequestMethod#HEAD} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - + /**@see {@link RequestMethod#POST_GET} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - + /**@see {@link RequestMethod#POST_HEAD} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST} - * @return 该请求方法允许的结构 default {LOGIN, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, ADMIN}; */ RequestRole[] POST() default {LOGIN, ADMIN}; /**@see {@link RequestMethod#PUT} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] PUT() default {OWNER, ADMIN}; - + /**@see {@link RequestMethod#DELETE} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] DELETE() default {OWNER, ADMIN}; - + } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java index 11f928134..13182f99d 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java @@ -29,13 +29,13 @@ public enum RequestMethod { */ HEAD, - /** - * 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为GETS + * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_GET, - /** - * 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为HEADS + * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_HEAD, diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/SQL.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/SQL.java index 63f532b52..a9da023e5 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/SQL.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/SQL.java @@ -22,8 +22,16 @@ public class SQL { public static final String OR = " OR "; public static final String AND = " AND "; public static final String NOT = " NOT "; + public static final String AS = " AS "; public static final String IS = " is "; public static final String NULL = " null "; + + //括号必须紧跟函数名! count (...) 报错! + public static final String COUNT = "count"; + public static final String SUM = "sum"; + public static final String MAX = "max"; + public static final String MIN = "min"; + public static final String AVG = "avg"; /** * isNull = true @@ -34,7 +42,7 @@ public static String isNull() { } /** * @param isNull - * @return IS + (isNull ? "" : NOT) + NULL; + * @return {@link #IS} + (isNull ? "" : {@link #NOT}) + {@link #NULL}; */ public static String isNull(boolean isNull) { return IS + (isNull ? "" : NOT) + NULL; @@ -87,7 +95,7 @@ public static String isEmpty(String s, boolean isEmpty, boolean trim) { * @param s * @param isEmpty <=0 * @param trim s = trim(s); - * @param nullable isNull(s, true) + OR + + * @param nullable isNull(s, true) + {@link #OR} + * @return {@link #lengthCompare(String, String)} */ public static String isEmpty(String s, boolean isEmpty, boolean trim, boolean nullable) { @@ -171,30 +179,30 @@ public static String subString(String s, int start, int end) { /** * @param s - * @param c - * @return "instr(" + s + "," + c + ")" + * @param c -> 'c' + * @return "instr(" + s + ", '" + c + "')" */ public static String indexOf(String s, String c) { - return "instr(" + s + "," + c + ")"; + return "instr(" + s + ", '" + c + "')"; } /** * @param s - * @param c1 - * @param c2 - * @return + * @param c1 -> 'c1' + * @param c2 -> 'c2' + * @return "replace(" + s + ", '" + c1 + "', '" + c2 + "')" */ public static String replace(String s, String c1, String c2) { - return "replace(" + s + "," + c1 + "," + c2 + ")"; + return "replace(" + s + ", '" + c1 + "', '" + c2 + "')"; } /** * @param s1 - * @param s2 - * @return "strcmp(" + s1 + "," + s2 + ")" + * @param s2 -> 's2' + * @return "strcmp(" + s1 + ", '" + s2 + "')" */ public static String equals(String s1, String s2) { - return "strcmp(" + s1 + "," + s2 + ")"; + return "strcmp(" + s1 + ", '" + s2 + "')"; } /** @@ -212,9 +220,98 @@ public static String toLowerCase(String s) { return "lower(" + s + ")"; } + + + //column and function<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + /**字段 + * @param column + * @return column.isEmpty() ? "*" : column; + */ + public static String column(String column) { + column = StringUtil.getTrimedString(column); + return column.isEmpty() ? "*" : column; + } + /**有别名的字段 + * @param column + * @return {@link #count(String)} + {@link #AS}; + */ + public static String columnAs(String column) { + return count(column) + AS; + } + + /**函数 + * @param column if (StringUtil.isEmpty(column, true) || column.contains(",")) -> column = null; + * @return " " + fun + "(" + {@link #column(String)} + ") "; + */ + public static String function(String fun, String column) { + if (StringUtil.isEmpty(column, true) || column.contains(",")) { + column = null; //解决 count(id,name) 这种多个字段导致的SQL异常 + } + return " " + fun + "(" + column(column) + ") "; + } + /**有别名的函数 + * @param column + * @return {@link #function(String, String)} + {@link #AS} + fun; + */ + public static String functionAs(String fun, String column) { + return function(fun, column) + AS + fun + " "; + } + + /**计数 + * column = null + * @return {@link #count(String)} + */ + public static String count() { + return count(null); + } + /**计数 + * fun = {@link #COUNT} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String count(String column) { + return functionAs(COUNT, column); + } + /**求和 + * fun = {@link #SUM} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String sum(String column) { + return functionAs(SUM, column); + } + /**最大值 + * fun = {@link #MAX} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String max(String column) { + return functionAs(MAX, column); + } + /**最小值 + * fun = {@link #MIN} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String min(String column) { + return functionAs(MIN, column); + } + /**平均值 + * fun = {@link #AVG} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String avg(String column) { + return functionAs(AVG, column); + } - + //column and function>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + //search<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public static final int SEARCH_TYPE_CONTAIN_FULL = 0; public static final int SEARCH_TYPE_CONTAIN_ORDER = 1; @@ -286,5 +383,7 @@ public static String search(String s, int type, boolean ignoreCase) { return "%" + s + "%"; } } + + //search>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java index 538db3e06..205d6436f 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java @@ -17,7 +17,6 @@ import java.io.File; import java.math.BigDecimal; import java.text.DecimalFormat; -import java.util.regex.Matcher; import java.util.regex.Pattern; /**通用字符串(String)相关类,为null时返回"" @@ -100,7 +99,7 @@ public static String getString(String s) { * @param array * @return {@link #getString(String[], boolean)} */ - public static String getString(String[] array) { + public static String getString(Object[] array) { return getString(array, false); } /**获取string,为null则返回"" @@ -109,7 +108,7 @@ public static String getString(String[] array) { * @param ignoreEmptyItem * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, boolean ignoreEmptyItem) { + public static String getString(Object[] array, boolean ignoreEmptyItem) { return getString(array, null, ignoreEmptyItem); } /**获取string,为null则返回"" @@ -118,7 +117,7 @@ public static String getString(String[] array, boolean ignoreEmptyItem) { * @param split * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, String split) { + public static String getString(Object[] array, String split) { return getString(array, split, false); } /**获取string,为null则返回"" @@ -127,7 +126,7 @@ public static String getString(String[] array, String split) { * @param ignoreEmptyItem * @return */ - public static String getString(String[] array, String split, boolean ignoreEmptyItem) { + public static String getString(Object[] array, String split, boolean ignoreEmptyItem) { String s = ""; if (array != null) { if (split == null) { @@ -304,43 +303,74 @@ public static boolean isNotEmpty(String s, boolean trim) { //判断字符类型 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final Pattern ALPHA_PATTERN; - public static final Pattern NAME_PATTERN; - public static final Pattern BIG_ALPHA_PATTERN; - public static final Pattern SMALL_ALPHA_PATTERN; + public static final Pattern PATTERN_NUMBER; + public static final Pattern PATTERN_PHONE; + public static final Pattern PATTERN_EMAIL; + public static final Pattern PATTERN_ID_CARD; + public static final Pattern PATTERN_ALPHA; + public static final Pattern PATTERN_PASSWORD; //TODO + public static final Pattern PATTERN_NAME; + public static final Pattern PATTERN_ALPHA_BIG; + public static final Pattern PATTERN_ALPHA_SMALL; static { - ALPHA_PATTERN = Pattern.compile("[a-zA-Z]"); - NAME_PATTERN = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过 - BIG_ALPHA_PATTERN = Pattern.compile("[A-Z]"); - SMALL_ALPHA_PATTERN = Pattern.compile("[a-z]"); - } - - //判断手机格式是否正确 + PATTERN_NUMBER = Pattern.compile("^[0-9]+$"); + PATTERN_ALPHA = Pattern.compile("^[a-zA-Z]+$"); + PATTERN_ALPHA_BIG = Pattern.compile("^[A-Z]+$"); + PATTERN_ALPHA_SMALL = Pattern.compile("^[a-z]+$"); + PATTERN_NAME = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过 + PATTERN_PHONE = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-2,5-9])|(17[0-9]))\\d{8}$"); + PATTERN_EMAIL = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); + PATTERN_ID_CARD = Pattern.compile("(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)"); + PATTERN_PASSWORD = Pattern.compile("^[0-9a-zA-Z]+$"); + } + + /**判断手机格式是否正确 + * @param phone + * @return + */ public static boolean isPhone(String phone) { if (isNotEmpty(phone, true) == false) { return false; } - Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-2,5-9])|(17[0-9]))\\d{8}$"); - currentString = phone; - - return p.matcher(phone).matches(); + return PATTERN_PHONE.matcher(phone).matches(); + } + /**判断手机格式是否正确 + * @param s + * @return + */ + public static boolean isPassword(String s) { + return getLength(s, false) >= 6 && PATTERN_PASSWORD.matcher(s).matches(); } - //判断email格式是否正确 + /**判断是否全是数字密码 + * @param s + * @return + */ + public static boolean isNumberPassword(String s) { + return getLength(s, false) == 6 && isNumer(s); + } + /**判断email格式是否正确 + * @param email + * @return + */ public static boolean isEmail(String email) { if (isNotEmpty(email, true) == false) { return false; } - String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"; - Pattern p = Pattern.compile(str); - currentString = email; - - return p.matcher(email).matches(); + return PATTERN_EMAIL.matcher(email).matches(); } + + /**判断是否全是验证码 + * @param s + * @return + */ + public static boolean isVerify(String s) { + return getLength(s, false) >= 4 && isNumer(s); + } /**判断是否全是数字 * @param s * @return @@ -350,39 +380,20 @@ public static boolean isNumer(String s) { return false; } - Pattern pattern = Pattern.compile("[0-9]"); - Matcher matcher; - for (int i = 0; i < s.length(); i++) { - matcher = pattern.matcher(s.substring(i, i+1)); - if(! matcher.matches()){ - return false; - } - } - currentString = s; - - return true; + return PATTERN_NUMBER.matcher(s).matches(); } /**判断是否全是字母 * @param s * @return */ public static boolean isAlpha(String s) { - if (s == null) { - Log.i(TAG, "isNumberOrAlpha inputed == null >> return false;"); + if (isEmpty(s, true)) { return false; } - Pattern pAlpha = Pattern.compile("[a-zA-Z]"); - Matcher mAlpha; - for (int i = 0; i < s.length(); i++) { - mAlpha = pAlpha.matcher(s.substring(i, i+1)); - if(! mAlpha.matches()){ - return false; - } - } currentString = s; - return true; + return PATTERN_ALPHA.matcher(s).matches(); } /**判断是否全是数字或字母 * @param s @@ -392,53 +403,53 @@ public static boolean isNumberOrAlpha(String s) { return isNumer(s) || isAlpha(s); } - /**判断是否为单词,只能包含字母,数字或下划线 + /**判断是否为代码名称,只能包含字母,数字或下划线 * @param s * @return */ - public static boolean isWord(String s) { - return s != null && NAME_PATTERN.matcher(s).matches(); + public static boolean isName(String s) { + return s != null && PATTERN_NAME.matcher(s).matches(); } - /**判断是否为首字母大写的单词 + /**判断是否为首字母大写的代码名称 * @param key * @return */ - public static boolean isBigWord(String s) { + public static boolean isBigName(String s) { s = getString(s); - if (s.isEmpty() || BIG_ALPHA_PATTERN.matcher(s.substring(0, 1)).matches() == false) { + if (s.isEmpty() || PATTERN_ALPHA_BIG.matcher(s.substring(0, 1)).matches() == false) { return false; } - return s.length() <= 1 ? true : isWord(s.substring(1)); + return s.length() <= 1 ? true : isName(s.substring(1)); } - /**判断是否为首字母小写的单词 + /**判断是否为首字母小写的代码名称 * @param key * @return */ - public static boolean isSmallWord(String s) { + public static boolean isSmallName(String s) { s = getString(s); - if (s.isEmpty() || SMALL_ALPHA_PATTERN.matcher(s.substring(0, 1)).matches() == false) { + if (s.isEmpty() || PATTERN_ALPHA_SMALL.matcher(s.substring(0, 1)).matches() == false) { return false; } - return s.length() <= 1 ? true : isWord(s.substring(1)); + return s.length() <= 1 ? true : isName(s.substring(1)); } /**判断字符类型是否是身份证号 - * @param idCard + * @param number * @return */ - public static boolean isIDCard(String idCard) { - if (isNumberOrAlpha(idCard) == false) { + public static boolean isIDCard(String number) { + if (isNumberOrAlpha(number) == false) { return false; } - idCard = getString(idCard); - if (idCard.length() == 15) { - Log.i(TAG, "isIDCard idCard.length() == 15 old IDCard"); - currentString = idCard; + number = getString(number); + if (number.length() == 15) { + Log.i(TAG, "isIDCard number.length() == 15 old IDCard"); + currentString = number; return true; } - if (idCard.length() == 18) { - currentString = idCard; + if (number.length() == 18) { + currentString = number; return true; } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/client/package-info.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/client/package-info.java deleted file mode 100644 index 84599fa4a..000000000 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/client/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -/** - * files for client projects - */ -/** - * @author Lemon - * - */ -package zuo.biao.apijson.client; \ No newline at end of file diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/LoginActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/LoginActivity.java index 977e44d92..aca78ba97 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/LoginActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/LoginActivity.java @@ -174,7 +174,7 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { JSONResponse response = new JSONResponse(resultJson); User user = response.getObject(User.class); - if (response.isSucceed() == false) { + if (response.isSuccess() == false) { switch (response.getCode()) { case JSONResponse.CODE_NOT_FOUND: showShortToast("账号不存在,请先注册"); diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MineFragment.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MineFragment.java index cd22c9796..ab7849bf9 100755 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MineFragment.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MineFragment.java @@ -43,7 +43,6 @@ import apijson.demo.client.application.APIJSONApplication; import apijson.demo.client.base.BaseFragment; import apijson.demo.client.interfaces.TopBarMenuCallback; -import apijson.demo.client.model.Login; import apijson.demo.client.model.User; import apijson.demo.client.util.HttpRequest; @@ -320,8 +319,8 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { } switch (requestCode) { case HTTP_LOUOUT: - JSONResponse response = new JSONResponse(resultJson).getJSONResponse(Login.class.getSimpleName()); - boolean succeed = JSONResponse.isSucceed(response); + JSONResponse response = new JSONResponse(resultJson).getJSONResponse(User.class.getSimpleName()); + boolean succeed = JSONResponse.isSuccess(response); Log.d(TAG, succeed ? "服务端退出成功" : "服务端退出失败"); showShortToast(succeed ? "服务端退出成功" : "服务端退出失败"); break; diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MomentActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MomentActivity.java index b7db3805d..26c835e64 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MomentActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MomentActivity.java @@ -14,6 +14,23 @@ package apijson.demo.client.activity_fragment; +import java.util.List; + +import zuo.biao.apijson.JSONResponse; +import zuo.biao.library.base.BaseHttpListActivity; +import zuo.biao.library.base.BaseView.OnDataChangedListener; +import zuo.biao.library.interfaces.AdapterCallBack; +import zuo.biao.library.interfaces.CacheCallBack; +import zuo.biao.library.interfaces.OnBottomDragListener; +import zuo.biao.library.manager.CacheManager; +import zuo.biao.library.manager.HttpManager.OnHttpResponseListener; +import zuo.biao.library.ui.AlertDialog; +import zuo.biao.library.ui.AlertDialog.OnDialogButtonClickListener; +import zuo.biao.library.util.CommonUtil; +import zuo.biao.library.util.EditTextUtil; +import zuo.biao.library.util.Log; +import zuo.biao.library.util.SettingUtil; +import zuo.biao.library.util.StringUtil; import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -25,9 +42,6 @@ import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.EditText; - -import java.util.List; - import apijson.demo.client.R; import apijson.demo.client.adapter.CommentAdapter; import apijson.demo.client.application.APIJSONApplication; @@ -40,22 +54,7 @@ import apijson.demo.client.util.HttpRequest; import apijson.demo.client.view.CommentView.OnCommentClickListener; import apijson.demo.client.view.MomentView; -import zuo.biao.apijson.JSON; -import zuo.biao.apijson.JSONResponse; -import zuo.biao.library.base.BaseHttpListActivity; -import zuo.biao.library.base.BaseView.OnDataChangedListener; -import zuo.biao.library.interfaces.AdapterCallBack; -import zuo.biao.library.interfaces.CacheCallBack; -import zuo.biao.library.interfaces.OnBottomDragListener; -import zuo.biao.library.manager.CacheManager; -import zuo.biao.library.manager.HttpManager.OnHttpResponseListener; -import zuo.biao.library.ui.AlertDialog; -import zuo.biao.library.ui.AlertDialog.OnDialogButtonClickListener; -import zuo.biao.library.util.CommonUtil; -import zuo.biao.library.util.EditTextUtil; -import zuo.biao.library.util.Log; -import zuo.biao.library.util.SettingUtil; -import zuo.biao.library.util.StringUtil; +import apijson.demo.server.model.BaseModel; /**用户列表界面fragment * @author Lemon @@ -351,7 +350,7 @@ private void deleteComment(CommentItem commentItem) { Log.e(TAG, "deleteComment id <= 0 >> return;"); return; } - HttpRequest.deleteComment(id, HTTP_DELETE, this); + HttpRequest.deleteComment(id, BaseModel.value(commentItem.getUserId()), HTTP_DELETE, this); } @@ -367,7 +366,7 @@ public void getListAsync(final int page) { @Override public List parseArray(String json) { - return JSON.parseArray(new JSONResponse(json).getArray(CommentItem.class.getSimpleName()), CommentItem.class); + return new JSONResponse(json).getList(CommentItem.class); } @Override @@ -520,7 +519,7 @@ public void run() { if (requestCode == HTTP_GET_MOMENT) { MomentItem data = JSONResponse.toObject(response, MomentItem.class); if (data == null || data.getId() <= 0) { - if (JSONResponse.isSucceed(response)) { + if (JSONResponse.isSuccess(response)) { showShortToast("动态不存在"); MomentActivity.super.finish();//需要动画,且不需要保存缓存 return; @@ -534,7 +533,7 @@ public void run() { JSONResponse comment = response.getJSONResponse(Comment.class.getSimpleName()); - final boolean succeed = JSONResponse.isSucceed(comment); + final boolean succeed = JSONResponse.isSuccess(comment); String operation = "操作"; switch (requestCode) { case HTTP_COMMENT: // 新增评论 diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MomentListFragment.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MomentListFragment.java index 881f9768e..e4c98989a 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MomentListFragment.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/MomentListFragment.java @@ -367,7 +367,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { JSONRequest search = new JSONRequest(); if (StringUtil.isNotEmpty(value, true)) { split = ":"; - search.putSearch(HttpRequest.CONTENT, value, SQL.SEARCH_TYPE_CONTAIN_ORDER); + search.putsSearch(HttpRequest.CONTENT, value, SQL.SEARCH_TYPE_CONTAIN_ORDER); } toActivity(MomentListActivity.createIntent(context, range, id, search, false) .putExtra(INTENT_TITLE, "搜索" + split + value)); diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/NumberPasswordActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/NumberPasswordActivity.java index 19fdb9769..80af3e746 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/NumberPasswordActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/NumberPasswordActivity.java @@ -33,7 +33,7 @@ import android.widget.TextView; import apijson.demo.client.R; import apijson.demo.client.util.HttpRequest; -import apijson.demo.server.model.Password; +import apijson.demo.server.model.Privacy; /**支付密码设置界面activity * @author Lemon @@ -312,7 +312,7 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { dismissProgressDialog(); switch (requestCode) { case HTTP_SET_PASSWORD: - if (response.isSucceed()) { + if (response.isSuccess()) { showShortToast(R.string.change_succeed); saveAndExit(true); } else { @@ -371,7 +371,7 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { if (data != null) { password = data.getStringExtra(NumberPasswordActivity.RESULT_PASSWORD); if (StringUtil.isNotEmpty(password, true)) { - HttpRequest.setPassword(Password.TYPE_PAY, password, phone, verify + HttpRequest.setPassword(Privacy.PASSWORD_TYPE_PAY, password, phone, verify , HTTP_SET_PASSWORD, this); } } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/PasswordActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/PasswordActivity.java index b8990d3ec..cb9ced32f 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/PasswordActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/PasswordActivity.java @@ -351,7 +351,7 @@ public void onHttpResponse(int requestCode, String resultJson, Exception e) { @Override public void run() { showVerifyGet(false); - if (JSONResponse.isSucceed(response2) == false) { + if (JSONResponse.isSuccess(response2) == false) { showShortToast(R.string.get_failed); } else if (JSONResponse.isExist(response2)) { if (type == TYPE_REGISTER) { @@ -412,7 +412,7 @@ public void run() { case HTTP_REGISTER: User user = response.getObject(User.class); dismissProgressDialog(); - if (user == null || user.getId() <= 0 || JSONResponse.isSucceed( + if (user == null || user.getId() <= 0 || JSONResponse.isSuccess( response.getJSONResponse(User.class.getSimpleName())) == false) { if (response.getCode() == CODE_TIME_OUT || response.getCode() == 412) { EditTextUtil.showInputedError(context, etPasswordVerify @@ -430,7 +430,7 @@ public void run() { case HTTP_RESET_PASSWORD: response2 = response.getJSONResponse(Privacy.class.getSimpleName()); dismissProgressDialog(); - if (JSONResponse.isSucceed(response2) == false) { + if (JSONResponse.isSuccess(response2) == false) { EditTextUtil.showInputedError(context, etPasswordVerify , response.getCode() == CODE_TIME_OUT ? "验证码已过期" : "验证码错误"); } else { diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/UserActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/UserActivity.java index a2edbe8c3..0e2b5aae1 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/UserActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/UserActivity.java @@ -450,14 +450,14 @@ public void onBottomMenuItemClick(int intentCode) { public void onHttpResponse(int requestCode, String resultJson, Exception e) { JSONResponse response = new JSONResponse(resultJson); JSONResponse response2 = response.getJSONResponse(User.class.getSimpleName()); - boolean isSucceed = JSONResponse.isSucceed(response2); + boolean isSucceed = JSONResponse.isSuccess(response2); dismissProgressDialog(); switch (requestCode) { case HTTP_GET: User user = response.getObject(User.class); if (user == null || user.getId() <= 0) { - if (JSONResponse.isSucceed(response)) { + if (JSONResponse.isSuccess(response)) { showShortToast("用户已注销"); super.finish();//需要动画,且不需要保存缓存 return; diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/UserListFragment.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/UserListFragment.java index 0ea1fe1c4..8c4cf8091 100755 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/UserListFragment.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/UserListFragment.java @@ -383,9 +383,9 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { if (StringUtil.isNotEmpty(value, true)) { split = ":"; if (isSearch) { - search.putSearch(HttpRequest.NAME, value); + search.putsSearch(HttpRequest.NAME, value); } else { - search.put(HttpRequest.PHONE, value); + search.puts(HttpRequest.PHONE, value); } } intent = isSearch diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/WalletActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/WalletActivity.java index 9b6ed6256..312d1987c 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/WalletActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/activity_fragment/WalletActivity.java @@ -29,7 +29,6 @@ import android.view.View.OnClickListener; import android.widget.TextView; import apijson.demo.client.R; -import apijson.demo.client.model.Wallet; import apijson.demo.client.util.HttpRequest; import apijson.demo.server.model.Privacy; @@ -167,7 +166,7 @@ public void onHttpResponse(final int requestCode, final String resultJson, Excep public void run() { JSONResponse response = new JSONResponse(resultJson); - isSucceed = JSONResponse.isSucceed(response); + isSucceed = JSONResponse.isSuccess(response); dismissProgressDialog(); switch (requestCode) { diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/manager/HttpManager.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/manager/HttpManager.java index fbd9631a7..4752a0447 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/manager/HttpManager.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/manager/HttpManager.java @@ -15,37 +15,32 @@ package apijson.demo.client.manager; -import android.content.Context; -import android.os.AsyncTask; -import android.text.TextUtils; - -import com.squareup.okhttp.MediaType; -import com.squareup.okhttp.OkHttpClient; -import com.squareup.okhttp.Request; -import com.squareup.okhttp.RequestBody; -import com.squareup.okhttp.Response; - -import org.json.JSONException; -import org.json.JSONObject; - import java.io.IOException; import java.net.CookieHandler; import java.net.URI; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; -import apijson.demo.client.application.APIJSONApplication; -import zuo.biao.apijson.JSON; -import zuo.biao.apijson.JSONRequest; +import org.json.JSONException; + import zuo.biao.apijson.StringUtil; import zuo.biao.library.manager.HttpManager.OnHttpResponseListener; import zuo.biao.library.util.Log; +import android.content.Context; +import android.os.AsyncTask; +import android.text.TextUtils; +import apijson.demo.client.application.APIJSONApplication; -import static zuo.biao.apijson.StringUtil.UTF_8; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.squareup.okhttp.MediaType; +import com.squareup.okhttp.OkHttpClient; +import com.squareup.okhttp.Request; +import com.squareup.okhttp.RequestBody; +import com.squareup.okhttp.Response; /**HTTP请求管理类 * @author Lemon @@ -85,58 +80,6 @@ public static HttpManager getInstance() { public static final String KEY_COOKIE = "cookie"; - /**GET请求 - * @param url_ 接口url - * @param request 请求 - * @param requestCode - * 请求码,类似onActivityResult中请求码,当同一activity中以实现接口方式发起多个网络请求时,请求结束后都会回调 - * {@link OnHttpResponseListener#onHttpResponse(int, String, Exception)}
      - * 在发起请求的类中可以用requestCode来区分各个请求 - * @param listener - */ - public void get(final String url_, final com.alibaba.fastjson.JSONObject request - , final int requestCode, final OnHttpResponseListener listener) { - new AsyncTask() { - - String result; - @Override - protected Exception doInBackground(Void... params) { - String body = request == null || request.isEmpty() ? null : JSON.toJSONString(request); - Log.d(TAG, "\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n get url = " + url_ + "\n request = \n" + body); - try { - String url = StringUtil.getNoBlankString(url_) - + (body == null ? "" : URLEncoder.encode(StringUtil.getNoBlankString(body), UTF_8)); - StringBuffer sb = new StringBuffer(); - sb.append(url); - - OkHttpClient client = getHttpClient(url); - if (client == null) { - return new Exception(TAG + ".get AsyncTask.doInBackground client == null >> return;"); - } - - result = getResponseJson(client, new Request.Builder() - .addHeader(KEY_TOKEN, getToken(url)) - .url(sb.toString()).build()); - Log.d(TAG, "\n get result = \n" + result + "\n >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n"); - } catch (Exception e) { - Log.e(TAG, "get AsyncTask.doInBackground try { result = getResponseJson(..." + - "} catch (Exception e) {\n" + e.getMessage()); - return e; - } - - return null; - } - - @Override - protected void onPostExecute(Exception exception) { - super.onPostExecute(exception); - listener.onHttpResponse(requestCode, result, exception); - } - - }.execute(); - - } - public static final MediaType TYPE_JSON = MediaType.parse("application/json; charset=utf-8"); /**POST请求 @@ -150,11 +93,6 @@ protected void onPostExecute(Exception exception) { */ public void post(final String url_, final com.alibaba.fastjson.JSONObject request , final int requestCode, final OnHttpResponseListener listener) { - if (request == null || request.containsKey(JSONRequest.KEY_TAG) == false) { - throw new IllegalArgumentException("post " + url_ + " \n" + - " request == null || request.containsKey(JSONRequest.KEY_TAG) == false !!!"); - } - new AsyncTask() { String result; @@ -280,7 +218,7 @@ private String getResponseJson(OkHttpClient client, Request request) throws Exce * @throws JSONException */ public T getValue(String json, String key) throws JSONException { - return getValue(new JSONObject(json), key); + return getValue(JSON.parseObject(json), key); } /**从object中获取key对应的值 * *获取如果T是基本类型容易崩溃,所以需要try-catch diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/model/Wallet.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/model/Wallet.java deleted file mode 100644 index f94aadd22..000000000 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/model/Wallet.java +++ /dev/null @@ -1,41 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.client.model; - - -/**钱包类 - * @author Lemon - */ -public class Wallet extends apijson.demo.server.model.Wallet { - private static final long serialVersionUID = 4298571449155754300L; - - - public Wallet() { - super(); - } - public Wallet(long id) { - super(id); - } - - @Override - public Long getId() { - Long value = super.getId(); - return value == null ? 0 : value; - } - public Long getUserId() { - return getId(); - } - -} diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/util/HttpRequest.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/util/HttpRequest.java index 6595a9c27..6667c6b6b 100755 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/util/HttpRequest.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/util/HttpRequest.java @@ -20,6 +20,7 @@ import zuo.biao.apijson.JSONObject; import zuo.biao.apijson.JSONRequest; import zuo.biao.apijson.JSONResponse; +import zuo.biao.apijson.RequestRole; import zuo.biao.library.manager.HttpManager.OnHttpResponseListener; import zuo.biao.library.util.Log; import zuo.biao.library.util.SettingUtil; @@ -28,13 +29,10 @@ import apijson.demo.client.manager.HttpManager; import apijson.demo.client.model.CommentItem; import apijson.demo.server.model.Comment; -import apijson.demo.server.model.Login; import apijson.demo.server.model.Moment; -import apijson.demo.server.model.Password; import apijson.demo.server.model.Privacy; import apijson.demo.server.model.User; import apijson.demo.server.model.Verify; -import apijson.demo.server.model.Wallet; /**HTTP请求工具类 * @author Lemon @@ -67,7 +65,7 @@ public class HttpRequest { * @param listener */ public static void head(JSONObject request, int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().get(URL_HEAD, request, requestCode, listener); + HttpManager.getInstance().post(URL_HEAD, request, requestCode, listener); } /** * @param request @@ -75,7 +73,7 @@ public static void head(JSONObject request, int requestCode, OnHttpResponseListe * @param listener */ public static void get(JSONObject request, int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().get(URL_GET, request, requestCode, listener); + HttpManager.getInstance().post(URL_GET, request, requestCode, listener); } /** * @param request @@ -132,19 +130,17 @@ public static void delete(JSONObject request, int requestCode, OnHttpResponseLis - //加 _ 表示class名,避免PASSWORD不知道是 Password 还是 password 这种冲突 + //加 _ 表示class名,避免VERIFY不知道是 Verify 还是 verify 这种冲突 public static final String USER_; public static final String PRIVACY_; public static final String MOMENT_; public static final String COMMENT_; - public static final String WALLET_; public static final String VERIFY_; static { USER_ = User.class.getSimpleName(); PRIVACY_ = Privacy.class.getSimpleName(); MOMENT_ = Moment.class.getSimpleName(); COMMENT_ = Comment.class.getSimpleName(); - WALLET_ = Wallet.class.getSimpleName(); VERIFY_ = Verify.class.getSimpleName(); } @@ -157,7 +153,6 @@ public static void delete(JSONObject request, int requestCode, OnHttpResponseLis public static final String ID = "id"; public static final String USER_ID = "userId"; - public static final String CURRENT_USER_ID = "currentUserId"; public static final String NAME = "name"; public static final String PHONE = "phone"; @@ -209,30 +204,12 @@ public static void delete(JSONObject request, int requestCode, OnHttpResponseLis */ public static void register(String verify, String phone, String password, String name, int sex , int requestCode, OnHttpResponseListener listener) { - JSONObject request = new JSONRequest(new User().setName(name).setSex(sex)) - .setTag(USER_); - request.put(VERIFY, verify); - request.put(PHONE, phone); - request.put(PASSWORD, password); + JSONObject request = new JSONRequest(new Privacy(phone, password)); + request.puts(new User().setName(name).setSex(sex)); + request.puts(VERIFY, verify); HttpManager.getInstance().post(URL_BASE + "register", request, requestCode, listener); } - /**重置密码 - * @param verify - * @param phone - * @param password - * @param requestCode - * @param listener - */ - public static void setPassword(String verify, String phone, String password - , int requestCode, OnHttpResponseListener listener) { - JSONRequest request = new JSONRequest(); - request.put(PHONE, phone); - request.put(VERIFY, verify); - request.put(PASSWORD, password); - HttpManager.getInstance().post(URL_BASE + "put/password" - , request.setTag(PASSWORD), requestCode, listener); - } /** * @param phone * @param requestCode @@ -253,22 +230,14 @@ public static void login(String phone, String password, int type, int requestCod request.put(TYPE, type); request.put(PHONE, phone); request.put(PASSWORD, password); - HttpManager.getInstance().post( - URL_BASE + "login/" - , request.setTag(Login.class.getSimpleName()) - , requestCode, listener - ); + HttpManager.getInstance().post(URL_BASE + "login/", request, requestCode, listener); } /**退出登录 * @param requestCode * @param listener */ public static void logout(int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().post( - URL_BASE + "logout/" - , new JSONRequest().setTag(Login.class.getSimpleName()) - , requestCode, listener - ); + HttpManager.getInstance().post(URL_BASE + "logout/", new JSONRequest(), requestCode, listener); //不能在传到服务器之前销毁session new Handler().postDelayed(new Runnable() { @@ -279,6 +248,38 @@ public void run() { }, 500); } + /**重置登录密码 + * @param verify + * @param phone + * @param password + * @param requestCode + * @param listener + */ + public static void setPassword(String verify, String phone, String password + , int requestCode, OnHttpResponseListener listener) { + setPassword(verify, phone, password, Privacy.PASSWORD_TYPE_LOGIN, requestCode, listener); + } + /**重置密码 + * @param verify + * @param phone + * @param password + * @param type + * @param requestCode + * @param listener + */ + public static void setPassword(String verify, String phone, String password, int type + , int requestCode, OnHttpResponseListener listener) { + JSONRequest request = new JSONRequest(); + request.put(VERIFY, verify); + request.put(PHONE, phone); + request.put(PASSWORD, password); + request.put(TYPE, type); + + HttpManager.getInstance().post(URL_BASE + "put/password", request, requestCode, listener); + } + + + /**获取验证码 * @param phone * @param requestCode @@ -316,11 +317,11 @@ public static void checkVerify(String phone, String verify, int requestCode, OnH */ public static void setPassword(int type, String password, String phone, String verify , int requestCode, OnHttpResponseListener listener) { - Password pwd = new Password(phone, password).setType(type); - JSONRequest request = new JSONRequest(pwd); + Privacy privacy = new Privacy(phone, password); + JSONRequest request = new JSONRequest(privacy); request.put(VERIFY, verify); - put(request.setTag(Password.class.getSimpleName()), requestCode, listener); + put(request.setTag(PRIVACY_), requestCode, listener); } //account>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -346,7 +347,7 @@ public static void getUser(long id, int requestCode, OnHttpResponseListener list public static void getUser(long id, boolean withMomentList, int requestCode, OnHttpResponseListener listener) { JSONRequest request = new JSONRequest(new User(id)); if (withMomentList) { - request.add(new JSONRequest(MOMENT_ + request.putsAll(new JSONRequest(MOMENT_ , new JSONRequest(USER_ID, id).setColumn("pictureList").setOrder(DATE_DOWN)) .toArray(3, 0, MOMENT_)); } @@ -365,7 +366,7 @@ public static void setIsFriend(long id, boolean isFriend, int requestCode, OnHtt List list = new ArrayList(); list.add(id); JSONObject userObject = new JSONObject(new User(user.getId())); - userObject.put("contactIdList" + (isFriend ? "+" : "-"), list, true); + userObject.put("contactIdList" + (isFriend ? "+" : "-"), list); put(new JSONRequest(USER_, userObject).setTag(USER_), requestCode, listener); } @@ -441,12 +442,12 @@ public static void getUserList(int range, long id, com.alibaba.fastjson.JSONObje default: break; } - userItem.add(search); + userItem.putsAll(search); } JSONRequest listRequest = new JSONRequest(USER_, userItem); listRequest = listRequest.toArray(count, page, USER_); - request.add(listRequest); + request.putsAll(listRequest); get(request, requestCode, listener); } @@ -471,7 +472,7 @@ public static void getMoment(long id, int requestCode, OnHttpResponseListener li .setColumn(COLUMNS_USER_SIMPLE)); userItem.setQuery(JSONRequest.QUERY_ALL);//同时获取Table和total - request.add(userItem.toArray(10, 0, USER_)); + request.putsAll(userItem.toArray(10, 0, USER_)); request.put("praiseCount@", "/User[]/total");//获取Table的总数total //praise >>>>>>>>>>>>>>>>>> @@ -526,7 +527,7 @@ public static void getMomentList(int range, long id, com.alibaba.fastjson.JSONOb break; } moment.setOrder(DATE_DOWN); - moment.add(search); + moment.putsAll(search); request.put(MOMENT_, moment); request.put(USER_, new JSONRequest(ID_AT, "/Moment/userId").setColumn(COLUMNS_USER)); @@ -537,7 +538,7 @@ public static void getMomentList(int range, long id, com.alibaba.fastjson.JSONOb .setColumn(COLUMNS_USER_SIMPLE)); // userItem.setQuery(JSONRequest.QUERY_ALL); - request.add(userItem.toArray(10, 0, USER_)); + request.putsAll(userItem.toArray(10, 0, USER_)); // request.put("praiseCount@", "/User[]/total"); //praise >>>>>>>>>>>>>>>>>> @@ -548,7 +549,7 @@ public static void getMomentList(int range, long id, com.alibaba.fastjson.JSONOb .setColumn(COLUMNS_USER_SIMPLE)); // commentItem.setQuery(JSONRequest.QUERY_ALL); - request.add(commentItem.toArray(6, 0, CommentItem.class.getSimpleName())); + request.putsAll(commentItem.toArray(6, 0, CommentItem.class.getSimpleName())); // request.put("commentCount@", "/CommentItem[]/total"); //comment >>>>>>>>>>>>>>>>>> @@ -565,7 +566,7 @@ public static void praiseMoment(long id, boolean toPraise, int requestCode, OnHt JSONObject data = new JSONObject(new Moment(id)); List list = new ArrayList(); list.add(application.getCurrentUserId()); - data.put("praiseUserIdList" + (toPraise ? "+" : "-"), list, true); + data.puts("praiseUserIdList" + (toPraise ? "+" : "-"), list); put(new JSONRequest(MOMENT_, data).setTag(MOMENT_), requestCode, listener); } @@ -597,7 +598,7 @@ public static void getCommentList(long momentId, int count, int page , int requestCode, OnHttpResponseListener listener) { JSONRequest request = new JSONRequest(); JSONObject comment = new JSONObject(new Comment().setMomentId(momentId)); - request.put(COMMENT_, comment.setOrder(DATE_UP)); + request.put(COMMENT_, comment.setOrder("toId+", DATE_UP)); request.put(USER_, new JSONRequest(ID_AT, "/Comment/userId").setColumn(COLUMNS_USER)); // if (page == 0) { @@ -631,11 +632,17 @@ public static void addComment(long momentId, long toCommentId, long toUserId, St } /** * @param id + * @param userId * @param requestCode * @param listener */ - public static void deleteComment(long id, int requestCode, OnHttpResponseListener listener) { - delete(new JSONRequest(new Comment(id)).setTag(COMMENT_), requestCode, listener); + public static void deleteComment(long id, long userId, int requestCode, OnHttpResponseListener listener) { + delete(new JSONRequest( + COMMENT_, new JSONObject( + new Comment(id) + ).setRole(application.isCurrentUser(userId) ? RequestRole.OWNER.name() : RequestRole.ADMIN.name()) + ).setTag(COMMENT_) + , requestCode, listener); } //Comment>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -664,7 +671,7 @@ public static void changeBalance(double change, String payPassword, int requestC JSONObject privacy = new JSONObject( new Privacy(application.getCurrentUserId()).setPayPassword(payPassword) ); - privacy.put("balance+", change, true); + privacy.puts("balance+", change); JSONRequest request = new JSONRequest(PRIVACY_, privacy); HttpManager.getInstance().post(URL_BASE + "put/balance", request.setTag(PRIVACY_), requestCode, listener); diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/view/MomentView.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/view/MomentView.java index 0e2177d2f..05cad282e 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/view/MomentView.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/view/MomentView.java @@ -400,7 +400,7 @@ public void onHttpResponse(int requestCode, String result, Exception e) { return; } JSONResponse response = new JSONResponse(result).getJSONResponse(Moment.class.getSimpleName()); - boolean isSucceed = JSONResponse.isSucceed(response); + boolean isSucceed = JSONResponse.isSuccess(response); boolean refresh = false; switch (requestCode) { diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/BaseModel.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/BaseModel.java index 326b54b0b..551c632b1 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/BaseModel.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/BaseModel.java @@ -250,4 +250,53 @@ public static double value(Double value) { } //获取非基本类型对应基本类型的非空值 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> + /**index是否在arr长度范围内 + * @param index + * @param array + * @return + */ + public static boolean isIndexInRange(Integer index, Object[] array) { + return index != null && index >= 0 && index < count(array); + } + + /**获取在arr长度范围内的index + * defaultIndex = 0 + * @param index + * @param array + * @return + */ + public static int getIndexInRange(Integer index, Object[] array) { + return getIndexInRange(index, array, 0); + } + /**获取在arr长度范围内的index + * @param index + * @param array + * @param defaultIndex + * @return + */ + public static int getIndexInRange(Integer index, Object[] array, int defaultIndex) { + return isIndexInRange(index, array) ? index : defaultIndex; + } + + /**获取在arr长度范围内的index + * defaultIndex = 0 + * @param + * @param index + * @param array + * @return + */ + public static T getInRange(Integer index, T[] array) { + return getInRange(index, array, 0); + } + /**获取在arr长度范围内的index + * @param + * @param index + * @param array + * @param defaultIndex + * @return + */ + public static T getInRange(Integer index, T[] array, int defaultIndex) { + return get(array, getIndexInRange(index, array, defaultIndex)); + } + } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Password.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Password.java deleted file mode 100644 index 8f40a8898..000000000 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Password.java +++ /dev/null @@ -1,94 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.server.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.LOGIN; -import static zuo.biao.apijson.RequestRole.OWNER; -import static zuo.biao.apijson.RequestRole.UNKNOWN; - -import zuo.biao.apijson.MethodAccess; -import zuo.biao.apijson.StringUtil; - -/**密码类,已用privacy替代 - * @author Lemon - * @see - *
      POST_HEAD:
      -{
      - "Password":{
      -     "disallow":"!",
      -     "necessary":"id,type"
      - }
      -}
      - * 
      - *
      PUT:put/loginPassword, put/payPassword
      -{
      -    "Password":{
      -        "disallow":"!",
      -        "necessary":"id,type,password"
      -    },
      -    "necessary":"oldPassword"
      -}
      - * 
      - */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_HEAD = {OWNER, ADMIN}, - POST = {UNKNOWN, LOGIN, OWNER, ADMIN} - ) -public class Password extends BaseModel { - private static final long serialVersionUID = 1L; - - public static final int TYPE_LOGIN = 0; - public static final int TYPE_PAY = 1; - - private Integer type; - private String password; - - public Password() { - super(); - } - public Password(String phone) { - this(); - setPhone(phone); - } - public Password(String phone, String password) { - this(phone); - setPassword(password); - } - - public Password setPhone(String phone) { - setId(Long.valueOf(0 + StringUtil.getNumber(phone))); - return this; - } - - public Integer getType() { - return type; - } - public Password setType(Integer type) { - this.type = type; - return this; - } - public String getPassword() { - return password; - } - public Password setPassword(String password) { - this.password = password; - return this; - } - -} diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Privacy.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Privacy.java index 6bbf83b2b..2c53da28a 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Privacy.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Privacy.java @@ -1,3 +1,17 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package apijson.demo.server.model; import static zuo.biao.apijson.RequestRole.ADMIN; @@ -6,7 +20,7 @@ import zuo.biao.apijson.MethodAccess; -/**用户隐私信息类 +/**用户隐私信息 * @author Lemon */ @MethodAccess( @@ -18,6 +32,9 @@ public class Privacy extends BaseModel { private static final long serialVersionUID = 1L; + public static final int PASSWORD_TYPE_LOGIN = 0; + public static final int PASSWORD_TYPE_PAY = 1; + private String phone; //手机 private String password; //登录密码,隐藏字段 private String payPassword; //支付密码,隐藏字段 diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Verify.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Verify.java index 7bc8be59b..382846cef 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Verify.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Verify.java @@ -24,7 +24,7 @@ import zuo.biao.apijson.MethodAccess; import zuo.biao.apijson.StringUtil; -/**验证码类 +/**验证码 * @author Lemon * @see *
      POST_GET:post_get/authCode
      diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Wallet.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Wallet.java
      deleted file mode 100644
      index d78692a7f..000000000
      --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Wallet.java
      +++ /dev/null
      @@ -1,101 +0,0 @@
      -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON)
      -
      -Licensed under the Apache License, Version 2.0 (the "License");
      -you may not use this file except in compliance with the License.
      -You may obtain a copy of the License at
      -
      -    http://www.apache.org/licenses/LICENSE-2.0
      -
      -Unless required by applicable law or agreed to in writing, software
      -distributed under the License is distributed on an "AS IS" BASIS,
      -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      -See the License for the specific language governing permissions and
      -limitations under the License.*/
      -
      -package apijson.demo.server.model;
      -
      -import static zuo.biao.apijson.RequestRole.ADMIN;
      -import static zuo.biao.apijson.RequestRole.OWNER;
      -
      -import java.math.BigDecimal;
      -
      -import zuo.biao.apijson.MethodAccess;
      -
      -/**钱包类,已用Privacy替代
      - * @author Lemon
      - * @see
      - * 
      POST_GET:
      -{
      -    "Wallet":{
      -        "disallow":"!",
      -        "necessary":"id"
      -    }
      -}
      - * 
      - *
      POST:post/wallet
      -{
      -    "Wallet":{
      -        "disallow":"!",
      -        "necessary":"id"
      -    },
      -    "necessary":"payPassword"
      -}
      - * 
      - *
      PUT:put/wallet
      -{
      -    "Wallet":{
      -        "disallow":"!",
      -        "necessary":"id,balance+"
      -    },
      -    "necessary":"payPassword"
      -}
      - * 
      - *
      DELETE:delete/wallet
      -{
      -    "Wallet":{
      -        "disallow":"!",
      -        "necessary":"id"
      -    },
      -    "necessary":"payPassword"
      -}
      - * 
      - */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_GET = {OWNER, ADMIN}, - POST_HEAD = {OWNER, ADMIN}, - POST = {ADMIN}, - DELETE = {ADMIN} - ) -public class Wallet extends BaseModel { - private static final long serialVersionUID = 1L; - - public BigDecimal balance; - - /**默认构造方法,JSON等解析时必须要有 - */ - public Wallet() { - super(); - } - public Wallet(long id) { - this(); - setId(id); - } - - - public Wallet setUserId(long userId) { - setId(userId); - return this; - } - - public BigDecimal getBalance() { - return balance; - } - public Wallet setBalance(BigDecimal balance) { - this.balance = balance; - return this; - } - -} From 1143f2b0bdc58e911eeb1059780c1ae45ac749cb Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Wed, 6 Sep 2017 01:34:31 +0800 Subject: [PATCH 163/219] =?UTF-8?q?Client:=E5=90=8C=E6=AD=A5adt=E7=89=88te?= =?UTF-8?q?st=E5=B7=A5=E7=A8=8B=E8=87=B3studio=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/zuo/biao/apijson/JSON.java | 47 +- .../java/zuo/biao/apijson/JSONObject.java | 437 +++++++----------- .../java/zuo/biao/apijson/JSONRequest.java | 147 ++---- .../java/zuo/biao/apijson/JSONResponse.java | 268 ++++------- .../java/zuo/biao/apijson/MethodAccess.java | 14 +- .../java/zuo/biao/apijson/RequestMethod.java | 8 +- .../src/main/java/zuo/biao/apijson/SQL.java | 125 ++++- .../java/zuo/biao/apijson/StringUtil.java | 147 +++--- .../zuo/biao/apijson/client/package-info.java | 22 - .../main/java/apijson/demo/HttpManager.java | 109 +++-- .../main/java/apijson/demo/RequestUtil.java | 73 ++- .../main/java/apijson/demo/model/Privacy.java | 98 ++++ .../main/java/apijson/demo/model/Wallet.java | 101 ---- .../java/apijson/demo/ui/AutoActivity.java | 2 +- .../main/java/apijson/demo/ui/CodeUtil.java | 17 +- .../java/apijson/demo/ui/RequestActivity.java | 59 +-- .../java/apijson/demo/ui/SelectActivity.java | 38 +- 17 files changed, 780 insertions(+), 932 deletions(-) delete mode 100644 APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/client/package-info.java create mode 100644 APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Privacy.java delete mode 100644 APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Wallet.java diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java index 521acb01d..7bd24b97d 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSON.java @@ -60,21 +60,24 @@ public static String getCorrectJson(String s) { public static String getCorrectJson(String s, boolean isArray) { s = StringUtil.getTrimedString(s); // if (isArray) { - // if (s.startsWith("\"")) { + // while (s.startsWith("\"")) { // s = s.substring(1); // } - // if (s.endsWith("\"")) { + // while (s.endsWith("\"")) { // s = s.substring(0, s.length() - 1); // } // } return s;//isJsonCorrect(s) ? s : null; } - /**json转JSONObject + /**obj转JSONObject * @param json * @return */ public static JSONObject parseObject(Object obj) { + if (obj instanceof JSONObject) { + return (JSONObject) obj; + } return parseObject(toJSONString(obj)); } /**json转JSONObject @@ -114,12 +117,16 @@ public static T parseObject(JSONObject object, Class clazz) { * @return */ public static T parseObject(String json, Class clazz) { - try { - int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; - features |= Feature.OrderedField.getMask(); - return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); - } catch (Exception e) { - Log.i(TAG, "parseObject catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseObject clazz == null >> return null;"); + } else { + try { + int features = com.alibaba.fastjson.JSON.DEFAULT_PARSER_FEATURE; + features |= Feature.OrderedField.getMask(); + return com.alibaba.fastjson.JSON.parseObject(getCorrectJson(json), clazz, features); + } catch (Exception e) { + Log.i(TAG, "parseObject catch \n" + e.getMessage()); + } } return null; } @@ -131,6 +138,16 @@ public static T parseObject(String json, Class clazz) { public static JSONArray parseArray(List list) { return new JSONArray(list); } + /**obj转JSONArray + * @param json + * @return + */ + public static JSONArray parseArray(Object obj) { + if (obj instanceof JSONArray) { + return (JSONArray) obj; + } + return parseArray(toJSONString(obj)); + } /**json转JSONArray * @param json * @return @@ -157,10 +174,14 @@ public static List parseArray(JSONArray array, Class clazz) { * @return */ public static List parseArray(String json, Class clazz) { - try { - return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); - } catch (Exception e) { - Log.i(TAG, "parseArray catch \n" + e.getMessage()); + if (clazz == null) { + Log.e(TAG, "parseArray clazz == null >> return null;"); + } else { + try { + return com.alibaba.fastjson.JSON.parseArray(getCorrectJson(json, true), clazz); + } catch (Exception e) { + Log.i(TAG, "parseArray catch \n" + e.getMessage()); + } } return null; } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java index 4d3581764..3c9e0d1cf 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONObject.java @@ -14,189 +14,49 @@ package zuo.biao.apijson; -import static zuo.biao.apijson.StringUtil.UTF_8; +import java.util.List; +import java.util.Map; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; -import java.util.Set; - -/**use this class instead of com.alibaba.fastjson.JSONObject, not encode in default cases +/**use this class instead of com.alibaba.fastjson.JSONObject * @author Lemon + * @see #put + * @see #puts + * @see #putsAll */ public class JSONObject extends com.alibaba.fastjson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; + + private static final String TAG = "JSONObject"; + /**ordered */ public JSONObject() { super(true); } /**transfer Object to JSONObject - * encode = false; * @param object * @see {@link #JSONObject(Object, boolean)} */ public JSONObject(Object object) { - this(object, false); - } - /**transfer Object to JSONObject - * @param object - * @param encode - * @see {@link #JSONObject(String, boolean)} - */ - public JSONObject(Object object, boolean encode) { - this(toJSONString(object), encode); + this(toJSONString(object)); } /**parse JSONObject with JSON String - * encode = false; * @param json * @see {@link #JSONObject(String, boolean)} */ public JSONObject(String json) { - this(json, false); - } - /**parse JSONObject with JSON String - * @param json - * @param encode - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(String json, boolean encode) { - this(parseObject(json), encode); + this(parseObject(json)); } /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * encode = false; * @param object - * @see {@link #JSONObject(com.alibaba.fastjson.JSONObject, boolean)} + * @see {@link #putsAll(com.alibaba.fastjson.JSONObject)} */ public JSONObject(com.alibaba.fastjson.JSONObject object) { - this(object, false); - } - /**transfer com.alibaba.fastjson.JSONObject to JSONObject - * @param object - * @param encode - * @see {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject(com.alibaba.fastjson.JSONObject object, boolean encode) { this(); - add(object, encode); - } - - - - - /**put key-value in object into this - * encode = false; - * @param object - * @return {@link #add(com.alibaba.fastjson.JSONObject, boolean)} - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object) { - return add(object, false); - } - /**put key-value in object into this - * @param object - * @param encode - * @return this - */ - public JSONObject add(com.alibaba.fastjson.JSONObject object, boolean encode) { - //TODO putAll(object); - - Set set = object == null ? null : object.keySet(); - if (set != null) { - for (String key : set) { - put(key, object.get(key), encode); - } - } - return this; - } - - - - /** - * @param key if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param decode if decode && value instanceof String, value = URLDecoder.decode((String) value, UTF_8) - * @return - */ - public Object get(Object key, boolean decode) { - if (decode) { - if (key instanceof String) { - if (((String) key).endsWith("+") || ((String) key).endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLDecoder.decode((String) key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - return null; - } - } - } - Object value = super.get(key); - if (value instanceof String) { - try { - value = URLDecoder.decode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - return value; - } - return super.get(key); + putsAll(object); } - /** - * encode = false - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - public Object put(Object value) { - return put(value, false); - } - /** - * key = value.getClass().getSimpleName() - * @param value must be annotated by {@link APIJSONRequest} - * @param encode - * @return {@link #put(String, Object, boolean)} - */ - public Object put(Object value, boolean encode) { - return put(null, value, encode); - } - /** - * @param key if StringUtil.isNotEmpty(key, true) == false, - *
      key = value == null ? null : value.getClass().getSimpleName(); - *
      >> if decode && key instanceof String, key = URLDecoder.decode((String) key, UTF_8) - * @param value URLEncoder.encode((String) value, UTF_8); - * @param encode if value instanceof String, value = URLEncoder.encode((String) value, UTF_8); - * @return - */ - public Object put(String key, Object value, boolean encode) { - if (StringUtil.isNotEmpty(key, true) == false) { - Class clazz = value == null ? null : value.getClass(); - if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { - throw new IllegalArgumentException("put StringUtil.isNotEmpty(key, true) == false" + - " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + - " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + - " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + - " \n 如果是类似 key[]:{} 结构的请求,建议add(...)方法!"); - } - key = value.getClass().getSimpleName(); - } - if (encode) { - if (key.endsWith("+") || key.endsWith("-")) { - try {//多层encode导致内部Comment[]传到服务端decode后最终变为Comment%5B%5D - key = URLEncoder.encode(key, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - if (value instanceof String) {//只在value instanceof String时encode key?{@link #get(Object, boolean)}内做不到 - try { - value = URLEncoder.encode((String) value, UTF_8); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - } - return super.put(key, value); - } @@ -215,38 +75,46 @@ public static boolean isArrayKey(String key) { * @return */ public static boolean isTableKey(String key) { - return StringUtil.isBigWord(key); + return StringUtil.isBigName(key); } //judge >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //JSONObject内关键词 key <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< - /** - * 角色,拥有对某些数据的某些操作的权限 - */ - public static final String KEY_ROLE = "@role"; - /** - * 数据库,Table在非默认schema内时需要声明 - */ - public static final String KEY_SCHEMA = "@schema"; - /** - * 查询的Table字段或SQL函数 - */ - public static final String KEY_COLUMN = "@column"; - /** - * 分组方式 - */ - public static final String KEY_GROUP = "@group"; - /** - * 聚合函数条件,一般和@group一起用 + + public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; + + /**set "id":id in Table layer + * @param id + * @return */ - public static final String KEY_HAVING = "@having"; - /** - * 排序方式 + public JSONObject setId(Long id) { + return puts(KEY_ID, id); + } + /**set id{}:[] in Table layer + * @param list + * @return */ - public static final String KEY_ORDER = "@order"; + public JSONObject setIdIn(List list) { + return puts(KEY_ID_IN, list); + } + + + //@key关键字都放这个类 <<<<<<<<<<<<<<<<<<<<<< + public static final String KEY_ROLE = "@role"; //角色,拥有对某些数据的某些操作的权限 + public static final String KEY_CONDITION = "@condition"; //条件 TODO 用 @where& @where| @where! 替代? + public static final String KEY_TRY = "@try"; //尝试,忽略异常 + public static final String KEY_DROP = "@drop"; //丢弃,不返回 + public static final String KEY_CORRECT = "@correct"; //字段校正 + + public static final String KEY_SCHEMA = "@schema"; //数据库,Table在非默认schema内时需要声明 + public static final String KEY_ABOUT = "@about"; //关于,返回数据库表的信息,包括表说明和字段说明 + public static final String KEY_COLUMN = "@column"; //查询的Table字段或SQL函数 + public static final String KEY_GROUP = "@group"; //分组方式 + public static final String KEY_HAVING = "@having"; //聚合函数条件,一般和@group一起用 + public static final String KEY_ORDER = "@order"; //排序方式 //@key关键字都放这个类 >>>>>>>>>>>>>>>>>>>>>> @@ -255,17 +123,49 @@ public static boolean isTableKey(String key) { * @return this */ public JSONObject setRole(String role) { - put(KEY_ROLE, role); - return this; + return puts(KEY_ROLE, role); + } + + /**set try, ignore exceptions + * @param tri + * @return this + */ + public JSONObject setTry(boolean tri) { + return puts(KEY_TRY, tri); } + + /**set drop, data dropped will not return + * @param drop + * @return this + */ + public JSONObject setDrop(boolean drop) { + return puts(KEY_DROP, drop); + } + + /**set correct, correct keys to target ones + * @param correct Map{originKey, [posibleKeys]}, posibleKey之间用 , 隔开 + * @return this + */ + public JSONObject setCorrect(Map correct) { + return puts(KEY_CORRECT, correct); + } + + - /**set schema where table was put + /**set schema where table was puts * @param schema * @return this */ public JSONObject setSchema(String schema) { - put(KEY_SCHEMA, schema); - return this; + return puts(KEY_SCHEMA, schema); + } + + /**set about + * @param about + * @return this + */ + public JSONObject setAbout(boolean about) { + return puts(KEY_ABOUT, about); } /**set keys need to be returned @@ -280,8 +180,7 @@ public JSONObject setColumn(String... keys) { * @return */ public JSONObject setColumn(String keys) { - put(KEY_COLUMN, keys); - return this; + return puts(KEY_COLUMN, keys); } /**set keys for group by @@ -296,8 +195,7 @@ public JSONObject setGroup(String... keys) { * @return */ public JSONObject setGroup(String keys) { - put(KEY_GROUP, keys); - return this; + return puts(KEY_GROUP, keys); } /**set keys for having @@ -312,8 +210,7 @@ public JSONObject setHaving(String... keys) { * @return */ public JSONObject setHaving(String keys) { - put(KEY_HAVING, keys); - return this; + return puts(KEY_HAVING, keys); } /**set keys for order by @@ -328,8 +225,7 @@ public JSONObject setOrder(String... keys) { * @return */ public JSONObject setOrder(String keys) { - put(KEY_ORDER, keys); - return this; + return puts(KEY_ORDER, keys); } @@ -337,117 +233,142 @@ public JSONObject setOrder(String keys) { - //Request,默认encode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + //Request <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< /** - * encode = true - * @param value - * @param parts path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... - * @return #put(key+"@", StringUtil.getString(keys, "/"), true) - */ - public Object putPath(String key, String... keys) { - return put(key+"@", StringUtil.getString(keys, "/"), true); - } - - /** - * encode = true * @param key - * @param isNull - * @return {@link #putNull(String, boolean, boolean)} + * @param keys path = keys[0] + "/" + keys[1] + "/" + keys[2] + ... + * @return {@link #puts(String, Object)} */ - public JSONObject putNull(String key, boolean isNull) { - return putNull(key, isNull, true); + public JSONObject putsPath(String key, String... keys) { + return puts(key+"@", StringUtil.getString(keys, "/")); } + /** * @param key * @param isNull - * @param encode - * @return put(key+"{}", SQL.isNull(isNull), encode); + * @return {@link #puts(String, Object)} */ - public JSONObject putNull(String key, boolean isNull, boolean encode) { - put(key+"{}", SQL.isNull(isNull), encode); - return this; + public JSONObject putsNull(String key, boolean isNull) { + return puts(key+"{}", SQL.isNull(isNull)); } /** * trim = false * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean)} + * @return {@link #putsEmpty(String, boolean, boolean)} */ - public JSONObject putEmpty(String key, boolean isEmpty) { - return putEmpty(key, isEmpty, false); + public JSONObject putsEmpty(String key, boolean isEmpty) { + return putsEmpty(key, isEmpty, false); } /** - * encode = true * @param key * @param isEmpty - * @return {@link #putEmpty(String, boolean, boolean, boolean)} - */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim) { - return putEmpty(key, isEmpty, trim, true); - } - /** - * @param key - * @param isEmpty - * @param encode - * @return put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - */ - public JSONObject putEmpty(String key, boolean isEmpty, boolean trim, boolean encode) { - put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode); - return this; - } - /** - * encode = true - * @param key - * @param compare <=0, >5 ... - * @return {@link #putLength(String, String, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putLength(String key, String compare) { - return putLength(key, compare, true); + public JSONObject putsEmpty(String key, boolean isEmpty, boolean trim) { + return puts(key+"{}", SQL.isEmpty(key, isEmpty, trim)); } /** * @param key * @param compare <=0, >5 ... - * @param encode - * @return put(key+"{}", SQL.length(key) + compare, encode); + * @return {@link #puts(String, Object)} */ - public JSONObject putLength(String key, String compare, boolean encode) { - put(key+"{}", SQL.length(key) + compare, encode); - return this; + public JSONObject putsLength(String key, String compare) { + return puts(key+"{}", SQL.length(key) + compare); } /**设置搜索 * type = SEARCH_TYPE_CONTAIN_FULL * @param key * @param value - * @return {@link #putSearch(String, String, int)} + * @return {@link #putsSearch(String, String, int)} */ - public JSONObject putSearch(String key, String value) { - return putSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); + public JSONObject putsSearch(String key, String value) { + return putsSearch(key, value, SQL.SEARCH_TYPE_CONTAIN_FULL); } /**设置搜索 - * encode = true * @param key * @param value * @param type - * @return {@link #putSearch(String, String, int, boolean)} + * @return {@link #puts(String, Object)} */ - public JSONObject putSearch(String key, String value, int type) { - return putSearch(key, value, type, true); + public JSONObject putsSearch(String key, String value, int type) { + return puts(key+"$", SQL.search(value, type)); } - /**设置搜索 + + //Request >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + /**puts key-value in object into this + * @param object + * @return this + */ + public JSONObject putsAll(Map map) { + putAll(map); + return this; + } + @Override + public void putAll(Map map) { + if (map != null && map.isEmpty() == false) { + super.putAll(map); + } + } + + + + /**put and return this + * @param value must be annotated by {@link MethodAccess} + * @return {@link #puts(String, boolean)} + */ + public JSONObject puts(Object value) { + return puts(null, value); + } + /**put and return this * @param key - * @param value - * @param type - * @param encode - * @return put(key+"$", SQL.search(value, type), encode); + * @param value + * @return this + * @see {@link #put(String, Object)} */ - public JSONObject putSearch(String key, String value, int type, boolean encode) { - put(key+"$", SQL.search(value, type), encode); + public JSONObject puts(String key, Object value) { + put(key, value); return this; } + + /**put and return value + * @param value must be annotated by {@link MethodAccess} + * @return {@link #put(String, boolean)} + */ + public Object put(Object value) { + return put(null, value); + } + /**put and return value + * @param key StringUtil.isEmpty(key, true) ? key = value.getClass().getSimpleName(); + * @param value + * @return value + */ + @Override + public Object put(String key, Object value) { + if (value == null) { + Log.e(TAG, "put value == null >> return null;"); + return null; + } + if (StringUtil.isEmpty(key, true)) { + Class clazz = value.getClass(); + if (clazz == null || clazz.getAnnotation(MethodAccess.class) == null) { + throw new IllegalArgumentException("puts StringUtil.isNotEmpty(key, true) == false" + + " && clazz == null || clazz.getAnnotation(MethodAccess.class) == null" + + " \n key为空时仅支持 类型被@MethodAccess注解 的value !!!" + + " \n 如果一定要这么用,请对 " + clazz.getName() + " 注解!" + + " \n 如果是类似 key[]:{} 结构的请求,建议用 putsAll(...) !"); + } + key = value.getClass().getSimpleName(); + } + return super.put(key, value); + } - //Request,默认encode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java index 78b935560..5d33b681d 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONRequest.java @@ -14,11 +14,14 @@ package zuo.biao.apijson; -/**encapsulator for request JSONObject, encode in default cases +import java.util.Map; + +/**wrapper for request * @author Lemon + * @see #puts * @see #toArray * @use JSONRequest request = new JSONRequest(...); - *
      request.put(...);//not a must + *
      request.puts(...);//not a must *
      request.toArray(...);//not a must */ public class JSONRequest extends JSONObject { @@ -28,51 +31,34 @@ public JSONRequest() { super(); } /** - * encode = true - * @param object must be annotated by {@link APIJSONRequest} + * @param object must be annotated by {@link MethodAccess} * @see {@link #JSONRequest(String, Object)} */ public JSONRequest(Object object) { this(null, object); } /** - * encode = true * @param name * @param object - * @see {@link #JSONRequest(String, Object, boolean)} + * @see {@link #puts(String, Object)} */ public JSONRequest(String name, Object object) { - this(name, object, true); - } - /** - * @param object must be annotated by {@link APIJSONRequest} - * @param encode - * @see {@link #JSONRequest(String, Object, boolean)} - */ - public JSONRequest(Object object, boolean encode) { - this(null, object, encode); - } - /** - * @param name - * @param object - * @param encode - * @see {@link #put(String, Object, boolean)} - */ - public JSONRequest(String name, Object object, boolean encode) { this(); - put(name, object, encode); + puts(name, object); } - - - + public static final String KEY_TAG = "tag";//只在最外层,最外层用JSONRequest - - public JSONObject setTag(String tag) { - put(KEY_TAG, tag); - return this; + + /**set "tag":tag in outermost layer + * for write operations + * @param tag + * @return + */ + public JSONRequest setTag(String tag) { + return puts(KEY_TAG, tag); } @@ -86,104 +72,67 @@ public JSONObject setTag(String tag) { public static final String KEY_COUNT = "count"; public static final String KEY_PAGE = "page"; - /** + /**set what to query in Array layer * @param query what need to query, Table,total,ALL? * @return + * @see {@link #QUERY_TABLE} + * @see {@link #QUERY_TOTAL} + * @see {@link #QUERY_ALL} */ public JSONRequest setQuery(int query) { - put(KEY_QUERY, query); - return this; + return puts(KEY_QUERY, query); } - /** - * @param count + /**set maximum count of Tables to query in Array layer + * @param count <= 0 || >= max ? max : count * @return */ public JSONRequest setCount(int count) { - put(KEY_COUNT, count); - return this; + return puts(KEY_COUNT, count); } - /** - * @param page + /**set page of Tables to query in Array layer + * @param page <= 0 ? 0 : page * @return */ public JSONRequest setPage(int page) { - put(KEY_PAGE, page); - return this; + return puts(KEY_PAGE, page); } //array object >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - - // 导致JSONObject add >> get = null - // /** - // * decode = true - // * @param key - // * return {@link #get(Object, boolean)} - // */ - // @Override - // public Object get(Object key) { - // return get(key, true); - // } - - /** - * encode = true - * @param value must be annotated by {@link APIJSONRequest} - * @return {@link #put(String, boolean)} - */ - @Override - public Object put(Object value) { - return put(value, true); - } - /** - * encode = true - * @param key - * @param value - * return {@link #put(String, Object, boolean)} - */ - @Override - public Object put(String key, Object value) { - return put(key, value, true); - } - - /**create a parent JSONObject named KEY_ARRAY - * encode = true; * @param count * @param page * @return {@link #toArray(int, int, boolean)} */ public JSONRequest toArray(int count, int page) { - return toArray(count, page, true); - } - /**create a parent JSONObject named KEY_ARRAY - * encode = true; - * @param count - * @param page - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, boolean encode) { - return toArray(count, page, null, encode); - } - /**create a parent JSONObject named name+KEY_ARRAY - * encode = true; - * @param count - * @param page - * @param name - * @return {@link #toArray(int, int, String, boolean)} - */ - public JSONRequest toArray(int count, int page, String name) { - return toArray(count, page, name, true); + return toArray(count, page, null); } /**create a parent JSONObject named name+KEY_ARRAY. * @param count * @param page * @param name - * @param encode * @return {name+KEY_ARRAY : this}. if needs to be put, use {@link #add(com.alibaba.fastjson.JSONObject)} instead */ - public JSONRequest toArray(int count, int page, String name, boolean encode) { - return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page), encode); + public JSONRequest toArray(int count, int page, String name) { + return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page)); + } + + + @Override + public JSONObject putsAll(Map map) { + super.putsAll(map); + return this; + } + + @Override + public JSONRequest puts(Object value) { + return puts(null, value); + } + @Override + public JSONRequest puts(String key, Object value) { + super.puts(key, value); + return this; } } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java index 1135a3f9e..f9b6d3fc9 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/JSONResponse.java @@ -20,17 +20,16 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -/**parser for response JSON String +/**parser for response * @author Lemon + * @see #getObject * @see #getList - * @see #toArray * @use JSONResponse response = new JSONResponse(json); - *
      JSONArray array = JSONResponse.toArray(response.getJSONObject("[]"));//not a must - *
      User user = JSONResponse.getObject(response, User.class);//not a must - *
      List list = JSONResponse.getList(response.getJSONObject("Comment[]"), Comment.class);//not a must + *
      User user = response.getObject(User.class);//not a must + *
      List commenntList = response.getList("Comment[]", Comment.class);//not a must */ public class JSONResponse extends zuo.biao.apijson.JSONObject { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; private static final String TAG = "JSONResponse"; @@ -46,26 +45,30 @@ public JSONResponse(JSONObject object) { //状态信息,非GET请求获得的信息<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final int CODE_SUCCEED = 200; - public static final int CODE_PARTIAL_SUCCEED = 206; - public static final int CODE_UNSUPPORTED_ENCODING = 400; - public static final int CODE_ILLEGAL_ACCESS = 401; - public static final int CODE_UNSUPPORTED_OPERATION = 403; - public static final int CODE_NOT_FOUND = 404; - public static final int CODE_ILLEGAL_ARGUMENT = 406; - public static final int CODE_NOT_LOGGED_IN = 407; - public static final int CODE_TIME_OUT = 408; - public static final int CODE_CONFLICT = 409; - public static final int CODE_CONDITION_ERROR = 412; - public static final int CODE_UNSUPPORTED_TYPE = 415; - public static final int CODE_OUT_OF_RANGE = 416; - public static final int CODE_NULL_POINTER = 417; - public static final int CODE_SERVER_ERROR = 500; - - + public static final int CODE_SUCCESS = 200; //成功 + public static final int CODE_UNSUPPORTED_ENCODING = 400; //编码错误 + public static final int CODE_ILLEGAL_ACCESS = 401; //权限错误 + public static final int CODE_UNSUPPORTED_OPERATION = 403; //禁止操作 + public static final int CODE_NOT_FOUND = 404; //未找到 + public static final int CODE_ILLEGAL_ARGUMENT = 406; //参数错误 + public static final int CODE_NOT_LOGGED_IN = 407; //未登录 + public static final int CODE_TIME_OUT = 408; //超时 + public static final int CODE_CONFLICT = 409; //重复,已存在 + public static final int CODE_CONDITION_ERROR = 412; //条件错误,如密码错误 + public static final int CODE_UNSUPPORTED_TYPE = 415; //类型错误 + public static final int CODE_OUT_OF_RANGE = 416; //超出范围 + public static final int CODE_NULL_POINTER = 417; //对象为空 + public static final int CODE_SERVER_ERROR = 500; //服务器内部错误 + + + public static final String MSG_SUCCEED = "success"; //成功 + public static final String MSG_SERVER_ERROR = "Internal Server Error!"; //服务器内部错误 + + public static final String KEY_CODE = "code"; public static final String KEY_MSG = "msg"; public static final String KEY_ID = "id"; + public static final String KEY_ID_IN = KEY_ID + "{}"; public static final String KEY_COUNT = "count"; public static final String KEY_TOTAL = "total"; @@ -124,22 +127,22 @@ public int getTotal() { /**是否成功 * @return */ - public boolean isSucceed() { - return isSucceed(getCode()); + public boolean isSuccess() { + return isSuccess(getCode()); } /**是否成功 * @param code * @return */ - public static boolean isSucceed(int code) { - return code == CODE_SUCCEED; + public static boolean isSuccess(int code) { + return code == CODE_SUCCESS; } /**是否成功 * @param response * @return */ - public static boolean isSucceed(JSONResponse response) { - return response != null && response.isSucceed(); + public static boolean isSuccess(JSONResponse response) { + return response != null && response.isSuccess(); } /**校验服务端是否存在table @@ -256,213 +259,110 @@ public static List getList(JSONObject object, Class clazz) { * @return */ public static List getList(JSONObject object, String key, Class clazz) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? JSON.parseArray((JSONArray) obj, clazz) : toList((JSONObject) obj, clazz); - } - /** - * @param clazz - * @return - */ - public List toList(Class clazz) { - return toList(this, clazz); - } - /** - * @param arrayObject - * @param clazz - * @return - */ - public static List toList(JSONObject arrayObject, Class clazz) { - return clazz == null ? null : JSON.parseArray(JSON.toJSONString( - toArray(arrayObject, clazz.getSimpleName())), clazz); + return object == null ? null : JSON.parseArray(object.getString(replaceArray(key)), clazz); } /** * key = KEY_ARRAY - * @param className * @return */ - public JSONArray getArray(String className) { - return getArray(KEY_ARRAY, className); + public JSONArray getArray() { + return getArray(KEY_ARRAY); } /** * @param key - * @param className * @return */ - public JSONArray getArray(String key, String className) { - return getArray(this, key, className); + public JSONArray getArray(String key) { + return getArray(this, key); } /** * @param object - * @param key - * @param className * @return */ - public static JSONArray getArray(JSONObject object, String className) { - return getArray(object, KEY_ARRAY, className); + public static JSONArray getArray(JSONObject object) { + return getArray(object, KEY_ARRAY); } /** * key = KEY_ARRAY * @param object - * @param className - * @return - */ - public static JSONArray getArray(JSONObject object, String key, String className) { - Object obj = object == null ? null : object.get(replaceArray(key)); - if (obj == null) { - return null; - } - return obj instanceof JSONArray ? (JSONArray) obj : toArray((JSONObject) obj, className); - } - - /** - * @param className - * @return - */ - public JSONArray toArray(String className) { - return toArray(this, className); - } - /**{0:{Table:{}}, 1:{Table:{}}...} 转化为 [{Table:{}}, {Table:{}}] - * array.set(index, isContainer ? value : value.getJSONObject(className)); - * @param arrayObject - * @param className className.equals(Table) ? {Table:{Content}} => {Content} + * @param key * @return */ - public static JSONArray toArray(JSONObject arrayObject, String className) { - Set set = arrayObject == null ? null : arrayObject.keySet(); - if (set == null || set.isEmpty()) { - return null; - } - - // [{...},{...},...] - String parentString = StringUtil.getTrimedString(JSON.toJSONString(arrayObject)); - if (parentString.isEmpty()) { - return null; - } - if (parentString.startsWith("[")) { - if (parentString.endsWith("]") == false) { - parentString += "]"; - } - return JSON.parseArray(parentString); - } - - //{"0":{Table:{...}}, "1":{Table:{...}}...} - - className = StringUtil.getTrimedString(className); - boolean isContainer = true; - - JSONArray array = new JSONArray(set.size()); - JSONObject value; - boolean isFirst = true; - int index; - for (String key : set) {//0, 1, 2,... - value = StringUtil.isNumer(key) == false ? null : arrayObject.getJSONObject(key);// Table:{} - if (value != null) { - try { - index = Integer.valueOf(0 + key); - if (isFirst && isTableKey(className) && value.containsKey(className)) {// 判断是否需要提取table - isContainer = false; - } - array.set(index, isContainer ? value : value.getJSONObject(className)); - } catch (Exception e) { - e.printStackTrace(); - } - } - isFirst = false; - } - return array; + public static JSONArray getArray(JSONObject object, String key) { + return object == null ? null : object.getJSONArray(replaceArray(key)); } - // /** // * @return // */ // public JSONObject format() { // return format(this); // } - /**将Item[]:[{Table:{}}, {Table:{}}...] 或 Item[]:{0:{Table:{}}, 1:{Table:{}}...} - * 转化为 itemList:[{Table:{}}, {Table:{}}],如果 Item.equals(Table),则将 {Table:{Content}} 转化为 {Content} - * @param target - * @param response + /**格式化key名称 + * @param object * @return */ - public static JSONObject format(final JSONObject response) { - //太长查看不方便,不如debug Log.i(TAG, "format response = \n" + JSON.toJSONString(response)); - if (response == null || response.isEmpty()) { - Log.i(TAG, "format response == null || response.isEmpty() >> return response;"); - return response; + public static JSONObject format(final JSONObject object) { + //太长查看不方便,不如debug Log.i(TAG, "format object = \n" + JSON.toJSONString(object)); + if (object == null || object.isEmpty()) { + Log.i(TAG, "format object == null || object.isEmpty() >> return object;"); + return object; } - JSONObject transferredObject = new JSONObject(true); + JSONObject formatedObject = new JSONObject(true); - Set set = response.keySet(); + Set set = object.keySet(); if (set != null) { Object value; - String arrayKey; for (String key : set) { - value = response.get(key); - - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredObject.put(replaceArray(key), format(key, (JSONArray) value)); - } else if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray - if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray - arrayKey = key.substring(0, key.lastIndexOf(KEY_ARRAY)); - transferredObject.put(getArrayKey(getSimpleName(arrayKey)) - , format(key, toArray((JSONObject) value, arrayKey)));//需要将name:alias传至toArray - } else {//常规JSONObject,往下一级提取 - transferredObject.put(getSimpleName(key), format((JSONObject) value)); - } - } else {//其它Object,直接填充 - transferredObject.put(getSimpleName(key), value); + value = object.get(key); + + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedObject.put(replaceArray(key), format((JSONArray) value)); + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedObject.put(getSimpleName(key), format((JSONObject) value)); + } + else {//其它Object,直接填充 + formatedObject.put(getSimpleName(key), value); } } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredObject = " + JSON.toJSONString(transferredObject)); - return transferredObject; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedObject = " + JSON.toJSONString(formatedObject)); + return formatedObject; } - /** - * @param responseArray + /**格式化key名称 + * @param array * @return */ - public static JSONArray format(String name, final JSONArray responseArray) { - //太长查看不方便,不如debug Log.i(TAG, "format responseArray = \n" + JSON.toJSONString(responseArray)); - if (responseArray == null || responseArray.isEmpty()) { - Log.i(TAG, "format responseArray == null || responseArray.isEmpty() >> return response;"); - return responseArray; + public static JSONArray format(final JSONArray array) { + //太长查看不方便,不如debug Log.i(TAG, "format array = \n" + JSON.toJSONString(array)); + if (array == null || array.isEmpty()) { + Log.i(TAG, "format array == null || array.isEmpty() >> return array;"); + return array; } - int index = name == null ? -1 : name.lastIndexOf(KEY_ARRAY); - String className = index < 0 ? "" : name.substring(0, index); - - JSONArray transferredArray = new JSONArray(); + JSONArray formatedArray = new JSONArray(); Object value; - boolean isContainer = true; - boolean isFirst = true; - for (int i = 0; i < responseArray.size(); i++) { - value = responseArray.get(i); - if (value instanceof JSONArray) {//转化JSONArray内部的APIJSON Array - transferredArray.add(format(null, (JSONArray) value)); - } else if (value instanceof JSONObject) {//JSONObject,往下一级提取 - //判断是否需要提取child - if (isFirst && isTableKey(className) && ((JSONObject) value).containsKey(className)) { - isContainer = false; - } - //直接添加child 或 添加提取出的child - transferredArray.add(format(isContainer ? (JSONObject)value : ((JSONObject)value).getJSONObject(className) )); - isFirst = false; - } else {//其它Object,直接填充 - transferredArray.add(responseArray.get(i)); + for (int i = 0; i < array.size(); i++) { + value = array.get(i); + if (value instanceof JSONArray) {//JSONArray,遍历来format内部项 + formatedArray.add(format((JSONArray) value)); + } + else if (value instanceof JSONObject) {//JSONObject,往下一级提取 + formatedArray.add(format((JSONObject) value)); + } + else {//其它Object,直接填充 + formatedArray.add(value); } } - //太长查看不方便,不如debug Log.i(TAG, "format return transferredArray = " + JSON.toJSONString(transferredArray)); - return transferredArray; + //太长查看不方便,不如debug Log.i(TAG, "format return formatedArray = " + JSON.toJSONString(formatedArray)); + return formatedArray; } /**替换key+KEY_ARRAY为keyList @@ -485,7 +385,7 @@ public static String getArrayKey(String key) { /**获取简单名称 * @param fullName name 或 name:alias - * @return name > name; name:alias > alias + * @return name => name; name:alias => alias */ public static String getSimpleName(String fullName) { //key:alias -> alias; key:alias[] -> alias[] diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java index 1cf14dc6e..c69f55ac7 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java @@ -36,37 +36,37 @@ public @interface MethodAccess { /**@see {@link RequestMethod#GET} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] GET() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#HEAD} - * @return 该请求方法允许的结构 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST_GET} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST_HEAD} - * @return 该请求方法允许的结构 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST} - * @return 该请求方法允许的结构 default {LOGIN, ADMIN}; + * @return 该请求方法允许的角色 default {LOGIN, ADMIN}; */ RequestRole[] POST() default {LOGIN, ADMIN}; /**@see {@link RequestMethod#PUT} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] PUT() default {OWNER, ADMIN}; /**@see {@link RequestMethod#DELETE} - * @return 该请求方法允许的结构 default {OWNER, ADMIN}; + * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] DELETE() default {OWNER, ADMIN}; diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java index 11f928134..13182f99d 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java @@ -29,13 +29,13 @@ public enum RequestMethod { */ HEAD, - /** - * 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为GETS + * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_GET, - /** - * 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 + /**TODO 改为HEADS + * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ POST_HEAD, diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/SQL.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/SQL.java index 63f532b52..a9da023e5 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/SQL.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/SQL.java @@ -22,8 +22,16 @@ public class SQL { public static final String OR = " OR "; public static final String AND = " AND "; public static final String NOT = " NOT "; + public static final String AS = " AS "; public static final String IS = " is "; public static final String NULL = " null "; + + //括号必须紧跟函数名! count (...) 报错! + public static final String COUNT = "count"; + public static final String SUM = "sum"; + public static final String MAX = "max"; + public static final String MIN = "min"; + public static final String AVG = "avg"; /** * isNull = true @@ -34,7 +42,7 @@ public static String isNull() { } /** * @param isNull - * @return IS + (isNull ? "" : NOT) + NULL; + * @return {@link #IS} + (isNull ? "" : {@link #NOT}) + {@link #NULL}; */ public static String isNull(boolean isNull) { return IS + (isNull ? "" : NOT) + NULL; @@ -87,7 +95,7 @@ public static String isEmpty(String s, boolean isEmpty, boolean trim) { * @param s * @param isEmpty <=0 * @param trim s = trim(s); - * @param nullable isNull(s, true) + OR + + * @param nullable isNull(s, true) + {@link #OR} + * @return {@link #lengthCompare(String, String)} */ public static String isEmpty(String s, boolean isEmpty, boolean trim, boolean nullable) { @@ -171,30 +179,30 @@ public static String subString(String s, int start, int end) { /** * @param s - * @param c - * @return "instr(" + s + "," + c + ")" + * @param c -> 'c' + * @return "instr(" + s + ", '" + c + "')" */ public static String indexOf(String s, String c) { - return "instr(" + s + "," + c + ")"; + return "instr(" + s + ", '" + c + "')"; } /** * @param s - * @param c1 - * @param c2 - * @return + * @param c1 -> 'c1' + * @param c2 -> 'c2' + * @return "replace(" + s + ", '" + c1 + "', '" + c2 + "')" */ public static String replace(String s, String c1, String c2) { - return "replace(" + s + "," + c1 + "," + c2 + ")"; + return "replace(" + s + ", '" + c1 + "', '" + c2 + "')"; } /** * @param s1 - * @param s2 - * @return "strcmp(" + s1 + "," + s2 + ")" + * @param s2 -> 's2' + * @return "strcmp(" + s1 + ", '" + s2 + "')" */ public static String equals(String s1, String s2) { - return "strcmp(" + s1 + "," + s2 + ")"; + return "strcmp(" + s1 + ", '" + s2 + "')"; } /** @@ -212,9 +220,98 @@ public static String toLowerCase(String s) { return "lower(" + s + ")"; } + + + //column and function<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + /**字段 + * @param column + * @return column.isEmpty() ? "*" : column; + */ + public static String column(String column) { + column = StringUtil.getTrimedString(column); + return column.isEmpty() ? "*" : column; + } + /**有别名的字段 + * @param column + * @return {@link #count(String)} + {@link #AS}; + */ + public static String columnAs(String column) { + return count(column) + AS; + } + + /**函数 + * @param column if (StringUtil.isEmpty(column, true) || column.contains(",")) -> column = null; + * @return " " + fun + "(" + {@link #column(String)} + ") "; + */ + public static String function(String fun, String column) { + if (StringUtil.isEmpty(column, true) || column.contains(",")) { + column = null; //解决 count(id,name) 这种多个字段导致的SQL异常 + } + return " " + fun + "(" + column(column) + ") "; + } + /**有别名的函数 + * @param column + * @return {@link #function(String, String)} + {@link #AS} + fun; + */ + public static String functionAs(String fun, String column) { + return function(fun, column) + AS + fun + " "; + } + + /**计数 + * column = null + * @return {@link #count(String)} + */ + public static String count() { + return count(null); + } + /**计数 + * fun = {@link #COUNT} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String count(String column) { + return functionAs(COUNT, column); + } + /**求和 + * fun = {@link #SUM} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String sum(String column) { + return functionAs(SUM, column); + } + /**最大值 + * fun = {@link #MAX} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String max(String column) { + return functionAs(MAX, column); + } + /**最小值 + * fun = {@link #MIN} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String min(String column) { + return functionAs(MIN, column); + } + /**平均值 + * fun = {@link #AVG} + * @param column + * @return {@link #functionAs(String, String)} + */ + public static String avg(String column) { + return functionAs(AVG, column); + } - + //column and function>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + //search<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< public static final int SEARCH_TYPE_CONTAIN_FULL = 0; public static final int SEARCH_TYPE_CONTAIN_ORDER = 1; @@ -286,5 +383,7 @@ public static String search(String s, int type, boolean ignoreCase) { return "%" + s + "%"; } } + + //search>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java index 538db3e06..205d6436f 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/StringUtil.java @@ -17,7 +17,6 @@ import java.io.File; import java.math.BigDecimal; import java.text.DecimalFormat; -import java.util.regex.Matcher; import java.util.regex.Pattern; /**通用字符串(String)相关类,为null时返回"" @@ -100,7 +99,7 @@ public static String getString(String s) { * @param array * @return {@link #getString(String[], boolean)} */ - public static String getString(String[] array) { + public static String getString(Object[] array) { return getString(array, false); } /**获取string,为null则返回"" @@ -109,7 +108,7 @@ public static String getString(String[] array) { * @param ignoreEmptyItem * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, boolean ignoreEmptyItem) { + public static String getString(Object[] array, boolean ignoreEmptyItem) { return getString(array, null, ignoreEmptyItem); } /**获取string,为null则返回"" @@ -118,7 +117,7 @@ public static String getString(String[] array, boolean ignoreEmptyItem) { * @param split * @return {@link #getString(String[], String, boolean)} */ - public static String getString(String[] array, String split) { + public static String getString(Object[] array, String split) { return getString(array, split, false); } /**获取string,为null则返回"" @@ -127,7 +126,7 @@ public static String getString(String[] array, String split) { * @param ignoreEmptyItem * @return */ - public static String getString(String[] array, String split, boolean ignoreEmptyItem) { + public static String getString(Object[] array, String split, boolean ignoreEmptyItem) { String s = ""; if (array != null) { if (split == null) { @@ -304,43 +303,74 @@ public static boolean isNotEmpty(String s, boolean trim) { //判断字符类型 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - public static final Pattern ALPHA_PATTERN; - public static final Pattern NAME_PATTERN; - public static final Pattern BIG_ALPHA_PATTERN; - public static final Pattern SMALL_ALPHA_PATTERN; + public static final Pattern PATTERN_NUMBER; + public static final Pattern PATTERN_PHONE; + public static final Pattern PATTERN_EMAIL; + public static final Pattern PATTERN_ID_CARD; + public static final Pattern PATTERN_ALPHA; + public static final Pattern PATTERN_PASSWORD; //TODO + public static final Pattern PATTERN_NAME; + public static final Pattern PATTERN_ALPHA_BIG; + public static final Pattern PATTERN_ALPHA_SMALL; static { - ALPHA_PATTERN = Pattern.compile("[a-zA-Z]"); - NAME_PATTERN = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过 - BIG_ALPHA_PATTERN = Pattern.compile("[A-Z]"); - SMALL_ALPHA_PATTERN = Pattern.compile("[a-z]"); - } - - //判断手机格式是否正确 + PATTERN_NUMBER = Pattern.compile("^[0-9]+$"); + PATTERN_ALPHA = Pattern.compile("^[a-zA-Z]+$"); + PATTERN_ALPHA_BIG = Pattern.compile("^[A-Z]+$"); + PATTERN_ALPHA_SMALL = Pattern.compile("^[a-z]+$"); + PATTERN_NAME = Pattern.compile("^[0-9a-zA-Z_]+$");//已用55个中英字符测试通过 + PATTERN_PHONE = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-2,5-9])|(17[0-9]))\\d{8}$"); + PATTERN_EMAIL = Pattern.compile("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"); + PATTERN_ID_CARD = Pattern.compile("(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{2}$)"); + PATTERN_PASSWORD = Pattern.compile("^[0-9a-zA-Z]+$"); + } + + /**判断手机格式是否正确 + * @param phone + * @return + */ public static boolean isPhone(String phone) { if (isNotEmpty(phone, true) == false) { return false; } - Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0-2,5-9])|(17[0-9]))\\d{8}$"); - currentString = phone; - - return p.matcher(phone).matches(); + return PATTERN_PHONE.matcher(phone).matches(); + } + /**判断手机格式是否正确 + * @param s + * @return + */ + public static boolean isPassword(String s) { + return getLength(s, false) >= 6 && PATTERN_PASSWORD.matcher(s).matches(); } - //判断email格式是否正确 + /**判断是否全是数字密码 + * @param s + * @return + */ + public static boolean isNumberPassword(String s) { + return getLength(s, false) == 6 && isNumer(s); + } + /**判断email格式是否正确 + * @param email + * @return + */ public static boolean isEmail(String email) { if (isNotEmpty(email, true) == false) { return false; } - String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"; - Pattern p = Pattern.compile(str); - currentString = email; - - return p.matcher(email).matches(); + return PATTERN_EMAIL.matcher(email).matches(); } + + /**判断是否全是验证码 + * @param s + * @return + */ + public static boolean isVerify(String s) { + return getLength(s, false) >= 4 && isNumer(s); + } /**判断是否全是数字 * @param s * @return @@ -350,39 +380,20 @@ public static boolean isNumer(String s) { return false; } - Pattern pattern = Pattern.compile("[0-9]"); - Matcher matcher; - for (int i = 0; i < s.length(); i++) { - matcher = pattern.matcher(s.substring(i, i+1)); - if(! matcher.matches()){ - return false; - } - } - currentString = s; - - return true; + return PATTERN_NUMBER.matcher(s).matches(); } /**判断是否全是字母 * @param s * @return */ public static boolean isAlpha(String s) { - if (s == null) { - Log.i(TAG, "isNumberOrAlpha inputed == null >> return false;"); + if (isEmpty(s, true)) { return false; } - Pattern pAlpha = Pattern.compile("[a-zA-Z]"); - Matcher mAlpha; - for (int i = 0; i < s.length(); i++) { - mAlpha = pAlpha.matcher(s.substring(i, i+1)); - if(! mAlpha.matches()){ - return false; - } - } currentString = s; - return true; + return PATTERN_ALPHA.matcher(s).matches(); } /**判断是否全是数字或字母 * @param s @@ -392,53 +403,53 @@ public static boolean isNumberOrAlpha(String s) { return isNumer(s) || isAlpha(s); } - /**判断是否为单词,只能包含字母,数字或下划线 + /**判断是否为代码名称,只能包含字母,数字或下划线 * @param s * @return */ - public static boolean isWord(String s) { - return s != null && NAME_PATTERN.matcher(s).matches(); + public static boolean isName(String s) { + return s != null && PATTERN_NAME.matcher(s).matches(); } - /**判断是否为首字母大写的单词 + /**判断是否为首字母大写的代码名称 * @param key * @return */ - public static boolean isBigWord(String s) { + public static boolean isBigName(String s) { s = getString(s); - if (s.isEmpty() || BIG_ALPHA_PATTERN.matcher(s.substring(0, 1)).matches() == false) { + if (s.isEmpty() || PATTERN_ALPHA_BIG.matcher(s.substring(0, 1)).matches() == false) { return false; } - return s.length() <= 1 ? true : isWord(s.substring(1)); + return s.length() <= 1 ? true : isName(s.substring(1)); } - /**判断是否为首字母小写的单词 + /**判断是否为首字母小写的代码名称 * @param key * @return */ - public static boolean isSmallWord(String s) { + public static boolean isSmallName(String s) { s = getString(s); - if (s.isEmpty() || SMALL_ALPHA_PATTERN.matcher(s.substring(0, 1)).matches() == false) { + if (s.isEmpty() || PATTERN_ALPHA_SMALL.matcher(s.substring(0, 1)).matches() == false) { return false; } - return s.length() <= 1 ? true : isWord(s.substring(1)); + return s.length() <= 1 ? true : isName(s.substring(1)); } /**判断字符类型是否是身份证号 - * @param idCard + * @param number * @return */ - public static boolean isIDCard(String idCard) { - if (isNumberOrAlpha(idCard) == false) { + public static boolean isIDCard(String number) { + if (isNumberOrAlpha(number) == false) { return false; } - idCard = getString(idCard); - if (idCard.length() == 15) { - Log.i(TAG, "isIDCard idCard.length() == 15 old IDCard"); - currentString = idCard; + number = getString(number); + if (number.length() == 15) { + Log.i(TAG, "isIDCard number.length() == 15 old IDCard"); + currentString = number; return true; } - if (idCard.length() == 18) { - currentString = idCard; + if (number.length() == 18) { + currentString = number; return true; } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/client/package-info.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/client/package-info.java deleted file mode 100644 index 84599fa4a..000000000 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/client/package-info.java +++ /dev/null @@ -1,22 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -/** - * files for client projects - */ -/** - * @author Lemon - * - */ -package zuo.biao.apijson.client; \ No newline at end of file diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/HttpManager.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/HttpManager.java index 9bde4a758..e8c5d73c8 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/HttpManager.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/HttpManager.java @@ -14,12 +14,9 @@ package apijson.demo; -import static zuo.biao.apijson.StringUtil.UTF_8; - import java.io.IOException; import java.net.CookieHandler; import java.net.URI; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -87,58 +84,58 @@ public synchronized static HttpManager getInstance() { public static final String KEY_TOKEN = "token"; public static final String KEY_COOKIE = "cookie"; + // encode和decode太麻烦,直接都用HTTP POST + // /**GET请求 + // * @param paramList 请求参数列表,(可以一个键对应多个值) + // * @param url 接口url + // * @param requestCode + // * 请求码,类似onActivityResult中请求码,当同一activity中以实现接口方式发起多个网络请求时,请求结束后都会回调 + // * {@link OnHttpResponseListener#onHttpResponse(int, String, Exception)}
      + // * 在发起请求的类中可以用requestCode来区分各个请求 + // * @param listener + // */ + // public void get(final String url_, final String request, final OnHttpResponseListener listener) { + // Log.d(TAG, "get url_ = " + url_ + "; request = " + request + " >>>"); + // new AsyncTask() { + // + // String result; + // @Override + // protected Exception doInBackground(Void... params) { + // try { + // String url = StringUtil.getNoBlankString(url_) + // + URLEncoder.encode(StringUtil.getNoBlankString(request), UTF_8); + // StringBuffer sb = new StringBuffer(); + // sb.append(url); + // + // OkHttpClient client = getHttpClient(url); + // if (client == null) { + // return new Exception(TAG + ".get AsyncTask.doInBackground client == null >> return;"); + // } + // + // result = getResponseJson(client, new Request.Builder() + // .addHeader(KEY_TOKEN, getToken(url)) + // .url(sb.toString()).build()); + // } catch (Exception e) { + // Log.e(TAG, "get AsyncTask.doInBackground try { result = getResponseJson(..." + + // "} catch (Exception e) {\n" + e.getMessage()); + // return e; + // } + // + // return null; + // } + // + // @Override + // protected void onPostExecute(Exception exception) { + // super.onPostExecute(exception); + // listener.onHttpResponse(0, result, exception); + // } + // + // }.execute(); + // + // } + + public static final MediaType TYPE_JSON = MediaType.parse("application/json; charset=utf-8"); - /**GET请求 - * @param paramList 请求参数列表,(可以一个键对应多个值) - * @param url 接口url - * @param requestCode - * 请求码,类似onActivityResult中请求码,当同一activity中以实现接口方式发起多个网络请求时,请求结束后都会回调 - * {@link OnHttpResponseListener#onHttpResponse(int, String, Exception)}
      - * 在发起请求的类中可以用requestCode来区分各个请求 - * @param listener - */ - public void get(final String url_, final String request, final OnHttpResponseListener listener) { - Log.d(TAG, "get url_ = " + url_ + "; request = " + request + " >>>"); - new AsyncTask() { - - String result; - @Override - protected Exception doInBackground(Void... params) { - try { - String url = StringUtil.getNoBlankString(url_) - + URLEncoder.encode(StringUtil.getNoBlankString(request), UTF_8); - StringBuffer sb = new StringBuffer(); - sb.append(url); - - OkHttpClient client = getHttpClient(url); - if (client == null) { - return new Exception(TAG + ".get AsyncTask.doInBackground client == null >> return;"); - } - - result = getResponseJson(client, new Request.Builder() - .addHeader(KEY_TOKEN, getToken(url)) - .url(sb.toString()).build()); - } catch (Exception e) { - Log.e(TAG, "get AsyncTask.doInBackground try { result = getResponseJson(..." + - "} catch (Exception e) {\n" + e.getMessage()); - return e; - } - - return null; - } - - @Override - protected void onPostExecute(Exception exception) { - super.onPostExecute(exception); - listener.onHttpResponse(0, result, exception); - } - - }.execute(); - - } - - public static final MediaType TYPE_JSON =MediaType.parse("application/json; charset=utf-8"); - /**POST请求 * @param paramList 请求参数列表,(可以一个键对应多个值) * @param url 接口url @@ -163,9 +160,9 @@ protected Exception doInBackground(Void... params) { if (client == null) { return new Exception(TAG + ".post AsyncTask.doInBackground client == null >> return;"); } - + RequestBody requestBody = RequestBody.create(TYPE_JSON, request); - + result = getResponseJson(client, new Request.Builder() .addHeader(KEY_TOKEN, getToken(url)).url(StringUtil.getNoBlankString(url)) .post(requestBody).build()); diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/RequestUtil.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/RequestUtil.java index a8e560f0b..b4cc06954 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/RequestUtil.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/RequestUtil.java @@ -23,11 +23,10 @@ import apijson.demo.application.DemoApplication; import apijson.demo.model.Comment; import apijson.demo.model.Moment; +import apijson.demo.model.Privacy; import apijson.demo.model.User; -import apijson.demo.model.Wallet; /**请求工具类 - * 设置encode参数只为方便展示,实际使用时并不需要 * @author Lemon */ public class RequestUtil { @@ -42,7 +41,7 @@ public class RequestUtil { - public static JSONObject newPostRequest(boolean encode) { + public static JSONObject newPostRequest() { Moment data = new Moment(); data.setUserId(DEFAULT_USER_ID); data.setContent(context.getString(R.string.apijson_slogan)); @@ -50,80 +49,76 @@ public static JSONObject newPostRequest(boolean encode) { list.add("http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000"); list.add("http://common.cnblogs.com/images/icon_weibo_24.png"); data.setPictureList(list); - return new JSONRequest(data, encode).setTag(Moment.class.getSimpleName()); + return new JSONRequest(data).setTag(Moment.class.getSimpleName()); } - public static JSONObject newPutRequest(long id, boolean encode) { + public static JSONObject newPutRequest(long id) { Moment data = new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id); // data.setContent(context.getString(R.string.apijson_info));//一般可用这种方式,encode是为了展示方便 List list = new ArrayList(); list.add((long) 82001); list.add((long) 82002); - JSONObject momentObject = new JSONObject(data, encode); - momentObject.put("praiseUserIdList+", list, encode); - momentObject.put("content", context.getString(R.string.apijson_info), encode); - return new JSONRequest(Moment.class.getSimpleName(), momentObject, encode).setTag(Moment.class.getSimpleName()); + JSONObject momentObject = new JSONObject(data); + momentObject.put("praiseUserIdList+", list); + momentObject.put("content", context.getString(R.string.apijson_info)); + return new JSONRequest(Moment.class.getSimpleName(), momentObject).setTag(Moment.class.getSimpleName()); } - public static JSONObject newDeleteRequest(long id, boolean encode) { - return new JSONRequest(new Moment(id <= 0 ? 10000 : id), encode).setTag(Moment.class.getSimpleName()); + public static JSONObject newDeleteRequest(long id) { + return new JSONRequest(new Moment(id <= 0 ? 10000 : id)).setTag(Moment.class.getSimpleName()); } - public static JSONObject newSingleRequest(long id, boolean encode) { - return new JSONRequest(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id), encode); + public static JSONObject newSingleRequest(long id) { + return new JSONRequest(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id)); } - public static JSONObject newColumnsRequest(long id, boolean encode) { - JSONObject object = new JSONObject(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id), encode); + public static JSONObject newColumnsRequest(long id) { + JSONObject object = new JSONObject(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id)); object.setColumn("id,userId,content"); - return new JSONRequest(Moment.class.getSimpleName(), object, encode); + return new JSONRequest(Moment.class.getSimpleName(), object); } - public static JSONObject newRelyRequest(long id, boolean encode) { + public static JSONObject newRelyRequest(long id) { JSONRequest request = new JSONRequest(); - request.put(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id), encode); - request.put(User.class.getSimpleName(), new JSONRequest("id@", "Moment/userId", encode)); + request.put(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id)); + request.put(User.class.getSimpleName(), new JSONRequest("id@", "Moment/userId")); return request; } - public static JSONObject newArrayRequest(boolean encode) { + public static JSONObject newArrayRequest() { JSONRequest dataObject = new JSONRequest(); - dataObject.put("name$", "%o%", encode); - JSONRequest request = new JSONRequest(User.class.getSimpleName(), dataObject, encode); - return request.toArray(5, 1, User.class.getSimpleName(), encode); + dataObject.put("name$", "%o%"); + JSONRequest request = new JSONRequest(User.class.getSimpleName(), dataObject); + return request.toArray(5, 1, User.class.getSimpleName()); } - public static JSONObject newComplexRequest(boolean encode) { + public static JSONObject newComplexRequest() { JSONRequest request = new JSONRequest(); List idList = new ArrayList(); idList.add(DEFAULT_USER_ID); idList.add((long) 93793); - request.put(Moment.class.getSimpleName(), new JSONRequest("userId{}", idList, encode), encode); + request.put(Moment.class.getSimpleName(), new JSONRequest("userId{}", idList)); - request.put(User.class.getSimpleName(), new JSONRequest("id@", "/Moment/userId", encode), encode); + request.put(User.class.getSimpleName(), new JSONRequest("id@", "/Moment/userId")); - request.add(new JSONRequest(Comment.class.getSimpleName() - , new JSONRequest("momentId@", "[]/Moment/id", encode), encode). - toArray(3, 0, Comment.class.getSimpleName()), encode); + request.putAll(new JSONRequest(Comment.class.getSimpleName() + , new JSONRequest("momentId@", "[]/Moment/id")). + toArray(3, 0, Comment.class.getSimpleName())); - return request.toArray(3, 0, encode); + return request.toArray(3, 0); } - public static JSONObject newAccessErrorRequest(boolean encode) { - return new JSONRequest(new Wallet().setUserId(DEFAULT_USER_ID), encode) - .setTag(Wallet.class.getSimpleName()); + public static JSONObject newAccessErrorRequest() { + return new JSONRequest(new Privacy(DEFAULT_USER_ID)); } - public static JSONObject newAccessPermittedRequest(boolean encode) { - JSONRequest request = new JSONRequest(); - request.put(new Wallet().setUserId(DEFAULT_USER_ID), encode); - request.put("currentUserId", DEFAULT_USER_ID, encode); - request.put("loginPassword", "apijson", encode); - return request.setTag(Wallet.class.getSimpleName()); + public static JSONObject newAccessPermittedRequest() { + JSONRequest request = new JSONRequest(new Privacy(DEFAULT_USER_ID)); + return request.setTag(Privacy.class.getSimpleName()); } } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Privacy.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Privacy.java new file mode 100644 index 000000000..937621679 --- /dev/null +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Privacy.java @@ -0,0 +1,98 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package apijson.demo.model; + +import static zuo.biao.apijson.RequestRole.ADMIN; +import static zuo.biao.apijson.RequestRole.OWNER; +import static zuo.biao.apijson.RequestRole.UNKNOWN; + +import zuo.biao.apijson.MethodAccess; + +/**用户隐私信息 + * @author Lemon + */ +@MethodAccess( + GET = {}, + POST_GET = {OWNER, ADMIN}, + POST = {UNKNOWN, ADMIN}, + DELETE = {ADMIN} + ) +public class Privacy extends BaseModel { + private static final long serialVersionUID = 1L; + + public static final int PASSWORD_TYPE_LOGIN = 0; + public static final int PASSWORD_TYPE_PAY = 1; + + private String phone; //手机 + private String password; //登录密码,隐藏字段 + private String payPassword; //支付密码,隐藏字段 + private Double balance; //余额 + + public Privacy() { + super(); + } + + public Privacy(long id) { + this(); + setId(id); + } + + public Privacy(String phone, String password) { + this(); + setPhone(phone); + setPassword(password); + } + + + + public String getPhone() { + return phone; + } + public Privacy setPhone(String phone) { + this.phone = phone; + return this; + } + + /**get_password会转为password + * @return + */ + public String get__password() { + return password; + } + public Privacy setPassword(String password) { + this.password = password; + return this; + } + + /**get_PayPassword会转为PayPassword + * @return + */ + public String get__payPassword() { + return payPassword; + } + public Privacy setPayPassword(String payPassword) { + this.payPassword = payPassword; + return this; + } + + public Double getBalance() { + return balance; + } + public Privacy setBalance(Double balance) { + this.balance = balance; + return this; + } + +} diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Wallet.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Wallet.java deleted file mode 100644 index 14ca08929..000000000 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Wallet.java +++ /dev/null @@ -1,101 +0,0 @@ -/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License.*/ - -package apijson.demo.model; - -import static zuo.biao.apijson.RequestRole.ADMIN; -import static zuo.biao.apijson.RequestRole.OWNER; - -import java.math.BigDecimal; - -import zuo.biao.apijson.MethodAccess; - -/**钱包类,已用privacy替代 - * @author Lemon - * @see - *
      POST_GET:
      -{
      -    "Wallet":{
      -        "disallow":"!",
      -        "necessary":"id"
      -    }
      -}
      - * 
      - *
      POST:post/wallet
      -{
      -    "Wallet":{
      -        "disallow":"!",
      -        "necessary":"id"
      -    },
      -    "necessary":"payPassword"
      -}
      - * 
      - *
      PUT:put/wallet
      -{
      -    "Wallet":{
      -        "disallow":"!",
      -        "necessary":"id,balance+"
      -    },
      -    "necessary":"payPassword"
      -}
      - * 
      - *
      DELETE:delete/wallet
      -{
      -    "Wallet":{
      -        "disallow":"!",
      -        "necessary":"id"
      -    },
      -    "necessary":"payPassword"
      -}
      - * 
      - */ -@Deprecated -@MethodAccess( - GET = {}, - HEAD = {}, - POST_GET = {OWNER, ADMIN}, - POST_HEAD = {OWNER, ADMIN}, - POST = {ADMIN}, - DELETE = {ADMIN} - ) -public class Wallet extends BaseModel { - private static final long serialVersionUID = 1L; - - public BigDecimal balance; - - /**默认构造方法,JSON等解析时必须要有 - */ - public Wallet() { - super(); - } - public Wallet(long id) { - this(); - setId(id); - } - - - public Wallet setUserId(long userId) { - setId(userId); - return this; - } - - public BigDecimal getBalance() { - return balance; - } - public Wallet setBalance(BigDecimal balance) { - this.balance = balance; - return this; - } - -} diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/AutoActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/AutoActivity.java index 137cd4823..c067267c7 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/AutoActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/AutoActivity.java @@ -131,7 +131,7 @@ public void request(TextView tv) { } public void request(String method) { startActivityForResult(RequestActivity.createIntent(context, id, url, method - , JSON.parseObject(StringUtil.getString(tvAutoRequest)), false), REQUEST_TO_REQUEST); + , JSON.parseObject(StringUtil.getString(tvAutoRequest))), REQUEST_TO_REQUEST); } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/CodeUtil.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/CodeUtil.java index 007d6eac2..fc1b6d5d2 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/CodeUtil.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/CodeUtil.java @@ -43,14 +43,12 @@ public static String parse(final String name, final JSONObject request) { if (set != null) { Object value; - String pairKey; for (String key : set) { value = request.get(key); if (value == null) { continue; } - pairKey = new String(key instanceof String ? "\"" + key + "\"" : key); if (value instanceof JSONObject) {//APIJSON Array转为常规JSONArray if (isArrayKey(key)) {//APIJSON Array转为常规JSONArray response += NEWLINE + NEWLINE + "//" + key + "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"; @@ -65,22 +63,25 @@ public static String parse(final String name, final JSONObject request) { String prefix = key.substring(0, key.length() - 2); response += NEWLINE + NEWLINE - + parentKey + ".add(" + getItemKey(key) + ".toArray(" + + parentKey + ".putAll(" + getItemKey(key) + ".toArray(" + count + ", " + page + (prefix.isEmpty() ? "" : ", \"" + prefix + "\"") + "));"; response += NEWLINE + "//" + key + ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + NEWLINE; - } else {//常规JSONObject,往下一级提取 + } + else {//常规JSONObject,往下一级提取 response += NEWLINE + NEWLINE + "//" + key + "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"; response += parse(key, (JSONObject) value); - response += NEWLINE + NEWLINE + parentKey + ".put(" + pairKey + ", " + getTableKey(key) + ");"; + response += NEWLINE + NEWLINE + parentKey + ".put(\"" + key + "\", " + getTableKey(key) + ");"; response += NEWLINE + "//" + key + ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + NEWLINE; } - } else {//其它Object,直接填充 + } + else {//其它Object,直接填充 if (value instanceof String) { value = "\"" + value + "\""; - } else if (value instanceof JSONArray) { + } + else if (value instanceof JSONArray) { String s = StringUtil.getString(value); if (s.startsWith("[")) { s = s.substring(1); @@ -93,7 +94,7 @@ public static String parse(final String name, final JSONObject request) { value = "new Object[]{" + s + "}";//反射获取泛型太麻烦,反正开发中还要改的 } - response += NEWLINE + parentKey + ".put(" + pairKey + ", " + value + ");"; + response += NEWLINE + parentKey + ".put(\"" + key + "\", " + value + ");"; } } } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java index 82deb8b6a..e044c1f59 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java @@ -14,6 +14,13 @@ package apijson.demo.ui; +import static zuo.biao.apijson.StringUtil.UTF_8; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; + +import zuo.biao.apijson.JSON; +import zuo.biao.apijson.JSONResponse; import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -28,23 +35,15 @@ import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; - -import com.alibaba.fastjson.JSONObject; - -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; - import apijson.demo.HttpManager; import apijson.demo.HttpManager.OnHttpResponseListener; import apijson.demo.R; import apijson.demo.StringUtil; import apijson.demo.model.BaseModel; import apijson.demo.model.Moment; -import apijson.demo.model.Wallet; -import zuo.biao.apijson.JSON; -import zuo.biao.apijson.JSONResponse; +import apijson.demo.model.Privacy; -import static zuo.biao.apijson.StringUtil.UTF_8; +import com.alibaba.fastjson.JSONObject; /**请求Activity * 向服务器发起请求查询或操作相应数据 @@ -58,7 +57,6 @@ public class RequestActivity extends Activity implements OnHttpResponseListener public static final String INTENT_URL = "INTENT_URL"; public static final String INTENT_METHOD = "INTENT_METHOD"; public static final String INTENT_REQUEST = "INTENT_REQUEST"; - public static final String INTENT_ENCODED = "INTENT_ENCODED"; public static final String RESULT_ID = "RESULT_ID"; public static final String RESULT_URL = "RESULT_URL"; @@ -70,17 +68,14 @@ public class RequestActivity extends Activity implements OnHttpResponseListener * @param url * @param method * @param request - * @param encoded * @return */ - public static Intent createIntent(Context context, long id, String url, String method, - JSONObject request, boolean encoded) { + public static Intent createIntent(Context context, long id, String url, String method, JSONObject request) { return new Intent(context, RequestActivity.class) .putExtra(RequestActivity.INTENT_ID, id) .putExtra(RequestActivity.INTENT_URL, url) .putExtra(RequestActivity.INTENT_METHOD, method) - .putExtra(RequestActivity.INTENT_REQUEST, JSON.toJSONString(request)) - .putExtra(RequestActivity.INTENT_ENCODED, encoded); + .putExtra(RequestActivity.INTENT_REQUEST, JSON.toJSONString(request)); } @@ -91,10 +86,9 @@ public static Intent createIntent(Context context, long id, String url, String m private boolean isAlive; private long id; - private String url; - private String method; - private String request; - private boolean encoded; + private String url; + private String method; + private String request; private TextView tvRequestResult; private ProgressBar pbRequest; @@ -115,20 +109,9 @@ protected void onCreate(Bundle savedInstanceState) { url = getIntent().getStringExtra(INTENT_URL); method = getIntent().getStringExtra(INTENT_METHOD); request = getIntent().getStringExtra(INTENT_REQUEST); - encoded = getIntent().getBooleanExtra(INTENT_ENCODED, false); method = StringUtil.getTrimedString(method); url = StringUtil.getCorrectUrl(url); - if (encoded == false && request != null && request.contains("/")) { - // try {//导致JSON.format(request)返回null,然后tvRequestResult就显示为null了 - // String s = URLEncoder.encode(new String(request), StringUtil.UTF_8); - // request = s; - // } catch (UnsupportedEncodingException e) { - // e.printStackTrace(); - // } - request = request.replaceAll("/", "%2F"); - } - tvRequestResult = (TextView) findViewById(R.id.tvRequestResult); pbRequest = (ProgressBar) findViewById(R.id.pbRequest); @@ -176,11 +159,7 @@ private void request() { tvRequestResult.setText("requesting...\n\n url = " + fullUrl + "\n\n request = \n" + JSON.format(request) + "\n\n\n" + error); pbRequest.setVisibility(View.VISIBLE); - if ("get".equals(method) || "head".equals(method)) { - HttpManager.getInstance().get(fullUrl, request, this); - } else { - HttpManager.getInstance().post(fullUrl, request, this); - } + HttpManager.getInstance().post(fullUrl, request, this); } /**用浏览器请求,只有GET请求才能正常访问 @@ -244,15 +223,15 @@ public void onHttpResponse(int requestCode, final String resultJson, final Excep } else if ("delete".equals(method)) { response = response.getJSONResponse(Moment.class.getSimpleName()); - // if (JSONResponse.isSucceed(response)) {//delete succeed + // if (JSONResponse.isSuccess(response)) {//delete succeed id = 0;//reuse default value // } Log.d(TAG, "onHttpResponse delete.equals(method) >> id = " + id - + "; isSucceed = " + JSONResponse.isSucceed(response)); + + "; isSucceed = " + JSONResponse.isSuccess(response)); } else if ("post_get".equals(method)) { - Wallet wallet = response.getObject(Wallet.class); - Log.d(TAG, "onHttpResponse post_get.equals(method) >> wallet = " + JSON.toJSONString(wallet)); + Privacy privacy = response.getObject(Privacy.class); + Log.d(TAG, "onHttpResponse post_get.equals(method) >> privacy = \n" + JSON.toJSONString(privacy)); } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/SelectActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/SelectActivity.java index 0d716f4a8..928e00cb0 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/SelectActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/SelectActivity.java @@ -109,7 +109,7 @@ public void toUpdateLog(View v) { */ public void setRequest() { for (int i = 0; i < buttons.length; i++) { - buttons[i].setText(JSON.format(getRequest(buttons[i], false))); + buttons[i].setText(JSON.format(getRequest(buttons[i]))); } } @@ -119,30 +119,30 @@ public void setRequest() { * @param v * @return */ - public JSONObject getRequest(View v, boolean encode) { + public JSONObject getRequest(View v) { switch (v.getId()) { case R.id.btnSelectPost: - return RequestUtil.newPostRequest(encode); + return RequestUtil.newPostRequest(); case R.id.btnSelectPut: - return RequestUtil.newPutRequest(id, encode); + return RequestUtil.newPutRequest(id); case R.id.btnSelectDelete: - return RequestUtil.newDeleteRequest(id, encode); + return RequestUtil.newDeleteRequest(id); case R.id.btnSelectSingle: - return RequestUtil.newSingleRequest(id, encode); + return RequestUtil.newSingleRequest(id); case R.id.btnSelectColumns: - return RequestUtil.newColumnsRequest(id, encode); + return RequestUtil.newColumnsRequest(id); case R.id.btnSelectRely: - return RequestUtil.newRelyRequest(id, encode); + return RequestUtil.newRelyRequest(id); case R.id.btnSelectArray: - return RequestUtil.newArrayRequest(encode); + return RequestUtil.newArrayRequest(); case R.id.btnSelectAccessError: - return RequestUtil.newAccessErrorRequest(encode); + return RequestUtil.newAccessErrorRequest(); case R.id.btnSelectAccessPermitted: - return RequestUtil.newAccessPermittedRequest(encode); + return RequestUtil.newAccessPermittedRequest(); default: - return RequestUtil.newComplexRequest(encode); + return RequestUtil.newComplexRequest(); } } @@ -153,31 +153,31 @@ public JSONObject getRequest(View v, boolean encode) { public void onClick(View v) { switch (v.getId()) { case R.id.btnSelectPost: - select(getRequest(v, true), "post"); + select(getRequest(v), "post"); break; case R.id.btnSelectPut: - select(getRequest(v, true), "put"); + select(getRequest(v), "put"); break; case R.id.btnSelectDelete: - select(getRequest(v, true), "delete"); + select(getRequest(v), "delete"); break; case R.id.btnSelectAccessError: - select(getRequest(v, true), "post_get"); + select(getRequest(v), "post_get"); break; case R.id.btnSelectAccessPermitted: - select(getRequest(v, true), "post_get"); + select(getRequest(v), "post_get"); break; default: - select(getRequest(v, true), "get"); + select(getRequest(v), "get"); break; } } private void select(JSONObject request, String method) { - startActivityForResult(RequestActivity.createIntent(context, id, url, method, request, true), REQUEST_TO_REQUEST); + startActivityForResult(RequestActivity.createIntent(context, id, url, method, request), REQUEST_TO_REQUEST); } From fb1a170b5279b1fc1fc56b06829f66b813948798 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Wed, 6 Sep 2017 01:35:59 +0800 Subject: [PATCH 164/219] =?UTF-8?q?=E5=88=A0=E9=99=A41.6.0=E7=89=88apk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APIJSONApp1.6.0.apk | Bin 1493702 -> 0 bytes APIJSONTest1.6.0.apk | Bin 399952 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 APIJSONApp1.6.0.apk delete mode 100644 APIJSONTest1.6.0.apk diff --git a/APIJSONApp1.6.0.apk b/APIJSONApp1.6.0.apk deleted file mode 100644 index 287ef68191467785ee099e2dea24ceedc711a99a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1493702 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ξ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

      _qwjLOlq;e6RRkGq@c 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�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

      !nc+p`Fs>&5I|MU^}epm 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

      ?d(2h`Kt$}cwo~!FqOgN{CJ@|&l;_B z`hMHhp7zi?V|&QCbMcGv9AD0zbRmVg)96e*^}5@WzmMfF_j{>hXSd$X zO`doqo;2_Dzz*}kHhN%(dti@xU|ktZ((7|Cbxg0_(&+VlPa54l>3{VHu%A7!kOyYG z?1q(kU;z)T%mcGMupS;*9}leD1FQDHdU{}u9#}6AY^(e_1&ho&H^uYe< zf%W#l=6Ya#Jg|i?yZK??&gpykx4GlmM|F0exvqKn5WW&$=5oAkZdLg?+E%sAe5sha z_6Q{IqaEVD?7`K9|GO7n=6*UYYZ7VmRg)k&oYd<7A93#i9#ygakIy+<&dFwzoSYQ0 zo4}p~5*8^g36TUu0tt4#xGZQ$RHWFhh6E9;fVpyG7p&;DT{_rMvG)eSiaiP{id{fJ zssj1F@64IAXENd9z5nm?{PBr<=KZ`g^UgcHy%Sbe)3X@{y(iG5jfX$9KDDaGAm^)7 zsJns~1b-W>7i(hlG;u*ngYj!MpMT(MiD@MIGe0Ncqvs^>9X?gL)r=|&%-$p^$3~YN zQ(bbr)9e_IzO5Au$SY)su8w@1?6^AF{Qc1|v-Ov+Y_J(6=q|EX_i* zkLM1v{7&`e#rOJ_>nb1+Rlr{Z7% z`J9S_rOM}294shdzd2Z%gza{)bO~#Bup9}~KH^xegk?BbHwo+FV3CrJdxepY_*umx zO5ArVdf9%OVyBe2_XFu0i`mP4L%&3zH#_u81^P`6{W5`mw?n^Npf7glR|xdS9r~35{bh}t!+L%&*}f9B9z z1o}pYevMF9fBUHOy1Iksr?pmEH$C8BAGqqV-6ns`;~65vpY^f5o~)eaYp{+Iup-CL zP=Vgp@q>3tMhn=Hj-T;DdXD+H^LFgSk9qn0S~_Q&aIjyc`d;r~TO@3vgYB2F3moi# zgiUoYUr9$!n()_>nlm0mpfRAq?dm6((PL8jY?Y+>5=$IYY?zZPx>qZ)5BX zA=)Hm*gC*M9Q&?_d;#uU?q2VlAN#EHeZ<1g_~JzQa|;D6aNQ7{NEoWtY4h4o|f9UZ4UOL6we+fo{xlh)V7ZO z7dt7k*u$kIpMn=+3K^tp#BI-6z#Iw!Q5IZf@Q5VH+vaNFb*Sn3ajpQh^ zhOW+9N<5y{82-1)$Z-1T@;2T_U!iq88*^lvZJXY@LNk>n>uM-n_ziti$bBcRrcKr# z%6?oMJBwv*ZH(PnqR?|^*V1!%EN!FP?05HK^Gd3Hrc&GgTCIt+gs9E@*lv?+jh&q~Ur z;;X>o9k=y_f5!_k-YfpY9XDPEpKN3HnI^|p!5An`<=q0ZCqUYU*zX?IWk2BcwvKn% z*gferZOqD8UjobA`y$3$;O@^^|Z?a6)+}3CO&4huB5Er!2;&d;(g*D~zSHcENRC5tz{dj{2OTS|~hQ5h^H@qIJ2+D$7NJxysZTi=J$;`>q0Icd-%t*_nm ziq@tY?Ss^$#C-(K=2Cgu0x9ionUrPGZP`IAr_uN6@66~rw}j}oGUz3>Kd#i!<};P} zy=3f|%eK4<#IKYO?>zqUHR(Kl#hp(WKjJK10Yc-xBAF&32hk2V=Hh#1uzu5<8n>HH z_q)F64P#O$(^`D#2b$TdY~JzE=2fVNL9OwGFC&SiAA*i|M)9@yS3?03fEM#L{Pi+q z4_``(M+{<2YCQaTYWKK~XP>n|<$K}Z`yV@dszcQg~iV|fOgdikte=7u!uv<=?o z8J#yvtI&NQLw%Q78nsdRqcSD>Oof_4DpGZlSn{aWWL=bZ8QRu>?67(+l{%VvmKIutqVB#q1PND8MzQJLi9h@0^3gcMgqDv&;3`b<7rOgYgjb3IS?2+awieLA$8IdN71m zB~5QrY<6CEFSDC%s?i;;^}uy(Z3tg9dtR$IUeFT8=UN3?ZiU|lck0|i5S&Y>Iw6by5P zLqXRwB{RVOzx;!v33Wp) z>q>3?Zu3+^U5xjI)-K(rlx~K;Zu=+N;xw;+)s3}%p*KkLDYbwm_Ak)l{btg>V>5(Q z+xIFB?+?U#&CrxP2hm^EJ)2%Tzrj zZp_r0pJ}dLGcO*Rp{<7hgWh{B^Xe(h=e8c(@(+v$V+jlx4PTX7K#IlelA&es^B*AZ zGgMwW&PabrTcW0$XbnCHba4(jSO;4**{velq2Q*!!gi{e#nwAQiqGvLwYHWO2T#H5vP`hstPP zs~UtX%g8Vqtnq~hNI+9A;AwApzqx%$MlfU50i@I-<-MuOYnb8;q+p-BA*1Cz{Kj5) z1If_(rUz4pq;F`i2w;4{R2JXb{}kT~(bg>c{L)vT|GC&d8E2Bj2Gq!dBbdFaQ)#<^ z*30M8*Ee3kZ}l;24ousUh~Y*wVq&Y1j`_2;dCD@KsLijm&T3I`Op#95n4ufQgQJQ4 zQ5H{;?f!$h6W`)D=>@HjIv2Y9_=e?B-`9ZeU@G!KJ$wQ*y`#0drOfnB^|wcH2I%7Q zSNIPj@o_LZ`t}v5JN_Dr1X4OrNi%7k(-N>HCZ&Nd+fC5w?cj3D`v{4yHB+Kr;u0pvFJPC%tr7W;2B8k2&Qo!!4-=N(uH6xh1#t)caL8UqhKGT`JXJ! zljulA#gU2^G}Rw(mNr!R!+B3v1aZ9fF9;=_B)>7$m(bMaX;`lE2);AHWqk81ww@k0 zKG4c6Y;$VO51_w%TSE%~XdT5g8m)hW{EgN&dmeH34zs~V_N!ckn zkHuFO$M1J(xRpNC;+H;1O>WsFEN^Qmy~2k)@7dp5+bi@f?U=et>@!kqE&sQ?^p=!QmhVd94d9nmCOx2Wq(Lnt#Xw%$P2ZrkhOVuQ*Hp-T}L;BuV9;j-?2p_ zhQVk%nfI4{ZNK+utkKw;cFv3+C`g@R#g4X!d;Q{{;HQUEKYX-)Fg@lZ_2{YeFg^O9 zuAp_Ccz4ia0`ypoZ=JnYJdW7{{~E_%EZ?5`n%OpJux<@apl=_-xXW4w-$B1N4p)0d zE3-9g_*TzTh4t_?y8qK!h0+D;R60Qf-=bsh(AH}F9a=N9Uil~VS2u>LAs;4JEi0*> z6x~OtwMLAy4dPsfXAgqINmeS_U|bwZgC4T%g8}%?q}oL4u(m_LT3g)q4VH+FbSvPVHG)(qQ^^3|6x=6;F!43J6c`sgTnsIb-e7$j zx{+k470UbVSRTE&_dW%Eq~I^m=MlV93{-#gN9XI!u)ecLQ3{JGg@glEFXUZD{kA~d!GPP1 zVKrGt70&|=^&*qo8;p}my!aOFoU-?BZa=hE0^|r<55A^a=|wJfLcq{UUxL|VUfE5$ zqqkmUVteU(K#i8&bY^?fUu`=(OGw`_+|V1!0hGxQj7oi@=RdDi;9G;<`el!6xPEju zsa^DvR=emKEiwOdtx}DUCh`nz$Lqk|MAE$&mRD8AD923Km(V;%&IaqT;%1O!d9hB$ zKJXZfBBP&DI*iU#68$dI-mCrB24;)WdIjmFKg^ZFQ?Vk+%g}&(V5~%zB zHr?MoNQbez^;ikylro28q~Oc~U-TVdl@sPp!Ce8EN%aM{5x^M+!;5YAcf}0v3bSoj z2%foK;&J)#KtJozRwx^%`sap->z&3nU2l)RSdo@WF5l2(mF5K<9_^rCVvZj60 zoAk2Z8%<1Hps^R~v3G)5j)MIw{F1?18fngsPg<$9CR%C+R?+veHsdR!L$qJo5qX6o z;?*v%{0E2Wi>Dw-_3%g`tk+Ot<;{-?DL8 zgAwfswbq;EBSu+51OE?|Oapg@7p3#tW0vkzx{_oM2&E&J_JGjFdMZ2yi4On`Oacug z@XgdOiW}{h^33e$Iy$=f%JfD*CC-}5kZ;)r_U8Cns-ag` zYRTme=ZZeZI-~G*2>Gc~8mxDfN|0c!OM;_Z z60kV_vm`mbmBX0?HtxH8G{*mmmZQxYx@y|Yv)yv6b>vtp$${%sScma_4yKheK_(_0 zenqz??ULUAEwddn*?6=B-}ZS;tDtj`p(=aPIR(B~hS<53k*Zj@Yt73WVowy`8Hlf$kM$$>PN>T* zx75G=j)pC95XThImcg$NXZb;hk7wzx51ITJC5Z zGcOeE0XmNF3LW`8jQqf-nNkn(B-j4-f}F=Q8#j=ei;I19Y=$YDM!)+gF?w%-nyH&9I3|Kp9AN2VihAb(fsj*V>3 zJU;wk&Fo%Q+6Cr~zV^99^(TfuLizjC9vm&obQ zIrP;6{S}A)mX_hV&$((Nn_JsTnTqDY-RJ0U*jJR|O73pr zyd%DTqrLx362n<(Qt6m4kGWZT=uSprIP~*b&_BoObK@Rt?>!`wy;ir;RB#N!&(9s$ z$j(ean5FJ8ZMQ4TxC#CHa3`FfSvdS%*23?4lM67M9ION0@DU`(hd!;=i>Drh}6UV2=h$>@&bR8Q@M zHZ8}~THV^crL1R&y(;?s@V53_?~6c z9|9l0!zk`7m|Hek)ANpi_P!?1PiL*r_FK()V_f^q$9>0bOg%2xnEKmyY~5qB@e-a) zG3t#cv~<_Gs#Cw??>;;VTKy5q@MPm<`@CPa{ch)(!1F2EicnuEF{cu=Re2qMQ+YVeUpBwAOiN2QeLMs+9rJfH-=VCS zp>+t`8!w&d(Av_y?KXc}Bn|jKovA6k%Fp{di4U2n4g5Tll#j@8q{H262Y_Y5t5)K%K5&CM?@RnpRv?!|hVmXvl?*XBq1rlqA1Nh@>G-_niZ8J{se@|K3{ zo!ELc6Z~3i7)nki84ACdv`wQ_#=A(vccG^GMyP2{csj{~(s?*g=A;Euo4@Rvrhq=P zsf~7~QCwBI7e=v*)AS&dcX3)!Th$hQi0;B(WkBrMu6e%iO<+n+?H1w)>=S=GF=M5E z7>gQZ{t)gxZFpY8|G%J_TWdGW*Ag4-J*W+?Jt+9bS0Qk3Yc%lNGq63Q!5968-m{P2 zhvyW46UVIf%$542AwgTbmHLf-8UJxU0B=B$zrt!7gzmo#|C^f#@-L5>o`{KLQJ*gA1w=8 z-qbc|-z4XfsigK7m|1UnS%VsYDJ9Xn;~UyE+$%|i{(1-8p z+7e2qD~oCvcR4WDAvD%!wD>pRKXa8)yMc#{yV+bnSGG4=--I5au}^Quky<*;Pp7me zeXcg58@UW=5bF2sOt$ET24exut6Jd2&>M_Jw)Is7%T6@lMeGhn8d--j&>Th-e@fEak(w3gCM3-R*j-RZo zaP)KTnj6jwuM3A&<}-`n+|+GMhmVxPEVf@q1ox@31n9%reFRtGBr^doyd30^Z zZ~)24CsotcHN{~P2titN=7z(jixyN#2u7C`CBEQa%s$P&SU`N$Q$SR2SJIf+8Zt_g zsqIF1UriJr?aTYxXa0KFzef>P*KoZ6XE(U#dJ5iypy$Y7zG1J`zxYFMaytZ&m4jjD zK+Jhi9v;Ut)HzwXgua5PDj`nG)uA25GNY=wps7DX28_&~33VZXjCJW50Yu~EAx*VI z!}XMO2#M*Z3+Ur14Qny*=giH?pfwo2bLaYUa;GX!Q##geO3OjobL`uT-w)xpVFt06 zEDydyFg7fKuh8*V2*#%v&7fRqfS^_<^_uuZRNSi}OuboY$tH`;I#Ml0Vet(&o zqdDK1IgL3cnU$lHSy?$T`jR51x6}xLjz&7}GNXZ*U9xgKG`3P0v1H}==yzG_1Y+h^ zXyXZlQ>A7>{u~!ydkqaeEB8QqQo3x)k;K|vn4eI37SxEfS9jvqBp_i`5_9|YlKAI9 zhjD_cV1KZt7;-Kff3JmpR3+K8jC%qVb_;=eo9p%Fv;~7un&a)J7QM~%NAIuj&u_-@=El4NwnWRyQ3!X}8&5-N*a*4GOJ9;I z=JnBkA+P&)$ZOrn>&l$&qRwuRP}j znwm3``?11WAdW;~^m)NQv@g9u%~X4PFT|=oWyLMHMh?AmaIQxUR(LkIqg|dDiTmN$ji$|2gK3;|MQilKY2Ld-c-rr6ts>ap zm71i~B?pzd!jYOw_}D$o@7SkN)0)3r76_(c$WvnHhk}9VuVz90rp4HT+3i=J-EL*t zzs2;7AZw$p_^CH3x6e|gfFxgPFgw&r(3WqGVk#3#yZ5AWRVLRiwMs3Y_AV)O7c_^& zkC~~(=PlRDS~4I%|5oxqYCx;dQV5>)X!9%W=1y~ablr+k(J!F%+w)h<<1ZoZ0l2Pz z%3crd=S{X&l_c<-*T@Lj3ng(nJ*kh>Y?2rTvl-~2@i(E~s3kl%!EE--+(J)WxfycN z%))iu?9%8r=&l|1zLrpK)ar)43%@tP?|WMGV=uQE1@VUI+-xFdE9mJXmb2@f6FZ*X^%VYAG){@dh>8KPEx8Bm?g>Pw% zr+gnO^ppok=y7)X4K1y3r>}gyVX{mh~A&hO7{Vk{241cdmdr@r5wH5XJ{zi-FUvOB_oi z_2!NX&&P`tPZ;z1WyqmmdPRDQBP*UgNhfZdR^)lw|AS8bT&Lq~ovKPU!TA^F)E%j* zdA-QS1BXt_5=cw*ZZY1~2b^+hLLZ#>lZW|zy@Owzm!m|gilfUXiVani*R&Gh!FT{|Zh zVhh1&Yc)N@XdxJ*-;tUZ>P4~+hVYw|H=mE4{}1GNfB$qP zKNnhq6t1N?pd}n7@Dk4G7Se@Qpci>;|1@=-9pgcCpO($99BF=N$mA&41=E_L{1Z z=#RZvE{XSFuCcyl48AI$;w^&m!T_aHE7lNBmJ<$NGd$-P`yQWxC*Hmb;cB5p`%;B8 z0CuyN%{9!!o%v5b`i8lV5`j@%57HUE9OzjY!v&1ZldzXx19dqFqs)js=UPtZTC@iO zzRLU*GELFK-9VD8j7$>!ip|8{p`ldd`)xG3ZL0D{s2d69SLAPMcZZ;Z6c{q@CL6X4 ztLZp0%a()61oOAK1qHd&RZmSm%pBbzU@r(XZ(F{%-OWFT@@vQ+Wb_qIx=XzmfxlO% zL{pWgaAl)ls@e!C4(1i*=cN=Cl%-5lrqvXXaMvG-rmC~xD_G!!0yD{}>J^k0?z%@w z;st1zrKXC~FC=cduH^BXae!UmU{jU+8jzyvRCT5uUITH*M^lOM0bf@a-&CcA{!UXj zR_BwR`Dv+kI`XG0TdOf0(R<82W{Rn^P+qik_1Fl|M?UJHTt9-iG0X{Ep`At76xey$ zIGO2`2d-CEZVJc%qqlM>o-&v(=_#3{GQ}iAyhi6`EOu?k(1R%zDOVFSt&|X{761Xmzhtn-G&rvM`~LLz76jVy{$`r`=BoAq;Gy&)}Z{qDJq>?hoQ6| zr&MNcCGq>N(jYDcS19`Br{@pOKZuBgfv#o3C+oKa=pM63Y36~l)-9Z&XsoT1+>Cl(g8qHAOv)S4bt?&H^y7>wa zuB-IT&o8LVFLJLrWmaT{?UkadoI1zCyH<0TnIyeMYcmWb`gohJ!#sJ(fh_0=dl91@ z^Cv#%Dq5JWq}GBfZiCW&5fv?Wd#LY7iZ-c^dbiih%t1b`B!EfZLe_6vQu&t z={!Fl9$^qslbP^+rJW!7w%)sd-l4WvjRL*5nPxklml|Z|k-t(#+PZXU??oP`X^j3+ zkr^YMOWZ@y;o`Kke2i(3ne&%oiM~t2-`|#RDlD(N&~-0b-_&5H6gFu7FNb|U3!CLq z%K>|}n6@jBEBQ26Kwrxs$8rit)#4E5%=Clg%*YNobL{_F&iv;Z{g-nKN@SsvTSpxv zw@Ss_N>9h!QvS09e^J{nGi@hx(R6Z=#UaM~e-h_xJBRZzhu7?9{rFVnO`6XY`6>IR zDvPoI3{(V0*>!(a=mA>yv&o_Qg;L|^Kd~*c+ogPLZbza~Pkj!a+&Z~r zCxly>|Ky*vU3rJ5<_SV>w{1)+%F+82mrb(tO`V(@w5pDFzg->L#NYpUTEl(%25VCY z?Lbbp-YqF4(S7_LPBHNPi=8*sO)aqy#(dr(1b-8YR>8<^Qf`8}aLlt1_Z1f=Zz`5o z3Xs|*FhY#|7P?GJ%wM3@ zJ-9%tU9!TKWH4~A(ki_vq{zG5(-^xTv{0`DN>aWvKt8|qZYpFmc9#r??DI)A?6fP`Z#D7zNf^_ z4)sV)CzT#QS|S38qrc&aJox<;bCuc1oC|B6JXP(Hx-f!pcPdu`TzwO>Ia#yIZ z8nJ-A=JdiQ`!1egdK04{FFgT*zx*`Nk)TbS-H!liDq-3jAGKU7n~)AX$+Jck4o`H; zV1F?&{qgu}4LMhIKjH|D`gyE-`4PP!HEw_9{Vf&_l*=r855GP(i_TV}o7_?iIHIlH z?QZjX@OCtWTRH(+`B6`R+!>^H%yJFyyWkxZyid3}y|#&TJ-;#*te?lkSY( z!|#!#ZDx8&7|&^S=5zF14?lwz+05>cm|5lJ#UxC2_9#-=d3A+^)oUU+?k=RK?5?Oe z1%AWoFT_pjPfv}u;0b!gelavBUbR{)^=YJb#A>=L>m|vzlVY3MnU6YUq4Sm&{u|`b zTQzRC9c8ZB%;t-@LRj1VEe+SK@up?t$nQgDe@uJQZaao_#%6BEc14JvgTWQs2J1Y< zqQ6j3UG37jo7tO1b>?eYg^HHoe*k}#^llEGy}@^n-VWJs4)4J-&9r*)W@h69&u)+N z{*7e$QptcsH-dKs6e}_DZK$(hqVy=O3K6BS?%cN__qT`qqyl2A&^*K}svZBZh9@FX zLw>Yk5{rJX42b@u^pE~rJK^6H1I)k1cgxaHE zDUFbHe%DmRQ`i~w1iPWm^<{c0VLnmmOQ)Q-hayyl4C+$BU-UaOlZ9XwG77)Hx-KQC zqQx4#PmlZYUc6tprFC=jduul1{izQ~KyRMgd~btwU+8AQS~oA&lr+;nUD;o4l7KnH z>`ro&%WAMkZBAR3rlsNO2t0Yy`azQssKK57FZ_x(OF2!&J-S>NcPF-esNsDzg`OSF zAko{KU!^x%4=i_Xv@T6m(rkH@=1g{*cGZi^0!kW6yXxOLX|2OsKWNE~e$4YdvcHm#YQ69tQM;$n$hPTj8&&&(p2F!r z6)6h%@5bF5xQ&*hw#aYUW8RP0!fiUO*QO*=!)Tk3+fpC1g}O1hq=h@azjMVFZj(J34!*yW9wzqrTK4|V&F=V`H2eJ>Wz{8GM%XR$LP2JO z%FMB+1X(h}9c^E&cKeN)VYeOokKKN&vK+r$hu>`J+-B7eTkJPtV;dx!Rof*$Y%guM zO`lTrnP3l6`%UCeq5TZBI6&`%{HL{*B&G$F3EN z;)u@QXE&AT=Y+oltL)G8(Q~<8x`x%8$6NLJ{~Yh6{~}(V-eV!&!)SWHfOy%+;J=IY z?1RJ_{lXomm-gj;dJkp19p@$fbtPW%zr=aYUyhUOcLq;q)%yQ2o#+17ao*|V>6ia= zo}Tw#p5lKW>-m2^^pu>V(hC!1RJ!WTdB&45Jz4O*h~YZ$XuhYMYH z8~1{rqowve9opx+X#4z~(7vYu{Z5;X?K`(kmzB%|7U@JsKfuWz<>N!elGhbEyKkhx9PPC(3Rvk|MabFT$U*Or9-}GWIUvJ zO4WVg!dRxt`I`>Oe?R5t`wFuU#UFcs=DE-2zXSNQk$>1PQaNG#{|*l$sj8vosyLVD z@hq|PLym|0n;$NumT{qm9UxA8&m1zo1wwpW4{HvohlPUPzC0xVB7uL~A^8^z{Jw36 z;$I^0hYrcVRN(J>Nd9F4|FA>yFBkYnACmt;f&aWi@;@Z-UwKIWhbh0`wv98F^Y=dp z|L8};{i`xPJp4t64F6F|zLhYbI5p`PwM6o2dqT2FcS{_Tef zf2EM#@FDr16!`lclK&}zfA}H!pBDJX9FqSTf&ctN@;@u^&p0IibAtYFITU~FdC-3{ z`~`;${{=ywrw_^hqQL+5A^Bet_`g0R|H}gZ?}y}nMc~(dKNSC~0)PG?`Cqg3&+H-{ z{yVd~TBrP~)v23ctdmOI?=%mz@r3oOmMGk$O|gpe-S6I2NqC8XA1C2G^WAoCm;BD|>>$owk^ZiPzbC_a zW=T9hxOkWx*GO{wD9Cx6g#RSq4@mgW0{)PM|03YeNcgV;{)U8a67aPWzFEN6OZXN6 z|4G7s6Yw1pzLny94or4*z+>A=EKkyZup@45xBc7i3-4g|<8U34=TniA>1~W{4fluH z!0*(mGDl2>QKGw@cW0#dchLBGIV$gn8@o!}<#ebd-)I4&ci6$*?HUDb7#l2|0$H&G6~-&;6o+cE0oC-B;422 zt=m&O$i?aPozU^$SwL6pGu51Sj*G_Um=^*~rE}j5hjvjXv`ago&Fq9WyA#@VozQOX zgmzmew7WW?-PZ|iVJEa@ozNa}(b%pPAu9#FusQY{0*$R}`Hv{je*w~Jpd<}Om)RnXHlW!xi@b~THw%qHy;}zhEjnBv3$&TUp zce%rv;DqD61-px{BV!m7^WASDgm!iQ7DBgO{Ozl;z6Ptfr~6%yzPtFlAia7Pc6iI> z2#y(t_3ZfWz>r=1-GTl+-R;7$yE<=|PIAI3k-|ziVfE|je$W1lU2IQ-trRtpoAHev zGR3+!-=OyEgL-n!>uli7mEJ1p31wh9Edy!5TSTJZo?*MAdz|-+c6F@R?BDcV+#YzE z?tUxz3MY@!^eM5~`TXrrj$b3-|IFuaE%S8U>c*{>{EqL0-y`7HNM&G=5dL-f$+t^c z&3kMYf1@B>@7T6Jy^Fs$kPczrneT4*Uf$Jtd;F#yUqp>V`6=z$@eQ|+oibD=m7%Yk zd>_!W<6A*LIM@+Al@4!>Y}v)@S|6xux94LW;qmPh{Tt=1wE^O~8B zu?Ij$=aG<3-G$tp$=t)ZyNJ5+#TrgAZHnPgvTTawP{KB)%AsV~lvxhNuqj00lzdK6 zIi(w?csZqjQ*=&=aEiexg`8q>ip42aoRUK+*$SCO9ErM8T8^SPlw6ylI+X4<#p_V= zY)Vo?*)}Dqp)NKhsi7Wva=d=nZq^Pqks)1aZH^sYV0nV1(fW73;(E`kd^gK~Ru=1& zVmkH zPWe=cZ%(ItR)ImpcH@o?={n4nt_PfS9oE&Y^M@RrA4YYaZttl+xtpyI7ioiedWmwC za*MJ+S*g6Ke0qsiUVtXffY()pGSI`8Mw`5s5-0|cFW_i&x})7|Z9+8)*}BE88d?nXMiBa|iJB@!MI z@SYML5%8!BXMJ!n;O9GiaIW14mqMTWH0^Uw($mE~DbgRX#Wu#@3*%$G3c#){u(9tL zX75drfq>2A*ryE3w6P-qyM$w{472yHNI78VbL=^BtWXBnOI((Riby56mvG*NJim_G zBj(pAJvm-Db`KvfoTR(Q{U-tapSV}097%745AkNg|MR@j{b7>ojs6h^xuUznBDJzC~1%y$NO8#L}rvcS7x%SK&Gpu`}>5F!%{O2N$Gg z;0U)nN9W4<^qwQ3c8GB7j`qzDv+vB8;ds)%BVTEUM%UT)@G}}G=~IjtZ4;V|$GQ@` z&E@s!;yr9$iF}E|QBar43XBfCeC%+gJ4~y;#K*@`|8(=kN(*qD)>(MB>|t{Qv_n<| zxz}hNN!x2YQ^Uvi_wHeHN=LrfmVCp*-i<_j@g9E01n~Z&p#Ch#_mZGGCH7lBI}5`2 z9+kq`YKOzliagU1uiBPxR43nRdUFq3b4==KyVK8cyS#7jvCn#Cnrhi356Ms}{a&IJ zM)#p5SRcLlO)bKDORFh;D_YeZ;!TVirB`}%lJJbuD?C561F{im3GXPq!3x(@Q@coC zApNrxJ3YVbVe_~mFS8fyCF6Y{*)&Yq@A;GTpohN%VUltylkj&SihNAZIRxzrC)i66 zTQj}79d2ZAZ-Q^akM}}olQ6U$`3Vgz2zPVYi=JW(J{ngcrWn~r6KX{<3%+xX#@@Hc z%VNl;F;tW2mL}3R0$pq`=)bcaiX;1l*GFp#t7Z!m9+lOu~l=_>mGm zT);<2c(s6^Ea5c;?s4_0e~RPkhjVQozHRqf7CtH6>@(uPj8GX94{5iV7 zJqB-*;ygx>=`smFR>1!u;l~O14HAC5fZs0RCkXg`5`Ln9FOl$*1bl^rpDf_dO8DOd z{51(5S>T?dyxkG6I;8;TDBORW|3>mZO7Oo$@}Cgo+auwl1zg?N5g#MqK?y%q zz;h)0Gy#uDc&%8cBz&xp{<4mERh^LjD#?GnP$!Px*Kw|Sgk8>07s`1;3g-+#&NC$Z zOaVVv!p8~em?EX)EFm2;CI90E|JO?XCkXy;m;6r@{NFG6pCtHyNb-NS;QuMf|2cyH z*Cqew3i^3h!q20)X7?$d0X_@{Ohq1c65T^48xcD1#?$82q)25i3#z2SI-zR`%nKQx zmxO&G5Aq}^@64JW_-nKP!u>W_CwA}=K7^03cYud|AyVJfk9Gj88Q>%A?dC%MCLlvy z$e99SxsbSk409n9ZDbZj3S7u}fCK=!iXvTI$oT@&%Y`%w$YCy|NkEQtA=3mT;zIr| zApKp)6ane(LM98yKo>IAg}C!&a57(vi(Nc&{&cZJYcP&SKBYp*CuVk&v8h@CU-O99 z_qCU_KRK+)I1c9lw!aExb9>nPjlx{fAHv@H5*|(qlsUFu!1n;d`#ayijqJDg+>|lC z2IFXFzmEGmY=7r_&!ziW9f*+Ad=Vu9X*;>6`)%|ZCtSdcLBc*DwVf^CgQY#hvHR_} zxs}rZAJdbaS9~$W&C}$Bfjr}+Fs=~rvn3f?1iZ=d&({%e+0XYX6TZe+WluxRq_;Xy zAOG6V_BflWs(KbyGk==>7SM7Vo9;hW2ov@8k}F*i74>$#wD0=9TQ2Jc2j_cj>)m+l z#-99+7|)x{w%nLE4c5JOzA)@h0b3&M@dplcUPdwwxb@T^={YRmlU+EAv-p5J&L{12 z3M?%H+*s_Xp4g9Ze@6@co)-L#7W_Ta(|umzoCBSg*$ag5P7?HTnSlLGI7@NO0asbH z;&d;(V_BRp=-^c8EX2b?_@@bRzaU_>Lfmh=!?ngr`|xc-yme9;-zebqQr>M5@G~WR zuYjK`;of#Pex8J92>9RSvLoPAB>9U4e5!=U1pHzNA1vV0B>ZRrzf8hU5%9|;yk5Ys zknnQ^{7MO*BH%M6e1?F}lJM&U{3=)b&HmldZnsn9A3aG2-T#YY#??~3EO3R}Wc*WV z#~yLVYqdCS6t9CXw7bf*acxg`JzV3)teb_p&?aDW1nfrvyG6iu3D~Uy<|BPv*lhxq zEnv3`Sa$)NCt#%lc8`D!6R`UPY@~qQFJNa1*kS>jEMUt8Y^H!cC}1}W*uw&Lzkod| zV2=ve3ITgrz#bE@_XX?;p?~=rF!3A`Ysg!!D1H+Lz0I_>-K6Vg9HYA2Qn_(ZAiUn#`-Zy_D839`-? zWc^t1w?Odst>AB=(D(09`gD5MZ72ukKTE*Rm%_h5z^6<8rwjNc65cG}GaTGUTX8~e^w{ltY$&wfEN;Jj>ir&$jXuVi z13Kez&e<`3mg@w-YHSS8`=1Q%leqgA zesmWS_yv$cqYZoKOBZdSF}HmvZ$xs{ zKCuj*Zr^XfKf~9@b$_H@pJJ@&hBnIh{Sp42K`!v6yZ92Nr-R-e>sILE<>$a6!292y z1FQ2UMxAb-13TSy4(xP2;XPeC2gdhLkMi}g_cB4ILX_$5ZXNe~Yb2h3b?bOm;dqJX z9*Jk9#B;C2Ge+XMPm-rz;<>+@`>X?@=eKzMK3zDgbFSp~0V(_jiRa%E&s2$LzQl8x z#Irz3?<|RDp%l(PC7wkR&kYjKVu|M#iD!u<&pe4|sl;=i#IsC_YoWxmyj#cfD9eE- z&Ca9bd6d&TJ&&?N3hzNF&Zi`vha{dCB%X&Qp4TLvMQNSxD{3QXemhhJa{3Ho~MZm{M_^SdwPQqUk@be}7bpf9$;cp1| z3<-a;n|q)1nvQtYs&2wQt>k|-_0Rj~`~3%*{4@c7SHdR>_ja&*JX^dgPVg)r=og>~)6-I(=>Fi(0_z&;hQwF35;IM)-fHUZlzV4n*Z(cRb= z0%i!_-7xC15`bYiOV8owsxAb$2;@T`H$P3HTe*dfyHq&aVY|yeV#MgCI|KO6TkB zA-A8{PxiVon}_rPtP8zcE8gT92Q#QMA{NYO&Y(A~$AkL{+l_XHoqL@r;v8q9eSeCs zYXZjZO1-y7CskdU%yH^i;@b1<4 zBD{Mwvk32AEi1yiSL2GJJBZ??zB=A<;`7Dv5LWUY&;&@~4H141h|j4mO!;5tR1;uM zHPN0^O?1tvCc>O*qBN&+&Jm{Ye%01P?81n<-@c=xo?;CVb}vKL>3u1DoXK@MIU0)@C-F>^cs`bRrb|3ubj(ZZvIy2yepc)oz;C8@%}sC8qInTvC&cjX{Y?=+39B(5 zvt}Mv+XmZq&D92DZiJmHx}qiyNQRn3Zl_3-abLt|pTk0q{YsMK7QyePBx21(+o|eq z7w=sWetrpge{>=91mq8nKznv8Ab9U7LX=X(ivi#3@;Qh49OBC)h?bHp^>p~U6j0kv zyPByg!=oFO>gd*F|LY0#>GW)e9^h?T9Z2(waE78wfVZ=V{VMGd_Hg6ICaIl1T);O= z_#gq_BH<$h{5NU5HB!L0N_d@sZR)stGw zS0$qF@N|9Ap&WAiN*jP~2sU~((qz3HDW!U8vR4KJcc~>6d?)2>(iqd!h0tT@suz0YZ2x4_GkBTb z<8L{;P4z3?OZunQ-SKyw{a&D(CEX|WPc@bD!mgw_xAllNO>J+UzKr-a)89~)qIxGK zfV)QX=_hD@C4oM=fJ;LceNp4PbZXPyOY6^kkO%E5;c>6viU-!tG3>uQeLnZJg(SB>?^q&D%{UdCI%kMEf0qyWF(FA&s^3_$(S z`v!t3g91>0=0*Q7y@_Z4t{2|bMpD}6rVy_g9=OaTb5guyohL;_tR^MJ(=R2MG8kw| zEV@M*5Zz?cN#Z&94FtSPw3I+!UDGRdjU=AAK(EntZ}gqSGk>RFOZ-87nd;Xl;?uqK z7sg*pbj8;iU3FUYY4)}vma8toKJ+fSsbXGvNQjVGV`CTTxum^)Y;3BI_JPL6F4SvF z8{ls;Z7m)E%jcW`q}My@sf+afzMy}w58I4UPk~=3B>jDUeUMKl=w@gZLC$;B zpg+e)hR!aDKRrcnp1x*UQ|y<>(U7**MD!cvzJ~<;@h30Vm-qs{_){0_v$gm$je7Gn zYg&-=804G?t;XBLwjK^+;UF6`Kuh;ZYpgYvqs*#m?Z3*%u-_~~nU4h?yjMSJ@r6u2 zzhAHP!)V;!HzlmqX^mFTnrWn`zlj8+=&LdIK_s9Apgw*S8A}3Q^mmU+{9_-uP@i4W zdUSlrG`)3N%h|Py8*KM<+s$<4*f9(Cv2A5H=F`YlzUdO5#_gT~AHLZPXsH;DSFa$<&Je{M)Pu1fS8}+Md zo*&MzZmuLg5MYGV@FQa z-S52IZKt_bX%grQ9QqVJ-L|_&?WF`+A6ctR(`(h~I(r+2rRzDs@@VUHpr4I#!VKgR(D>I851nav z2)-4Bly4&JtssNBt#2dMHnI_|q``dVbNF>pV9fS0^ez}mz@~p^hpO9QY=AJLYZ>;v z9e&WpesIG75s(JsT?nhecn?EFi+%X3Al?w$9q}lP^Cv1vlXX$vC=y-B$0MFJHs)v| zx8qyo+Zf= zZz9taLUnnrg4PeRJ!HchHSz4@0zEB_E`*e!$cc^X|}VJbEB8Z?0YgbDhSz?UBl0z~5K*Yn3|mWx#PKj9roAR=q~W z-&?Rh4J`F})B0+DZHSgamTG<<%Ggs0Xwe^Mp3{0Ncg>t0{hByuAVTSEF5Qw(E@N7~rYEK2L!@nDkZs zq*4WL5+8n(-dn}fA<;kjsXqT;b$5GT)kg-Y8d*ks{w1Kp=;qPGZ_q2$U)qt|%qlDW zzFje*-}X~{WU%se`^<5`iSKnNEH1D8S3uW!d{lz7(rrEZmiqM+O!JsP0D8@Bk*A@B zTH;Sh#qV>V=Uk$CJ^lQuZ?Hd$Brd*DpII`+GNO}Uo;vds7@57CXd+KJq$!2(FlnyjxG4GEa}kuhXw8YO0!= zXOz|_u1A@{*A$~W^gYo%ysmtl&g_lpg4f54Mw;mg#`S~XD3>q z?tn`p0j+s@FMLOzX*704;CH1`9eoZbw(Oh_){hfy+omVF+M9w5K0dfkciTcOcIY=bHYe%Y zLPj6^y~&$(w8dTts{2h?V#13^uk(SaWq#IRS=T^egiO zsEC$j8B0tRaKjdnhYJw zg{Qg9?9siZG_}M_?T+}y`;RBnv@{jNxkpbxSc#^4uuoPDvH!&*Sb_OXi z{yr#`ITjuH&~F33$vPEcFIop`Yc7jV1R10FU$u1QR~S8o{oy3(_{ zGw$Y^hSLyBCx$)GejDPvkd6~?imr#ACc_GnpoXswYV`M91%KmB#|4&Z8A^^$s#;rG zrsQZFhPHNTnPzJ6|BG|9aaHg;y>|6t&|?rn2xt{rSJ39=q)5AhFx@sczvMqR+$ zWX;UG0%AK2)Bv$qJCq-x<+8wMI*h=Yym1Vv%4faa6T?8CF=BSH`C+U+JMRje`;NCR zhM84!ZS(m#sia#&-Cm_-S^SN~dPAbSbz)8Qy=42-#o+Um#ll!1V(>b+n2rTJHveG; zTmMh4sU+tWd>!|2gO$6<#%)m*O6ek~t*P|4!AOH#3o28r{XGr)jYsBZpyTKEgZepO z`|;a7>QL|#K|irOqSZdsvWLF<*9Ej_((icx#rhXeK35nGMkZ2}cqvezoUSNrh!t5L z#XVm+*-mqvvPgHoKY6Ob#w86#x`k_Y7U;i%WH{~!xNXf7%s024?QupQ`|ZjMOMJU> z0`Otq)Xh>{XF$&d{vt=eUF>(IE`srQiG}Y-Ez#3m?^#U)dYMg+?kG~Gf;-CHoA~(c za-;LJf3u7}whi4SXjjDQXoL3}0Y6;A=LmSrGCJG|ooDp1?KA@(>u>S9Du^u3PaBeLVc(>|s?+e{#NeIdxYk-3b0RSTE9dQX|TAXod0Rw53|uvog>W8(!R>M1SU# z2W`rE>M~s`jQ;AUCIl5azS8MixeLr<(uXpeR1CpmNsYg8tm&p)Uq-_K<8_S#Ig)|IGw5c;+zD-IeUzpZQcsy!j)sNBYVz$b$Qm-$49R8kwzsI1Lz1-Vq zooK~KUF=bCT>-9>scVI>)^bB8AM-q}vp3q<7~oEuKGs~R8)}k&zQg~7FrR!llaEIq z)7|^NPiER<4&zZsWgWCJ31fx*m2R)cVVYjZWc_unzC$r{>lZ(!C+0K0!wA>csD&%_ zdx+}ouM&N*8X%+QuhetB?d|eD4h3cKmYPOA(B1vS&$f>0%qJnIUWJ&R_TVVuT16r5wZrY1_PKZH zH~H9hPbMGlJqbPDWfpPO0oCMX^(iQ;_bcu-trU~5X`N*muD5w|Og=_@3PyVM%F8-_ zH5ixJY3F=h-F!-t?^2tO%TR3cGYjWLQIgm6WINK&1XnPa*D2nWHyt?P?o@CPLNkTG^q-Qb-ozuw#$OH&XNWfcUXw(>XS5e$`_q$^T z5#9BxV$jWc?GhAZb-(M);jX)0fa0yl;fW{;;sJP{tLv?+^M9|ZtEXp@?0)zA|NQd# zOuDMxtEyMmt5;R8UY*0s8oe3jrCtX@xy&)B^8LyF=rwiSuHM)--~&4~w5FMgenkuc z-@my)&_r42ZQTYnd9h%>5AZ)`efMjBtP2sAcT(Htp+-B-XTO{9p%v#gD-PFX z`9fvqN?~#Z$R)RGsO!Je)^EO3nal^gQQJ}*f-*c0_3#}0c0s+p?Lhe+!|dgj1FZfq z&f|G;{I-3jiU8}AXGFKwh8#)2N@*WE#N0j|;N$8AZ~pw&6yW3W1>pPlYxXx#+5$~^ z?>VzP;{kRq<%w34RnC+$ZaltS-3h%>EnXCz8cM)wy9C0_mn6S(m|KTO2H3h*Rcc7g zrwS$F1g9Y2%ItJfAZ7DCHZNbVxkfqx!h7icHR{nE<5FAO#x%n08ypYyB_JJy?vPaA z*O8hV9=;-mBNUoqZed8(=}f3SiG~y>MMUS`(#`|nd}%B=Fj$A zx%|e)!+in!{VuLGb`8GK5~A;MNcr!%tOnSjCJgU)T@C(D?th<;iEV-0`(1_7BFzYC z^nRCL%IZQr7vMTLg_05SON*j&LfqaSUx)1ta2*^IM@xq6HURhMr=iUa<=Z2Cdssg6 ztb91m--qEG7s|K&_fquPiU& z`WnANJ12U+-Gq-n(W)-Sf_9W`{A zKNY+E`;{e4wl`?_`^q;$zg-o=b?G?hk73~k@Ly&6vv1JcTr#pw#H}TKojDHr$?6b) zONPhWFiQJvwrCxMdfKRG=QOsPvBT^aeL|JgCss@SN`~s(6q{vz4&WMW{c0(t+!K|yTB=$4rKUUYl2X*>^Ul*(j! zi(Dj6m4gJ`>s>{1iTw0aM@`>0IZa-G(O%%g9rHdS`?hah@EZGnMT?QK`Ii+V*eP;E4zgdm?lMgq_g6 z{o7LCV2|-(m6TR?1K*SjN(-+~?09ASlWPRohowkq?}vhCn~u#{c39$#P}J~S`Z*WbVcMsmDDhiz z^YT)rgQBXcz%)9-~^6qd66y+ z^dv7HFKst4To@s|)I}0IjO4|&(!jjrZy;o07H_Rn0O{T#c8lms09-($zbP3gi?OT@ z;_BiBGr?+yW6;MGEi72 z-awK|<3Mj5D2RxHGr4pE_+rx5#5$39d6NB8nsH7Kn;nDqmpO&V)sKp zX8(zQ4XutPm)1xDXNF8n)DdH8BVgB?*vwZWJ=c@LH%B1^>qMqH3<3N?-BjY&wa?`e z2j&@rjZ*6P#{|j9o-vOv7t*zTE{6i%BIa`Mn9+&KM<@7Rh z?W#4yc)mM?=L;~X1$*3?R@_)lnnzmU6LM&qQ^wn+SxSbQr2O=bx8hCAN$*Ei_@tch zQ>^gzobc1F@D9l?TbxnGcrcbnpnJ?)LxOGJcS#vvclAPwy+B1T{I)Z@)n!aJO)BH1W(dQ5#$I(i)b#@) z!8R}4Y^7hHlm2aGeE+IdveUEC!f%o6>%)h5dn(AkzQ7l_%$%}%Wjo54eAHXhB-z`j zSIbT7d9!SNYO|zTwV0g?UM*vMyH_}bmIwL0Z1VJX0H)*EbCU#W(yoSe$UtcBBH&oS zB7q?}J4Fx7crBtJP64?qxu`?hvEY($TKl0pMttJsT5o?Gs97%x?n}aR7q?1J&A43C zzvOv)$MC#kR^GhM17p~}?mVSUifJA)Uv0~&Z))qria#MIKGNPW#;hN;Lt^##T~0mn z{x@k1+mFWnk39*;9QGz0C)lI>w!MJqW0>w`n4IeBSBiC9!yE~-&}kqE-c^mhqbR<| ztiPFK%zgVnztSW+Nlg@2#-$?3;JUakF%#ml7eb(Y5_7?~-r29M3njp3NPV-8m++*; zg=?V12>|`G)95m!e(f(XpZ6ttB?Et5GoftTAOz;H&;-%9YWVLUub_ z=`p5mjrLk7Ymbt}`EM)EKSE5NW`CECX)@nMI!dzN&H4QpK8E`w`}y0|V|f3DaDnl3 z^xrs!t@Sbe)v_s3I;pGaUJEjR1S5TvZ-sE%M5XE zTeyAY8qw*(@!vp9xD)xn5rn62eqC!_4i{hxi2Vdee(cN?OY$7hbquwS_YYWE6#!)) zbfc_$K=zjJz9mE8tL$D+zuw(zGi3K~G8DHci|aTbJIZ%ok2nrx_s#U{-F+kAwr0qX zOk4xEZhv|3*4t0qFU#daKBqKr-}Zfj_uYQ&exFa-xOvDYdd!e>A;gOzg4+!F#m3D= zvX|R@DCg&S_k}!AHA}=Mfi_vwiSV zAu+v~I6=xQBWvMXDlDD0LrE!{LN20vpBZRZdmXM41&9{{>o!^x+{hXAt zFXWWCCs;dff$^JzG5zkABfz4x6(^o)?&nJs5$u10b$t}49$Tp^*Jd z_^TY)BRMdk!VY^h2PWsh9uH}@yA**6HqRPbFXd@b>cX9@ts(pUp30mwo(O5SIbnPS zpA$~B)-QaG606|nKfP2^&`j5Mx?0K3nbUL9XDcv%u68)UX3_JyB&09u=<4O`J?grH zwy)8J?u~S{)(lk=CnW?=Tjog^vrN23#8n=ixE&8X9MaM*p|5IV8ob0Ty$3@qw=$8f z4D;jYZ(DD~R4{#NRWLN1J9gFL*v9p(Xx8bIm@0K` zdJ-K)3aN0{Cn~(&M5&zUD)l{_@EmYPmiRuPGikY-cFCn7z;FVF1{l{P#-q+H3`hT% z?{O@u7~=^f#FQehAt3^Osiez4>oK`TO~oRPg=$<8$`&S6Fer3+32zMt#KbG)@9t(HO=izumj@`uKdsz2Z@(k@m6fgmV8XjQdvS(S58t@NH$&pWVlLsbXY(i&rc7KGu2CBJJF;lBdJ)R>jC? z?eACceXL7?3+=a^shf71DwwR4t243*XuF8gcD`iS8QBQo7nc znc??B`0si6D`DXte3O#Yu#&eAT9pG|8P0#_d3=!Ti2yvh zDs0ywnUDj!n!Z^G`O17(q7f#|f9Yf+Fcg zosbaK30W#FfFI7HTYK=_9<@AHR0YM?JgDUnBKlXv)b9|4n^b!{{xq1scPh}l{wv7l zS4=k!?Sx;{Eor4Qj05<|IrOeak-+oXZ|0>6`j<>s*GKbPr50QJX9Bq}$nK-Fbba)j zR({=$?_H##kN32SS?b@iQSYRBb}T*n+2N|-$o=rzAlK_Spy%Iz}MTYTAZ;spu`;Xg%$8 za-p;Ue%N|1_Gski&H?I=lK`RNVoi7@VDIiZRz&@+aT3a)OtvT_f}($42y+AWqX3ku zny}M9QMgh)1b#89&m&TrUIv=lk*3m9$VEWWI7X51-dt6!2@m;H#{#D`_GqW*K-zHU z`gF1kXjvwy#Yme%e(t)6`f(?dh1V3X^r<3B#~xDPINBkINa;xewxa$6{N5q7uFK(n z4ZWYwXlsMtL|Z$463joRWV-TS@On4i)|Hswvft<(+eF`EWamf$h%rG_fg?W-BmR9D zH+{;bupYb=#@gm^)QP7{mmz0?J~TnZ)2c0ix7WneKMa${&{7=tzsc70m~Z7+Hg1t$ z^(Q_I3$ZM}&`p?1(%PqC#_9NYkB;SY-ByreKMLdBNIri|9?Rw?LjxK^mjN%iCv2Zz zy2kQ-9uB|P;x$+ToVN}I9Mn}ct_PeOE|Y{ig~x;!gtvq*MGwsJ-eMw3Dmh2K&*ULv zU^Jr4^)rZ9f$<)Oc#lB5UBVl}=b{VZxFL>5g}4ETTS7#+l!(4Ea!$ehVUnZ&`1@h> zJrK^nAHQ-K&V$2nt{sN+&@h}EhT%Ls3}@{yoJWS?+%^p7(P21u4a0fN!r||N-<#id z^R|TXe2&An4}(8W;hfjMG}e@TPXhSKQ2!RU-%4w_(0q^k-LahmS2&K((+Jz83wd){#W;4y0q-b;A%1^!C%sEd z-P*Ij1NCoJs4c9o@Hn$<&P$dx0{nMIX$ zns*O72Oe9=`UK;-X>xoG%BqXB2{p_<>*Z2*FTAGGZZFk*19X)56V3QnNLd@Mt+x0) zY;sPTOrGqnwCgEwU4&W><%)i3YQ}CIvrvWzBgrT0oPVmp*{`W2WvX%K`iv9Ig z^1ZPYl3l;}$CX?*TmgI|T9dDT{L>tGYfZjv*`EWC4TJwG2i`UeK9B>SRFkjYd}$?@ zKLH+Xud&Oft8!rR9N3LHu#OzqUvprSYwT~8-B-!=7**WBSQlkl3`1Tz56#$=V z!r8pL+n#o!vj+P)&-bmIe5d8m^l1)kdJgRS99SX;CRf>ET{Ya!I<>)F#m`Z%l=9cK z}NT! z^DNkvFvke>+-@;Fcdp`m5AxK!^*MIIa$vq3*iBX3j`fwUYGDZA1v&6dIq($#FRZuQ z-+$7ccGO>Qx4-{dPQFDs>3)<0Q|j3rZqr_Ol{xoyu^JSyg~Xtv=h&3?8Hv$b8a1%e zcz_&B?e-Mchpe+4YWJqvp0=8kZ(TLtvk>aJOiA~AtJ!`B+c!!@m(_^E8H%S~w9N|> zt4CfJPpRhZ@)ES!g*EnenUO<_ltas$9GGm?E7kj{=DHWxnf<;`{FCIj_KSZ}ZSHeM z{{-tDXC2NIM(cG_o1)M#Re)7T^x|?wG@{o52l&-J@aynkAeGZ?ENvKh@~bL*rwvm7j>{WUHT#{XVsqc=U9=BggZoUk)BP*c{0YRT%$&s7b|@Sxxeu>;G?AqRZl6O)yky6S?%2KR9($3 zpR3a~nZyg?q|`++8y-JMT;&6f-(+XRQHm0Vz+)g1{qKgRZ3yG82o!07k%u6-278@7XtcWogYYs&+@xmw)sWPW;! zoWzC6z&XA^JkK4QhMXP?lB4N{a_Bswf9SL zkB20|-LJ`!Uz2&`Z-NjXr6joyFxEdV^(Xe%{CYLbQ+uQ4*Lbu1ZvB~*@^_kp{%o@5 z7D?a9`@_v4rf;q)tUt)qib8&mVCDCl<-Y^s{0R4{eM_ffnNefQ*ulyykpfS(XTNja zuYfYCio~52B>Af~(p0IOsKqJeeZ;0Gg{U3(Ud>drPyun1|&=1B7{Pnhvhw7Z#Bep>FLHV@GL=1C6VtWK3oVD>h@PALa!@njb7 z-K3NbdLpZS9_#)PZEL;`+Sze&v*M zC-w;U9QjkHc)X6#x_?(k;IMHg0ar48H{&&@-e}!!c z{nUf4?xK1s6Vala+f2_J_u@Tk330^b4$+-DcBU9>1e0heU^4|E$2= z&pEE9iQGfaBIp{mE?@Rzt#<| zmqpZQh?62Qo6;;ZrO#_wN**(%Sw!DAuLO9F^JtP>{HO#olhf(ybk2g3=xD{m+2Mq~ zTawa#Qg=9ny@RDAc&34AA$*_*>l0kAfq6#RjZ*5khXt>piu!{=XCxGMv9nbd3A+8Q zcs{z2+B?0VXC-`t?gPXMQwGsauPd!ht2L~W=+|;O;z);+(P2R^w`|ha@U_i;kj-wZ zA@uB(^{sQST4dSptQLD<-n_F0&$ns1 z+8yB5zvW~1*%~e*+?^wz?6$)1&k5gWg+DH_y=VqGP{YpXRDoJt5wH)r=;{&Xff>+q z#IG{*L}(-NvrKXZw2`A(6dj%7hZ(h)-z&nu&uW-#f}%5c}sbWlD}WX_8XknW>YpKDwhYBkQ=3*1Q>PdZ2~ z!LeNk+#hWnRsjdV@%=w^e2*cD3Vm1K|5m0T@bHrxn#ou$fv5ak^B_-6^3dB zweL~8KTepdPXv7ZfGW+0^i7I9COzKXmo`bgd+w1imhtiyY4F^^%aOwMPs%{czKpRK zC62G5ROo*`qn7A9^V3M~-2`*6M?wpI5^6W?y$AeW?iU%I|BO(pI;S^Fg48MfHPbAK zLZ@_V##V|7q!7w-8T>Bcwwa2|GwKO+thgy(yA#^v0Cb8a!gn>}h+Gga_zBDx<6ynA zLGo4*5(tW9u_)D6kfAYJRlHz6SuA{ln1OgfAGrUHZgsKnDSk^93-9CCEtUs}sFc%` z=8=t(2r0!Yf~Nm2)1NT?51D?Dlq;4_7fA*23gciE3?soe@fWgySlAzKr*F4cK%bN= z0zo`2tstThByCC++2iwpM3hUpU{bE%WYQVX*O=6+`q}{C=uhBSbdrL?>O$ll-+^0} z1F-0rw{xvY)s-Z<^A_q(?pz~@K|+=nRRo7B#;BNEl5D17LlqTJQwq>iL6G~x3|s+W z4Qj`^#eCGw3S?71b5{L7u396mK$9sLsK&mxH+4s)<|~ulzXy*isH_Q~ICK0@w1UqVYPkkn|l&!4mQUl%*La^o0VH))mt3!8TASuLHSO z843oaDZx{rEd*Oztd&+dowQ{0$Xc^xv5c2mBi|y`lcr2=NisI-e7qzHUK0IUJ9ZA_ zce$msr&CB+KhG_teuX`TEiJFU6#J9@CtOvatGRMaWoPC2v{zDY4`D;T@=ENhXXf?Q zk@}~L(Ej-Tzw5~{<)fV1=&1ZL8M*HyNuW$1@iOT7B~YWzWdy09T*e$vG1sq%J*_E~ z4`q;(PrBVdN}7Mm#LEmadSB5->?^Ehncs(NcG`FJ-v-K{25&d}PziGE|FCsl7`1h_ znLV;HC-nZ2OVyKCqd)x@C2Sk9gmLEy z{^NRhWYl`Nd&GKJ&v_xr5xAa&RL0rsMuZszW?GmvdC{FWD zKZqq`3FmLiD=QVw-P*M@ri%}(_h!`^8d6&d`r^sN__GujaEDL~tQ2_J%8d%eaaZv*IKdF1Z z_-6@tR_q~3|1SI9@Wq6bJ87|w}snA^GhZpB!YXN$v6V?Lob@y(7^~A<|B>fFz6I(f) zOYQx=lF7$RZh}>V;PNCl!D<0*x^H5u1mMe#bsj-j=M}}RgDboa$G~q}JRa{9&*lu` z827*`rFZb>xJrT5Hl+R64CbYJagXU-uf7HkQ$)+ID}NJ)t||50Jt--|_N4e(O`p#8 zq|S&wQx|filyB({d7YOG2Hj$kTJ!G8?@%s~}>!$9!h$}<9BQjAfp`5ms z>R(sX(f!4qwr)tlk^ zMC|XItkbz(X-Pz}-7&nwO6%dAJT_b5kK~;7J*Kn0FqjQ$sO>)ObU~xv0Npj?cu$Xt zSCWJG(x`Z)5&K=p16Ex;o^!VNJ}(!H7rXA!r&hR^){zllEx0J4Vj{rXO1-b($!@{>@s3=epFX*N# zT=2`t0pVM`Sop}q`t8Gc@C%&tO$--R zA4TckfYj50Y;qTj2Eq5{3PMQGOd#tUW;F(A_& zJ6NHWoGm(f0(4g)fGf6uhpmH5>LidE1f>hp{ zAeE6x?}7vYJU5^^sqBZN&dFBZf5i0khmi_>cR)pcmepyhY{;IQh9bG=rnOmEA{=4o zru_ZsLmEsyw8T@jq3)D2KEikijQB)KYoPs`+cfBGVESc3G_7pIQV3~fJATC`p^)h_ zM|JxCObvaFO3?JLU`* z`l3`y$X&h4PW&$IRi4A|(Y?wp{04iK=OuO?&Gvj&H?X^Os%W(CruXX8^gf*v=J4Hu z;a(s-EumeH3$aYm=OLWp&3R0SBvZ;$f|J@-VtTY28%+J?#BM3swUef%kb#p1(gO>U z-Fv0&F{2ye&V5X9g^-4^P*$wxEfB99dqA1!rU-?hF>bYxRL#!8uCzU#o$CxgsTW|rbafcb}EUFV1N4wgE!uJwxO zC>6KQSnpB9ePX#d5MJP5^?WAI(_WUFAwDY&T)AzT>Ks_P^gOJC{`Rk1_#3W$>wcbavx1?ol>o5eD5vIz3KxV@_d+*8FMb*~Y{vQh_0 zY>$;XkSftJaMi#qGzB-LAXX5sBS@CGTcA(#R4O6nVKZ1NW57)k>u4(Z@t@0!kNIWk zST(~=$69cYM#rvU=^Qr0RvueAht2p`={!FyomHcxv+7@_lV2~azV})?_SGcrgS9Wz zz9@{L_f8e^ulubRVEu_hBFcIOe^H`e$1_s0Z6+HXPH^`e%G|DJ=vfbSyTN^04@n=l zs2qETJ-@c zW{v$_8W+W1-^g^|4d9o(;!O5+9Lm1VS?ufTG5I`;^FSk$_j`q%5a&6--vzkOOZ;9k zVm$*mXp6V^xV;j62kF>7l5y;dk}(Hbrx@}{!Z!^0%*7Ukd<<+&XfF7^jJ&W&Paao|KDJu)`urYaI)DA`y zuhV^&{V#s!xvq)dW!@(t752N*F)Q9HRy>y(ucL|Id3lAN`E6@uW#BeOscudaI|uC( zUWNYpI`r4qtaP{yjANQuUojG|S~Z#MdR-bQPR@8uN_M|4-4PoIZ%=Lw4Hjd&+U+LK zx9Hn1<-fakN|UJ*pzXKnn`s{Gr}dqTC^_}^%Mt4GtP$$+JS)!wR$08J9ClHYX~#-b zVSF8ceCI~kdq`cT-=KcOH~?d=Ku#;)cRT5c_O|Z9C}JerM43TFc?ha;plAE3gFVYd zhm*zcjj)%P0%+&mF(il%3|F1lHv%Tk9EyYQA#OW0rM(sErY}5Yb03W2`(wO3f3wPS za9DXZ=9K4PUU?4M%5!kU@*FhFb8y7+92})Q2W{m!IBIzgj#8cjR(akS*4N*)`uZEt z*XQN*_0O$%Z(8xVE#B{%*m=3p`X=Oh97_Fy5o2x~ofm|+&sakQk-}jV2n-W)=*qco zUDRyX0aZ<1&u>unj-YO5mF&0ahJFp1~T2lOlO|C#$OyZ1HCxw^RgzF2)TzZ+a7 zTh4KBiV)L&7Q^ez!OPw%yC)BC&M4{K8_B&>wlI$#k2!n&yxDyBNJ%M; z^-NFCN4c(N4t>AoxOlxff$q9|>1ox!^2~*w8TZOj;|gZnsa9M8;tIC7_y5~`JBQ_K z-BoWM`EKd^&HQd@N4@=y)%RBToGCP|r>}M^*?_Krhgt0UKb6T=ImE$cN0q?RLJQlX9WjK$%-WJBR`9QX^g*nY~ zY_^5*_3w@rzW&X?*m^R8>)%;2TT4d!|mg88P?86twlLS8UKfZ029(2@>@)8W^Dc*gF<@3CEzonOhyX1sayN^_-6?uWv)~k_3g2WdI1M=0 zEd6t~*M#xUIE1Yya8AWNorzKCfzBdld%{hoir;6>?a{v#BH8nVO8~!_&DDYtjmsT` zzU&CDw6=LBN}wHB>sPbXNeiKeSJHeJ?VCT5Q! zHosHMZ@YY?h~Ek3cOv~Jqtj)z_@1uU1tGIR>5a0yI5)iW5N2}=->2>HK^?e@+{T(| zFaqw!JzLj4hfBmd^09r}<994cYwn)Y@lEGR1MU6Vrx94|dbba*A#M-ip@rAZf(laV z{&mm5w)Gz3F~@^v`;xRG_n@}o%c9#EaGxOJ?%V?K>)UKOytLlw_N;L`rBct*?(Itk z7w8|9&|BPud=0eX+mFc)JLSQrk{?Z#2VWKGPU5=}|0}YZ8y?`{fwP70yA>GC_$`Lf zf?pN-7=8m##^oNTYq?u=#MMK{z)=I|t(OW4f|Kq@I+aK8a%HUH)1p`e3zr>XF=Le>O3)0nJ$i7E#VwB0# zY3=WkxhSIx(Ep3k&g_mE+d($(1%I)5M&_jFEL;atbfuKL>ZlH6;`!uc~2ax&2-w?$n9=dg&$;~D3_G|KcR@s-qVu1k(B z7q_i;&)TNHHvMVsa`2f`Mef5rJK0}c!J}J`-+LN z6zI4R>DU=j?v+J^gKX+Xjdg{@3+x!rMU*E%0;U)aPfD8%7}!ta1%+hDDY}PT4iCp( z?0(riyI^be-9S$o%P$#g<1*e9z;Ed6Nt=E~_IP|k&6%w}`dw^(&oaMD%JNK_J z)=mKb1nysMtept{iQGTbcT-&MySYQ|yJfQ6w`PjmcVoNUcl`vp?}mwVK2pp!IHa|S zOr&$YaR+Mwn8#%1rW)_=A+bOnaum8d#6r^HfK~Y&T>$$yEYM!y!&eCb+jG0{rtrlQ z_lLN$lZ?B&WZ@QJybxdP{vixpLSwk9g8Hg%Q)6`@kWvb9GRVCa>DNIfc#%Mk~w%PQiVolelqiFj`?gaDm^2{&sn=YcSa#{WcO1WdY_1w>cl2 zyphfYe$x&Oj`{7a%obo;sV+kaMkNy!)Na(!2i!W0Uq@Q2!LQR;2>HV7U@V0EoGuY9 z4D0XuO?yDt7c*u(p^mDTB$u|yYN$bj6E3K`ky4_Q-NZ-yAP0qvvqv3V7$F3g8_AzPDUVL)vHv zi=n@x3i?}?{fihopHV;QRidzRc@J01%1jy8V)%s-My=BIf!lsJc5RH=Ai_JnPI{+z znjBMVV15}Rg$1VbFOZ;kNh9j_qjf7I2BT8DfVzX?7J-MO-aqc;p=_>@@uY7;Ozxc+ zm5nI&=RJ{x3vY0GYaKcE+wV2$He$e2HC31>6p~c*tw^_kni^0}wMg6}2!j5(Dx!`? zfjMvPj+yuIN>o=$6Kd~;KGop{sm&;IzUqe6=&TqK65tZm@oh_5h|p!Mnhauy+h<%I zmwP-OAJw2(HN_0;U||lo$C7T{qPWiEaBN+Yyc(q2)gavt4xHWWc6+9}pUnt{{*-X6 zzEhZ^zrdwi5l^K7mt)0%qlLts9u@}kY=XpH+&8)ISb|n4<1Pt8V1y0v zxis!BH*@|9b0BSa4}ki=W`2B$d^sPrD%3oz{biUzmQRCJWCn_R}+Y4jEtzOlGR6f%>=1{!7L+J*0_qzD&4qC)@EDvfZD3xQ*W*iOTkSC0pD0eb|_6zd!qwg+D0=f0q^BnG?Rp3h&Mdf6WSS zlZ$L;^KZ6syA~*UiM2wEzk$NW=qGJ_jJDgxD5)K7jPiZKf(h&_2FGWsc~i|$V0BE0 zV}oYD0he6^jhSG+(WE3>r^~BB=-m*CTQ^Uc-6t%KHo-jG23f{I-_!iO7W>bH5`4o) zqJ3#%$rl-HHyU30_YC$68eaNd1|*ob$C&bB6w=x$q8|0QvNF0(7>i$Lhr>k{3kM>l zRCmK5Gi5JSLr0(hq|1BoP4R#i>cuORQm$&pVc}&suhc4}(Xm1#RM+Ds)C(zIEZl-$ zH9#@TOq~s_4Av?|$ms_`R3KFI0$e48=8iZbcv8{NBZ^p{urOG6h`1(k*DC+O5U-#B zhQC%RV$`%#YI-~Y>Q9m$8B<;v2zcUwdov8D)uh;jm*6`rB_1pRYW$_5FGZ9h{YIn{ zX-oi(%pFE|F>}|TTOFCEBx$3$b_8aT|D<&PNm=Ip2W6=zQ#1dbjvs&y)bgn_Q;u0F zdxd~WS3Mb%v6nDVf_nxmuQugpCLK`<%eHe6+qr<(;ls8%eAui*gG{!SBTCEB69|;7 z4HQ$Iok6p&O&JACWmrBt<*2I!Yu>=}KtQ&_OE5f8S3=~HxJ2~S zmJ-wsJzJ>8G2vIe6W^UecyCy0>kUh7C0S~fB+gnb5GY#fDh{x)j%=7)rD6RESM9N1 zj$W4@!YTRj5C3T&>QB54t6pr&0+QRW^*E9k3o`}b&c^yjoGhPM@+M%3@^ zwKLCNJJK+G$wg?6AC6XU|I6|P?5)W74O000=>1i~I(Urr*utnB2%ugvP*mt5O9W>v z<8uAl`;kweo^Snr^jhHfj5pSktNsOU5ed+++%n+WN)dVd#oy!RfydH6?E`N4F|J2M zV%qkCxlYLH2``?=bVdygWP}h(8&9FMp|#1es6u*c+GImR$zg9KN<%w<%Y)>r#pJA> zzq<~f?7vQbzL6D>&B*x@|5X?G* zux9)+((Ph%>o{{i=SE2PG;{75OZTS6;@8#TWOGlDYMIb^r5t!@xi$Bcdr3Lfm|$~H z7Keq8<#Ufyr+Q04);{ILym3}eZ%4H$rDC95AVuXkH$lE-I5)v}On{~|7O=|s+*HhT zPk@h!FmpPJ8IO&0Tk2cXpn~%c0 zRPVf)^2K>2k`*Y(4%(%~C+=ATpWjMHxtkC&jB-jfGD~(HT(kT^_wtYn; zUJC9~A8GqgqH`aY-lENFbAM++1uYU4pdJLe2@H~o_zE@=hLVcTP>pPYxYH+c_r>girM|L4<_;VZgDR_ z{j?YOV}J6?$lN-1Lm=4-yjg&?XKPGG3oEM72d*MZ|5j{gI#;S7Dm&~D!j|9;)h*TE|bsU2JMz10ib+50ud$tw$k z;>}Y~d(${|WnoG=r`|~loF%R}@m`S9P7`n)zP)>}Ev>yWBSs3uwDw>1AsR0%u6Olo z3+nN;kc;Y>ZT6J1WFo#9u+JG5+oYi5nyLNTIXy85KMTSO9Js?3qo>M)Jt9qQ8d^c$ zOHKMx8|c6FkGJVEU1ODPRiWJuIo9#b?dH2Hb5=neok8m+D4ydCI%>tB^X4h(#0j%Q z-31h$QqlmoW2Uv<*}3mX-DTx<^{_U2pq=T}2gyEXP*`?YTI&LdAV@AML`|*rv+eEi zxRuVI3hlP%>3KcCI+*RhLZkIhK+STqZ67qL8mgyO00FXs_5ct8ml7qVNrGaFwZiNP zx7TMwOGKGCFGy=wLR+M@tLilhNh#OV=jw;;wdlJO=zEyh^@!eRXXj6<+Tp68rx15S z3OnlA?y48k-91~QJE=v`%C+Ny;_r@5YnRT()=w!u0c~{XZwG~dGo?-KVX+EnDrxNj z>^C&Mhao-v-JsB7!#a>*uw4jynbYcwb6W2z%rl^NN%1f*QG()>c@UM1taU zXTRnaLf}diq{#_QwC5@FnjFOEOeJcCkbynrG#kulqFP>2T?jd_UU%2$zBgHJ(eX%O z?t21+gaLLGZPQ19j<@QW-eimEf18ctR&>9^T1{Enj9=83JZCmqc|_Q|Bj61*v%c}y z!&z$|QO`6wv+0%yM-vgo={34S?CAuB!TAhdf0vgbYL(&9!hBuC$#Jfa^JpRJ<9wS} z{vIptW5ePeW5s=}5N#>(xZED*32|-@b4y{L`1r7~bxPc{+pcW^`VZDKP1O(Tb3@X~ zdnQMGyb#B3E`7hS=-WDs2c8w@Ja8-Jf!29f+|-$yv$YUYXZ+(_lYiV|;~!gr*WKgl zkG@`?1YY-pX|t4u+8H{}iwI z%E>rqxo}21p2VFqNzio)ec$GIo2@3y@ixlXK1Gw&IJRI8;??koO#)s6w$H$(+tWF){Ujcv}j{RcB9;m-~1J27v_a54^lq+h5 zEin^1xk04&e%q*Db)>Z^4KY~3m$(^xD!_eWe>B>xIl@APyI=WlXh{a^q$#Jg-!+G5 zNZ3&d@F~p>==rmnSx$#F2k7@_4Y8at*4Dwt*gojvuMF$k(>i$H-d9*`dz)=$hk1t~ zx(_HQZD4c6gDxWmX+#SfT7jOQHstcFW30Shg}h!HmRGNp*Q+^soy7BMeGT%u341WO zUj^Rr5cGp$C=vF9T;6e}mDlTqz2g31^1}H5KZMf%I;0tFV7zf&1Dj(aIpJyL5c;hq z0beqrIe-Sa`&hoB`BD$24?_W#Z>TD)E>Dbyw}_)9=WRrQ58r^yV;Lzp2BVQ?xfnDkBXw%NTmo zR>r>Bxqa{Fdb<$h`i9*3^98F+ z?+k12*R1w_hqgEBCg7U%tq!L5c8YLCC@$0yW8j@alcx#e9Odq?lkqMmF)jv(5^X?U zj{NIX4_c)f?7@`=tU8Zubu!+c)><1>!qdR?kS|hxv<%&cQ+|Z6AEWOuNKba9=Dm3& zouw~)2S(Z!7->}v1J+36<@>=Z-@C))7w_aIGJ~Gme}rdR#5_sW-lg1--PWmSL2KJA ztfPV5#`z}0{JcFGj7e?_o7r~`li;)#XkUFl;-hr+GpK!7^N1ojk4P6>2tT}U+iYu( z%E_GG_bqz8R7xjg{A4a~y^pJpXj{Xvg1s#hR@@JU#XZ7|s}>vD2Zbyy(~)NV?v%;A z-zok+vDlyA7gCdXUr_vZ-gnky&Sw>WS{XFQ-c!J5A&uw-l+WIt$7j#C@=_tMz_7e7 zvGP*=oX?ET4f0MVrThdcA9=vdj3;R6W{seZC$G~rR-Kmk^ZU>3R(q8Av31wy zjjhdA+|prjw^(sY{U|%<$9=|%TV}U}xweX5vFBpNQPN8WW; zUV5Ke={5NC@2-7kwP6FK^#JSDt>}KRfv;Ekk4DSJ+4NjfczTU~`<@5A`!&UW51ic( zEVqUE=EQpuN6+1(~ygo^qBrF4QKhe0`x@b@_m_vg!? zR{>6v_T?jNwAFzBFe|@C`nn>97+o0ptvSPe*T7yK#jvlDl5d&&8+3op+@Chk8HKw4 zfo{=A9PUpkO*E%~W3|v0#XZ{>=cl8m&JGcMPmt`LuYZd&wP3RYS!!#abyoWv3FSI! zSefnu_*|+xY$T4%wol?HKh;!(Z%VnQnM!Wj?%7e^UVxk1UP1E9s-Vy|pY1szJgt0Y zN`ilHAZEy?HhJeIOWt95j3n2jqse;3foT}9uGXJscT;ebK4kUTqy7E!?sRC~**^R9 z6!R{mb~NPqxhdZ~Y3?=HLy?=c)13gWqqKVpv(;c6Yr_&4mOTv1P$s_X_><@s)7nXN zzmSzDD6W}5Ts}J@Z?EE@MgOV8#>|HR`w8W7r$T;OBa@r;M#k${7?YpIH`@1V(%RXx zmAqK>jkHhYgpF@x?J_{y6*wl_FEhv4=$I&dGD+izdV!A7kpN6Uv%hecQC$7~Y+3(l zm385;`O`g>&z}qZeD4?i1yjwjcJe~MDQl5&Vud^GVDg%S7^eb6scm%Pei_JX-7e(3 zgFS4I?3E+&ZO3X-0rFZM)RJ)$Vlx^$kSBv5*M7zVmI_-Dp4S|5AiiS4Ux9UWW#h?E z;!ZP+(!=Xro8D;OQyn{%m-Dn?e6)5dm$^@a_zjKOd(FS8Q_Rpt*1{olH#ORK(X(~g zY~``YpTEb~&g-mo5u`BB>>CTQ^tO<+ax(p*p5jR1q2j4RL0%d^Z4~G`93$gTR6fht zAx4b3*^1?4`aKlptaNliqrmisU*Y9B#wyR5!}`VvR^K?&Uu=6P@W)fRKERoNBXlO@ z^%Ik#Kh0+2;3RAIuhJ5Ra@uRDRlX(u{CA=*oyz7MLs`_rIU@%b+cIr^7vC|{hST;^Cr|!udRM~ zzJIpzJ%3nVzI&=EgK6hO{h#mW=K?A1JeuzLz|Vi(n0ue~zN!4oX$&E@caa{R%HCN# zLqU5)^ajucC4vY3r=tJeC<^?p3dY?wmFXp(p|ubrXO;a9l;Z5hE@EF{XXn7(R$E^H zbKufp{B}RUe@*%A1yGi&Og@Y5mF6g%(xRBqRl}j2`vP~&@_L4S^$6I@M#Wxja;HY> zhrTNtF%16$9YOut;-m4*eghEY@X7O$E-!-zG z*6N)2#$4uRYoUwTuBq|?YQ#I*0@o3It(eg}1X7=I?8UbFcs#@W<|wqKilb0t*xHpS zyZ_CY!(s~jEeY_m7=JMPVBi@1sx`n98bc0!6~<<<{=j;yJ$)F*!>M0NsZU2AK8BsS zJ<^Dp5{ojqd27S+4mu{!Hw=~%-9Z8w3cu;-?4x5&plL3nsh%8VmiP~>#B(mT@rnW4 z&P+XN&j?CAS&+%Cu@J43+`KO{^S+wqomQTh&GK%dc?TRIcSIj;)FAg6xw+@m$8Xr4 zBjk>@eVQ|9Gjbb|E;t(Rl@qp?zXSYEbKUW%t>0a2^}D-=?I--cldmc7rh5^Y##|Za z4_4d_!{Xj##oa*nBJ$(jX2sp;&)-+t)XDAw8`?&gw>Cma-(vhL`p3qTJ=nV5COc2u zX{Gh-uyxbR0PChJy=P&zD{o@1w4yYzy)5wD`8swd%yql`y^iPncAW&Q!+!wI zU+JCF6J%q~EE#R`fB zta(}?j{XVas|W71Jus$?oqk4H zX%ic3wWLHSq$|&HO(nE`mja%Bt<~D3lH53JGOR3B;McDU3XA9KPnUp{D_@|$nu`hb z091{GmPu)Gs1@AvMRzl#sShA-iOANyQ7A(_`BjFE1NtVid9LNO^~Z73cpv)I&-EDi zz1=#1O+gz#?jXw6U7rGlrq4Bxo&^%&f^&Uz~-Ot)z$e4Yski2^*? zNF~MyWicPL<-(>Ig}t3&d7Of^@OqZUZi~imhtYU+9*y5Z{PRbpG4p?>@d6u-n8$f} zH2&P8(NUC7IAqaSIE=#fjb+1Vd^C^7GKl~9{{tGg+GxZ)w&c0E?~;x@I2 zfU8Q)3OSujEy~&_jR9VrWuG)imV5h@$wfi(VP&7v0pFVn`;>|By&1lf;Cl;v+u^$g zzH#`T3EwvO4#IarQJ*@cDEnUbq0{+$-BXL~=dedjH`l0LQ;Lik9Yv}m75$Wej78{+ zM?$d>6wah4w2Kl)2?~@q6;+xeAcN_jxwszVbY{CCrN}5-5!Cy~7z)TP7ve6IfVvqt zW9naVn|ceUGaWgMBbsqguccTpcdi8eJ5J-G{{@YMqtM9nJKxIBKWcv5PS|CD+evMm z7)i)+F68LM96@Fycn2XUF82l zo9-o49)60R9xsX>EodM;;C@l$qY@OKQkZCUp3RTA-tqMKOIvi%n0!oWP*Njim_3t9>P(h(~0=sct@uAmT zn{1lS&TWkaP!p%vYC^!b8d*&|Ih)mlpLBTqX4n%Db_IlmJxs5|LvzM+w4gXxh`DK0 zLLMx{(!hGoxhOGHh#5igOdIsfLhL~vDz|^p?X<8Mm8ob+bD2kf++()ef$2;ik-k~y z2I>T$M0{#?c1&N`?9P^%!kOmjj@exElwvsWo^`I~>1B`tmcV7!6dMh>JCqfe%FjI z|CKh|ZIf63n>fF>#c@-qlaR>?HV*oPX+?eFjG{hAqNvX~y{OmK1^n||2eY{*(%yF% z;NFb%ubfeoR<1c5%I-8)PAf`lHO(^#>j7agAO&5w`ueq9-APg`8Y>fk`$`Myb_QK* zd|@}#ug6EQewPsA>KR2SC!)?*(4!IV#xK(g8>HW~_S@MD$pY75kk_NrAT0;x8+ISz z?N@#~%}s)y8;&}L#v@tml=4EiNb}B*bt%NECugFBN(QOk z@|Ef(LbmPyCtnLT0 z{Y~`S66RauLO=q^yxG2vx+}rw%5G@uAA0y)iGB6Hg!#^RcQ?#nwaxSm2XTYcuY5mK zB#X3@W-TCTMWb(eb~uUvm%X73JXed(Qb^FT&$B4{lUcwIMSh0!af0b11sz{%i?qI3 z?bL4l0}{Rjp~7hCnZ@im;4a4^t$mhCPuW{xJXRH^w7ES|YH7<4Yme?C6Yi*Xv_iR> znI_`43bauw9+^Y*Kenj!;0+d()un|2j*Mr!r?{P@f7Pa-!s~=nspA@e-6i?mK*pX=egs z1;zGu#;H{LUgDw9*XK;bT~*cHuT?eU>Bm{q6qs3y$O55uY$~y6nigQL3#TPYnd^LT z=?B<80G8?}KwBl9_m3#*Af;rS5O7xt%vT7x1h_;Z_G@9_7pDWHio%NlUL}mDXF+K1 zMxgufY#%vj**pEOE@l^A6)dhRLRlOI9ej37X}_Gdke2_lPLa-D-%KNPx9YP@O8Iyi zlMm$S$Wit8_+IBg7vpV4^zfpf;BU$DPV@zFu7}wZ{l%6}!f(4wJtrFHhU2qw*h%LN z$Fq|`Y>_V8N;NmN>^=ISF8)^g5r@R``oka1zLr)VX`!WxHZ%)nzu-0|*L1P{`7kMV zn>HqI7FI5Cmp5a5)fD4sAKR?t*yXs-Y_H+v#@UCRp!!?*Y)#!T`zTI6bK7lU}63)d;a{a;kB-j@4dW{7alO%{9OqD5a(~zOU@A{!+4i{ai4<} zt6_OFaGNo+aK2$K5iq78NARH*kB`Xy4*xiy;S_*i*z+@eq`;3bv_I3~JDh~obrQm5 zfP2x3nRfHc+ljsl^?LxJMnVnKA`R2&ql=l@nEpOAlw_E}5vV{FJ+x&!k?z(N5`| z@U8Zhx;^*m`wPr=UNNJI;2sugYR9217Acdl1zm9$w6!nnWGxKTDO0dzT-b^(BFi0e zH3_>|E5a-$3U(OhL41Jdu&d&s0-6mfm+7P zibFX+@ciqF(&YNt%so^TCT-FJVW`Ny0|+y`Flh>oeTDMy!5)Tv)u`AnPZ*AU<*3-3 zjvS7?a#ZZ6M!>#$RO}~5z+N>f_7z7B$6h@u_Opi!$6ir1j!dSv2AKa3;P0^cF9Ltu z=KnSLC)xaGfPae3|EHpCySH`cwtFG8Hjb%yH?sv77AArG|1-Lm%~qQ!?aUTjSuPN- zE5dtCs9}LHy1voQqA+tc2>wOXpVInUZlIk1co=0xFj*`R&j8uD`f!RJeW3Y{0%n^T z=f^(C`%pU19Vdsy4)+2F%L#8#^+$i#GQ;)%(e@_rZ4}qz`0SyTR+8=Am2=4^mgF4k zTwY0bB9j1i>^OHxl+9smAW;G#feJebAzX#FwE32ADK`XY3ls>11QJR@AuR>UO`uT9 z5sp&6Kq+Yo4fmPo_ukB`w36&XzyI$)pU5-&=FOWoGjHD9Z?ciACj5YoG4{`hzzE@| z4SkU(kvo{le>?+E|1b7u#Ph3qEe%rOvMb`8IwP|($9)qvw+_ocqczk{3iIoXd_Lu_ z4QGnSj2oZ0-2I-+58BySB1RVb3v2z^$R?Us%%4X3tli@+x$y4Fu?3Pyc>a#O&N!=4q3=XxaBs1AF^G@>sXQCV3-eMO~=cr}#RVt-hEd2-k@NyJiU z_k`s?gJv5xvptWOwIVaWucD;iIsS$Kvp>u%FOTbBXM1Qlh$#j0pYdY;krOxdmI0_U zX=nK>#CQ*4oLTF{c&>yWBbJQ}hx!VM(Eoz8UtN`Ljn0g=V~ZU;6I;}av%}KiBBPI7 zV@(dC(hTE2;Q0{ptgv(y=tY^&L&jFTgEJ=ISkPlNGk*jzaNau@LNY$6O`!KnxOzL{O6&?UKykF~;gtNgwe$Y`{L%!ebl^MU4^ zE}Ej;KEnS7@k8nMJ{}evIc&>x3r8>IM-7BE3F0|$IU2XaI<6AwI^dvc^ z@K%TOrdZ#?-;7VRI_I-d);{cDca|Cb!=Zg#GhvyR(Mv5FEC4b3m zNAklm%A}9_skV}g1j_!Ij_eCqXBw@Wi>b|+!O#~X520z}$d|}NULIpU=JS!1K9Yph ze@@0XJF(<8(YBCLucm#^6+ZN_S3*Ms)A3w_xAX?jTue_zq0KQ&&kM4UQCa<|W%W0< zVjEo@U@gf<%xA*tpC#i)u%vRFtX9 zY3Wd^a#$VJiLDHz^_l`sE8v*##}v@aD${@as!$VO2{HFV?HvMNMrFF=DkZFf2JoL* z%lK>{>vJ&?W3nEL#k>?^&g{aNmqN@_SxhmkLQD2v?R8>yT5w^yD;Vlhr+rxMT^Qyup=YI*Jh8Ba6Sz`gS9W?X9IFi|i5@P4qhF^f2xB zrm?#(-&6*>TKg*lrhl^wAwN^yXZ-3w$~TV}O3wH>Wg>KzmdO?QGI4OUGMp>RaO%o% zt|}^9)MXO@r!zn9WU@Hb!$t)$fyp@bvE}1ll=LW}dp6=;x_(;^BXaCV|3c3()Vs?S zN2s(!GSZn;OC$*T9I5ED9vr{Mhx;BO(R|b4e^D9#oAUez=qn!Jzs z6{ahx?$oZPO?7b5 zoU%ITf;u>_@Xk$mI+Ghi@-FrEd4C{W?!EbR<&p91+z>m{Vgb%tv<2jWUg_LwxgGw- z$OHbc5brUJ-qs(^(MGN!TdEjrN>8;I0}P{{h9p*zU-6Ixgk&)!>4ea z*U7`JRqpk~Bd3?X#lviLw@+twWed_dRvJ&=Q+9USv1e@a;2ymJE%Bx*wr7zMHs^h} zaG&{3O7X$>4bJ!b8R169|1L7ac#&OuE~}@rHJ9GVYEvV1XpCPK3hpSSG56%qN&Bm4NQzPFs1#08_kK=`+w`o3^?!38tf0g^J zn=->W>-IoZxA>T2JvSR!E}+Fh7@LihXn7sRZEQPoF>MBy*GPSXbLRoe zZ>|HkMl|4=Y^VMgJMh+#^j#$%*GtQ1urtOnGD_)fePeuNT}X(M?EE1kr4yJvc^3c7 z8Eh}cZhgKgg>S=wyQcN+@$=T>-uJuoY(^c9N||5ad+Q=oO*x0%6W?&%j;5r@5D0qw*;Y=2r>%|xDs|G{0)-s9e=LEbx!7g5&ToR|Ai`> zh9%thnG~Di6y0(1;k`^BzK8&EO2WK`z@YSu3BGpS4)YL^zD!F*c?yAkL{L1qa))}@ z$45Na%lFV-4EB!qc^yk#t9QMT!6Ttv?0T`vyF>VuaHDYfdgWhqH~ql)8qg=Pk*uxk zA0L1k9f=G#s?8#2>rXF;vBogFsQX=gz# zt0gCVn|9{x`;MCF?E89puxpt=0E-N*6yF3fv zPvJaRR-tXCf^3H+NKdKz=|1jCQe@lDUGADE|tqVr3>vEZ%F5w#P3j! z-0iCw_%nC#)V=0*-2Wd(cfE!w1MpGC1HPfma!YxTT2!Myo|L_!D40J*=`r`Cj!|*t z^ZhXSgqSyAx+blwS~@dF`}R}B!-#PG4rwnD1q}BUhs&H-Pn~C&f~|KFNHb02$4fyf z&9|NL%zHCS?f)_Ohg_ap@VyCA1-1A5G<=yIZM-`;!mLu9Os5+M|LL<>dvkE2nt8~% zBQR_hd;cg#E>&Z~cBu2eLmFA_z%+rb1f4o9BI&O4NyBHcGboIf4(YuxjjkF;=1xGJ zW`0({wPvw4f;Q^&_>t~TJX3-EIp-Z`a+-(37_m>AIYFRu#_&6dAesjYZ`|8FFL<|a z{seY9!`X{Jj+aHBwO~S2@>8BfzF+UeU+szySOl#BJNx|WIKO?7<7h| z9oyL-9{#JC&B`nV^T?=ngbRa>X%VY>HoGUDLMz))?)X03;q<&7^P_Cg_X9L{z8D|F zXS1UM|kLtL4zkU)1Q>nq>L>CE%ca z+YlK~5(1tJ84Io-T#GabXluQNOcV+-;NiS%p3T;r7hB7;MC*9aX+4Vj4V`U?{Q6ep z40?7YEWV$AKWA}bnTBxou1=(%cXi%w#2Hpr`&pwzr5x?6UDU|NAVc{Xu${oeHUaJW z&*>Nf<5l*?#1OWQ97#bL`IWsPHCF_=cc|!l5?=#HSYPBWc{t z4n%i2mh09h`*RNWOu8 zf1-r{3ep)0c#$%`%rHCTXMFxE7Mjb`xVG_nw2z<5ry~6pQX$fRl1hYh8UZiXr9tq; z1D&*ZRce(#pW?n)=x}wtu(=~dMu(6egY#p4fOs96KNP*b)VBX5t%KHbho=xKxh(%r zf>4ok=>E{*o+kRHRkOz;m{P1d38}5`s3ze-Psi7Z=YbFHlUGAbTx&QR^Hd!k^rqkr zL-;)KuM;*>*n066%CGT>`Cv#Fi23vsy{?S@bqkB>>v{U6bYh_e3X@2UTFdTj-P)*) zY#_T1xl6~#?;u}3XB?S@{kUSUTdt*KKS3Ae5MSzUkzpJt4}q5ddb>bWqZ+Bf8-DH41%2mZeu^S*&l*1n|4h{z=EO<=!~@_j+WZ>$HqE zR}^IPWrWnXy0Df)ZNBXE6Mvk;&RC}-D>OUGxWn5cO|JgSx%2+~9R9AmwOmWbS7>`h zLFh`X(71je$AM0(r1riFurxH_+R(d1XH7){p3}>(a*JG)1VHcHSfr`PY3>3$FXPt04@-dw8 zkx_az9~n*(OMT!!gZh(8`&|AyVuaTTS7DqHJP(J3m3Grd4nw;l^rh4m1?KchkAl3| z-sKwV{`F+EV))Isc-%p$5iqJ96zmsoolw&;0?&MF&o{F28buH`s0daIGCEzU8!<{< zCsYG|K&czV{DVlqx8D2xMw#Z@$!#m>qEmDIrI%6GxpI9b&*`s)f`1|8y14#hqmNY9 z3m;7wO?ZyX4WiYFUs#TXS{O$X>r+sJ4X(JUh*}CMt7UxG0xjZ)!U8>`IU4egXY&+% zjnq4x+Ear$T1`t$HAxNqIENPQ%>z)vx3d~A=E~fK$qPbA!?l;T1)tWT&*|G;k$F8Fs`R;5IP_QzhVqYu5SR1;)7lu=Wa`Z z;}#`CQhsef`D-AX53#U$5OzaJ*rr3Nq05PzzF9)QP8kLB#cGhcfSK|SCYd1{G)8Zh z;vrC9Fn8@uZ){wox#^yAC^Mu_GymyOu3wrA_{KmU2V>hGL!t`4;LyAjPkxN1uV!F+ zT5)>H9A(Vly@Lk}=HFS0GZc*5+xo-CMc2DiYd(|;&nn8rh~iwBb!J>G=6(r;1NQ=O z-+Ffm_Z4N_Z=&2IMV~MRs7~*6N_;WrX=e#f`wymuO(6vem-n0hn$rB&)YXhqQ#GjV zszI6p3g5p{<~n8ZKP=suJl!9aq`UoKOgS9-mCaCsqm@D{84az(?`kzM&|NLUI^jx` z;gR2_y=0Vgcv}teyxWT5^^uXl#qEuYdW-7+U`9E+9D7Lr*b4!By-Pow#bY*+uu>sl zoNT1CV=30{XNmO{6dLvhS%@{iW2rYd(%fH&H-_qxk%YzUz?gN$ry{9?uqbiTN-iBr zGQ;~^@&GY};r+;i=ODEDy_w+~H1i)}g{KQ6E0C;Oqr#{(s#@xfrX%W+IC@r;9K%Ra zoc+ghljo{ z#P6)ERoIs?deZv0bNP@%{ZTgm{O>vQ5MNa-F(2R*q4g-xdO9m=74vQiP zs3Ofc4K(91qrzSu!Zc$v7E3Dz9i#b#D4k1dP=?ojS>T|DY5`|dgMZCyi+T5#@T(T_ zXx>4;$O;YLqBC#7FQ0(C{dXhuX)tPD@ns?J$9-8`YoPzXWbgLky3DmlkAv0T&@rnYJNbm1u17=2D2EnY%1XG<;QW&OaAfZJu5WX z$M1AJbTm6JonFi6FJ6n(#*)NxA7TFSB)OceoOn5er@OW|T`#7)mZ!Vco$jYJT}}4# zxzoFl=6br%(E~9zf$m$pe3_PLA4y%DvqrRhG;>QvSgVQ!mKS z#f__=g_#$l^x?@_M#Tgw<9JL4X#mJ!{m>1|=h@hIHBpLCAM%f(K33&oGOG_<^(pqJ z6)cM;p@A&QG1}cg+edl%3GmWDX60B-RS<`(d@RuDlZ$8@fS<^*cVV#3?}s|aw=)*c zU#2m6PA}jZZ~>HQC`j|*p}Iri5^sKF+b9tXo|1wz4(d5s!t;F>G!7!VNa;vY&ivTJ z+x-8`WA|*Z9%Zt)jg>94OMYCXMiNmUVgAu18HHNVu583TXY*eS z3Zt*+P?~p{-YH!@yx(>#_cUR?IbYFT=RZbp zoD5LRYSKLRuF0~1?z;CsW`6O#|4mxqTwD{6A0ul)|Nhj9!1(l?MuAki_K%O4&)-6T zk~{&VWnUw+FYDZo>YUH^Fk`~$Kx1)yKG67kV>O9p452w1Ae}@Jj8N9v-zZDeZo#LO z{B#>3J@eT)96NE9X2*W1b)ySEX8#d=>F9NuabT=~yJN>?hh!cg&}#Qdgx^JHZY6)q3iJD;`Rok~J6)iRb{b-0tIMu)SoTfH-?NLH z-4Sw~((R43G$x?u!}O3Jh0;QPaMzCU^AF0;dz2p!kh#cnU2&CbyBv$V(+YA3sG6KFNuak$LFT4LXL ztLJhnE}Ea?H-^QD`JuyGJz@Oe`MG+|pQCr5b;>Kxm-TP?vfBYKd7Xy*CB8L(8viyw zcX&eE3lX$GN|@ht?b*IJ-#Ott($GW%)X25#s0e{~69vY4(xNORuWc4RJEMKkL}*Xl zt9=aR>JIDGJ_3mOFNefm!p)m7P zw7ZC9Rl&=u!gc25B3?#Wt=^(%W+GoU3VB-^4ClHuf78^>Q{-M~pKhKCFwVtCPW=1& zjla8}_`Ca!|9rpkf7eg^-xbAo^0+U}-#O4AKA!c%b{F}*g=eoZw%~$bT!FAL9oENZ zX?Awqo{IV&>UAnBZIRyi$TbOceuz|L8fHhDb;M1_u7g?CJ}H?PM7Z3EA<2MQRt0>2 zjqMA1^|viTQr#GcEMhwcUJ914buKuDcIU8*C-{V)4y;7(-Ru|5#L$MNq%AL!^^M+cAK<$(Y0C`hmTwlA3Kt6JMoIm?Il{*YbmI~Ud@+p6W43lQk`}I zBv1N=yO z$FGi#XQCjXiNGpyqn5#+a4XbIt%dVw!f$Do@F&{zR_O97fFKyNNUry>;XeVB*f z_W}IghTlsnmDLKWuL981*73X8W1KfzgRUNvdj*BSoO-inwAPd50puQLlOpDg z%{p)8v(C+Q*13w@HIIq>+l?# z+1d`N$B>Y(jTqjH=SEt(e&Sa;JRW7N=L*!dfx@bzRDXg|NOt9JpS8I-i#E^LJQxx zVmSZ09Ih5loPTXDt1X69g3?Tnyz#Sz^S~Di#MR!&#E!|t{D~8@>HFvBCSLM` z(ioA_7!9O1hx1G44jkSuJ`V33xNL5dh3x!tjJ%|V1dR+5TaPkAy{(%&@uuGvt&$Yh zj64h3oiyxg(egnJj?e|rtnKX0y?N>y?RCthV2EgCvpaqpjbF*nT}C1PA|5|T;|J*- z`rF!7YSW9w_mQCA2y}}6K%Iz?H?S}AVu*-uL=wXjJ-qp5gLL{OPvo`*YRW&3>;(op z{S{;`z@o1--4G*!7E|6+dRt#_ns`RWzeQUU+0wb11m!w8t+v2ig2Jq=ovW47(C&wk zYe9n&70f-(dDoj4I_G+CD>{#R*FtvAnArgikyg+v69V1ZR;^$wc=y7>7)BuV5hvWo z@54Q`km+y3V=v#TMU$@(NlY)_rd=#Z-bsL0FHQ(xNP5LKdV+01x;wL#@@RhK*l+yT zLN@0}&)=r)l?0f70i}*f?FupKdm~e=W@69VN>8j^xcq47!1fBFaN%0;iCqvw_c(NF z7O^oRrz5%OBnP7NrsVZqm_%9>j#P!NG*V^v+mY_kihOd^~TmD{t+^d3#e*hSD7I{3%)?fAHligwayqW$2{yn?=l~ z?>E=Qz_k3F)|-o*H%#YrsL=M)=L1be7IzG`Hv-kuC$0CAy^0_r-IIv@gRS)RmOvak1}N)o5SHY!jwdL)T6aLNbCS}lwL-t!-MU)~K}S$e zRs_0R@6v{mcaO5C-laujKa4#cxqx)F-Urwx19msX-dXgutLW=)%}Ez|n!lLOx!dm2 z(&>jayB(+|cP8*|N(x4aY2hh=Kcyw3xSMdS<)PL*J;WxD!}wCq+hNEoX0|8{`r?P( zwoA*VkGJ9@(bpT9V^vezy)_WB8%8V(EF0!>S*yc}i^yBLZ3jCQI(3I;PlXs(5A@Ex z5!;f1hf037|9gws`dRw19a{SF`?N_LEn+_g{H}Y&D~o#-uTX!&iojk;&K)j=X-KEw zl~MxaV#vc$8o=wN9^xbPstPdT0;vM$H3s2jcJDkKCpG@T6h>caM7d)(bXv zJ$9d#ehJFsaiITSG$zvXdP(<7k89|kTj3>@`TW1QnB9dlL}Ts$ZSI*3R@9*%LK=Oz zUbePYO-UB1^RoL`UZ7?#-wBkDv+4=@FwKcH&06^0tr<<($TW+s6HNykn(A^$RhERV z6_DzRoitTT##9wZHL^CYqIRhBVy~FC*5fM3Cy}+iN=h0=ynS^-uaXYM^pNZ)$#&eC z`5~^90R6c%W%I9D?FSTMeioC4sP3KV&%5%w(UEgI))nna|Fs==r3tligXKDL39~JN z_x$VycWc=t$6M{|(T90#rg4&OPH;Mlz$QlNdaQ7fb_eLx0*Jh57X~-r4J<}r`uTiKUTp% z71Ce9(r*$luQNbf)AXUl=~?R&ApH|q`e@gTm3&C@6LXKsZEW1JgwKOLL8!@H8jPy! zUae zxhzk!*qxJ^)_hVf%R7r?IW0V*RS9f1g5#R6Ae~Lvo?pIGdqq{ny*_m)^yPoLLrV!k zg5!v+wghJe>W)pe{*Y#VVkq|W+cn%z-m54O+J|eT7~1hVh7$Yb-CFu;=)pF{yr4TH zZPrFot^R)Zp(j!9uYyri`jz`N^lyPwcW78L2(@3?t=YG2)r^4s8c=v@o0e_uw6^RS zBq@M*yH@Sb<-W-6+T!4+U%8jY-9r7p<$lZu!!ShjH(v^M_VTZ_4#*pW(;Jc>p?@)9 z`9!VSW%Uu7zb`OkC1H8QkTupiLi0vLyu?0ZtEQ_ettpt>bTJ$LT}}6EUCp;^D22KV|wEBWY?kl%L|-d%R)#t(HB-&OVSRhTEb znB8!;R@PPjh?Z`BO6!V1&)E7XxQ}WJS|8Jni9Dv+txss(kte`?65J=j-2?6(zY zK`Gh25PKPmt10{5O{WVy-afcZ3TzmamKBzmL1v-4MgV^6aXARI4VrT<+X- z^eJsed>1b@>;pY)O{j~#)le-WR#($gT6Z&)`9vu1Nqe+$@_0JtYwz&jZF+DO(22j+ z(C4MT9j&{dy&+8p%Ym4mmB-76?IR*f-^=&sgM1HQua|1wzgSpb`X?Q6tGgAxG0xOK z!FX8|y4wGw&Gx{!xfBNDTxP$D+mbnk&ndJ&Ykz?zhi`g7Yl2urpjo zShWCyw_^}yRj(q0Da?pgi=Y$>a(ee+O=|F23 zbQwTJvD1Nu8MLn&w7D?Lf!0zeo*V$UBy~9OVY>6)JIch4W1RInl!-1Orgw{VdY2T{ zyX1&oN#CKwmhs3je6QF$3+5Uf#0VL*L~$14!+j9Bfh4C6p|g^q@co8I0@xyed7#|x zwyWesMkdKMFqar%eqmIbpM~T(5E{Z6dV!7{@=PWPTgEx@Cv*k_Eu6(v2z-n1{RoFY z=&avHyV=|w*HJ`jf4ML6BTJ(@NqJi}fb&zj*FBlc6gIkP*Tbnb@nxC~iY zMJDPQ{0VZ+n#cyU6h*&0MPGrUFSY2)U-acG`trKIY6VGkf5}B(jYVIzMPGGAUxSLi zw4$#?MPCbxzT*7LedgsdUS543AL6T-WmPy1jgy-Xc{HTra3ko*3wcZ-mYD(w#o= zMUzd|=Q-wkMUtdfMMwa^9n+8zCzeu zab?*~-qDMkoxDEn>bQr_V%c|CdRK7#oRWk%k_)GF*N@qWq-%FQ&KsaEKH|Vfr_4&XbnjH!vJpYk0RFJI!Mcop^ZS z26dx5=WYsx^9kqn@V7`JDIHh2(9WC@?Ty?x4R?T3I>MP9#LE1eF#p}dY!X1dE}x_u z)yeiKiLAX(O-aM4Jr@{pNq9;WR}1b_v)WCTLM@(O3X+maEEl@#M?j5_)w}CQ>eO!f z^?CewKlpJS;qJVQ&F3XiL??c%^A3GdkC4Vd3aG|FZr9Q z^9zSY%dyT|^C0h0kaw*EZN3OF{?73`me8lKQQZ6-mFK5fcc1r}b}X9@!BI|Z~Sacx}Stv1BpX>`JD{aP3c(J{*348d(rrH7}J)+Xsyu6$?mgQ( z_L^(;uop*{3p&=)yU=*zZ?l!cTPRCM=(x+CwQ|st(DR`$+AHgId)>9rlR5j_4Nvb{OGj&73v#r;c@O9AzW7^AlYff6MJT2%87l3{@B;6vS6t?6;Wam54tuHZTan zVgYEsLDqhQBwXZqUy|Z#H*g?*RBp zD4@|E=Pr^79N|hI+PesSb|f3m04G0BWX;3*eZbGS;vU*|d~=-61yJAb5S(%7 zImbEUD965Q*4hpuQQc)<^~&S;84YWP#q9X8@!YM)Ib+mp>z!6q!oIDFj^QM-6T(J< z+#9n(DroDwS$k0E4cVh|x@93Y4vvm93YAeOFN1LmNrZ zYv04LVP@&We$a>3EqPej_dh~0-m8{79P7agF4hCJMZ$A^IQ z-pt2P_uxJ=mFM&G@;v?cyi9`bWA_NExFpYmuq?{t?2sR1^5OhxXJ1GKncUR6@ zO>F!syPzP4o8lzq136Tg9I7PjpHFo;uE}#uKgu9|0fWQCepxKw?4vk%dXK)H0rIDU zi}JULjP_x9?j-gDOx9kj1bOr^IXfSCNcr?UKgnAIoI~@o3LnZs5aaXEvA#WYtz;WO zgI+A%b7<+l=86yHJ_FM`pU{4h>UwXZ;p#kAGO2?(hG5x<-C&` z$ZDbg3u!O1Sl*N zWck=b46p7j#)1~GCt5a|nVTQY*zY0sA*VIJknENXxt(p~g54lcQfX?~L@5Ka&`0as0WeS1wI8xhK~TCoMuLC!M}3ITKK8689*i zHc+c3?=g$w8RL?BsyXB}3PEWL;J#lG59aT&l~z*t7`@MWzv(A|plaS#8vreQ&xm50 zbCP>B4*A;Zht{TkX(i8fz_ zlxGboul18i%+JOMeuA{Iud1Q*&qM;>nk_G}5l}m*zu&wE^f=7nSC>%Lprm~a2E0!u z=DzZpU}<4KE`WSAkcP4m)|?XAI|#DpuRsm_?_|))!GA*z@>~M_FAkORnAkIt{NJSM zlz&Bu)Z@v+26D?Gw+x$~7S}6`GY?hqKF(S;j{FPzxLPA%zs%CdS8YOmknt@rt9zOC zswy!=UG(m&Q`t#9=w*cHu*4Ife^tnjpXJ9-!hvaYHDNdHvCi%I2Yr8WV~3x<1KHBJ zg^X4^i4cgWAT??QXm2J5Xq^V62gZvPqWM%rwIQ^fczty~8`66hPX?-;UKLt~sb(YL zjx&JAlsX!;>fdQt^y(JXOM56NHPPH!%GLC5O+!w9af-PQ~ouYF+u*n$*b_6=@% z3jfUU6r?)o$1qC!Jbu|RI7V}9?+wndGj(j`<{&+1jdw|sQH{gCrn6}D<7y#FInFxp zP0ib_5U!7W>CiGW?9NDxv?++65m_G}1)A8$<6QrDIJW|MY*X~Yz0yp6&TjqIVs?$4 zusQvN`Du9zWFds%+{!+U@$RAfRnWFAtmLCdu z=6kiCMhG`J>}!j@xt7*awY#TIE-zI?mu|gazR){fAtCH1j#1%bU zWo$e_9PK&MxeF&g5NyBKnC9f|23Owh<9QoR^QM#AAZ)4+#{|%?kY*i*lVpQ%(1P4Y zLor-ojS^9ak)($21iuaN&`20jj4a?(xNsDXV;(4k2lL?xt;I!KbHT@xSQOerjM=n| zk#K!_5!$qjkzj0ta0p@q>z(g#{r?Dsuvd%1(B37w>qWZ88Kt@MjMYOmn5(Y7ZufQ zzT`*$MwZk8P82fH_I{+}7~xyA!#ajDhT^OfHpf8|f)v$JyuQew zW{tktx00vH?{ndfy zs@1JNF+1nswI!8i^ zM?@o}IH#=U`>cO9wFflJX7F-5-4+sUh zK6U`Po-c%=@_;ocyK1mT*dTn3?Quwm=GYwrEwhHBf0tOv4RMwAf|9a&yYPJ&=H@V_ z*N3BjIF#WP0ak{7{=HRYau6oIp~Im>hW0C83GH|Nv=F5Ib0^)L`#ayCptaf;!_iu? zob$27o_8&etujAgBM0XFvFIAbiP39aV9gU)U0~f@h2=qYU6I6Kyc@$&B9y1pMtorp zeaof5uUhy<>$V@VFNdEX$$xX68pvt60#{*XaTYk!#Bbuv{Gb0_Zg3x>yiL1hurWT1j@SPi9bZ0r_^)pcn1jK;b^`aYt%m9~UhU!)dv`4Rn$^TH%nwSn6D#8t;Cy6RX(L;Q5ru?o^#Cp$m3u3GuF9!olw_7d)J%3c|?%-w_^d#84E
    1. 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πn-8vbCw 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 z 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≥V^v_emFfCVj$f`g0DlM+l_ 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

        q_i+=hS!MA?F3 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 YWA~6m?z5Nko_R98dEilB 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 M44mEigG7z`Kc7R52LJ#7 diff --git a/APIJSONTest1.6.0.apk b/APIJSONTest1.6.0.apk deleted file mode 100644 index 18c7bb1b988ffef1b9ab3538787d5b101b349ca4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 399952 zcmb5VWl$c$x9&TX1Zslrl!~G=hxjzvXD?%02~|~fC`Bs3;aJ4CIAI|vNv^hurif5vbQofb8%(% zw6lF51%U70$LuksvBDHz!lZ4J0Enb?O3@&4@PtGFnwZo9dq4^l9Rw7EsT2t1S9*~V zCnKB~BN{4eG&&*BLaj98-3h$_8q6twgh5!#+4AS7Rw^rqbP5 zR+X$An!-ssZePhaFbsduqizS|aN}<#YSVN|#4o4u)yb|glxx}lK*!Re{yv|lX!{5Al)C(>*A{^cu)b$xY6ULvsVjOexRzJ(g zfFjg#FfyJ0imzcMfs!cEqnh04oHA4v;-!A{0`FsB(HNo!9WU8L{Ul$Jc|W_nCj9aJ^luQi5i(uWaqtLj4DQm7qKo!I zh?abv5Z>{4nRmB2U!{E~%T6%A#cuMlwu=>w?O12Vu4vgzD&Sjc_M5v4tLG#UI%hO; z{eFSTm0Z2eF52W-c&TYQe?)bqna)ZS=s8lHbq1}?=MMg0OjBxOY~{IT_~E5-SHr

        |CZ@E&EHB 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%0ABn!RDMBj*Izn-*Cba#R8 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 z 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�u=c* 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 From a883ff3721835823321d6352ece6ceb5d839ad46 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Wed, 6 Sep 2017 14:05:35 +0800 Subject: [PATCH 165/219] =?UTF-8?q?=E4=B8=8EAPIJSON-JS=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zuo/biao/apijson/server/Structure.java | 6 +- APIJSON-JavaScript/RequestUtil.js | 431 ++++++++++++++++++ APIJSON-JavaScript/ResponseUtil.js | 172 +++++++ APIJSON-JavaScript/StringUtil.js | 92 ++++ APIJSON-JavaScript/access_error.html | 11 +- APIJSON-JavaScript/access_permitted.html | 15 +- APIJSON-JavaScript/apijson.js | 194 -------- APIJSON-JavaScript/delete.html | 40 +- APIJSON-JavaScript/get/array.html | 77 ++-- APIJSON-JavaScript/get/column.html | 5 +- APIJSON-JavaScript/get/complex.html | 32 +- APIJSON-JavaScript/get/rely.html | 5 +- APIJSON-JavaScript/get/single.html | 22 +- APIJSON-JavaScript/index.html | 162 ------- APIJSON-JavaScript/post.html | 40 +- APIJSON-JavaScript/put.html | 43 +- 16 files changed, 875 insertions(+), 472 deletions(-) create mode 100644 APIJSON-JavaScript/RequestUtil.js create mode 100644 APIJSON-JavaScript/ResponseUtil.js create mode 100644 APIJSON-JavaScript/StringUtil.js delete mode 100644 APIJSON-JavaScript/apijson.js delete mode 100644 APIJSON-JavaScript/index.html diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java index 3e1c6d68d..1c836146d 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Structure.java @@ -54,9 +54,9 @@ //TODO 放到 zuo.biao.apijson 包内,供Android客户端校验请求结构 /**结构类 - * 增删改查: operation(add,replace,put,remove) operation:{key0:value0, key1:value1 ...} - * 对值校验: verify:{key0:value0, key1:value1 ...} (key{}:range,key$:"%m%"等) - * 对值重复性校验: unique:"key0:, key1 ..." (unique:"phone,email" 等) + * 增删改查: OPERATION(ADD,REPLACE,PUT,REMOVE) OPERATION:{key0:value0, key1:value1 ...} + * 对值校验: VERIFY:{key0:value0, key1:value1 ...} (key{}:range,key$:"%m%"等) + * 对值重复性校验: UNIQUE:"key0:, key1 ..." (UNIQUE:"phone,email" 等) * @author Lemon */ public class Structure { diff --git a/APIJSON-JavaScript/RequestUtil.js b/APIJSON-JavaScript/RequestUtil.js new file mode 100644 index 000000000..66d4861f1 --- /dev/null +++ b/APIJSON-JavaScript/RequestUtil.js @@ -0,0 +1,431 @@ +/** + * Created by Lemon on 17/5/8. + */ +const TAG_REQUEST_UTIL = 'RequestUtil'; + +const URL_BASE = "http://139.196.140.118:8080"; // 基地址 +const URL_GET = URL_BASE + "/get"; // 常规获取数据方式 +const URL_HEAD = URL_BASE + "/head"; // 检查,默认是非空检查,返回数据总数 +const URL_POST_GET = URL_BASE + "/post_get"; // 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 +const URL_POST_HEAD = URL_BASE + "/post_head"; // 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 +const URL_POST = URL_BASE + "/post"; // 新增(或者说插入)数据 +const URL_PUT = URL_BASE + "/put"; // 修改数据,只修改传入字段对应的值 +const URL_DELETE = URL_BASE + "/delete"; // 删除数据 + + +/**请求,全走HTTP POST + * @param url + * @param rq + */ +function request(url, json, notAlertRequest, onreadystatechange) { + if (json == null || json instanceof Array || (json instanceof Object) == false) { + alertOfDebug("request json == null || json instanceof Array || (json instanceof Object) == false !!! >> return null;"); + return null; + } + + if (url == null || (typeof url != "string")) { + alertOfDebug("request url == null || typeof url != string !!! >> return null;"); + return null; + } + if (url.length < 3 || url.indexOf(".") < 0) { + alertOfDebug("request url.length < 3 || url.indexOf(.) < 0 !!! >> return null;"); + return null; + } + + + var rqf = format(JSON.stringify(json)); + + var branch = url.substring(URL_BASE.length + 1, url.length); + var end = branch.indexOf("/"); + var method = branch.substring(0, end < 0 ? branch.length : end); + + var METHOD = method.toUpperCase(); + + if (! notAlertRequest) { + alert("Request(" + METHOD + "):\n" + rqf); + } + + var request = new XMLHttpRequest(); + request.open("POST", url, true); + request.setRequestHeader("Content-type", "application/json"); + + request.onreadystatechange = onreadystatechange != null ? onreadystatechange : function () { + if (request.readyState !== 4) { + return; + } + + if (request.status === 200) { + alert("Response(" + METHOD + "):\n" + format(request.responseText)); + } else { + alert("Response(" + METHOD + "):\nstatus" + request.status + "\nerror:" + request.error); + } + } + + request.send(rqf); + //原生请求>>>>>>>>>>>>>>>>>>>>>>>>>> + + + //JQuery ajax请求<<<<<<<<<<<<<<<<<<<<<<<<<< + // $.ajax({ + // type: isGet ? "GET" : "POST", + // url: isGet ? url + "/" + rq : url, + // contentType: "application/json", //必须 + // dataType: "json", //返回值类型,非必须 + // data: isGet ? null : rq, + // success: function (response) { + // alertOfDebug(response); + // } + // }); + //JQuery ajax请求>>>>>>>>>>>>>>>>>>>>>>>>>> + + + //VUE axios请求<<<<<<<<<<<<<<<<<<<<<<<<<< + // if (isGet) { + // axios.get(url + "/" + rq, null) + // .then(function (response) { + // console.log(response); + // }) + // .catch(function (error) { + // console.log(error); + // }); + // } else { + // axios({ + // method: 'post', + // url: url + "/", + // data: json + // }).then(function (response) { + // alertOfDebug(response); + // }).catch(function (error) { + // alertOfDebug(error); + // }); + // } + //VUE axios请求>>>>>>>>>>>>>>>>>>>>>>>>>> + + return request; +} + +/**编码JSON,转义所有String + * @param json 任意类型 + */ +function encode(json) { + // alertOfDebug("encode before:\n" + format(JSON.stringify(json))); + + if (typeof json == "string") { //json instanceof String) { + json = encodeURIComponent(json); + } + else if (json instanceof Array) { + // alertOfDebug("encode json instanceof Array"); + + for (var i = 0; i < json.length; i ++) { + // alertOfDebug("json[" + i + "] = " + format(JSON.stringify(json[i]))); + json[i] = encode(json[i]); + } + } + else if (json instanceof Object) { + // alertOfDebug("encode json instanceof Object"); + for (var key in json) { + // alertOfDebug("encode json[" + key + "] = " + format(JSON.stringify(json[key]))); + json[key] = encode(json[key]); + } + } + // alertOfDebug("encode after:\n" + format(JSON.stringify(json))); + + return json; +} + + +/**格式化JSON串 + * @param json {},JSON对象 + */ +function format(json) { + if ((json instanceof Object) == false) { + alertOfDebug("format json instanceof Object == false >> json = parseJSON(json);"); + json = parseJSON(json); + } + + return JSON.stringify(json, null, "\t"); +} + +/**将json字符串转为JSON对象 + * @param s + */ +function parseJSON(s) { + if (s instanceof Object) { + alertOfDebug("parseJSON s instanceof JSON >> return s;"); + return s; + } + + if (typeof s != "string") { + alertOfDebug("parseJSON typeof json != string >> s = \"\" + s;"); + s = "" + s; + } + // alertOfDebug("parseJSON s = \n" + s); + + return JSON.parse(s); +} + +/**测试用的提示 + * @param s + */ +function alertOfDebug(s) { + // alert(s); //注释掉就都不会弹窗了 +} + +/**是否为空 + * @param s + * @returns {boolean} + */ +function isEmpty(s) { + return s == null || s.trim() == ''; +} + + + + +/**转为JSON对象 + * @param s + * @return {*} + */ +function parseObject(s) { + if (s == null || s instanceof Object) { + return s; + } + if (typeof s == 'string') { + if (s.indexOf("'") >= 0) { + s = s.replace(/'/g, "\'"); + } + return JSON.parse(s); + } + return parseObject(s.toString()); +} + +// /**格式化JSON串 +// * @param json +// */ +// function format(json) { +// try { +// return JSON.stringify(JSON.parse(json), null, "\t"); +// } catch(e) { +// log(TAG_REQUEST_UTIL, 'format try { ... } catch (err) { \n ' + err); +// return json; +// } +// +// // 导致格式化后代码很难看,像没格式化一样 +// // if (json == null || json == '') { +// // console.log('format json == null || json == "" >> return json;'); +// // return json; +// // } +// // +// // if (json instanceof Object) { //避免赋值影响传进来的json +// // return JSON.stringify(json, null, "\t"); +// // } +// // +// // var jsonObj; +// // if (typeof json == 'string'){ +// // try { +// // jsonObj = JSON.parse(json); +// // } catch (err) { +// // console.log('format try { jsonObj = JSON.parse(json); } catch (err) { \n ' + err); +// // return json; +// // } +// // } +// // else { +// // console.log('format json type error !'); +// // return json; +// // } +// // return JSON.stringify(jsonObj, null, "\t"); +// } + +function log(tag, msg) { + console.log(tag + '.' + msg); +} + + + + + +//常用请求<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + +/**获取单个对象 + * @param table String, 对象名,如 "User" + * @param id Long, 对象id,如 1 + * @param notAlert 不弹窗显示 + * @param callBack 请求成功回调 + */ +function getObject(table, id, notAlert, callBack) { + alertOfDebug("getObject table = " + table + "; id = " + id); + + return request(URL_GET, newSingleJSON(table, { "id": id }, null), notAlert, callBack); +} + +/**获取数组 + * @param table String, 对象名,如 "User" + * @param json {}, 对象内容,如 {"sex":1} + * @param count int, 每页数量 + * @param page int, 页码 + * @param notAlert 不弹窗显示 + * @param callBack 请求成功回调 + */ +function getArray(table, json, count, page, notAlert, callBack) { + alertOfDebug("getArray table = " + table + "; count = " + count + "; page = " + page + + "; json = \n" + format(json)); + + return request(URL_GET, newArrayJSON(table, json, count, page), notAlert, callBack); +} + +/**新增单个对象 + * @param table String, 对象名,如 "User" + * @param json {}, 对象内容,如 {"sex":1} + * @param notAlert 不弹窗显示 + * @param callBack 请求成功回调 + */ +function postObject(table, json, notAlert, callBack) { + alertOfDebug("postObject table = " + table + + "; json = \n" + format(json)); + var id = json == null ? null : json['id']; + if (id != null) { + alertOfDebug('postObject POST 请求不能设置 id !'); + return; + } + + return request(URL_POST, newSingleJSON(table, json, table), notAlert, callBack); +} +/**修改单个对象 + * @param table String, 对象名,如 "User" + * @param json {}, 对象内容,如 {"sex":1} + * @param notAlert 不弹窗显示 + * @param callBack 请求成功回调 + */ +function putObject(table, json, notAlert, callBack) { + alertOfDebug("putObject table = " + table + + "; json = \n" + format(json)); + if (json == null) { + alertOfDebug('putObject PUT 请求必须设置 table对象 !'); + return; + } + if (json["id"] == null || json["id"] <= 0) { + alertOfDebug('putObject PUT 请求必须设置 id 且 id > 0 !'); + return; + } + + return request(URL_PUT, newSingleJSON(table, json, table), notAlert, callBack); +} +/**删除单个对象 + * @param table String, 对象名,如 "User" + * @param id Long, 对象id,如 1 + * @param notAlert 不弹窗显示 + * @param callBack 请求成功回调 + */ +function deleteObject(table, id, notAlert, callBack) { + alertOfDebug("deleteObject table = " + table + "; id = " + id); + if (id == null || id <= 0) { + alertOfDebug('deleteObject DELETE 请求必须设置 id 且 id > 0 !'); + return; + } + + return request(URL_DELETE, newSingleJSON(table, { "id": id }, table), notAlert, callBack); +} + +/**修改多个对象 + * @param table String, 对象名,如 "User" + * @param json {}, 对象内容,如 {"sex":1} + * @param notAlert 不弹窗显示 + * @param callBack 请求成功回调 + */ +function putArray(table, json, notAlert, callBack) { + alertOfDebug("putArray table = " + table + + "; json = \n" + format(json)); + var idArray = json == null ? null : json["id{}"]; + if (idArray == null || (idArray instanceof Array) == false) { + alertOfDebug('putArray idArray == null || (idArray instanceof Array) == false' + + ' >> return; PUT 请求必须设置 id{}:[] !'); + return; + } + + return request(URL_PUT, newSingleJSON(table, json, table + "[]"), notAlert, callBack); +} +/**删除多个对象 + * @param table String, 对象名,如 "User" + * @param idArray [], 对象id数组,如 [1, 2, 3] + * @param notAlert 不弹窗显示 + * @param callBack 请求成功回调 + */ +function deleteArray(table, idArray, notAlert, callBack) { + alertOfDebug("deleteArray table = " + table + + "; idArray = \n" + format(idArray)); + if (idArray == null || (idArray instanceof Array) == false) { + alertOfDebug('deleteArray idArray == null ! DELETE 请求必须设置 id{}:[] !'); + return; + } + + return request(URL_DELETE, newSingleJSON(table, { "id{}": idArray }, table + "[]"), notAlert, callBack); +} + + + +/**新建单个对象请求 + * @param table String, 对象名,如 "User" + * @param json {}, 对象内容,如 {"sex":1} + * @param tag String, 写操作标识,一般来说,操作单个对象时和table相同,操作多个对象时是 table[] + */ +function newSingleJSON(table, json, tag) { + // alertOfDebug("newSingleJSON table = " + table + "; tag = " + tag + // + "; json = \n" + format(json)); + + return parseJSON(newSingleString(table, json, tag)); +} +/**新建数组请求 + * @param table String, 对象名,如 "User" + * @param json {}, 对象内容,如 {"sex":1} + * @param count int, 每页数量 + * @param page int, 页码 + */ +function newArrayJSON(table, json, count, page) { + // alertOfDebug("newArrayJSON table = " + table + "; count = " + count + "; page = " + page + // + "; json = \n" + format(json)); + + return parseJSON(newArrayString(table, json, count, page)); +} + + +/**新建单个对象请求 + * @param table String, 对象名,如 "User" + * @param json {}, 对象内容,如 {"sex":1} + * @param tag String, 写操作标识,一般来说,操作单个对象时和table相同,操作多个对象时是 table[] + */ +function newSingleString(table, json, tag) { + if (json == null) { + alertOfDebug('newSingleString json == null >> return;'); + return; + } + // alertOfDebug("newSingleString table = " + table + "; tag = " + tag + // + "; json = \n" + format(json)); + + return "{\"" + + table + "\":" + + JSON.stringify(json) + + (isEmpty(tag) ? "" : ",\"tag\":\"" + tag + "\"") + + "}"; +} +/**新建数组请求 + * @param table String, 对象名,如 "User" + * @param json {}, 对象内容,如 {"sex":1} + * @param count int, 每页数量 + * @param page int, 页码 + */ +function newArrayString(table, json, count, page) { + if (json == null) { + alertOfDebug('newArrayString json == null >> return;'); + return; + } + // alertOfDebug("newArrayString table = " + table + "; count = " + count + "; page = " + page + // + "; json = \n" + format(json)); + + return "{\"" + table + "[]\":{" + "\"count\":" + count + "," + "\"page\":" + page + ",\"" + + table + "\":" + JSON.stringify(json) + "}}"; +} + + +//常用请求>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \ No newline at end of file diff --git a/APIJSON-JavaScript/ResponseUtil.js b/APIJSON-JavaScript/ResponseUtil.js new file mode 100644 index 000000000..35771aa47 --- /dev/null +++ b/APIJSON-JavaScript/ResponseUtil.js @@ -0,0 +1,172 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License.*/ + +/**parser for response + * @author Lemon + * @see #getObject + * @see #getList + * @use JSONResponse response = new JSONResponse(json); + *
        User user = response.getObject(User.class);//not a must + *
        List commentList = response.getList("Comment[]", Comment.class);//not a must + */ + + +//状态信息,非GET请求获得的信息<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + +const CODE_SUCCESS = 200; //成功 +const CODE_UNSUPPORTED_ENCODING = 400; //编码错误 +const CODE_ILLEGAL_ACCESS = 401; //权限错误 +const CODE_UNSUPPORTED_OPERATION = 403; //禁止操作 +const CODE_NOT_FOUND = 404; //未找到 +const CODE_ILLEGAL_ARGUMENT = 406; //参数错误 +const CODE_NOT_LOGGED_IN = 407; //未登录 +const CODE_TIME_OUT = 408; //超时 +const CODE_CONFLICT = 409; //重复,已存在 +const CODE_CONDITION_ERROR = 412; //条件错误,如密码错误 +const CODE_UNSUPPORTED_TYPE = 415; //类型错误 +const CODE_OUT_OF_RANGE = 416; //超出范围 +const CODE_NULL_POINTER = 417; //对象为空 +const CODE_SERVER_ERROR = 500; //服务器内部错误 + + +const MSG_SUCCEED = "success"; //成功 +const MSG_SERVER_ERROR = "Internal Server Error!"; //服务器内部错误 + + +const KEY_CODE = "code"; +const KEY_MSG = "msg"; +const KEY_ID = "id"; +const KEY_ID_IN = KEY_ID + "{}"; +const KEY_COUNT = "count"; +const KEY_TOTAL = "total"; + + + +/**是否成功 + * @param code + * @return + */ +function isSuccess(code) { + return code == CODE_SUCCESS; +} + +/**校验服务端是否存在table + * @param count + * @return + */ +function isExist(count) { + return count > 0; +} + +//状态信息,非GET请求获得的信息>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + + + + + + + +/**格式化key名称 + * @param object + * @return + */ +function formatObject(object) { + //太长查看不方便,不如debug log(TAG, "format object = \n" + JSON.toJSONString(object)); + if (object == null || object == '') { + log(TAG, "format object == null || object == '' >> return object;"); + return object; + } + let formattedObject = {}; + + let value; + for (let key in object) { + value = object[key]; + + if (value instanceof Array) { // JSONArray,遍历来format内部项 + formattedObject[replaceArray(key)] = formatArray(value); + } + else if (value instanceof Object) { // JSONObject,往下一级提取 + formattedObject[getSimpleName(key)] = formatObject(value); + } + else { // 其它Object,直接填充 + formattedObject[getSimpleName(key)] = value; + } + } + + //太长查看不方便,不如debug log(TAG, "format return formattedObject = " + JSON.toJSONString(formattedObject)); + return formattedObject; +} + +/**格式化key名称 + * @param array + * @return + */ +function formatArray(array) { + //太长查看不方便,不如debug log(TAG, "format array = \n" + JSON.toJSONString(array)); + if (array == null || array == '') { + log(TAG, "format array == null || array == '' >> return array;"); + return array; + } + let formattedArray = []; + + let value; + for (let i = 0; i < array.length; i++) { + value = array[i]; + if (value instanceof Array) { // JSONArray,遍历来format内部项 + formattedArray.push(formatArray(value)); + } + else if (value instanceof Object) { // JSONObject,往下一级提取 + formattedArray.push(formatObject(value)); + } + else { // 其它Object,直接填充 + formattedArray.push(value); + } + } + + //太长查看不方便,不如debug log(TAG, "format return formattedArray = " + JSON.toJSONString(formattedArray)); + return formattedArray; +} + +/**替换key+KEY_ARRAY为keyList + * @param key + * @return getSimpleName(isArrayKey(key) ? getArrayKey(...) : key) {@link #getSimpleName(String)} + */ +function replaceArray(key) { + if (isArrayKey(key)) { + key = getArrayKey(key.substring(0, key.lastIndexOf('[]'))); + } + return getSimpleName(key); +} +/**获取列表变量名 + * @param key => getNoBlankString(key) + * @return empty ? "list" : key + "List" 且首字母小写 + */ +function getArrayKey(key) { + return addSuffix(key, "list"); +} + +/**获取简单名称 + * @param fullName name 或 name:alias + * @return name => name; name:alias => alias + */ +function getSimpleName(fullName) { + //key:alias -> alias; key:alias[] -> alias[] + let index = fullName == null ? -1 : fullName.indexOf(":"); + if (index >= 0) { + fullName = fullName.substring(index + 1); + } + return fullName; +} + + diff --git a/APIJSON-JavaScript/StringUtil.js b/APIJSON-JavaScript/StringUtil.js new file mode 100644 index 000000000..374209bcc --- /dev/null +++ b/APIJSON-JavaScript/StringUtil.js @@ -0,0 +1,92 @@ +/**获取string,为null则返回'' + * @param s + * @return + */ +function getString(s) { + return s == null ? '' : s; +} + +/**获取去掉前后空格后的string,为null则返回'' + * @param s + * @return + */ +function getTrimmedString(s) { + return this.getString(s).trim(); +} + +/**获取去掉所有空格后的string,为null则返回'' + * @param s + * @return + */ +function getNoBlankString(s) { + return this.getString(s).replace('\\s', ''); +} + +/**判断字符是否为空 + * @param s + * @param trim + * @return + */ +function isEmpty(s, trim) { + if (s == null) { + return true; + } + if (trim) { + s = s.trim(); + } + if (s == '') { + return true; + } + + return false; +} + + +/**添加后缀 + * @param key + * @param suffix + * @return key + suffix,第一个字母小写 + */ +function addSuffix(key, suffix) { + key = this.getNoBlankString(key); + if (key == '') { + return this.firstCase(suffix); + } + return this.firstCase(key) + this.firstCase(suffix, true); +} +/**首字母大写或小写 + * @param key + * @param upper + * @return + */ +function firstCase(key, upper) { + key = this.getString(key); + if (key == '') { + return ''; + } + + const first = key.substring(0, 1); + key = (upper ? first.toUpperCase() : first.toLowerCase()) + key.substring(1, key.length); + + return key; +} + +/**全部大写 + * @param s + * @param trim + * @return + */ +function toUpperCase(s, trim) { + s = trim ? this.getTrimmedString(s) : this.getString(s); + return s.toUpperCase(); +} +/**全部小写 + * @param s + * @return + */ +function toLowerCase(s, trim) { + s = trim ? this.getTrimmedString(s) : this.getString(s); + return s.toLowerCase(); +} + +//校正(自动补全等)字符串>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> \ No newline at end of file diff --git a/APIJSON-JavaScript/access_error.html b/APIJSON-JavaScript/access_error.html index 14692b6d8..e566d0f8d 100755 --- a/APIJSON-JavaScript/access_error.html +++ b/APIJSON-JavaScript/access_error.html @@ -1,20 +1,19 @@ + Access Error - + diff --git a/APIJSON-JavaScript/access_permitted.html b/APIJSON-JavaScript/access_permitted.html index dc7f3d9dd..f2c787671 100644 --- a/APIJSON-JavaScript/access_permitted.html +++ b/APIJSON-JavaScript/access_permitted.html @@ -1,23 +1,20 @@ + Access Permitted - + diff --git a/APIJSON-JavaScript/apijson.js b/APIJSON-JavaScript/apijson.js deleted file mode 100644 index df4bea642..000000000 --- a/APIJSON-JavaScript/apijson.js +++ /dev/null @@ -1,194 +0,0 @@ -/** - * Created by Lemon on 17/5/8. - */ - -var url_base = "http://139.196.140.118:8080"; -var url_get = url_base + "/get"; -var url_head = url_base + "/head"; -var url_post_get = url_base + "/post_get"; -var url_post_head = url_base + "/post_head"; -var url_post = url_base + "/post"; -var url_put = url_base + "/put"; -var url_delete = url_base + "/delete"; - - -/**包含 - * @param obj - * @returns {boolean} - */ -Array.prototype.contains = function (obj) { - for (var i = 0; i < this.length; i ++) { - if (this[i] === obj) { - return true; - } - } - return false; -} - -/**请求方法 - * @type {Array} - */ -var Method = new Array( - - /** - * 常规获取数据方式 - */ - "get", - - /** - * 检查,默认是非空检查,返回数据总数 - */ - "head", - - /** - * 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 - */ - "post_get", - - /** - * 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 - */ - "post_head", - - /** - * 新增(或者说插入)数据 - */ - "post", - - /** - * 修改数据,只修改传入字段对应的值 - */ - "put", - - /** - * 删除数据 - */ - "delete" -) - - - -/**请求 - * @param url - * @param rq - */ -function request(url, json, notAlertRequest, onreadystatechange) { - var rqf = format(JSON.stringify(json)); - - var rq = encodeURI(JSON.stringify(encode(json))); // JSON.stringify(encode(json)); // - - - var method = url.substring(url.lastIndexOf("/") + 1, url.length); - // alert("method=" + method); - if (method == null || Method.contains(method) == false) { - alert("method is empty! url must endsWith \"/[method]\" !"); - return; - } - var isGet = method === Method[0] || method === Method[1]; - // alert("isGet=" + isGet); - - var METHOD = method.toUpperCase(); - - if (! notAlertRequest) { - alert("Request(" + METHOD + "):\n" + rqf); - } - - - //原生请求<<<<<<<<<<<<<<<<<<<<<<<<<< - var request = new XMLHttpRequest(); - request.open(isGet ? "GET" : "POST", url + (isGet ? "/" + rq : ""), true); - if (isGet == false) { - request.setRequestHeader("Content-type", "application/json"); - } - request.onreadystatechange = onreadystatechange != null ? onreadystatechange : function () { - if (request.readyState !== 4) { - return; - } - - if (request.status === 200) { - alert("Response(" + METHOD + "):\n" + format(request.responseText)); - } else { - alert("Response(" + METHOD + "):\nstatus" + request.status + "\nerror:" + request.error); - } - } - - request.send(isGet ? null : rq); - //原生请求>>>>>>>>>>>>>>>>>>>>>>>>>> - - - //JQuery ajax请求<<<<<<<<<<<<<<<<<<<<<<<<<< - // $.ajax({ - // type: isGet ? "GET" : "POST", - // url: isGet ? url + "/" + rq : url, - // contentType: "application/json", //必须 - // dataType: "json", //返回值类型,非必须 - // data: isGet ? null : rq, - // success: function (response) { - // alert(response); - // } - // }); - //JQuery ajax请求>>>>>>>>>>>>>>>>>>>>>>>>>> - - - //VUE axios请求<<<<<<<<<<<<<<<<<<<<<<<<<< - // if (isGet) { - // axios.get(url + "/" + rq, null) - // .then(function (response) { - // console.log(response); - // }) - // .catch(function (error) { - // console.log(error); - // }); - // } else { - // axios({ - // method: 'post', - // url: url + "/", - // data: json - // }).then(function (response) { - // alert(response); - // }).catch(function (error) { - // alert(error); - // }); - // } - //VUE axios请求>>>>>>>>>>>>>>>>>>>>>>>>>> - - - return request; -} - -/**编码JSON,转义所有String - * @param json - */ -function encode(json) { - // alert("encode before:\n" + format(JSON.stringify(json))); - - if (typeof json == "string") { //json instanceof String) { - json = encodeURIComponent(json); - } - else if (json instanceof Array) { - // alert("encode json instanceof Array"); - - for (var i = 0; i < json.length; i ++) { - // alert("json[" + i + "] = " + format(JSON.stringify(json[i]))); - json[i] = encode(json[i]); - } - } - else if (json instanceof Object) { - // alert("encode json instanceof Object"); - for (var key in json) { - // alert("encode json[" + key + "] = " + format(JSON.stringify(json[key]))); - json[key] = encode(json[key]); - } - } - // alert("encode after:\n" + format(JSON.stringify(json))); - - return json; -} - - -/**格式化JSON串 - * @param json - */ -function format(json) { - return JSON.stringify(JSON.parse(json), null, "\t"); -} \ No newline at end of file diff --git a/APIJSON-JavaScript/delete.html b/APIJSON-JavaScript/delete.html index f0d01a902..40a0832d5 100755 --- a/APIJSON-JavaScript/delete.html +++ b/APIJSON-JavaScript/delete.html @@ -1,20 +1,42 @@ + DELETE - + diff --git a/APIJSON-JavaScript/get/array.html b/APIJSON-JavaScript/get/array.html index f85c03ba0..4c28d304e 100644 --- a/APIJSON-JavaScript/get/array.html +++ b/APIJSON-JavaScript/get/array.html @@ -1,45 +1,52 @@ + GET:Array - + diff --git a/APIJSON-JavaScript/get/column.html b/APIJSON-JavaScript/get/column.html index 37efdd664..275a6c60b 100755 --- a/APIJSON-JavaScript/get/column.html +++ b/APIJSON-JavaScript/get/column.html @@ -1,8 +1,9 @@ + GET:Column - @@ -14,7 +15,7 @@ } }; - request(url_get, json); + request(URL_GET, json); diff --git a/APIJSON-JavaScript/get/complex.html b/APIJSON-JavaScript/get/complex.html index 6371bc512..96211d4cb 100644 --- a/APIJSON-JavaScript/get/complex.html +++ b/APIJSON-JavaScript/get/complex.html @@ -1,34 +1,38 @@ + GET:Complex - diff --git a/APIJSON-JavaScript/get/rely.html b/APIJSON-JavaScript/get/rely.html index 2f82cf2c2..ef95db7f2 100755 --- a/APIJSON-JavaScript/get/rely.html +++ b/APIJSON-JavaScript/get/rely.html @@ -1,8 +1,9 @@ + GET:Rely - @@ -16,7 +17,7 @@ } }; - request(url_get, json); + request(URL_GET, json); diff --git a/APIJSON-JavaScript/get/single.html b/APIJSON-JavaScript/get/single.html index 4286925a9..c27715f92 100755 --- a/APIJSON-JavaScript/get/single.html +++ b/APIJSON-JavaScript/get/single.html @@ -1,19 +1,25 @@ + GET:Single - + diff --git a/APIJSON-JavaScript/index.html b/APIJSON-JavaScript/index.html deleted file mode 100644 index 07ccea2e7..000000000 --- a/APIJSON-JavaScript/index.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - APIJSON Test - - - -

        - - - \ No newline at end of file diff --git a/APIJSON-JavaScript/post.html b/APIJSON-JavaScript/post.html index 0d80b75cd..7298f1a44 100755 --- a/APIJSON-JavaScript/post.html +++ b/APIJSON-JavaScript/post.html @@ -1,25 +1,37 @@ + POST - + diff --git a/APIJSON-JavaScript/put.html b/APIJSON-JavaScript/put.html index 013c00f72..b665a3521 100755 --- a/APIJSON-JavaScript/put.html +++ b/APIJSON-JavaScript/put.html @@ -1,25 +1,40 @@ + PUT - + From 089dd3951d3605d84a861160340511e3b6b5d6c5 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Wed, 6 Sep 2017 14:10:47 +0800 Subject: [PATCH 166/219] =?UTF-8?q?JS=E7=89=88=E9=87=8D=E5=91=BD=E5=90=8DP?= =?UTF-8?q?rivacy.userId=20=E4=B8=BA=20id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APIJSON-JavaScript/access_permitted.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/APIJSON-JavaScript/access_permitted.html b/APIJSON-JavaScript/access_permitted.html index f2c787671..0025e705a 100644 --- a/APIJSON-JavaScript/access_permitted.html +++ b/APIJSON-JavaScript/access_permitted.html @@ -10,7 +10,7 @@ var json = { "tag":"Privacy", "Privacy":{ - "userId":38710 + "id":38710 } }; From d725fa07e4fad2586ccc03833c56c488575b9d0e Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Thu, 7 Sep 2017 21:09:29 +0800 Subject: [PATCH 167/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 888b00ebe..52ffe91a6 100644 --- a/README.md +++ b/README.md @@ -441,7 +441,7 @@ Clone or download > Download ZIP > 解压到一个路径并记住这个路 #### 你可以跳过步骤4.2和步骤4.3,用我的服务器IP地址 139.196.140.118:8080 来测试服务端对客户端请求的返回结果。 -###

        4.2 导入MySQL table文件

        +###

        4.2 导入表文件到数据库

        服务端需要MySQL Server和MySQLWorkbench,没有安装的都先下载安装一个。
        我的配置是Windows 7 + MySQL Community Server 5.7.16 + MySQLWorkbench 6.3.7 和 OSX EI Capitan + MySQL Community Server 5.7.16 + MySQLWorkbench 6.3.8,其中系统和软件都是64位的。 From 2b20ee187852d9f381ff6d795d5fcdd7850fa648 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Thu, 7 Sep 2017 21:10:13 +0800 Subject: [PATCH 168/219] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 52ffe91a6..bb586dce3 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ * [3.2 功能符](#3.2) * ### [4.快速上手](#4) * [4.1 下载解压](#4.1) -* [4.2 导入table](#4.2) +* [4.2 导入数据库表](#4.2) * [4.3 运行服务端工程](#4.3) * [4.4 运行客户端工程](#4.4) * [4.4 操作客户端App](#4.5) From a611a2838d48daa50b5426bff44db4a926515e3b Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Thu, 5 Oct 2017 20:18:05 +0800 Subject: [PATCH 169/219] =?UTF-8?q?Server:=E8=A7=A3=E5=86=B3=E5=9C=A8?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E4=B8=AD=E6=89=80=E6=9C=89column=E7=9A=84=E5=80=BC=E9=83=BD?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E6=97=B6=E5=AF=BC=E8=87=B4=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biao/apijson/server/sql/SQLExecutor.java | 37 ++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index b3002f8d1..df9ffe36d 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -67,7 +67,7 @@ public class SQLExecutor { private synchronized Connection getConnection() throws Exception { Log.i(TAG, "成功加载MySQL驱动!"); return DriverManager.getConnection(SQLConfig.MYSQL_URI + "?useUnicode=true&characterEncoding=UTF-8&user=" - + SQLConfig.MYSQL_ACCOUNT + "&password=" + SQLConfig.MYSQL_PASSWORD); + + SQLConfig.MYSQL_ACCOUNT + "&password=" + SQLConfig.MYSQL_PASSWORD); } /**保存缓存 @@ -251,26 +251,29 @@ public JSONObject execute(SQLConfig config) throws Exception { + " >> } catch (Exception e) {"); e.printStackTrace(); } - if (value == null) { - Log.i(TAG, "select while (rs.next()){ ..." + " >> value == null >> continue;"); - continue; - } + // if (value == null) { + // Log.i(TAG, "select while (rs.next()){ ..." + " >> value == null >> continue;"); + // continue; + // } // Log.i(TAG, "select while (rs.next()) { >> for (int i = 0; i < columnArray.length; i++) {" // + "\n >>> columnArray[i]) = " + columnArray[i] + "; value = " + value); - if (value instanceof Timestamp) { - value = ((Timestamp) value).toString(); - } - else if (value instanceof String) { - try { - json = JSON.parse((String) value); - if (json != null && json instanceof JSON && StringUtil.isNotEmpty(json, true)) { - value = json; + + if (value != null) { //数据库查出来的null和empty值都有意义,去掉会导致 Moment:{ @column:"content" } 部分无结果及中断数组查询! + if (value instanceof Timestamp) { + value = ((Timestamp) value).toString(); + } + else if (value instanceof String) { + try { + json = JSON.parse((String) value); + if (json != null && json instanceof JSON && StringUtil.isNotEmpty(json, true)) { + value = json; + } + } catch (Exception e) { + //太长 Log.i(TAG, "select while (rs.next()){ >> i = " + // + i + " try { json = JSON.parse((String) value);" + // + ">> } catch (Exception e) {\n" + e.getMessage()); } - } catch (Exception e) { - //太长 Log.i(TAG, "select while (rs.next()){ >> i = " - // + i + " try { json = JSON.parse((String) value);" - // + ">> } catch (Exception e) {\n" + e.getMessage()); } } From b804c0035af0de9bce600d0bf4040ba56e8a09c9 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Thu, 5 Oct 2017 23:50:41 +0800 Subject: [PATCH 170/219] =?UTF-8?q?Server:POST=5FGET=E6=94=B9=E4=B8=BAGETS?= =?UTF-8?q?,POST=5FHEAD=E6=94=B9=E4=B8=BAHEADS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/apijson/demo/server/Controller.java | 131 ++++++++++-------- .../java/apijson/demo/server/Verifier.java | 8 +- .../apijson/demo/server/model/Privacy.java | 2 +- .../apijson/demo/server/model/Verify.java | 4 +- .../java/zuo/biao/apijson/MethodAccess.java | 8 +- .../zuo/biao/apijson/MethodStructure.java | 8 +- .../java/zuo/biao/apijson/RequestMethod.java | 18 +-- .../biao/apijson/server/sql/SQLConfig.java | 2 +- .../biao/apijson/server/sql/SQLExecutor.java | 4 +- 9 files changed, 97 insertions(+), 88 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java index b563f85ae..767e9016e 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Controller.java @@ -18,8 +18,8 @@ import static zuo.biao.apijson.RequestMethod.GET; import static zuo.biao.apijson.RequestMethod.HEAD; import static zuo.biao.apijson.RequestMethod.POST; -import static zuo.biao.apijson.RequestMethod.POST_GET; -import static zuo.biao.apijson.RequestMethod.POST_HEAD; +import static zuo.biao.apijson.RequestMethod.GETS; +import static zuo.biao.apijson.RequestMethod.HEADS; import static zuo.biao.apijson.RequestMethod.PUT; import java.net.URLDecoder; @@ -53,10 +53,11 @@ import zuo.biao.apijson.server.exception.NotExistException; import zuo.biao.apijson.server.exception.OutOfRangeException; -/**request receiver and controller - *
        如果用在金融等对安全要求很高的领域,get和head可以测试期间使用明文的HTTP GET,上线版改用非明文的HTTP POST,兼顾系统安全与开发效率。 - *
        get,head等接口都用HTTP GET方法请求,post,put,delete等接口都用HTTP POST方法请求。 - *
        这样做是为了前端和客户端方便,只需要做GET和POST请求。也可以改用实际对应的方法。 +/**request controller + *
        建议全通过HTTP POST来请求: + *
        1.减少代码 - 客户端无需写HTTP GET,PUT等各种方式的请求代码 + *
        2.提高性能 - 无需URL encode和decode + *
        3.调试方便 - 建议使用 APIJSON在线测试工具 或 Postman * @author Lemon */ @RestController @@ -66,37 +67,6 @@ public class Controller { //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - /**获取 - * @param request 只用String,避免encode后未decode - * @param session - * @return - * @see {@link RequestMethod#GET} - */ - @RequestMapping("get/{request}") - public String open_get(@PathVariable String request, HttpSession session) { - try { - request = URLDecoder.decode(request, StringUtil.UTF_8); - } catch (Exception e) { - // Parser会报错 - } - return get(request, session); - } - - /**计数 - * @param request 只用String,避免encode后未decode - * @param session - * @return - * @see {@link RequestMethod#HEAD} - */ - @RequestMapping("head/{request}") - public String open_head(@PathVariable String request, HttpSession session) { - try { - request = URLDecoder.decode(request, StringUtil.UTF_8); - } catch (Exception e) { - // Parser会报错 - } - return head(request, session); - } /**获取 * @param request 只用String,避免encode后未decode @@ -120,26 +90,26 @@ public String head(@RequestBody String request, HttpSession session) { return new Parser(HEAD).setSession(session).parse(request); } - /**用POST方法GET,request和response都非明文,浏览器看不到,用于对安全性要求高的GET请求 + /**限制性GET,request和response都非明文,浏览器看不到,用于对安全性要求高的GET请求 * @param request 只用String,避免encode后未decode * @param session * @return - * @see {@link RequestMethod#POST_GET} + * @see {@link RequestMethod#GETS} */ - @RequestMapping(value = "post_get", method = org.springframework.web.bind.annotation.RequestMethod.POST) - public String post_get(@RequestBody String request, HttpSession session) { - return new Parser(POST_GET).setSession(session).parse(request); + @RequestMapping(value = "gets", method = org.springframework.web.bind.annotation.RequestMethod.POST) + public String gets(@RequestBody String request, HttpSession session) { + return new Parser(GETS).setSession(session).parse(request); } - /**用POST方法HEAD,request和response都非明文,浏览器看不到,用于对安全性要求高的HEAD请求 + /**限制性HEAD,request和response都非明文,浏览器看不到,用于对安全性要求高的HEAD请求 * @param request 只用String,避免encode后未decode * @param session * @return - * @see {@link RequestMethod#POST_HEAD} + * @see {@link RequestMethod#HEADS} */ - @RequestMapping(value = "post_head", method = org.springframework.web.bind.annotation.RequestMethod.POST) - public String post_head(@RequestBody String request, HttpSession session) { - return new Parser(POST_HEAD).setSession(session).parse(request); + @RequestMapping(value = "heads", method = org.springframework.web.bind.annotation.RequestMethod.POST) + public String heads(@RequestBody String request, HttpSession session) { + return new Parser(HEADS).setSession(session).parse(request); } /**新增 @@ -175,6 +145,45 @@ public String delete(@RequestBody String request, HttpSession session) { return new Parser(DELETE).setSession(session).parse(request); } + + + + + /**获取 + * 只为兼容HTTP GET请求,推荐用HTTP POST,可删除 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#GET} + */ + @RequestMapping("get/{request}") + public String open_get(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return get(request, session); + } + + /**计数 + * 只为兼容HTTP GET请求,推荐用HTTP POST,可删除 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#HEAD} + */ + @RequestMapping("head/{request}") + public String open_head(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return head(request, session); + } + + //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -293,30 +302,30 @@ public JSONObject postVerify(@RequestBody String request) { * @param request * @return */ - @RequestMapping(value = "post_get/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) + @RequestMapping(value = "gets/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject getVerify(@RequestBody String request) { JSONObject requestObject = null; String phone; try { - requestObject = Parser.parseRequest(request, POST_GET); + requestObject = Parser.parseRequest(request, GETS); phone = requestObject.getString(PHONE); } catch (Exception e) { return Parser.extendErrorResult(requestObject, e); } - return new Parser(POST_GET, true).parseResponse(newVerifyRequest(phone, null)); + return new Parser(GETS, true).parseResponse(newVerifyRequest(phone, null)); } /**校验验证码 * @param request * @return */ - @RequestMapping(value = "post_head/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) + @RequestMapping(value = "heads/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject headVerify(@RequestBody String request) { JSONObject requestObject = null; String phone; String verify; try { - requestObject = Parser.parseRequest(request, POST_HEAD); + requestObject = Parser.parseRequest(request, HEADS); phone = requestObject.getString(PHONE); verify = requestObject.getString(VERIFY); } catch (Exception e) { @@ -332,7 +341,7 @@ public JSONObject headVerify(@RequestBody String request) { */ public JSONObject headVerify(String phone, String vfy) { JSONResponse response = new JSONResponse( - new Parser(POST_GET, true).parseResponse( + new Parser(GETS, true).parseResponse( new JSONRequest(new Verify(phone)).setTag(VERIFY_) ) ); @@ -350,7 +359,7 @@ public JSONObject headVerify(String phone, String vfy) { } return new JSONResponse( - new Parser(POST_HEAD, true).parseResponse( + new Parser(HEADS, true).parseResponse( new JSONRequest(new Verify(phone, vfy)) ) ); @@ -413,7 +422,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { //手机号是否已注册 - JSONObject phoneResponse = new Parser(POST_HEAD, true).parseResponse( + JSONObject phoneResponse = new Parser(HEADS, true).parseResponse( new JSONRequest( new Privacy().setPhone(phone) ) @@ -427,7 +436,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { } //根据phone获取User - JSONObject privacyResponse = new Parser(POST_GET, true).parseResponse( + JSONObject privacyResponse = new Parser(GETS, true).parseResponse( new JSONRequest( new Privacy().setPhone(phone) ) @@ -443,7 +452,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { //校验凭证 if (isPassword) {//password密码登录 response = new JSONResponse( - new Parser(POST_HEAD, true).parseResponse( + new Parser(HEADS, true).parseResponse( new JSONRequest(new Privacy(userId).setPassword(password)) ) ); @@ -459,7 +468,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { } response = new JSONResponse( - new Parser(POST_GET, true).parseResponse( + new Parser(GETS, true).parseResponse( new JSONRequest(new User(userId)) ) ); @@ -582,7 +591,7 @@ public JSONObject register(@RequestBody String request) { } //验证手机号是否已经注册 - JSONObject check = new Parser(POST_HEAD, true).parseResponse( + JSONObject check = new Parser(HEADS, true).parseResponse( new JSONRequest( new Privacy().setPhone(phone) ) @@ -762,7 +771,7 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { privacyObj.remove("balance+"); JSONResponse response = new JSONResponse( - new Parser(POST_HEAD, true).setSession(session).parseResponse( + new Parser(HEADS, true).setSession(session).parseResponse( new JSONRequest(PRIVACY_, privacyObj) ) ); @@ -787,7 +796,7 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { if (change < 0) {//提现 response = new JSONResponse( - new Parser(POST_GET, true).parseResponse( + new Parser(GETS, true).parseResponse( new JSONRequest( new Privacy(userId) ) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java index 31f64d17a..fe25b6fec 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java @@ -18,8 +18,8 @@ import static zuo.biao.apijson.RequestMethod.GET; import static zuo.biao.apijson.RequestMethod.HEAD; import static zuo.biao.apijson.RequestMethod.POST; -import static zuo.biao.apijson.RequestMethod.POST_GET; -import static zuo.biao.apijson.RequestMethod.POST_HEAD; +import static zuo.biao.apijson.RequestMethod.GETS; +import static zuo.biao.apijson.RequestMethod.HEADS; import static zuo.biao.apijson.RequestMethod.PUT; import java.util.ArrayList; @@ -96,8 +96,8 @@ private static HashMap getAccessMap(MethodAccess a HashMap map = new HashMap<>(); map.put(GET, access.GET()); map.put(HEAD, access.HEAD()); - map.put(POST_GET, access.POST_GET()); - map.put(POST_HEAD, access.POST_HEAD()); + map.put(GETS, access.GETS()); + map.put(HEADS, access.HEADS()); map.put(POST, access.POST()); map.put(PUT, access.PUT()); map.put(DELETE, access.DELETE()); diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Privacy.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Privacy.java index 2c53da28a..7fcf3545b 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Privacy.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Privacy.java @@ -25,7 +25,7 @@ */ @MethodAccess( GET = {}, - POST_GET = {OWNER, ADMIN}, + GETS = {OWNER, ADMIN}, POST = {UNKNOWN, ADMIN}, DELETE = {ADMIN} ) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Verify.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Verify.java index a08a31a71..a60461171 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Verify.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/model/Verify.java @@ -30,8 +30,8 @@ @MethodAccess( GET = {}, HEAD = {}, - POST_GET = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, - POST_HEAD = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, + GETS = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, + HEADS = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, POST = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, PUT = {ADMIN}, DELETE = {ADMIN} diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodAccess.java index c69f55ac7..939571625 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodAccess.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodAccess.java @@ -45,15 +45,15 @@ */ RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - /**@see {@link RequestMethod#POST_GET} + /**@see {@link RequestMethod#GETS} * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ - RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + RequestRole[] GETS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - /**@see {@link RequestMethod#POST_HEAD} + /**@see {@link RequestMethod#HEADS} * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ - RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + RequestRole[] HEADS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST} * @return 该请求方法允许的角色 default {LOGIN, ADMIN}; diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodStructure.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodStructure.java index ffd2a0c3c..27c30c96d 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodStructure.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/MethodStructure.java @@ -30,15 +30,15 @@ @Target(TYPE) public @interface MethodStructure { - /**@see {@link RequestMethod#POST_HEAD} + /**@see {@link RequestMethod#HEADS} * @return 该请求方法允许的结构 */ - String POST_HEAD() default ""; + String HEADS() default ""; - /**@see {@link RequestMethod#POST_GET} + /**@see {@link RequestMethod#GETS} * @return 该请求方法允许的结构 */ - String POST_GET() default ""; + String GETS() default ""; /**@see {@link RequestMethod#POST} * @return 该请求方法允许的结构 diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/RequestMethod.java index 13182f99d..41fca2fa8 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/RequestMethod.java @@ -14,7 +14,7 @@ package zuo.biao.apijson; -/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出POST_GET,POST_HEAD方法 +/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出GETS,HEADS方法 * @author Lemon */ public enum RequestMethod { @@ -29,15 +29,15 @@ public enum RequestMethod { */ HEAD, - /**TODO 改为GETS - * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 + /**Safe, Single, Simple + *
        限制性GET,通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_GET, + GETS, - /**TODO 改为HEADS - * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 + /**Safe, Single, Simple + *
        限制性HEAD,通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_HEAD, + HEADS, /** * 新增(或者说插入)数据 @@ -62,7 +62,7 @@ public enum RequestMethod { */ public static boolean isGetMethod(RequestMethod method, boolean containPrivate) { boolean is = method == null || method == GET; - return containPrivate == false ? is : is || method == POST_GET; + return containPrivate == false ? is : is || method == GETS; } /**是否为HEAD请求方法 @@ -72,7 +72,7 @@ public static boolean isGetMethod(RequestMethod method, boolean containPrivate) */ public static boolean isHeadMethod(RequestMethod method, boolean containPrivate) { boolean is = method == HEAD; - return containPrivate == false ? is : is || method == POST_HEAD; + return containPrivate == false ? is : is || method == HEADS; } /**是否为查询的请求方法 diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index a1bc368cd..2cff551d1 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -315,7 +315,7 @@ public SQLConfig setColumn(String column) { public String getColumnString() throws NotExistException { switch (getMethod()) { case HEAD: - case POST_HEAD: + case HEADS: return SQL.count(column); case POST: if (StringUtil.isEmpty(column, true)) { diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index df9ffe36d..37bfd998f 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -170,7 +170,7 @@ public JSONObject execute(SQLConfig config) throws Exception { ResultSet rs = null; switch (config.getMethod()) { case HEAD: - case POST_HEAD: + case HEADS: rs = statement.executeQuery(sql); result = rs.next() ? Parser.newSuccessResult() @@ -198,7 +198,7 @@ public JSONObject execute(SQLConfig config) throws Exception { return result; case GET: - case POST_GET: + case GETS: break; default://OPTIONS, TRACE等 From 4f476e61c6ea250653e11a7d50c6234571191392 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Fri, 6 Oct 2017 00:24:17 +0800 Subject: [PATCH 171/219] =?UTF-8?q?Client:POST=5FGET=E6=94=B9=E4=B8=BAGETS?= =?UTF-8?q?,POST=5FHEAD=E6=94=B9=E4=B8=BAHEADS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apijson/demo/client/util/HttpRequest.java | 10 ++++----- .../src/apijson/demo/server/model/Login.java | 6 ++--- .../apijson/demo/server/model/Privacy.java | 2 +- .../src/apijson/demo/server/model/Verify.java | 6 ++--- .../zuo/biao/library/util/SettingUtil.java | 2 +- .../src/zuo/biao/apijson/MethodAccess.java | 8 +++---- .../src/zuo/biao/apijson/MethodStructure.java | 8 +++---- .../src/zuo/biao/apijson/RequestMethod.java | 22 +++++++++---------- .../src/apijson/demo/model/Privacy.java | 2 +- .../src/apijson/demo/ui/RequestActivity.java | 4 ++-- .../src/apijson/demo/ui/SelectActivity.java | 4 ++-- 11 files changed, 37 insertions(+), 37 deletions(-) diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java index 6667c6b6b..b3bb2d216 100755 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java @@ -54,8 +54,8 @@ public class HttpRequest { public static final String URL_HEAD = URL_BASE + "head/"; public static final String URL_GET = URL_BASE + "get/"; public static final String URL_POST = URL_BASE + "post/"; - public static final String URL_POST_HEAD = URL_BASE + "post_head/"; - public static final String URL_POST_GET = URL_BASE + "post_get/"; + public static final String URL_HEADS = URL_BASE + "heads/"; + public static final String URL_GETS = URL_BASE + "gets/"; public static final String URL_PUT = URL_BASE + "put/"; public static final String URL_DELETE = URL_BASE + "delete/"; @@ -91,7 +91,7 @@ public static void post(JSONObject request, int requestCode, OnHttpResponseListe * @must request最外层有tag,部分请求还要currentUserId和对应的password */ public static void postHead(JSONObject request, int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().post(URL_POST_HEAD, request, requestCode, listener); + HttpManager.getInstance().post(URL_HEADS, request, requestCode, listener); } /**用POST方法GET数据,request和response都非明文,浏览器看不到,用于对安全性要求高的GET请求 * @param request @@ -100,7 +100,7 @@ public static void postHead(JSONObject request, int requestCode, OnHttpResponseL * @must request最外层有tag,部分请求还要currentUserId和对应的password */ public static void postGet(JSONObject request, int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().post(URL_POST_GET, request, requestCode, listener); + HttpManager.getInstance().post(URL_GETS, request, requestCode, listener); } /** * @param request @@ -301,7 +301,7 @@ public static void checkVerify(String phone, String verify, int requestCode, OnH request.put(PHONE, phone); request.put(VERIFY, verify); - HttpManager.getInstance().post(URL_BASE + "post_head/verify" + HttpManager.getInstance().post(URL_BASE + "heads/verify" , request.setTag(VERIFY_) , requestCode, listener); } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Login.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Login.java index b123f241e..f5ba5e4f7 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Login.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Login.java @@ -25,7 +25,7 @@ /**登录类,已用session替代 * @author Lemon * @see - *
        POST_HEAD:
        + * 
        HEADS:
         {
          "Login":{
              "disallow":"!",
        @@ -56,8 +56,8 @@
         @Deprecated
         @SuppressWarnings("serial")
         @MethodAccess(
        -		POST_GET = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
        -		POST_HEAD = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
        +		GETS = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
        +		HEADS = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
         		POST = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
         		PUT = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
         		DELETE = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}
        diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Privacy.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Privacy.java
        index 2c53da28a..7fcf3545b 100644
        --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Privacy.java
        +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Privacy.java
        @@ -25,7 +25,7 @@
          */
         @MethodAccess(
         		GET = {},
        -		POST_GET = {OWNER, ADMIN},
        +		GETS = {OWNER, ADMIN},
         		POST = {UNKNOWN, ADMIN},
         		DELETE = {ADMIN}
         		)
        diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Verify.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Verify.java
        index 382846cef..69e458f97 100644
        --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Verify.java
        +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/APIJSONApp/src/apijson/demo/server/model/Verify.java
        @@ -27,7 +27,7 @@
         /**验证码
          * @author Lemon
          * @see
        - * 
        POST_GET:post_get/authCode
        + * 
        GETS:gets/authCode
         {
             "Verify":{
                 "disallow":"id"
        @@ -46,8 +46,8 @@
         @MethodAccess(
         		GET = {},
         		HEAD = {},
        -		POST_GET = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
        -		POST_HEAD = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
        +		GETS = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
        +		HEADS = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
         		POST = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
         		PUT = {ADMIN},
         		DELETE = {ADMIN}
        diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONApp/ZBLibrary/src/zuo/biao/library/util/SettingUtil.java b/APIJSON-Android/APIJSON-ADT/APIJSONApp/ZBLibrary/src/zuo/biao/library/util/SettingUtil.java
        index 3aa82bbd0..3c41e957f 100755
        --- a/APIJSON-Android/APIJSON-ADT/APIJSONApp/ZBLibrary/src/zuo/biao/library/util/SettingUtil.java
        +++ b/APIJSON-Android/APIJSON-ADT/APIJSONApp/ZBLibrary/src/zuo/biao/library/util/SettingUtil.java
        @@ -237,7 +237,7 @@ public static boolean noDisturb() {
         	/**
         	 * TODO 改为你的测试服务器地址,如果有的话
         	 */
        -	public static final String URL_SERVER_ADDRESS_TEST = "http://192.168.2.105:8080/";//测试服务器
        +	public static final String URL_SERVER_ADDRESS_TEST = "http://192.168.0.118:8080/";//测试服务器
         
         	/**获取当前服务器地址
         	 * isHttps = false
        diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodAccess.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodAccess.java
        index c69f55ac7..939571625 100644
        --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodAccess.java
        +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodAccess.java
        @@ -45,15 +45,15 @@
         	 */
         	RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         	
        -	/**@see {@link RequestMethod#POST_GET}
        +	/**@see {@link RequestMethod#GETS}
         	 * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         	 */
        -	RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
        +	RequestRole[] GETS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         	
        -	/**@see {@link RequestMethod#POST_HEAD}
        +	/**@see {@link RequestMethod#HEADS}
         	 * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         	 */
        -	RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
        +	RequestRole[] HEADS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         
         	/**@see {@link RequestMethod#POST}
         	 * @return 该请求方法允许的角色  default {LOGIN, ADMIN};
        diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodStructure.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodStructure.java
        index ffd2a0c3c..27c30c96d 100644
        --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodStructure.java
        +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/MethodStructure.java
        @@ -30,15 +30,15 @@
         @Target(TYPE)
         public @interface MethodStructure {
         
        -	/**@see {@link RequestMethod#POST_HEAD}
        +	/**@see {@link RequestMethod#HEADS}
         	 * @return 该请求方法允许的结构
         	 */
        -	String POST_HEAD() default "";
        +	String HEADS() default "";
         	
        -	/**@see {@link RequestMethod#POST_GET}
        +	/**@see {@link RequestMethod#GETS}
         	 * @return 该请求方法允许的结构
         	 */
        -	String POST_GET() default "";
        +	String GETS() default "";
         
         	/**@see {@link RequestMethod#POST}
         	 * @return 该请求方法允许的结构
        diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/RequestMethod.java b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/RequestMethod.java
        index 13182f99d..a450baad8 100644
        --- a/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/RequestMethod.java
        +++ b/APIJSON-Android/APIJSON-ADT/APIJSONLibrary/src/zuo/biao/apijson/RequestMethod.java
        @@ -14,7 +14,7 @@
         
         package zuo.biao.apijson;
         
        -/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出POST_GET,POST_HEAD方法
        +/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出GETS,HEADS方法
          * @author Lemon
          */
         public enum RequestMethod {
        @@ -29,15 +29,15 @@ public enum RequestMethod {
         	 */
         	HEAD,
         	
        -	/**TODO 改为GETS
        -	 * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求
        +	/**Safe, Single, Simple
        +	 * 
        限制性GET,通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_GET, + GETS, - /**TODO 改为HEADS - * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 + /**Safe, Single, Simple + *
        限制性HEAD,通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_HEAD, + HEADS, /** * 新增(或者说插入)数据 @@ -57,22 +57,22 @@ public enum RequestMethod { /**是否为GET请求方法 * @param method - * @param containPrivate 包含私密(非明文)获取方法POST_GET + * @param containPrivate 包含私密(非明文)获取方法GETS * @return */ public static boolean isGetMethod(RequestMethod method, boolean containPrivate) { boolean is = method == null || method == GET; - return containPrivate == false ? is : is || method == POST_GET; + return containPrivate == false ? is : is || method == GETS; } /**是否为HEAD请求方法 * @param method - * @param containPrivate 包含私密(非明文)获取方法POST_HEAD + * @param containPrivate 包含私密(非明文)获取方法HEADS * @return */ public static boolean isHeadMethod(RequestMethod method, boolean containPrivate) { boolean is = method == HEAD; - return containPrivate == false ? is : is || method == POST_HEAD; + return containPrivate == false ? is : is || method == HEADS; } /**是否为查询的请求方法 diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Privacy.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Privacy.java index 937621679..1d87e61af 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Privacy.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/model/Privacy.java @@ -25,7 +25,7 @@ */ @MethodAccess( GET = {}, - POST_GET = {OWNER, ADMIN}, + GETS = {OWNER, ADMIN}, POST = {UNKNOWN, ADMIN}, DELETE = {ADMIN} ) diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java index e044c1f59..bfdf8d21b 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/RequestActivity.java @@ -229,9 +229,9 @@ public void onHttpResponse(int requestCode, final String resultJson, final Excep Log.d(TAG, "onHttpResponse delete.equals(method) >> id = " + id + "; isSucceed = " + JSONResponse.isSuccess(response)); - } else if ("post_get".equals(method)) { + } else if ("gets".equals(method)) { Privacy privacy = response.getObject(Privacy.class); - Log.d(TAG, "onHttpResponse post_get.equals(method) >> privacy = \n" + JSON.toJSONString(privacy)); + Log.d(TAG, "onHttpResponse gets.equals(method) >> privacy = \n" + JSON.toJSONString(privacy)); } diff --git a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/SelectActivity.java b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/SelectActivity.java index 928e00cb0..710f30d38 100644 --- a/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/SelectActivity.java +++ b/APIJSON-Android/APIJSON-ADT/APIJSONTest/src/apijson/demo/ui/SelectActivity.java @@ -163,10 +163,10 @@ public void onClick(View v) { break; case R.id.btnSelectAccessError: - select(getRequest(v), "post_get"); + select(getRequest(v), "gets"); break; case R.id.btnSelectAccessPermitted: - select(getRequest(v), "post_get"); + select(getRequest(v), "gets"); break; default: From 0b24099c1f76e5480810af157e553e91bdb9dcd7 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Fri, 6 Oct 2017 00:46:26 +0800 Subject: [PATCH 172/219] =?UTF-8?q?Server:=E5=90=8C=E6=AD=A5eclipse?= =?UTF-8?q?=E7=89=88=E8=87=B3idea=E7=89=88=EF=BC=9BClient:=E5=90=8C?= =?UTF-8?q?=E6=AD=A5adt=E7=89=88=E8=87=B3studio=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/zuo/biao/apijson/MethodAccess.java | 28 ++-- .../zuo/biao/apijson/MethodStructure.java | 8 +- .../java/zuo/biao/apijson/RequestMethod.java | 22 +-- .../zuo/biao/library/util/SettingUtil.java | 2 +- .../apijson/demo/client/util/HttpRequest.java | 10 +- .../java/apijson/demo/server/model/Login.java | 6 +- .../apijson/demo/server/model/Privacy.java | 2 +- .../apijson/demo/server/model/Verify.java | 6 +- .../java/zuo/biao/apijson/MethodAccess.java | 8 +- .../zuo/biao/apijson/MethodStructure.java | 8 +- .../java/zuo/biao/apijson/RequestMethod.java | 22 +-- .../main/java/apijson/demo/model/Privacy.java | 2 +- .../java/apijson/demo/ui/RequestActivity.java | 4 +- .../java/apijson/demo/ui/SelectActivity.java | 4 +- .../java/zuo/biao/apijson/server/Parser.java | 2 +- .../java/apijson/demo/server/Controller.java | 131 ++++++++++-------- .../java/apijson/demo/server/Verifier.java | 8 +- .../apijson/demo/server/model/Privacy.java | 2 +- .../apijson/demo/server/model/Verify.java | 4 +- .../java/zuo/biao/apijson/MethodAccess.java | 8 +- .../zuo/biao/apijson/MethodStructure.java | 8 +- .../java/zuo/biao/apijson/RequestMethod.java | 18 +-- .../java/zuo/biao/apijson/server/Parser.java | 2 +- .../zuo/biao/apijson/server/Structure.java | 6 +- .../biao/apijson/server/sql/SQLConfig.java | 2 +- .../biao/apijson/server/sql/SQLExecutor.java | 41 +++--- 26 files changed, 188 insertions(+), 176 deletions(-) diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java index 4d3054bc2..939571625 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java @@ -14,10 +14,6 @@ package zuo.biao.apijson; -import java.lang.annotation.Documented; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; import static zuo.biao.apijson.RequestRole.ADMIN; @@ -27,6 +23,10 @@ import static zuo.biao.apijson.RequestRole.OWNER; import static zuo.biao.apijson.RequestRole.UNKNOWN; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + /**请求方法权限,只允许某些角色通过对应方法访问 * @author Lemon */ @@ -34,26 +34,26 @@ @Retention(RUNTIME) @Target(TYPE) public @interface MethodAccess { - + /**@see {@link RequestMethod#GET} * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] GET() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - + /**@see {@link RequestMethod#HEAD} * @return 该请求方法允许的角色 default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - - /**@see {@link RequestMethod#POST_GET} + + /**@see {@link RequestMethod#GETS} * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ - RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - - /**@see {@link RequestMethod#POST_HEAD} + RequestRole[] GETS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + + /**@see {@link RequestMethod#HEADS} * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ - RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + RequestRole[] HEADS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST} * @return 该请求方法允许的角色 default {LOGIN, ADMIN}; @@ -64,10 +64,10 @@ * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] PUT() default {OWNER, ADMIN}; - + /**@see {@link RequestMethod#DELETE} * @return 该请求方法允许的角色 default {OWNER, ADMIN}; */ RequestRole[] DELETE() default {OWNER, ADMIN}; - + } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java index ffd2a0c3c..27c30c96d 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java @@ -30,15 +30,15 @@ @Target(TYPE) public @interface MethodStructure { - /**@see {@link RequestMethod#POST_HEAD} + /**@see {@link RequestMethod#HEADS} * @return 该请求方法允许的结构 */ - String POST_HEAD() default ""; + String HEADS() default ""; - /**@see {@link RequestMethod#POST_GET} + /**@see {@link RequestMethod#GETS} * @return 该请求方法允许的结构 */ - String POST_GET() default ""; + String GETS() default ""; /**@see {@link RequestMethod#POST} * @return 该请求方法允许的结构 diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java index 13182f99d..a450baad8 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java @@ -14,7 +14,7 @@ package zuo.biao.apijson; -/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出POST_GET,POST_HEAD方法 +/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出GETS,HEADS方法 * @author Lemon */ public enum RequestMethod { @@ -29,15 +29,15 @@ public enum RequestMethod { */ HEAD, - /**TODO 改为GETS - * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 + /**Safe, Single, Simple + *
        限制性GET,通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_GET, + GETS, - /**TODO 改为HEADS - * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 + /**Safe, Single, Simple + *
        限制性HEAD,通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_HEAD, + HEADS, /** * 新增(或者说插入)数据 @@ -57,22 +57,22 @@ public enum RequestMethod { /**是否为GET请求方法 * @param method - * @param containPrivate 包含私密(非明文)获取方法POST_GET + * @param containPrivate 包含私密(非明文)获取方法GETS * @return */ public static boolean isGetMethod(RequestMethod method, boolean containPrivate) { boolean is = method == null || method == GET; - return containPrivate == false ? is : is || method == POST_GET; + return containPrivate == false ? is : is || method == GETS; } /**是否为HEAD请求方法 * @param method - * @param containPrivate 包含私密(非明文)获取方法POST_HEAD + * @param containPrivate 包含私密(非明文)获取方法HEADS * @return */ public static boolean isHeadMethod(RequestMethod method, boolean containPrivate) { boolean is = method == HEAD; - return containPrivate == false ? is : is || method == POST_HEAD; + return containPrivate == false ? is : is || method == HEADS; } /**是否为查询的请求方法 diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/ZBLibrary/src/main/java/zuo/biao/library/util/SettingUtil.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/ZBLibrary/src/main/java/zuo/biao/library/util/SettingUtil.java index 3aa82bbd0..3c41e957f 100755 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/ZBLibrary/src/main/java/zuo/biao/library/util/SettingUtil.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/ZBLibrary/src/main/java/zuo/biao/library/util/SettingUtil.java @@ -237,7 +237,7 @@ public static boolean noDisturb() { /** * TODO 改为你的测试服务器地址,如果有的话 */ - public static final String URL_SERVER_ADDRESS_TEST = "http://192.168.2.105:8080/";//测试服务器 + public static final String URL_SERVER_ADDRESS_TEST = "http://192.168.0.118:8080/";//测试服务器 /**获取当前服务器地址 * isHttps = false diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/util/HttpRequest.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/util/HttpRequest.java index 6667c6b6b..b3bb2d216 100755 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/util/HttpRequest.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/client/util/HttpRequest.java @@ -54,8 +54,8 @@ public class HttpRequest { public static final String URL_HEAD = URL_BASE + "head/"; public static final String URL_GET = URL_BASE + "get/"; public static final String URL_POST = URL_BASE + "post/"; - public static final String URL_POST_HEAD = URL_BASE + "post_head/"; - public static final String URL_POST_GET = URL_BASE + "post_get/"; + public static final String URL_HEADS = URL_BASE + "heads/"; + public static final String URL_GETS = URL_BASE + "gets/"; public static final String URL_PUT = URL_BASE + "put/"; public static final String URL_DELETE = URL_BASE + "delete/"; @@ -91,7 +91,7 @@ public static void post(JSONObject request, int requestCode, OnHttpResponseListe * @must request最外层有tag,部分请求还要currentUserId和对应的password */ public static void postHead(JSONObject request, int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().post(URL_POST_HEAD, request, requestCode, listener); + HttpManager.getInstance().post(URL_HEADS, request, requestCode, listener); } /**用POST方法GET数据,request和response都非明文,浏览器看不到,用于对安全性要求高的GET请求 * @param request @@ -100,7 +100,7 @@ public static void postHead(JSONObject request, int requestCode, OnHttpResponseL * @must request最外层有tag,部分请求还要currentUserId和对应的password */ public static void postGet(JSONObject request, int requestCode, OnHttpResponseListener listener) { - HttpManager.getInstance().post(URL_POST_GET, request, requestCode, listener); + HttpManager.getInstance().post(URL_GETS, request, requestCode, listener); } /** * @param request @@ -301,7 +301,7 @@ public static void checkVerify(String phone, String verify, int requestCode, OnH request.put(PHONE, phone); request.put(VERIFY, verify); - HttpManager.getInstance().post(URL_BASE + "post_head/verify" + HttpManager.getInstance().post(URL_BASE + "heads/verify" , request.setTag(VERIFY_) , requestCode, listener); } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Login.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Login.java index b123f241e..f5ba5e4f7 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Login.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Login.java @@ -25,7 +25,7 @@ /**登录类,已用session替代 * @author Lemon * @see - *
        POST_HEAD:
        + * 
        HEADS:
         {
          "Login":{
              "disallow":"!",
        @@ -56,8 +56,8 @@
         @Deprecated
         @SuppressWarnings("serial")
         @MethodAccess(
        -		POST_GET = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
        -		POST_HEAD = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
        +		GETS = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
        +		HEADS = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
         		POST = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
         		PUT = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN},
         		DELETE = {UNKNOWN, LOGIN, CONTACT, OWNER, ADMIN}
        diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Privacy.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Privacy.java
        index 2c53da28a..7fcf3545b 100644
        --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Privacy.java
        +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Privacy.java
        @@ -25,7 +25,7 @@
          */
         @MethodAccess(
         		GET = {},
        -		POST_GET = {OWNER, ADMIN},
        +		GETS = {OWNER, ADMIN},
         		POST = {UNKNOWN, ADMIN},
         		DELETE = {ADMIN}
         		)
        diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Verify.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Verify.java
        index 382846cef..69e458f97 100644
        --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Verify.java
        +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/app/src/main/java/apijson/demo/server/model/Verify.java
        @@ -27,7 +27,7 @@
         /**验证码
          * @author Lemon
          * @see
        - * 
        POST_GET:post_get/authCode
        + * 
        GETS:gets/authCode
         {
             "Verify":{
                 "disallow":"id"
        @@ -46,8 +46,8 @@
         @MethodAccess(
         		GET = {},
         		HEAD = {},
        -		POST_GET = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
        -		POST_HEAD = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
        +		GETS = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
        +		HEADS = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
         		POST = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN},
         		PUT = {ADMIN},
         		DELETE = {ADMIN}
        diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java
        index c69f55ac7..939571625 100644
        --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java
        +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodAccess.java
        @@ -45,15 +45,15 @@
         	 */
         	RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         	
        -	/**@see {@link RequestMethod#POST_GET}
        +	/**@see {@link RequestMethod#GETS}
         	 * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         	 */
        -	RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
        +	RequestRole[] GETS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         	
        -	/**@see {@link RequestMethod#POST_HEAD}
        +	/**@see {@link RequestMethod#HEADS}
         	 * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         	 */
        -	RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
        +	RequestRole[] HEADS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN};
         
         	/**@see {@link RequestMethod#POST}
         	 * @return 该请求方法允许的角色  default {LOGIN, ADMIN};
        diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java
        index ffd2a0c3c..27c30c96d 100644
        --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java
        +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/MethodStructure.java
        @@ -30,15 +30,15 @@
         @Target(TYPE)
         public @interface MethodStructure {
         
        -	/**@see {@link RequestMethod#POST_HEAD}
        +	/**@see {@link RequestMethod#HEADS}
         	 * @return 该请求方法允许的结构
         	 */
        -	String POST_HEAD() default "";
        +	String HEADS() default "";
         	
        -	/**@see {@link RequestMethod#POST_GET}
        +	/**@see {@link RequestMethod#GETS}
         	 * @return 该请求方法允许的结构
         	 */
        -	String POST_GET() default "";
        +	String GETS() default "";
         
         	/**@see {@link RequestMethod#POST}
         	 * @return 该请求方法允许的结构
        diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java
        index 13182f99d..a450baad8 100644
        --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java
        +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/APIJSONLibrary/src/main/java/zuo/biao/apijson/RequestMethod.java
        @@ -14,7 +14,7 @@
         
         package zuo.biao.apijson;
         
        -/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出POST_GET,POST_HEAD方法
        +/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出GETS,HEADS方法
          * @author Lemon
          */
         public enum RequestMethod {
        @@ -29,15 +29,15 @@ public enum RequestMethod {
         	 */
         	HEAD,
         	
        -	/**TODO 改为GETS
        -	 * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求
        +	/**Safe, Single, Simple
        +	 * 
        限制性GET,通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_GET, + GETS, - /**TODO 改为HEADS - * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 + /**Safe, Single, Simple + *
        限制性HEAD,通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_HEAD, + HEADS, /** * 新增(或者说插入)数据 @@ -57,22 +57,22 @@ public enum RequestMethod { /**是否为GET请求方法 * @param method - * @param containPrivate 包含私密(非明文)获取方法POST_GET + * @param containPrivate 包含私密(非明文)获取方法GETS * @return */ public static boolean isGetMethod(RequestMethod method, boolean containPrivate) { boolean is = method == null || method == GET; - return containPrivate == false ? is : is || method == POST_GET; + return containPrivate == false ? is : is || method == GETS; } /**是否为HEAD请求方法 * @param method - * @param containPrivate 包含私密(非明文)获取方法POST_HEAD + * @param containPrivate 包含私密(非明文)获取方法HEADS * @return */ public static boolean isHeadMethod(RequestMethod method, boolean containPrivate) { boolean is = method == HEAD; - return containPrivate == false ? is : is || method == POST_HEAD; + return containPrivate == false ? is : is || method == HEADS; } /**是否为查询的请求方法 diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Privacy.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Privacy.java index 937621679..1d87e61af 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Privacy.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/model/Privacy.java @@ -25,7 +25,7 @@ */ @MethodAccess( GET = {}, - POST_GET = {OWNER, ADMIN}, + GETS = {OWNER, ADMIN}, POST = {UNKNOWN, ADMIN}, DELETE = {ADMIN} ) diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java index e044c1f59..bfdf8d21b 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/RequestActivity.java @@ -229,9 +229,9 @@ public void onHttpResponse(int requestCode, final String resultJson, final Excep Log.d(TAG, "onHttpResponse delete.equals(method) >> id = " + id + "; isSucceed = " + JSONResponse.isSuccess(response)); - } else if ("post_get".equals(method)) { + } else if ("gets".equals(method)) { Privacy privacy = response.getObject(Privacy.class); - Log.d(TAG, "onHttpResponse post_get.equals(method) >> privacy = \n" + JSON.toJSONString(privacy)); + Log.d(TAG, "onHttpResponse gets.equals(method) >> privacy = \n" + JSON.toJSONString(privacy)); } diff --git a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/SelectActivity.java b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/SelectActivity.java index 928e00cb0..710f30d38 100644 --- a/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/SelectActivity.java +++ b/APIJSON-Android/APIJSON-AndroidStudio/APIJSONTest/app/src/main/java/apijson/demo/ui/SelectActivity.java @@ -163,10 +163,10 @@ public void onClick(View v) { break; case R.id.btnSelectAccessError: - select(getRequest(v), "post_get"); + select(getRequest(v), "gets"); break; case R.id.btnSelectAccessPermitted: - select(getRequest(v), "post_get"); + select(getRequest(v), "gets"); break; default: diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java index 4a27750eb..bcd1f469d 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java @@ -372,7 +372,7 @@ public static JSONObject getCorrectRequest(@NotNull RequestMethod method, JSONOb String tag = request.getString(JSONRequest.KEY_TAG); if (StringUtil.isNotEmpty(tag, true) == false) { - throw new IllegalArgumentException("请指定tag!一般是table名称"); + throw new IllegalArgumentException("请设置tag!一般是Table名"); } JSONObject object = null; diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java index b563f85ae..767e9016e 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Controller.java @@ -18,8 +18,8 @@ import static zuo.biao.apijson.RequestMethod.GET; import static zuo.biao.apijson.RequestMethod.HEAD; import static zuo.biao.apijson.RequestMethod.POST; -import static zuo.biao.apijson.RequestMethod.POST_GET; -import static zuo.biao.apijson.RequestMethod.POST_HEAD; +import static zuo.biao.apijson.RequestMethod.GETS; +import static zuo.biao.apijson.RequestMethod.HEADS; import static zuo.biao.apijson.RequestMethod.PUT; import java.net.URLDecoder; @@ -53,10 +53,11 @@ import zuo.biao.apijson.server.exception.NotExistException; import zuo.biao.apijson.server.exception.OutOfRangeException; -/**request receiver and controller - *
        如果用在金融等对安全要求很高的领域,get和head可以测试期间使用明文的HTTP GET,上线版改用非明文的HTTP POST,兼顾系统安全与开发效率。 - *
        get,head等接口都用HTTP GET方法请求,post,put,delete等接口都用HTTP POST方法请求。 - *
        这样做是为了前端和客户端方便,只需要做GET和POST请求。也可以改用实际对应的方法。 +/**request controller + *
        建议全通过HTTP POST来请求: + *
        1.减少代码 - 客户端无需写HTTP GET,PUT等各种方式的请求代码 + *
        2.提高性能 - 无需URL encode和decode + *
        3.调试方便 - 建议使用 APIJSON在线测试工具 或 Postman * @author Lemon */ @RestController @@ -66,37 +67,6 @@ public class Controller { //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - /**获取 - * @param request 只用String,避免encode后未decode - * @param session - * @return - * @see {@link RequestMethod#GET} - */ - @RequestMapping("get/{request}") - public String open_get(@PathVariable String request, HttpSession session) { - try { - request = URLDecoder.decode(request, StringUtil.UTF_8); - } catch (Exception e) { - // Parser会报错 - } - return get(request, session); - } - - /**计数 - * @param request 只用String,避免encode后未decode - * @param session - * @return - * @see {@link RequestMethod#HEAD} - */ - @RequestMapping("head/{request}") - public String open_head(@PathVariable String request, HttpSession session) { - try { - request = URLDecoder.decode(request, StringUtil.UTF_8); - } catch (Exception e) { - // Parser会报错 - } - return head(request, session); - } /**获取 * @param request 只用String,避免encode后未decode @@ -120,26 +90,26 @@ public String head(@RequestBody String request, HttpSession session) { return new Parser(HEAD).setSession(session).parse(request); } - /**用POST方法GET,request和response都非明文,浏览器看不到,用于对安全性要求高的GET请求 + /**限制性GET,request和response都非明文,浏览器看不到,用于对安全性要求高的GET请求 * @param request 只用String,避免encode后未decode * @param session * @return - * @see {@link RequestMethod#POST_GET} + * @see {@link RequestMethod#GETS} */ - @RequestMapping(value = "post_get", method = org.springframework.web.bind.annotation.RequestMethod.POST) - public String post_get(@RequestBody String request, HttpSession session) { - return new Parser(POST_GET).setSession(session).parse(request); + @RequestMapping(value = "gets", method = org.springframework.web.bind.annotation.RequestMethod.POST) + public String gets(@RequestBody String request, HttpSession session) { + return new Parser(GETS).setSession(session).parse(request); } - /**用POST方法HEAD,request和response都非明文,浏览器看不到,用于对安全性要求高的HEAD请求 + /**限制性HEAD,request和response都非明文,浏览器看不到,用于对安全性要求高的HEAD请求 * @param request 只用String,避免encode后未decode * @param session * @return - * @see {@link RequestMethod#POST_HEAD} + * @see {@link RequestMethod#HEADS} */ - @RequestMapping(value = "post_head", method = org.springframework.web.bind.annotation.RequestMethod.POST) - public String post_head(@RequestBody String request, HttpSession session) { - return new Parser(POST_HEAD).setSession(session).parse(request); + @RequestMapping(value = "heads", method = org.springframework.web.bind.annotation.RequestMethod.POST) + public String heads(@RequestBody String request, HttpSession session) { + return new Parser(HEADS).setSession(session).parse(request); } /**新增 @@ -175,6 +145,45 @@ public String delete(@RequestBody String request, HttpSession session) { return new Parser(DELETE).setSession(session).parse(request); } + + + + + /**获取 + * 只为兼容HTTP GET请求,推荐用HTTP POST,可删除 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#GET} + */ + @RequestMapping("get/{request}") + public String open_get(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return get(request, session); + } + + /**计数 + * 只为兼容HTTP GET请求,推荐用HTTP POST,可删除 + * @param request 只用String,避免encode后未decode + * @param session + * @return + * @see {@link RequestMethod#HEAD} + */ + @RequestMapping("head/{request}") + public String open_head(@PathVariable String request, HttpSession session) { + try { + request = URLDecoder.decode(request, StringUtil.UTF_8); + } catch (Exception e) { + // Parser会报错 + } + return head(request, session); + } + + //通用接口,非事务型操作 和 简单事务型操作 都可通过这些接口自动化实现>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -293,30 +302,30 @@ public JSONObject postVerify(@RequestBody String request) { * @param request * @return */ - @RequestMapping(value = "post_get/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) + @RequestMapping(value = "gets/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject getVerify(@RequestBody String request) { JSONObject requestObject = null; String phone; try { - requestObject = Parser.parseRequest(request, POST_GET); + requestObject = Parser.parseRequest(request, GETS); phone = requestObject.getString(PHONE); } catch (Exception e) { return Parser.extendErrorResult(requestObject, e); } - return new Parser(POST_GET, true).parseResponse(newVerifyRequest(phone, null)); + return new Parser(GETS, true).parseResponse(newVerifyRequest(phone, null)); } /**校验验证码 * @param request * @return */ - @RequestMapping(value = "post_head/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) + @RequestMapping(value = "heads/verify", method = org.springframework.web.bind.annotation.RequestMethod.POST) public JSONObject headVerify(@RequestBody String request) { JSONObject requestObject = null; String phone; String verify; try { - requestObject = Parser.parseRequest(request, POST_HEAD); + requestObject = Parser.parseRequest(request, HEADS); phone = requestObject.getString(PHONE); verify = requestObject.getString(VERIFY); } catch (Exception e) { @@ -332,7 +341,7 @@ public JSONObject headVerify(@RequestBody String request) { */ public JSONObject headVerify(String phone, String vfy) { JSONResponse response = new JSONResponse( - new Parser(POST_GET, true).parseResponse( + new Parser(GETS, true).parseResponse( new JSONRequest(new Verify(phone)).setTag(VERIFY_) ) ); @@ -350,7 +359,7 @@ public JSONObject headVerify(String phone, String vfy) { } return new JSONResponse( - new Parser(POST_HEAD, true).parseResponse( + new Parser(HEADS, true).parseResponse( new JSONRequest(new Verify(phone, vfy)) ) ); @@ -413,7 +422,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { //手机号是否已注册 - JSONObject phoneResponse = new Parser(POST_HEAD, true).parseResponse( + JSONObject phoneResponse = new Parser(HEADS, true).parseResponse( new JSONRequest( new Privacy().setPhone(phone) ) @@ -427,7 +436,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { } //根据phone获取User - JSONObject privacyResponse = new Parser(POST_GET, true).parseResponse( + JSONObject privacyResponse = new Parser(GETS, true).parseResponse( new JSONRequest( new Privacy().setPhone(phone) ) @@ -443,7 +452,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { //校验凭证 if (isPassword) {//password密码登录 response = new JSONResponse( - new Parser(POST_HEAD, true).parseResponse( + new Parser(HEADS, true).parseResponse( new JSONRequest(new Privacy(userId).setPassword(password)) ) ); @@ -459,7 +468,7 @@ public JSONObject login(@RequestBody String request, HttpSession session) { } response = new JSONResponse( - new Parser(POST_GET, true).parseResponse( + new Parser(GETS, true).parseResponse( new JSONRequest(new User(userId)) ) ); @@ -582,7 +591,7 @@ public JSONObject register(@RequestBody String request) { } //验证手机号是否已经注册 - JSONObject check = new Parser(POST_HEAD, true).parseResponse( + JSONObject check = new Parser(HEADS, true).parseResponse( new JSONRequest( new Privacy().setPhone(phone) ) @@ -762,7 +771,7 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { privacyObj.remove("balance+"); JSONResponse response = new JSONResponse( - new Parser(POST_HEAD, true).setSession(session).parseResponse( + new Parser(HEADS, true).setSession(session).parseResponse( new JSONRequest(PRIVACY_, privacyObj) ) ); @@ -787,7 +796,7 @@ public JSONObject putBalance(@RequestBody String request, HttpSession session) { if (change < 0) {//提现 response = new JSONResponse( - new Parser(POST_GET, true).parseResponse( + new Parser(GETS, true).parseResponse( new JSONRequest( new Privacy(userId) ) diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java index 31f64d17a..fe25b6fec 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java @@ -18,8 +18,8 @@ import static zuo.biao.apijson.RequestMethod.GET; import static zuo.biao.apijson.RequestMethod.HEAD; import static zuo.biao.apijson.RequestMethod.POST; -import static zuo.biao.apijson.RequestMethod.POST_GET; -import static zuo.biao.apijson.RequestMethod.POST_HEAD; +import static zuo.biao.apijson.RequestMethod.GETS; +import static zuo.biao.apijson.RequestMethod.HEADS; import static zuo.biao.apijson.RequestMethod.PUT; import java.util.ArrayList; @@ -96,8 +96,8 @@ private static HashMap getAccessMap(MethodAccess a HashMap map = new HashMap<>(); map.put(GET, access.GET()); map.put(HEAD, access.HEAD()); - map.put(POST_GET, access.POST_GET()); - map.put(POST_HEAD, access.POST_HEAD()); + map.put(GETS, access.GETS()); + map.put(HEADS, access.HEADS()); map.put(POST, access.POST()); map.put(PUT, access.PUT()); map.put(DELETE, access.DELETE()); diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Privacy.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Privacy.java index 2c53da28a..7fcf3545b 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Privacy.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Privacy.java @@ -25,7 +25,7 @@ */ @MethodAccess( GET = {}, - POST_GET = {OWNER, ADMIN}, + GETS = {OWNER, ADMIN}, POST = {UNKNOWN, ADMIN}, DELETE = {ADMIN} ) diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Verify.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Verify.java index a08a31a71..a60461171 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Verify.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/model/Verify.java @@ -30,8 +30,8 @@ @MethodAccess( GET = {}, HEAD = {}, - POST_GET = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, - POST_HEAD = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, + GETS = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, + HEADS = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, POST = {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}, PUT = {ADMIN}, DELETE = {ADMIN} diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodAccess.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodAccess.java index c69f55ac7..939571625 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodAccess.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodAccess.java @@ -45,15 +45,15 @@ */ RequestRole[] HEAD() default {UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - /**@see {@link RequestMethod#POST_GET} + /**@see {@link RequestMethod#GETS} * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ - RequestRole[] POST_GET() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + RequestRole[] GETS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; - /**@see {@link RequestMethod#POST_HEAD} + /**@see {@link RequestMethod#HEADS} * @return 该请求方法允许的角色 default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; */ - RequestRole[] POST_HEAD() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; + RequestRole[] HEADS() default {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}; /**@see {@link RequestMethod#POST} * @return 该请求方法允许的角色 default {LOGIN, ADMIN}; diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodStructure.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodStructure.java index ffd2a0c3c..27c30c96d 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodStructure.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/MethodStructure.java @@ -30,15 +30,15 @@ @Target(TYPE) public @interface MethodStructure { - /**@see {@link RequestMethod#POST_HEAD} + /**@see {@link RequestMethod#HEADS} * @return 该请求方法允许的结构 */ - String POST_HEAD() default ""; + String HEADS() default ""; - /**@see {@link RequestMethod#POST_GET} + /**@see {@link RequestMethod#GETS} * @return 该请求方法允许的结构 */ - String POST_GET() default ""; + String GETS() default ""; /**@see {@link RequestMethod#POST} * @return 该请求方法允许的结构 diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/RequestMethod.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/RequestMethod.java index 13182f99d..41fca2fa8 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/RequestMethod.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/RequestMethod.java @@ -14,7 +14,7 @@ package zuo.biao.apijson; -/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出POST_GET,POST_HEAD方法 +/**请求方法,对应org.springframework.web.bind.annotation.RequestMethod,多出GETS,HEADS方法 * @author Lemon */ public enum RequestMethod { @@ -29,15 +29,15 @@ public enum RequestMethod { */ HEAD, - /**TODO 改为GETS - * 通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 + /**Safe, Single, Simple + *
        限制性GET,通过POST来GET数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_GET, + GETS, - /**TODO 改为HEADS - * 通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 + /**Safe, Single, Simple + *
        限制性HEAD,通过POST来HEAD数据,不显示请求内容和返回结果,并且校验请求,一般用于对安全要求比较高的请求 */ - POST_HEAD, + HEADS, /** * 新增(或者说插入)数据 @@ -62,7 +62,7 @@ public enum RequestMethod { */ public static boolean isGetMethod(RequestMethod method, boolean containPrivate) { boolean is = method == null || method == GET; - return containPrivate == false ? is : is || method == POST_GET; + return containPrivate == false ? is : is || method == GETS; } /**是否为HEAD请求方法 @@ -72,7 +72,7 @@ public static boolean isGetMethod(RequestMethod method, boolean containPrivate) */ public static boolean isHeadMethod(RequestMethod method, boolean containPrivate) { boolean is = method == HEAD; - return containPrivate == false ? is : is || method == POST_HEAD; + return containPrivate == false ? is : is || method == HEADS; } /**是否为查询的请求方法 diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java index 4a27750eb..bcd1f469d 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java @@ -372,7 +372,7 @@ public static JSONObject getCorrectRequest(@NotNull RequestMethod method, JSONOb String tag = request.getString(JSONRequest.KEY_TAG); if (StringUtil.isNotEmpty(tag, true) == false) { - throw new IllegalArgumentException("请指定tag!一般是table名称"); + throw new IllegalArgumentException("请设置tag!一般是Table名"); } JSONObject object = null; diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java index 3e1c6d68d..1c836146d 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Structure.java @@ -54,9 +54,9 @@ //TODO 放到 zuo.biao.apijson 包内,供Android客户端校验请求结构 /**结构类 - * 增删改查: operation(add,replace,put,remove) operation:{key0:value0, key1:value1 ...} - * 对值校验: verify:{key0:value0, key1:value1 ...} (key{}:range,key$:"%m%"等) - * 对值重复性校验: unique:"key0:, key1 ..." (unique:"phone,email" 等) + * 增删改查: OPERATION(ADD,REPLACE,PUT,REMOVE) OPERATION:{key0:value0, key1:value1 ...} + * 对值校验: VERIFY:{key0:value0, key1:value1 ...} (key{}:range,key$:"%m%"等) + * 对值重复性校验: UNIQUE:"key0:, key1 ..." (UNIQUE:"phone,email" 等) * @author Lemon */ public class Structure { diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index a1bc368cd..2cff551d1 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -315,7 +315,7 @@ public SQLConfig setColumn(String column) { public String getColumnString() throws NotExistException { switch (getMethod()) { case HEAD: - case POST_HEAD: + case HEADS: return SQL.count(column); case POST: if (StringUtil.isEmpty(column, true)) { diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index b3002f8d1..37bfd998f 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -67,7 +67,7 @@ public class SQLExecutor { private synchronized Connection getConnection() throws Exception { Log.i(TAG, "成功加载MySQL驱动!"); return DriverManager.getConnection(SQLConfig.MYSQL_URI + "?useUnicode=true&characterEncoding=UTF-8&user=" - + SQLConfig.MYSQL_ACCOUNT + "&password=" + SQLConfig.MYSQL_PASSWORD); + + SQLConfig.MYSQL_ACCOUNT + "&password=" + SQLConfig.MYSQL_PASSWORD); } /**保存缓存 @@ -170,7 +170,7 @@ public JSONObject execute(SQLConfig config) throws Exception { ResultSet rs = null; switch (config.getMethod()) { case HEAD: - case POST_HEAD: + case HEADS: rs = statement.executeQuery(sql); result = rs.next() ? Parser.newSuccessResult() @@ -198,7 +198,7 @@ public JSONObject execute(SQLConfig config) throws Exception { return result; case GET: - case POST_GET: + case GETS: break; default://OPTIONS, TRACE等 @@ -251,26 +251,29 @@ public JSONObject execute(SQLConfig config) throws Exception { + " >> } catch (Exception e) {"); e.printStackTrace(); } - if (value == null) { - Log.i(TAG, "select while (rs.next()){ ..." + " >> value == null >> continue;"); - continue; - } + // if (value == null) { + // Log.i(TAG, "select while (rs.next()){ ..." + " >> value == null >> continue;"); + // continue; + // } // Log.i(TAG, "select while (rs.next()) { >> for (int i = 0; i < columnArray.length; i++) {" // + "\n >>> columnArray[i]) = " + columnArray[i] + "; value = " + value); - if (value instanceof Timestamp) { - value = ((Timestamp) value).toString(); - } - else if (value instanceof String) { - try { - json = JSON.parse((String) value); - if (json != null && json instanceof JSON && StringUtil.isNotEmpty(json, true)) { - value = json; + + if (value != null) { //数据库查出来的null和empty值都有意义,去掉会导致 Moment:{ @column:"content" } 部分无结果及中断数组查询! + if (value instanceof Timestamp) { + value = ((Timestamp) value).toString(); + } + else if (value instanceof String) { + try { + json = JSON.parse((String) value); + if (json != null && json instanceof JSON && StringUtil.isNotEmpty(json, true)) { + value = json; + } + } catch (Exception e) { + //太长 Log.i(TAG, "select while (rs.next()){ >> i = " + // + i + " try { json = JSON.parse((String) value);" + // + ">> } catch (Exception e) {\n" + e.getMessage()); } - } catch (Exception e) { - //太长 Log.i(TAG, "select while (rs.next()){ >> i = " - // + i + " try { json = JSON.parse((String) value);" - // + ">> } catch (Exception e) {\n" + e.getMessage()); } } From 0017ff014162e3d54dc8da436dbcaccb358e532e Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Fri, 6 Oct 2017 00:52:02 +0800 Subject: [PATCH 173/219] =?UTF-8?q?=E6=9B=B4=E6=96=B0table?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- table/sys_Comment.sql | 4 +-- table/sys_Login.sql | 2 +- table/sys_Moment.sql | 4 +-- table/sys_Pair.sql | 2 +- table/sys_Password.sql | 55 ----------------------------------- table/sys_Praise.sql | 2 +- table/sys_Request.sql | 4 +-- table/sys_Response.sql | 2 +- table/sys_Test.sql | 2 +- table/sys_Verify.sql | 4 +-- table/sys_Wallet.sql | 51 -------------------------------- table/sys__Statistics.sql | 2 +- table/sys__Visit.sql | 2 +- table/sys_apijson_privacy.sql | 4 +-- table/sys_apijson_user.sql | 6 ++-- 15 files changed, 20 insertions(+), 126 deletions(-) delete mode 100644 table/sys_Password.sql delete mode 100644 table/sys_Wallet.sql diff --git a/table/sys_Comment.sql b/table/sys_Comment.sql index d07d4e8fe..783d9405f 100644 --- a/table/sys_Comment.sql +++ b/table/sys_Comment.sql @@ -39,7 +39,7 @@ CREATE TABLE `Comment` ( LOCK TABLES `Comment` WRITE; /*!40000 ALTER TABLE `Comment` DISABLE KEYS */; -INSERT INTO `Comment` VALUES (3,0,82002,15,'2017-02-01 11:20:50','This is a Content...-3'),(4,0,38710,470,'2017-02-01 11:20:50','This is a Content...-4'),(13,0,82005,58,'2017-02-01 11:20:50','This is a Content...-13'),(22,221,82001,470,'2017-02-01 11:20:50','This is a Content...-22'),(44,0,82003,170,'2017-02-01 11:20:50','This is a Content...-44'),(45,0,93793,301,'2017-02-01 11:20:50','This is a Content...-45'),(47,4,70793,470,'2017-02-01 11:20:50','This is a Content...-47'),(51,45,82003,301,'2017-02-01 11:20:50','This is a Content...-51'),(54,0,82004,170,'2017-02-01 11:20:50','This is a Content...-54'),(68,0,82005,371,'2017-02-01 11:20:50','This is a Content...-68'),(76,45,93793,301,'2017-02-01 11:20:50','This is a Content...-76'),(77,13,93793,58,'2017-02-01 11:20:50','This is a Content...-77'),(97,13,82006,58,'2017-02-01 11:20:50','This is a Content...-97'),(99,44,70793,170,'2017-02-01 11:20:50','This is a Content...-99'),(110,0,93793,371,'2017-02-01 11:23:24','This is a Content...-110'),(114,0,82001,371,'2017-03-02 05:56:06','This is a Content...-114'),(115,0,38710,371,'2017-03-02 05:56:06','This is a Content...-115'),(116,0,70793,371,'2017-03-02 05:56:06','This is a Content...-116'),(120,0,93793,301,'2017-03-02 05:56:06','This is a Content...-110'),(124,0,82001,301,'2017-03-02 05:56:06','This is a Content...-114'),(157,NULL,93793,371,'2017-02-01 11:20:50','This is a Content...-157'),(158,0,93793,301,NULL,'This is a Content...-157'),(160,0,82001,235,'2017-03-02 05:56:06','This is a Content...-160'),(162,0,93793,12,'2017-03-06 05:03:45','This is a Content...-162'),(163,0,82001,235,'2017-03-02 05:56:06','This is a Content...-163'),(164,0,93793,12,'2017-03-06 05:03:45','This is a Content...-164'),(167,NULL,82001,58,'2017-03-25 11:48:41','Nice!'),(168,1490442545077,82001,235,'2017-03-25 11:49:14','???'),(172,162,82001,12,'2017-03-25 12:22:58','OK'),(173,NULL,38710,58,'2017-03-25 12:25:13','Good'),(174,172,38710,1488691759538,'2017-03-25 12:26:00','what?'),(175,0,38710,12,'2017-03-25 12:26:53','Java is the best program language!'),(176,166,38710,15,'2017-03-25 12:28:03','thank you'),(178,NULL,38710,511,'2017-03-25 12:30:55','wbw'),(182,110,82001,371,'2017-03-26 06:12:52','hahaha'),(188,97,82001,58,'2017-03-26 07:21:32','1646'),(190,0,82001,58,'2017-03-26 07:22:13','dbdj'),(191,176,82001,592,'2017-03-26 07:49:29','zbsj'),(192,0,82001,592,'2017-03-26 07:49:35','sjsj'),(200,0,82001,592,'2017-03-27 03:20:16','oooo'),(201,0,82001,594,'2017-03-29 03:00:44','come on!'),(202,166,82001,592,'2017-03-29 03:01:08','eej'),(203,178,82001,592,'2017-03-29 03:01:14','znsk'),(204,169,82001,592,'2017-03-29 03:01:32','ghh'),(205,177,82001,592,'2017-03-29 03:01:37','hhh'),(206,54,82001,170,'2017-03-29 03:04:23','ejej'),(209,13,82001,58,'2017-03-29 03:05:59','hehj'),(300,97,82001,58,'2017-03-29 03:06:07','hj'),(301,194,82001,235,'2017-03-29 03:06:24','jj'),(304,195,82001,592,'2017-03-29 04:48:28','eej'),(305,188,82001,592,'2017-03-29 04:48:32','ssh'),(307,161,82001,592,'2017-03-29 04:48:51','ejej'),(308,0,82001,592,'2017-03-29 04:49:02','eheh'),(4001,0,82001,58,'2017-03-29 08:39:52','I would like to say …'),(1490776944301,0,82001,58,'2017-03-29 08:42:24','hello'),(1490776966828,173,82001,58,'2017-03-29 08:42:46','me too'),(1490777876202,192,82001,592,'2017-03-29 08:57:56','ghh'),(1490777905437,0,82001,543,'2017-03-29 08:58:25','rr'),(1490778122719,175,82001,12,'2017-03-29 09:02:02','Yeah! I think so!'),(1490778494751,1490778122719,82001,12,'2017-03-29 09:08:14','reply Android82001'),(1490778681337,166,82001,12,'2017-03-29 09:11:21','gg'),(1490780672012,164,82001,12,'2017-03-29 09:44:32','93793'),(1490780759866,99,82001,170,'2017-03-29 09:45:59','99'),(1490781009548,51,82001,301,'2017-03-29 09:50:09','3'),(1490781032005,45,82001,301,'2017-03-29 09:50:32','93793'),(1490781817044,209,38710,58,'2017-03-29 10:03:37','82001'),(1490781850893,1490776966828,38710,58,'2017-03-29 10:04:10','haha!'),(1490781857242,190,38710,58,'2017-03-29 10:04:17','nice'),(1490781865407,1490781857242,38710,58,'2017-03-29 10:04:25','wow'),(1490781899147,197,38710,12,'2017-03-29 10:04:59','kaka'),(1490781914528,1490780672012,38710,12,'2017-03-29 10:05:14','ops'),(1490794439561,1490778681337,82001,12,'2017-03-29 13:33:59','gg?'),(1490794610632,172,82001,12,'2017-03-29 13:36:50','All right'),(1490794937137,1490794919957,82001,12,'2017-03-29 13:42:17','All right ok ok'),(1490794953438,1490794937137,82001,12,'2017-03-29 13:42:33','All right ok ok ll'),(1490796241178,0,38710,58,'2017-03-29 14:04:01','Anything else?'),(1490796629591,175,38710,12,'2017-03-29 14:10:29','well'),(1490798710678,110,38710,371,'2017-03-29 14:45:10','110'),(1490800971064,175,38710,12,'2017-03-29 15:22:51','I do'),(1490848396072,175,82001,12,'2017-03-30 04:33:16','Lemon'),(1490848581424,166,82001,12,'2017-03-30 04:36:21','82001ejej'),(1490850764448,162,82001,12,'2017-03-30 05:12:44','-162'),(1490850844016,0,82001,12,'2017-03-30 05:14:04','I like it'),(1490850876656,1490800971064,82001,12,'2017-03-30 05:14:36','I do so'),(1490854894566,175,82001,12,'2017-03-30 06:21:34','it does be a good lang'),(1490863443219,1490850844016,82002,12,'2017-03-30 08:44:03','me too!'),(1490863469638,0,82002,15,'2017-03-30 08:44:29','Just do it'),(1490863507114,4,82003,470,'2017-03-30 08:45:07','yes'),(1490863563124,0,82003,704,'2017-03-30 08:46:03','I want one'),(1490863651493,0,70793,595,'2017-03-30 08:47:31','wow'),(1490863661426,1490780759866,70793,170,'2017-03-30 08:47:41','66'),(1490863676989,0,70793,12,'2017-03-30 08:47:56','Shy'),(1490863711703,0,70793,511,'2017-03-30 08:48:31','I hope I can join'),(1490863717947,178,70793,511,'2017-03-30 08:48:37','what?'),(1490863783276,1490863711703,93793,511,'2017-03-30 08:49:43','haha welcome'),(1490863903900,0,82006,470,'2017-03-30 08:51:43','SOGA'),(1490863915675,0,82006,235,'2017-03-30 08:51:55','Good boy'),(1490863938712,0,82006,12,'2017-03-30 08:52:18','Handsome!'),(1490863978239,1490796241178,82006,58,'2017-03-30 08:52:58','there still remains a question…'),(1490864016738,0,82006,511,'2017-03-30 08:53:36','I want to have a try!'),(1490864023700,0,82006,543,'2017-03-30 08:53:43','oops'),(1490864039264,0,82006,551,'2017-03-30 08:53:59','Wonderful!'),(1490864060358,308,82006,592,'2017-03-30 08:54:20','I an little girl'),(1490864075725,1490864060358,82006,592,'2017-03-30 08:54:35','do you like me?'),(1490864152008,0,82006,58,'2017-03-30 08:55:52','U R ugly( ´?` )'),(1490864254400,1490863915675,82044,235,'2017-03-30 08:57:34','And I have no idea'),(1490864276824,0,82044,12,'2017-03-30 08:57:56','Oh my God!'),(1490864292184,1490864152008,82044,58,'2017-03-30 08:58:12','haha!'),(1490864379424,1490863938712,82001,12,'2017-03-30 08:59:39','Thank you~'),(1490864400210,1490864276824,82001,12,'2017-03-30 09:00:00','Amazing, isnt it?'),(1490874908570,1490864023700,82055,543,'2017-03-30 11:55:08','yeah'),(1490874930994,1490777905437,82055,543,'2017-03-30 11:55:30','yy'),(1490874968779,0,82055,12,'2017-03-30 11:56:08','I love it'),(1490875033494,0,82055,301,'2017-03-30 11:57:13','More Comments'),(1490875040761,158,82055,301,'2017-03-30 11:57:20','157'),(1490875046704,120,82055,301,'2017-03-30 11:57:26','110'),(1490875660259,1490863469638,82055,15,'2017-03-30 12:07:40','I prove wht you said(??????)'),(1490879678127,0,82001,543,'2017-03-30 13:14:38','Baby you are a firework!'),(1490972390235,1490863903900,82001,470,'2017-03-31 14:59:50','HaHa'),(1490973736662,1490973715568,70793,170,'2017-03-31 15:22:16','Hello, I am a fresh man'),(1490973890875,1490864039264,93793,551,'2017-03-31 15:24:50','While I donot think so…'),(1491014830404,1490864016738,82001,511,'2017-04-01 02:47:10','Have a nice day!'),(1491119615611,1490864023700,82001,543,'2017-04-02 07:53:35','$$'),(1491119670185,68,82001,371,'2017-04-02 07:54:30','Leave a word'),(1491119695580,0,82001,371,'2017-04-02 07:54:55','leave a word'),(1491130701902,0,38710,511,'2017-04-02 10:58:21','Thanks for your supports (-^?^-)'),(1491209763162,0,82001,1491200468898,'2017-04-03 08:56:03','How do you do'),(1491277552385,0,82001,58,'2017-04-04 03:45:52','Seven'),(1491312382941,0,82001,1491200468898,'2017-04-04 13:26:22','Wow'),(1491312438951,1490863651493,82001,595,'2017-04-04 13:27:18','WaKaKa!'),(1491357607389,0,82001,594,'2017-04-05 02:00:07','Why not have a try?'),(1491709064513,0,82001,551,'2017-04-09 03:37:44','soga'),(1491740899179,0,82001,470,'2017-04-09 12:28:19','www'),(1491798370749,0,82002,551,'2017-04-10 04:26:10','Nice!'),(1491798499667,115,82002,371,'2017-04-10 04:28:19','I do not understand…'),(1491830543193,0,82001,170,'2017-04-10 13:22:23','What is the hell?'),(1492932228287,1491209763162,38710,1491200468898,'2017-04-23 07:23:48','fine,thanks'),(1493094307810,0,82001,551,'2017-04-25 04:25:04','删除或修改数据请先创建,不要动原来的,谢谢'),(1493094307910,0,82001,551,'2017-04-25 04:26:04','用POST新增数据'),(1493186363132,1490850764448,82001,12,'2017-04-26 05:59:23','sndnd'),(1493655944016,1491357607389,82001,594,'2017-05-01 16:25:44','good'),(1493835048580,1493834818490,82001,594,'2017-05-03 18:10:48','p'),(1502622521192,0,82001,551,'2017-08-13 11:08:41','djdn'),(1502632433970,0,82002,1493835799335,'2017-08-13 13:53:53','just have fun!'); +INSERT INTO `Comment` VALUES (3,0,82002,15,'2017-02-01 11:20:50','This is a Content...-3'),(4,0,38710,470,'2017-02-01 11:20:50','This is a Content...-4'),(13,0,82005,58,'2017-02-01 11:20:50','This is a Content...-13'),(22,221,82001,470,'2017-02-01 11:20:50','This is a Content...-22'),(44,0,82003,170,'2017-02-01 11:20:50','This is a Content...-44'),(45,0,93793,301,'2017-02-01 11:20:50','This is a Content...-45'),(47,4,70793,470,'2017-02-01 11:20:50','This is a Content...-47'),(51,45,82003,301,'2017-02-01 11:20:50','This is a Content...-51'),(54,0,82004,170,'2017-02-01 11:20:50','This is a Content...-54'),(68,0,82005,371,'2017-02-01 11:20:50','This is a Content...-68'),(76,45,93793,301,'2017-02-01 11:20:50','This is a Content...-76'),(77,13,93793,58,'2017-02-01 11:20:50','This is a Content...-77'),(97,13,82006,58,'2017-02-01 11:20:50','This is a Content...-97'),(99,44,70793,170,'2017-02-01 11:20:50','This is a Content...-99'),(110,0,93793,371,'2017-02-01 11:23:24','This is a Content...-110'),(114,0,82001,371,'2017-03-02 05:56:06','This is a Content...-114'),(115,0,38710,371,'2017-03-02 05:56:06','This is a Content...-115'),(116,0,70793,371,'2017-03-02 05:56:06','This is a Content...-116'),(120,0,93793,301,'2017-03-02 05:56:06','This is a Content...-110'),(124,0,82001,301,'2017-03-02 05:56:06','This is a Content...-114'),(157,NULL,93793,371,'2017-02-01 11:20:50','This is a Content...-157'),(158,0,93793,301,NULL,'This is a Content...-157'),(160,0,82001,235,'2017-03-02 05:56:06','This is a Content...-160'),(162,0,93793,12,'2017-03-06 05:03:45','This is a Content...-162'),(163,0,82001,235,'2017-03-02 05:56:06','This is a Content...-163'),(164,0,93793,12,'2017-03-06 05:03:45','This is a Content...-164'),(167,NULL,82001,58,'2017-03-25 11:48:41','Nice!'),(168,1490442545077,82001,235,'2017-03-25 11:49:14','???'),(172,162,82001,12,'2017-03-25 12:22:58','OK'),(173,NULL,38710,58,'2017-03-25 12:25:13','Good'),(174,172,38710,1488691759538,'2017-03-25 12:26:00','what?'),(175,0,38710,12,'2017-03-25 12:26:53','Java is the best program language!'),(176,166,38710,15,'2017-03-25 12:28:03','thank you'),(178,NULL,38710,511,'2017-03-25 12:30:55','wbw'),(182,110,82001,371,'2017-03-26 06:12:52','hahaha'),(188,97,82001,58,'2017-03-26 07:21:32','1646'),(190,0,82001,58,'2017-03-26 07:22:13','dbdj'),(191,176,82001,592,'2017-03-26 07:49:29','zbsj'),(192,0,82001,592,'2017-03-26 07:49:35','sjsj'),(200,0,82001,592,'2017-03-27 03:20:16','oooo'),(201,0,82001,594,'2017-03-29 03:00:44','come on!'),(202,166,82001,592,'2017-03-29 03:01:08','eej'),(203,178,82001,592,'2017-03-29 03:01:14','znsk'),(204,169,82001,592,'2017-03-29 03:01:32','ghh'),(205,177,82001,592,'2017-03-29 03:01:37','hhh'),(206,54,82001,170,'2017-03-29 03:04:23','ejej'),(209,13,82001,58,'2017-03-29 03:05:59','hehj'),(300,97,82001,58,'2017-03-29 03:06:07','hj'),(301,194,82001,235,'2017-03-29 03:06:24','jj'),(304,195,82001,592,'2017-03-29 04:48:28','eej'),(305,188,82001,592,'2017-03-29 04:48:32','ssh'),(307,161,82001,592,'2017-03-29 04:48:51','ejej'),(308,0,82001,592,'2017-03-29 04:49:02','eheh'),(4001,0,82001,58,'2017-03-29 08:39:52','I would like to say …'),(1490776944301,0,82001,58,'2017-03-29 08:42:24','hello'),(1490776966828,173,82001,58,'2017-03-29 08:42:46','me too'),(1490777876202,192,82001,592,'2017-03-29 08:57:56','ghh'),(1490777905437,0,82001,543,'2017-03-29 08:58:25','rr'),(1490778122719,175,82001,12,'2017-03-29 09:02:02','Yeah! I think so!'),(1490778494751,1490778122719,82001,12,'2017-03-29 09:08:14','reply Android82001'),(1490778681337,166,82001,12,'2017-03-29 09:11:21','gg'),(1490780672012,164,82001,12,'2017-03-29 09:44:32','93793'),(1490780759866,99,82001,170,'2017-03-29 09:45:59','99'),(1490781009548,51,82001,301,'2017-03-29 09:50:09','3'),(1490781032005,45,82001,301,'2017-03-29 09:50:32','93793'),(1490781817044,209,38710,58,'2017-03-29 10:03:37','82001'),(1490781850893,1490776966828,38710,58,'2017-03-29 10:04:10','haha!'),(1490781857242,190,38710,58,'2017-03-29 10:04:17','nice'),(1490781865407,1490781857242,38710,58,'2017-03-29 10:04:25','wow'),(1490781899147,197,38710,12,'2017-03-29 10:04:59','kaka'),(1490781914528,1490780672012,38710,12,'2017-03-29 10:05:14','ops'),(1490794439561,1490778681337,82001,12,'2017-03-29 13:33:59','gg?'),(1490794610632,172,82001,12,'2017-03-29 13:36:50','All right'),(1490794937137,1490794919957,82001,12,'2017-03-29 13:42:17','All right ok ok'),(1490794953438,1490794937137,82001,12,'2017-03-29 13:42:33','All right ok ok ll'),(1490796241178,0,38710,58,'2017-03-29 14:04:01','Anything else?'),(1490796629591,175,38710,12,'2017-03-29 14:10:29','well'),(1490798710678,110,38710,371,'2017-03-29 14:45:10','110'),(1490800971064,175,38710,12,'2017-03-29 15:22:51','I do'),(1490848396072,175,82001,12,'2017-03-30 04:33:16','Lemon'),(1490848581424,166,82001,12,'2017-03-30 04:36:21','82001ejej'),(1490850764448,162,82001,12,'2017-03-30 05:12:44','-162'),(1490850844016,0,82001,12,'2017-03-30 05:14:04','I like it'),(1490850876656,1490800971064,82001,12,'2017-03-30 05:14:36','I do so'),(1490854894566,175,82001,12,'2017-03-30 06:21:34','it does be a good lang'),(1490863443219,1490850844016,82002,12,'2017-03-30 08:44:03','me too!'),(1490863469638,0,82002,15,'2017-03-30 08:44:29','Just do it'),(1490863507114,4,82003,470,'2017-03-30 08:45:07','yes'),(1490863563124,0,82003,704,'2017-03-30 08:46:03','I want one'),(1490863651493,0,70793,595,'2017-03-30 08:47:31','wow'),(1490863661426,1490780759866,70793,170,'2017-03-30 08:47:41','66'),(1490863676989,0,70793,12,'2017-03-30 08:47:56','Shy'),(1490863711703,0,70793,511,'2017-03-30 08:48:31','I hope I can join'),(1490863717947,178,70793,511,'2017-03-30 08:48:37','what?'),(1490863783276,1490863711703,93793,511,'2017-03-30 08:49:43','haha welcome'),(1490863903900,0,82006,470,'2017-03-30 08:51:43','SOGA'),(1490863915675,0,82006,235,'2017-03-30 08:51:55','Good boy'),(1490863938712,0,82006,12,'2017-03-30 08:52:18','Handsome!'),(1490863978239,1490796241178,82006,58,'2017-03-30 08:52:58','there still remains a question…'),(1490864016738,0,82006,511,'2017-03-30 08:53:36','I want to have a try!'),(1490864023700,0,82006,543,'2017-03-30 08:53:43','oops'),(1490864039264,0,82006,551,'2017-03-30 08:53:59','Wonderful!'),(1490864060358,308,82006,592,'2017-03-30 08:54:20','I an little girl'),(1490864075725,1490864060358,82006,592,'2017-03-30 08:54:35','do you like me?'),(1490864152008,0,82006,58,'2017-03-30 08:55:52','U R ugly( ´?` )'),(1490864254400,1490863915675,82044,235,'2017-03-30 08:57:34','And I have no idea'),(1490864276824,0,82044,12,'2017-03-30 08:57:56','Oh my God!'),(1490864292184,1490864152008,82044,58,'2017-03-30 08:58:12','haha!'),(1490864379424,1490863938712,82001,12,'2017-03-30 08:59:39','Thank you~'),(1490864400210,1490864276824,82001,12,'2017-03-30 09:00:00','Amazing, isnt it?'),(1490874908570,1490864023700,82055,543,'2017-03-30 11:55:08','yeah'),(1490874930994,1490777905437,82055,543,'2017-03-30 11:55:30','yy'),(1490874968779,0,82055,12,'2017-03-30 11:56:08','I love it'),(1490875033494,0,82055,301,'2017-03-30 11:57:13','More Comments'),(1490875040761,158,82055,301,'2017-03-30 11:57:20','157'),(1490875046704,120,82055,301,'2017-03-30 11:57:26','110'),(1490875660259,1490863469638,82055,15,'2017-03-30 12:07:40','I prove wht you said(??????)'),(1490879678127,0,82001,543,'2017-03-30 13:14:38','Baby you are a firework!'),(1490972390235,1490863903900,82001,470,'2017-03-31 14:59:50','HaHa'),(1490973736662,1490973715568,70793,170,'2017-03-31 15:22:16','Hello, I am a fresh man'),(1490973890875,1490864039264,93793,551,'2017-03-31 15:24:50','While I donot think so…'),(1491014830404,1490864016738,82001,511,'2017-04-01 02:47:10','Have a nice day!'),(1491119615611,1490864023700,82001,543,'2017-04-02 07:53:35','$$'),(1491119670185,68,82001,371,'2017-04-02 07:54:30','Leave a word'),(1491119695580,0,82001,371,'2017-04-02 07:54:55','leave a word'),(1491130701902,0,38710,511,'2017-04-02 10:58:21','Thanks for your supports (-^?^-)'),(1491209763162,0,82001,1491200468898,'2017-04-03 08:56:03','How do you do'),(1491277552385,0,82001,58,'2017-04-04 03:45:52','Seven'),(1491312382941,0,82001,1491200468898,'2017-04-04 13:26:22','Wow'),(1491312438951,1490863651493,82001,595,'2017-04-04 13:27:18','WaKaKa!'),(1491357607389,0,82001,594,'2017-04-05 02:00:07','Why not have a try?'),(1491709064513,0,82001,551,'2017-04-09 03:37:44','soga'),(1491740899179,0,82001,470,'2017-04-09 12:28:19','www'),(1491798370749,0,82002,551,'2017-04-10 04:26:10','Nice!'),(1491798499667,115,82002,371,'2017-04-10 04:28:19','I do not understand…'),(1491830543193,0,82001,170,'2017-04-10 13:22:23','What is the hell?'),(1492932228287,1491209763162,38710,1491200468898,'2017-04-23 07:23:48','fine,thanks'),(1493094307810,0,82001,551,'2017-04-25 04:25:04','删除或修改数据请先创建,不要动原来的,谢谢'),(1493094307910,0,82001,551,'2017-04-25 04:26:04','用POST新增数据'),(1493186363132,1490850764448,82001,12,'2017-04-26 05:59:23','sndnd'),(1493655944016,1491357607389,82001,594,'2017-05-01 16:25:44','good'),(1493835048580,1493834818490,82001,594,'2017-05-03 18:10:48','p'),(1502632433970,0,82002,1493835799335,'2017-08-13 13:53:53','just have fun!'); /*!40000 ALTER TABLE `Comment` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:43 +-- Dump completed on 2017-10-06 0:48:41 diff --git a/table/sys_Login.sql b/table/sys_Login.sql index d9128811d..a0a77ddeb 100644 --- a/table/sys_Login.sql +++ b/table/sys_Login.sql @@ -50,4 +50,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:45 +-- Dump completed on 2017-10-06 0:48:42 diff --git a/table/sys_Moment.sql b/table/sys_Moment.sql index 600604b5f..6bfcb55d7 100644 --- a/table/sys_Moment.sql +++ b/table/sys_Moment.sql @@ -39,7 +39,7 @@ CREATE TABLE `Moment` ( LOCK TABLES `Moment` WRITE; /*!40000 ALTER TABLE `Moment` DISABLE KEYS */; -INSERT INTO `Moment` VALUES (12,70793,'2017-02-08 08:06:11','1111534034','[82003, 70793, 93793, 82006, 82044, 82040, 82055, 90814, 82001, 38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/788c0a7e11a4f5aadef3c886f028c79b4808613a/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343932353935372d313732303737333630382e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\"]'),(15,70793,'2017-02-08 08:06:11','APIJSON is a JSON Transmission Structure Protocol…','[82055, 82002, 82001]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]'),(32,82002,'2017-02-08 08:06:11',NULL,'[38710, 82002, 82001]','[\"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\"]'),(58,90814,'2017-02-01 11:14:31','This is a Content...-435','[38710, 82003, 82005, 93793, 82006, 82044, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\"]'),(170,70793,'2017-02-01 11:14:31','This is a Content...-73','[82044, 82002, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\"]'),(235,38710,'2017-02-08 08:06:11',NULL,'[]','[\"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\", \"http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000\"]'),(301,93793,'2017-02-01 11:14:31','This is a Content...-301','[38710, 93793, 82003, 82005, 82040, 82055, 82002, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(371,82002,'2017-02-01 11:14:31','This is a Content...-371','[90814, 93793, 82003, 82005, 82006, 82040, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(470,38710,'2017-02-01 11:14:31','This is a Content...-470','[]','[\"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\"]'),(511,38710,'2017-02-08 08:06:11',NULL,'[70793, 93793, 82001]','[\"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\"]'),(543,93793,'2017-02-08 08:06:11',NULL,'[]','[\"https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(551,70793,'2017-02-08 08:06:11','test','[82001]','[\"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\"]'),(594,82001,'2017-03-08 09:11:11','JSON!','[38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\"]'),(595,38710,'2017-03-05 05:29:19',NULL,'[70793, 82002, 82001]','[\"http://common.cnblogs.com/images/icon_weibo_24.png\", \"http://static.oschina.net/uploads/user/19/39085_50.jpg\"]'),(704,38710,'2017-03-12 09:39:44','APIJSON is a JSON Transmission Structure Protocol…','[82003, 82002, 82001]','[\"http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000\", \"http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000\"]'),(1491200468898,38710,'2017-04-03 06:21:08','APIJSON, let interfaces go to hell!','[]','[\"http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000\", \"http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000\"]'),(1493835799335,38710,'2017-05-03 18:23:19','APIJSON is a JSON Transmission Structure Protocol…','[82002]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]'); +INSERT INTO `Moment` VALUES (12,70793,'2017-02-08 08:06:11','1111534034','[82003, 70793, 93793, 82006, 82044, 82040, 82055, 90814, 82001, 38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/788c0a7e11a4f5aadef3c886f028c79b4808613a/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343932353935372d313732303737333630382e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\"]'),(15,70793,'2017-02-08 08:06:11','APIJSON is a JSON Transmission Structure Protocol…','[82055, 82002, 82001]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]'),(32,82002,'2017-02-08 08:06:11',NULL,'[38710, 82002, 82001]','[\"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\"]'),(58,90814,'2017-02-01 11:14:31','This is a Content...-435','[38710, 82003, 82005, 93793, 82006, 82044, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\"]'),(170,70793,'2017-02-01 11:14:31','This is a Content...-73','[82044, 82002, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\"]'),(235,38710,'2017-02-08 08:06:11',NULL,'[]','[\"http://static.oschina.net/uploads/img/201604/22172508_mpwj.jpg\", \"http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000\"]'),(301,93793,'2017-02-01 11:14:31','This is a Content...-301','[38710, 93793, 82003, 82005, 82040, 82055, 82002, 82001]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(371,82002,'2017-02-01 11:14:31','This is a Content...-371','[90814, 93793, 82003, 82005, 82006, 82040, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(470,38710,'2017-02-01 11:14:31','This is a Content...-470','[]','[\"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\"]'),(511,38710,'2017-02-08 08:06:11',NULL,'[70793, 93793, 82001]','[\"https://camo.githubusercontent.com/f513fa631bd780dc0ec3cf2663777e356dc3664f/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343733323232332d3337333933303233322e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\"]'),(543,93793,'2017-02-08 08:06:11',NULL,'[]','[\"https://camo.githubusercontent.com/5f5c4e0c4dc539c34e8eae8ac0cbc6dccdfee5d3/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343533333831362d323032373434343231382e6a7067\", \"https://camo.githubusercontent.com/c98b1c86af136745cc4626c6ece830f76de9ee83/687474703a2f2f696d61676573323031352e636e626c6f67732e636f6d2f626c6f672f3636303036372f3230313630342f3636303036372d32303136303431343232343930383036362d313837323233393236352e6a7067\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\"]'),(551,70793,'2017-02-08 08:06:11','test','[82001]','[\"http://static.oschina.net/uploads/img/201604/22172507_Pz9Y.png\"]'),(594,82001,'2017-03-08 09:11:11','JSON!','[38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172507_aMmH.jpg\"]'),(595,38710,'2017-03-05 05:29:19',NULL,'[70793, 82002, 82001]','[\"http://common.cnblogs.com/images/icon_weibo_24.png\", \"http://static.oschina.net/uploads/user/19/39085_50.jpg\"]'),(704,38710,'2017-03-12 09:39:44','APIJSON is a JSON Transmission Structure Protocol…','[82003, 82002, 82001]','[\"http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000\", \"http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000\"]'),(1491200468898,38710,'2017-04-03 06:21:08','APIJSON, let interfaces go to hell!','[]','[\"http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000\", \"http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000\"]'),(1493835799335,38710,'2017-05-03 18:23:19','APIJSON is a JSON Transmission Structure Protocol…','[82002, 82001]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]'); /*!40000 ALTER TABLE `Moment` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:45 +-- Dump completed on 2017-10-06 0:48:41 diff --git a/table/sys_Pair.sql b/table/sys_Pair.sql index 4c53d9d93..75fa74d4e 100644 --- a/table/sys_Pair.sql +++ b/table/sys_Pair.sql @@ -49,4 +49,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:45 +-- Dump completed on 2017-10-06 0:48:42 diff --git a/table/sys_Password.sql b/table/sys_Password.sql deleted file mode 100644 index 442271cd2..000000000 --- a/table/sys_Password.sql +++ /dev/null @@ -1,55 +0,0 @@ --- MySQL dump 10.13 Distrib 5.7.12, for osx10.9 (x86_64) --- --- Host: localhost Database: sys --- ------------------------------------------------------ --- Server version 5.7.16 - -/*!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 `Password` --- - -DROP TABLE IF EXISTS `Password`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Password` ( - `_index` int(11) NOT NULL AUTO_INCREMENT, - `id` bigint(15) NOT NULL, - `type` varchar(20) DEFAULT NULL, - `password` varchar(20) NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`_index`), - UNIQUE KEY `_index_UNIQUE` (`_index`) -) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=utf8 COMMENT='@deprecated,合并至UserPrivacy'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `Password` --- - -LOCK TABLES `Password` WRITE; -/*!40000 ALTER TABLE `Password` DISABLE KEYS */; -INSERT INTO `Password` VALUES (1,12345678900,'0','123456','2017-02-01 11:21:50'),(2,12345678901,'0','123456','2017-02-01 11:21:50'),(3,12345678902,'0','123456','2017-02-01 11:21:50'),(4,12345678903,'0','123456','2017-02-01 11:21:50'),(5,12345678904,'0','apijson','2017-02-01 11:21:50'),(6,12345678905,'0','apijson','2017-02-01 11:21:50'),(7,12345678906,'0','123456','2017-02-01 11:21:50'),(8,12345678907,'0','123456','2017-02-01 11:21:50'),(9,12345678908,'0','123456','2017-02-01 11:21:50'),(10,12345678909,'0','123456','2017-02-01 11:21:50'),(11,12345678910,'0','123456','2017-02-01 11:21:50'),(12,12345678911,'0','123456','2017-02-01 11:21:50'),(13,12345678912,'0','123456','2017-02-01 11:21:50'),(14,12345678913,'0','123456','2017-02-01 11:21:50'),(15,12345678914,'0','123456','2017-02-01 11:21:50'),(16,12345678915,'0','123456','2017-02-01 11:21:50'),(17,12345678916,'0','123456','2017-02-01 11:21:50'),(18,12345678917,'0','123456','2017-02-01 11:21:50'),(19,12345678918,'0','123456','2017-02-01 11:21:50'),(20,12345678919,'0','123456','2017-02-19 13:57:56'),(21,13000038710,'1','666666','2017-02-01 11:21:50'),(22,13000038711,NULL,'123456','2017-03-04 16:04:02'),(23,13000038712,NULL,'123456','2017-03-05 09:51:51'),(24,13000038713,NULL,'123456','2017-03-05 09:52:52'),(25,13000038714,NULL,'123456','2017-03-05 09:53:37'),(26,13000038715,NULL,'123456','2017-03-05 09:57:54'),(27,13000038716,NULL,'123456','2017-03-25 05:44:11'),(28,13000038717,NULL,'123456','2017-03-25 07:32:19'),(29,13000038720,NULL,'123456','2017-03-05 15:25:42'),(30,13000038721,NULL,'123456','2017-03-06 12:29:03'),(31,13000038730,NULL,'123456','2017-03-12 06:01:23'),(32,13000038750,NULL,'123456','2017-03-12 11:23:04'),(33,13000038790,NULL,'123456','2017-03-27 03:22:32'),(34,13000070793,'0','apijson','2017-02-01 11:21:50'),(35,13000082001,'1','123456','2017-02-01 11:21:50'),(36,13000082002,'1','123456','2017-02-01 11:21:50'),(37,13000082003,'1','123456','2017-02-01 11:21:50'),(38,13000082004,'0','123456','2017-02-01 11:21:50'),(39,13000082005,'0','123456','2017-02-01 11:21:50'),(40,13000082006,'0','123456','2017-02-01 11:21:50'),(41,13000082010,NULL,'123456','2017-03-04 15:11:17'),(42,13000082012,'0','123456','2017-02-01 11:21:50'),(43,13000082015,'0','123456','2017-03-04 09:59:34'),(44,13000082016,'0','123456','2017-03-04 10:04:33'),(45,13000082017,'0','123456','2017-03-04 10:05:04'),(46,13000082018,'0','123456','2017-03-04 10:20:27'),(47,13000082019,'0','123456','2017-03-02 16:44:26'),(48,13000082020,'0','123456','2017-03-04 10:22:39'),(49,13000082021,NULL,'123456','2017-03-04 16:02:05'),(50,13000082030,NULL,'123456','2017-03-11 15:04:00'),(51,13000082033,NULL,'123456','2017-03-19 14:49:15'),(52,13000082040,NULL,'123456','2017-03-11 15:32:25'),(53,13000082050,NULL,'123456','2017-03-21 14:10:18'),(54,13000082051,NULL,'123456','2017-03-31 15:21:10'),(55,13000082100,NULL,'123456','2017-03-21 15:22:22'),(56,13000082101,NULL,'123456','2017-03-21 15:24:05'),(57,13000082102,NULL,'123456','2017-03-25 07:39:37'),(58,13000090814,'1','123456','2017-02-01 11:21:50'),(59,13000093793,'1','123456','2017-02-01 11:21:50'),(60,99999999999,'0','123456','2017-02-01 11:21:50'),(61,13000093794,NULL,'123456','2017-04-23 08:29:29'),(62,13000038888,NULL,'123456','2017-04-29 15:35:42'),(63,13000038777,NULL,'123456','2017-05-02 17:51:52'),(64,13000038778,NULL,'123456','2017-05-02 17:56:17'),(65,13000038779,NULL,'123456','2017-05-02 18:09:54'),(66,13000038780,NULL,'123456','2017-05-02 18:10:15'),(67,13000038781,NULL,'123456','2017-05-02 18:18:10'),(68,13000038999,NULL,'123456','2017-05-03 18:27:23'),(69,13000039999,NULL,'123456','2017-05-04 07:31:50'),(70,13000031000,NULL,'123456','2017-05-04 09:30:14'),(71,13000031001,NULL,'123456','2017-05-04 09:31:43'),(72,13000038788,NULL,'123456','2017-05-09 13:59:22'),(73,13000038789,NULL,'123456','2017-05-09 14:01:04'),(75,13000082009,NULL,'666666','2017-05-12 16:01:35'); -/*!40000 ALTER TABLE `Password` 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 2017-07-09 14:39:29 diff --git a/table/sys_Praise.sql b/table/sys_Praise.sql index b33d066fe..6d380c1d2 100644 --- a/table/sys_Praise.sql +++ b/table/sys_Praise.sql @@ -48,4 +48,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:45 +-- Dump completed on 2017-10-06 0:48:42 diff --git a/table/sys_Request.sql b/table/sys_Request.sql index d287a8da9..ca52329a7 100644 --- a/table/sys_Request.sql +++ b/table/sys_Request.sql @@ -40,7 +40,7 @@ CREATE TABLE `Request` ( LOCK TABLES `Request` WRITE; /*!40000 ALTER TABLE `Request` DISABLE KEYS */; -INSERT INTO `Request` VALUES (1,0,'User','POST','{\"User\": {\"DISALLOW\": \"id\"}, \"NECESSARY\": \"phone,password,verify\"}','\"User:toUser\":{}转化为\"toUser\":User的JSONObject ?','2017-02-01 11:19:51'),(2,0,'Moment','POST','{\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,pictureList\"}',NULL,'2017-02-01 11:19:51'),(3,0,'Comment','POST','{\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,momentId,content\"}',NULL,'2017-02-01 11:19:51'),(4,0,'User','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"DISALLOW\": \"phone\", \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(5,0,'Moment','DELETE','{\"PUT\": {\"Comment\": {\"@role\": \"admin\", \"momentId@\": \"Moment/id\"}}, \"Moment\": {\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}}','所有删除都要有currentUserId和loginPassword?','2017-02-01 11:19:51'),(6,0,'Comment','DELETE','{\"PUT\": {\"Comment:child\": {\"@role\": \"admin\", \"toId@\": \"Comment/id\"}}, \"Comment\": {\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(7,0,'Password','PUT','{\"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id,password\"}, \"NECESSARY\": \"oldPassword\"}','对安全要求高,不允许客户端改type,date等字段','2017-02-01 11:19:51'),(8,0,'User.phone','PUT','{\"User\": {\"ADD\": {\"@role\": \"owner\"}, \"DISALLOW\": \"!\", \"NECESSARY\": \"id,phone\"}}','! 表示其它所有,这里指necessary所有未包含的字段','2017-02-01 11:19:51'),(9,0,'MomentWithComment','POST','{\"Moment\": {\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,title,content,picture\"}, \"Comment\": {\"PUT\": {\"momentId@\": \"Moment/id\"}, \"DISALLOW\": \"id\", \"NECESSARY\": \"userId,workId,content\"}}','用的极少,可能根本用不上','2017-02-01 11:19:51'),(10,0,'Password','POST_GET','{\"DISALLOW\": \"!\", \"NECESSARY\": \"id,model\"}','String:table, Long: tableId 限制类型?','2017-02-18 12:03:17'),(11,0,'Wallet','POST_GET','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}}',NULL,'2017-02-18 14:20:43'),(12,0,'Login','POST_GET','{\"User\": {\"NECESSARY\": \"phone\"}, \"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"table,phone,value\"}}',NULL,'2017-02-18 14:20:43'),(13,0,'Login','POST','{\"DISALLOW\": \"!\", \"NECESSARY\": \"userId,type\"}',NULL,'2017-02-18 14:20:43'),(14,0,'Verify','POST','{\"DISALLOW\": \"!\", \"NECESSARY\": \"id,code\"}',NULL,'2017-02-18 14:20:43'),(15,0,'Verify','POST_GET','{\"NECESSARY\": \"id\"}',NULL,'2017-02-18 14:20:43'),(16,0,'Verify','POST_HEAD','{}','允许任意内容','2017-02-18 14:20:43'),(17,0,'Moment','PUT','{\"DISALLOW\": \"userId,date\", \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(18,0,'Wallet','POST','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}, \"NECESSARY\": \"payPassword\"}',NULL,'2017-02-18 14:20:43'),(19,0,'Wallet','PUT','{\"Wallet\": {\"VERIFY\": {\"balance+&{}\": \">=-10000,<=10000\"}, \"DISALLOW\": \"!\", \"NECESSARY\": \"id,balance+\"}, \"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id,password,type\"}}',NULL,'2017-02-18 14:20:43'),(20,0,'Wallet','DELETE','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}, \"NECESSARY\": \"payPassword\"}',NULL,'2017-02-18 14:20:43'),(21,0,'Login','POST_HEAD','{\"DISALLOW\": \"!\", \"NECESSARY\": \"userId,type\"}',NULL,'2017-02-18 14:20:43'),(22,0,'User','POST_GET','{}','允许任意内容','2017-02-18 14:20:43'),(23,0,'Privacy','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(24,0,'Privacy','POST_GET','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}',NULL,'2017-06-12 16:05:51'),(25,0,'Praise','PUT','{\"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(26,0,'Comment[]','DELETE','{\"Comment\": {\"ADD\": {\"@role\": \"owner\", \"NECESSARY\": \"id{}\"}}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(27,0,'Comment[]','PUT','{\"Comment\": {\"ADD\": {\"@role\": \"owner\", \"NECESSARY\": \"id{}\"}}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(28,0,'Comment','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}','disallow没必要用于DELETE','2017-02-01 11:19:51'); +INSERT INTO `Request` VALUES (1,0,'User','POST','{\"User\": {\"DISALLOW\": \"id\"}, \"NECESSARY\": \"phone,password,verify\"}','\"User:toUser\":{}转化为\"toUser\":User的JSONObject ?','2017-02-01 11:19:51'),(2,0,'Moment','POST','{\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,pictureList\"}',NULL,'2017-02-01 11:19:51'),(3,0,'Comment','POST','{\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,momentId,content\"}',NULL,'2017-02-01 11:19:51'),(4,0,'User','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"DISALLOW\": \"phone\", \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(5,0,'Moment','DELETE','{\"PUT\": {\"Comment\": {\"@role\": \"admin\", \"momentId@\": \"Moment/id\"}}, \"Moment\": {\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}}','所有删除都要有currentUserId和loginPassword?','2017-02-01 11:19:51'),(6,0,'Comment','DELETE','{\"PUT\": {\"Comment:child\": {\"@role\": \"admin\", \"toId@\": \"Comment/id\"}}, \"Comment\": {\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(7,0,'Password','PUT','{\"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id,password\"}, \"NECESSARY\": \"oldPassword\"}','对安全要求高,不允许客户端改type,date等字段','2017-02-01 11:19:51'),(8,0,'User.phone','PUT','{\"User\": {\"ADD\": {\"@role\": \"owner\"}, \"DISALLOW\": \"!\", \"NECESSARY\": \"id,phone\"}}','! 表示其它所有,这里指necessary所有未包含的字段','2017-02-01 11:19:51'),(9,0,'MomentWithComment','POST','{\"Moment\": {\"DISALLOW\": \"id\", \"NECESSARY\": \"userId,title,content,picture\"}, \"Comment\": {\"PUT\": {\"momentId@\": \"Moment/id\"}, \"DISALLOW\": \"id\", \"NECESSARY\": \"userId,workId,content\"}}','用的极少,可能根本用不上','2017-02-01 11:19:51'),(10,0,'Password','GETS','{\"DISALLOW\": \"!\", \"NECESSARY\": \"id,model\"}','String:table, Long: tableId 限制类型?','2017-02-18 12:03:17'),(11,0,'Wallet','GETS','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}}',NULL,'2017-02-18 14:20:43'),(12,0,'Login','GETS','{\"User\": {\"NECESSARY\": \"phone\"}, \"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"table,phone,value\"}}',NULL,'2017-02-18 14:20:43'),(13,0,'Login','POST','{\"DISALLOW\": \"!\", \"NECESSARY\": \"userId,type\"}',NULL,'2017-02-18 14:20:43'),(14,0,'Verify','POST','{\"DISALLOW\": \"!\", \"NECESSARY\": \"id,code\"}',NULL,'2017-02-18 14:20:43'),(15,0,'Verify','GETS','{\"NECESSARY\": \"id\"}',NULL,'2017-02-18 14:20:43'),(16,0,'Verify','HEADS','{}','允许任意内容','2017-02-18 14:20:43'),(17,0,'Moment','PUT','{\"DISALLOW\": \"userId,date\", \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(18,0,'Wallet','POST','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}, \"NECESSARY\": \"payPassword\"}',NULL,'2017-02-18 14:20:43'),(19,0,'Wallet','PUT','{\"Wallet\": {\"VERIFY\": {\"balance+&{}\": \">=-10000,<=10000\"}, \"DISALLOW\": \"!\", \"NECESSARY\": \"id,balance+\"}, \"Password\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id,password,type\"}}',NULL,'2017-02-18 14:20:43'),(20,0,'Wallet','DELETE','{\"Wallet\": {\"DISALLOW\": \"!\", \"NECESSARY\": \"id\"}, \"NECESSARY\": \"payPassword\"}',NULL,'2017-02-18 14:20:43'),(21,0,'Login','HEADS','{\"DISALLOW\": \"!\", \"NECESSARY\": \"userId,type\"}',NULL,'2017-02-18 14:20:43'),(22,0,'User','GETS','{}','允许任意内容','2017-02-18 14:20:43'),(23,0,'Privacy','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(24,0,'Privacy','GETS','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}',NULL,'2017-06-12 16:05:51'),(25,0,'Praise','PUT','{\"NECESSARY\": \"id\"}',NULL,'2017-02-01 11:19:51'),(26,0,'Comment[]','DELETE','{\"Comment\": {\"ADD\": {\"@role\": \"owner\", \"NECESSARY\": \"id{}\"}}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(27,0,'Comment[]','PUT','{\"Comment\": {\"ADD\": {\"@role\": \"owner\", \"NECESSARY\": \"id{}\"}}}','disallow没必要用于DELETE','2017-02-01 11:19:51'),(28,0,'Comment','PUT','{\"ADD\": {\"@role\": \"owner\"}, \"NECESSARY\": \"id\"}','disallow没必要用于DELETE','2017-02-01 11:19:51'); /*!40000 ALTER TABLE `Request` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -53,4 +53,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:44 +-- Dump completed on 2017-10-06 0:48:41 diff --git a/table/sys_Response.sql b/table/sys_Response.sql index 201f1f9c0..2c7877abe 100644 --- a/table/sys_Response.sql +++ b/table/sys_Response.sql @@ -53,4 +53,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:45 +-- Dump completed on 2017-10-06 0:48:42 diff --git a/table/sys_Test.sql b/table/sys_Test.sql index 0fb30c744..fe7decaf0 100644 --- a/table/sys_Test.sql +++ b/table/sys_Test.sql @@ -47,4 +47,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:44 +-- Dump completed on 2017-10-06 0:48:41 diff --git a/table/sys_Verify.sql b/table/sys_Verify.sql index 411f083c5..73ea61156 100644 --- a/table/sys_Verify.sql +++ b/table/sys_Verify.sql @@ -37,7 +37,7 @@ CREATE TABLE `Verify` ( LOCK TABLES `Verify` WRITE; /*!40000 ALTER TABLE `Verify` DISABLE KEYS */; -INSERT INTO `Verify` VALUES (13000003871,0,2858,'2017-08-13 11:28:05'),(13000031000,0,10442,'2017-05-04 09:30:02'),(13000031001,0,9445,'2017-05-04 09:31:30'),(13000038710,0,7463,'2017-08-13 16:15:36'),(13000038752,0,5879,'2017-04-22 13:03:37'),(13000038758,0,10077,'2017-04-22 13:09:06'),(13000038777,0,9175,'2017-05-02 17:51:45'),(13000038778,0,1191,'2017-05-02 17:56:13'),(13000038779,0,10350,'2017-05-02 18:09:41'),(13000038780,0,4200,'2017-05-02 18:10:00'),(13000038781,0,6674,'2017-05-02 18:18:02'),(13000038888,0,8186,'2017-04-29 15:35:33'),(13000038999,0,6167,'2017-05-03 18:27:16'),(13000039999,0,8566,'2017-05-04 07:31:38'),(13000070793,0,5465,'2017-08-13 14:01:02'),(13000082001,0,2475,'2017-08-13 15:26:36'),(13000082011,0,7026,'2017-07-03 04:47:03'),(13000082013,0,1229,'2017-06-17 14:04:59'),(13000082081,0,6760,'2017-05-04 07:32:01'),(13000082111,0,5650,'2017-06-18 13:36:07'),(13000082222,0,9150,'2017-08-13 15:49:32'),(13000082333,0,3870,'2017-08-13 15:49:57'),(13000093794,0,7563,'2017-04-23 08:29:20'),(13000099999,0,7739,'2017-07-23 15:53:25'); +INSERT INTO `Verify` VALUES (13000003871,0,2858,'2017-08-13 11:28:05'),(13000011111,0,1199,'2017-10-05 16:22:30'),(13000031000,0,10442,'2017-05-04 09:30:02'),(13000031001,0,9445,'2017-05-04 09:31:30'),(13000038710,0,5467,'2017-10-05 16:43:29'),(13000038752,0,5879,'2017-04-22 13:03:37'),(13000038758,0,10077,'2017-04-22 13:09:06'),(13000038777,0,9175,'2017-05-02 17:51:45'),(13000038778,0,1191,'2017-05-02 17:56:13'),(13000038779,0,10350,'2017-05-02 18:09:41'),(13000038780,0,4200,'2017-05-02 18:10:00'),(13000038781,0,6674,'2017-05-02 18:18:02'),(13000038888,0,8186,'2017-04-29 15:35:33'),(13000038999,0,6167,'2017-05-03 18:27:16'),(13000039999,0,8566,'2017-05-04 07:31:38'),(13000070793,0,5465,'2017-08-13 14:01:02'),(13000082001,0,2475,'2017-08-13 15:26:36'),(13000082011,0,7026,'2017-07-03 04:47:03'),(13000082013,0,1229,'2017-06-17 14:04:59'),(13000082081,0,6760,'2017-05-04 07:32:01'),(13000082111,0,5650,'2017-06-18 13:36:07'),(13000082222,0,9150,'2017-08-13 15:49:32'),(13000082333,0,3870,'2017-08-13 15:49:57'),(13000093794,0,7563,'2017-04-23 08:29:20'),(13000099999,0,7739,'2017-07-23 15:53:25'); /*!40000 ALTER TABLE `Verify` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -50,4 +50,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:43 +-- Dump completed on 2017-10-06 0:48:41 diff --git a/table/sys_Wallet.sql b/table/sys_Wallet.sql deleted file mode 100644 index 46aa2d08c..000000000 --- a/table/sys_Wallet.sql +++ /dev/null @@ -1,51 +0,0 @@ --- MySQL dump 10.13 Distrib 5.7.12, for osx10.9 (x86_64) --- --- Host: localhost Database: sys --- ------------------------------------------------------ --- Server version 5.7.16 - -/*!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 `Wallet` --- - -DROP TABLE IF EXISTS `Wallet`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Wallet` ( - `id` bigint(15) NOT NULL, - `balance` decimal(10,2) DEFAULT NULL, - `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='@deprecated,合并至UserPrivacy'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping data for table `Wallet` --- - -LOCK TABLES `Wallet` WRITE; -/*!40000 ALTER TABLE `Wallet` DISABLE KEYS */; -INSERT INTO `Wallet` VALUES (38710,14912.50,'2017-02-01 11:15:44'),(70793,500.00,'2017-02-01 11:15:44'),(82001,8682.30,'2017-02-01 11:15:44'),(82002,3500.00,'2017-02-01 11:15:44'),(82003,700.00,'2017-02-01 11:15:44'),(82004,100.00,'2017-02-01 11:15:44'),(82005,700.00,'2017-02-01 11:15:44'); -/*!40000 ALTER TABLE `Wallet` 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 2017-07-09 14:39:29 diff --git a/table/sys__Statistics.sql b/table/sys__Statistics.sql index f7078aa22..403d88946 100644 --- a/table/sys__Statistics.sql +++ b/table/sys__Statistics.sql @@ -54,4 +54,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:44 +-- Dump completed on 2017-10-06 0:48:41 diff --git a/table/sys__Visit.sql b/table/sys__Visit.sql index 5c31343d7..f152d20ce 100644 --- a/table/sys__Visit.sql +++ b/table/sys__Visit.sql @@ -48,4 +48,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:44 +-- Dump completed on 2017-10-06 0:48:41 diff --git a/table/sys_apijson_privacy.sql b/table/sys_apijson_privacy.sql index 7bcdd3024..3143fe6f7 100644 --- a/table/sys_apijson_privacy.sql +++ b/table/sys_apijson_privacy.sql @@ -39,7 +39,7 @@ CREATE TABLE `apijson_privacy` ( LOCK TABLES `apijson_privacy` WRITE; /*!40000 ALTER TABLE `apijson_privacy` DISABLE KEYS */; -INSERT INTO `apijson_privacy` VALUES (38710,1,13000038710,29812.00,'apijson',666666),(70793,0,13000070793,56000.00,'apijson',666666),(82001,1,13000082001,8497.00,'123456',123456),(82002,1,13000082002,6450.00,'123456',123456),(82003,1,13000082003,2000.00,'123456',123456),(82004,0,13000082004,2000.00,'123456',123456),(82005,0,13000082005,2000.00,'123456',123456),(82006,0,13000082006,2000.00,'123456',123456),(82012,0,13000082012,0.00,'123456',123456),(82020,0,12345678900,0.00,'123456',123456),(82021,0,12345678901,0.00,'123456',123456),(82022,0,12345678902,0.00,'123456',123456),(82023,0,12345678903,0.00,'123456',123456),(82024,0,12345678904,0.00,'123456',123456),(82025,0,12345678905,0.00,'123456',123456),(82026,0,12345678906,0.00,'123456',123456),(82027,0,12345678907,0.00,'123456',123456),(82028,0,12345678908,0.00,'123456',123456),(82029,0,12345678909,0.00,'123456',123456),(82030,0,12345678910,0.00,'123456',123456),(82031,0,12345678911,0.00,'123456',123456),(82032,0,12345678912,0.00,'123456',123456),(82033,0,12345678913,0.00,'123456',123456),(82034,0,12345678914,0.00,'123456',123456),(82035,0,12345678915,0.00,'123456',123456),(82036,0,12345678916,0.00,'123456',123456),(82037,0,12345678917,0.00,'123456',123456),(82038,0,12345678918,0.00,'123456',123456),(82039,0,12345678919,0.00,'123456',123456),(82040,0,13000082019,0.00,'123456',123456),(82041,0,13000082015,0.00,'123456',123456),(82042,0,13000082016,0.00,'123456',123456),(82043,0,13000082017,0.00,'123456',123456),(82044,0,13000082018,0.00,'123456',123456),(82045,0,13000082020,0.00,'123456',123456),(82046,0,13000082010,0.00,'123456',123456),(82047,0,13000082021,0.00,'123456',123456),(82048,0,13000038711,0.00,'123456',123456),(82049,0,13000038712,0.00,'123456',123456),(82050,0,13000038713,0.00,'123456',123456),(82051,0,13000038714,0.00,'123456',123456),(82052,0,13000038715,0.00,'123456',123456),(82053,0,13000038720,0.00,'123456',123456),(82054,0,13000038721,0.00,'123456',123456),(82055,0,13000082030,0.00,'123456',123456),(82056,0,13000082040,0.00,'123456',123456),(82057,0,13000038730,0.00,'123456',123456),(82058,0,13000038750,0.00,'123456',123456),(82059,0,13000082033,0.00,'123456',123456),(82060,0,13000082050,0.00,'123456',123456),(90814,1,13000090814,0.00,'123456',123456),(93793,1,13000093793,3000.00,'apijson',666666),(93794,0,99999999999,0.00,'123456',123456),(1490109742863,0,13000082100,0.00,'123456',123456),(1490109845208,0,13000082101,0.00,'123456',123456),(1490420651686,0,13000038716,0.00,'123456',123456),(1490427139175,0,13000038717,0.00,'123456',123456),(1490427577823,0,13000082102,0.00,'123456',123456),(1490584952968,0,13000038790,0.00,'123456',123456),(1490973670928,0,13000082051,0.00,'123456',123456),(1492936169722,0,13000093794,0.00,'123456',123456),(1493480142628,0,13000038888,0.00,'123456',123456),(1493747512860,0,13000038777,0.00,'123456',123456),(1493747777770,0,13000038778,0.00,'123456',123456),(1493748594003,0,13000038779,0.00,'123456',123456),(1493748615711,0,13000038780,0.00,'123456',123456),(1493749090643,0,13000038781,0.00,'123456',123456),(1493836043151,0,13000038999,0.00,'123456',123456),(1493883110132,0,13000039999,0.00,'123456',123456),(1493890214167,0,13000031000,0.00,'123456',123456),(1493890303473,0,13000031001,0.00,'123456',123456),(1493890303474,0,13000088888,0.00,'123456',123456),(1493890303475,0,13000088888,0.00,'123456',123456),(1497792972314,0,13000082111,0.00,'654321',NULL),(1499057230629,0,13000082011,0.00,'123456',NULL),(1500825221910,0,13000099999,0.00,'123456',NULL),(1502639062900,0,13000082222,0.00,'123456',NULL),(1502639424119,0,13000082333,0.00,'12345678',NULL); +INSERT INTO `apijson_privacy` VALUES (38710,1,13000038710,29424.00,'apijson',666666),(70793,0,13000070793,56000.00,'apijson',666666),(82001,1,13000082001,8679.00,'123456',123456),(82002,1,13000082002,6372.00,'123456',123456),(82003,1,13000082003,2000.00,'123456',123456),(82004,0,13000082004,2000.00,'123456',123456),(82005,0,13000082005,2000.00,'123456',123456),(82006,0,13000082006,2000.00,'123456',123456),(82012,0,13000082012,0.00,'123456',123456),(82020,0,12345678900,0.00,'123456',123456),(82021,0,12345678901,0.00,'123456',123456),(82022,0,12345678902,0.00,'123456',123456),(82023,0,12345678903,0.00,'123456',123456),(82024,0,12345678904,0.00,'123456',123456),(82025,0,12345678905,0.00,'123456',123456),(82026,0,12345678906,0.00,'123456',123456),(82027,0,12345678907,0.00,'123456',123456),(82028,0,12345678908,0.00,'123456',123456),(82029,0,12345678909,0.00,'123456',123456),(82030,0,12345678910,0.00,'123456',123456),(82031,0,12345678911,0.00,'123456',123456),(82032,0,12345678912,0.00,'123456',123456),(82033,0,12345678913,0.00,'123456',123456),(82034,0,12345678914,0.00,'123456',123456),(82035,0,12345678915,0.00,'123456',123456),(82036,0,12345678916,0.00,'123456',123456),(82037,0,12345678917,0.00,'123456',123456),(82038,0,12345678918,0.00,'123456',123456),(82039,0,12345678919,0.00,'123456',123456),(82040,0,13000082019,0.00,'123456',123456),(82041,0,13000082015,0.00,'123456',123456),(82042,0,13000082016,0.00,'123456',123456),(82043,0,13000082017,0.00,'123456',123456),(82044,0,13000082018,0.00,'123456',123456),(82045,0,13000082020,0.00,'123456',123456),(82046,0,13000082010,0.00,'123456',123456),(82047,0,13000082021,0.00,'123456',123456),(82048,0,13000038711,0.00,'123456',123456),(82049,0,13000038712,0.00,'123456',123456),(82050,0,13000038713,0.00,'123456',123456),(82051,0,13000038714,0.00,'123456',123456),(82052,0,13000038715,0.00,'123456',123456),(82053,0,13000038720,0.00,'123456',123456),(82054,0,13000038721,0.00,'123456',123456),(82055,0,13000082030,0.00,'123456',123456),(82056,0,13000082040,0.00,'123456',123456),(82057,0,13000038730,0.00,'123456',123456),(82058,0,13000038750,0.00,'123456',123456),(82059,0,13000082033,0.00,'123456',123456),(82060,0,13000082050,0.00,'123456',123456),(90814,1,13000090814,0.00,'123456',123456),(93793,1,13000093793,3000.00,'apijson',666666),(93794,0,99999999999,0.00,'123456',123456),(1490109742863,0,13000082100,0.00,'123456',123456),(1490109845208,0,13000082101,0.00,'123456',123456),(1490420651686,0,13000038716,0.00,'123456',123456),(1490427139175,0,13000038717,0.00,'123456',123456),(1490427577823,0,13000082102,0.00,'123456',123456),(1490584952968,0,13000038790,0.00,'123456',123456),(1490973670928,0,13000082051,0.00,'123456',123456),(1492936169722,0,13000093794,0.00,'123456',123456),(1493480142628,0,13000038888,0.00,'123456',123456),(1493747512860,0,13000038777,0.00,'123456',123456),(1493747777770,0,13000038778,0.00,'123456',123456),(1493748594003,0,13000038779,0.00,'123456',123456),(1493748615711,0,13000038780,0.00,'123456',123456),(1493749090643,0,13000038781,0.00,'123456',123456),(1493836043151,0,13000038999,0.00,'123456',123456),(1493883110132,0,13000039999,0.00,'123456',123456),(1493890214167,0,13000031000,0.00,'123456',123456),(1493890303473,0,13000031001,0.00,'123456',123456),(1493890303474,0,13000088888,0.00,'123456',123456),(1493890303475,0,13000088888,0.00,'123456',123456),(1497792972314,0,13000082111,0.00,'654321',NULL),(1499057230629,0,13000082011,0.00,'123456',NULL),(1500825221910,0,13000099999,0.00,'123456',NULL),(1502639062900,0,13000082222,0.00,'123456',NULL),(1502639424119,0,13000082333,0.00,'12345678',NULL),(1507220582167,0,13000011111,0.00,'123456',NULL); /*!40000 ALTER TABLE `apijson_privacy` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:43 +-- Dump completed on 2017-10-06 0:48:41 diff --git a/table/sys_apijson_user.sql b/table/sys_apijson_user.sql index c911e03c5..cee205c91 100644 --- a/table/sys_apijson_user.sql +++ b/table/sys_apijson_user.sql @@ -32,7 +32,7 @@ CREATE TABLE `apijson_user` ( `pictureList` json DEFAULT NULL, `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1502639424120 DEFAULT CHARSET=utf8 COMMENT='对安全要求高,不想泄漏真实名称。对外名称为 User'; +) ENGINE=InnoDB AUTO_INCREMENT=1507220582168 DEFAULT CHARSET=utf8 COMMENT='对安全要求高,不想泄漏真实名称。对外名称为 User'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -41,7 +41,7 @@ CREATE TABLE `apijson_user` ( LOCK TABLES `apijson_user` WRITE; /*!40000 ALTER TABLE `apijson_user` DISABLE KEYS */; -INSERT INTO `apijson_user` VALUES (38710,0,'TommyLemon','Android&Java','http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000','[82003, 82005, 90814, 82004, 82009, 82002, 82044, 93793, 70793]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]','2017-02-01 11:21:50'),(70793,0,'Strong','djdj','http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000','[38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/788c0a7e11a\", \"https://camo.githubusercontent.com/f513f67\"]','2017-02-01 11:21:50'),(82001,0,'Android','APIJSON User','http://static.oschina.net/uploads/user/19/39085_50.jpg','[82004, 82021, 82023, 82025, 82039, 82027, 82002, 70793]','[\"http://common.cnblogs.com/images/icon_weibo_24.png\"]','2017-02-01 11:21:50'),(82002,1,'Happy~','iOS','http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000','[82005, 82001, 38710]',NULL,'2017-02-01 11:21:50'),(82003,1,'Wechat',NULL,'http://common.cnblogs.com/images/wechat.png','[82001, 93793]',NULL,'2017-02-01 11:21:50'),(82004,0,'Tommy','fasef','http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82005,1,'Jan','AG','http://my.oschina.net/img/portrait.gif?t=1451961935000','[82001, 38710]',NULL,'2017-02-01 11:21:50'),(82006,1,'Meria',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-02-01 11:21:50'),(82012,0,'Steve','FEWE','http://static.oschina.net/uploads/user/1/3064_50.jpg?t=1449566001000','[82004, 82002, 93793]',NULL,'2017-02-01 11:21:50'),(82020,0,'ORANGE',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-02-01 11:21:50'),(82021,1,'Tommy',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(82022,0,'Internet',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82023,0,'No1',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-02-01 11:21:50'),(82024,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/427/855532_50.jpg?t=1435030876000',NULL,NULL,'2017-02-01 11:21:50'),(82025,1,'Tommy',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-02-01 11:21:50'),(82026,0,'iOS',NULL,'http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82027,0,'Yong',NULL,'http://my.oschina.net/img/portrait.gif?t=1451961935000',NULL,NULL,'2017-02-01 11:21:50'),(82028,1,'gaeg',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-02-01 11:21:50'),(82029,0,'GASG',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-02-01 11:21:50'),(82030,1,'Fun',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-02-01 11:21:50'),(82031,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/48/96331_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(82032,0,'Stack','fasdg','http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-02-01 11:21:50'),(82033,1,'GAS',NULL,'http://my.oschina.net/img/portrait.gif?t=1451961935000',NULL,NULL,'2017-02-01 11:21:50'),(82034,1,'Jump',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82035,1,'Tab',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-02-01 11:21:50'),(82036,0,'SAG',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82037,0,'Test',NULL,'http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82038,0,'Battle',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-02-01 11:21:50'),(82039,1,'Everyday',NULL,'http://common.cnblogs.com/images/icon_weibo_24.png',NULL,NULL,'2017-02-19 13:57:56'),(82040,1,'Dream',NULL,'/storage/emulated/0/output_image.jpg','[70793]',NULL,'2017-03-02 16:44:26'),(82041,0,'Holo',NULL,'/storage/emulated/0/output_image.jpg','[38710, 82001]',NULL,'2017-03-04 09:59:34'),(82042,1,'Why',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-03-04 10:04:33'),(82043,0,'Holiday',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000','[70793, 82006]',NULL,'2017-03-04 10:05:04'),(82044,1,'Love',NULL,'http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000','[82006]',NULL,'2017-03-04 10:20:27'),(82045,0,'Green',NULL,'http://common.cnblogs.com/images/wechat.png','[82001, 82002, 82003, 1485246481130]',NULL,'2017-03-04 10:22:39'),(82046,0,'Team',NULL,'/storage/emulated/0/output_image.jpg','[38710, 82002, 1485246481130]',NULL,'2017-03-04 15:11:17'),(82047,0,'Tesla',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-03-04 16:02:05'),(82048,0,'Moto',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-03-04 16:04:02'),(82049,0,'ITMan',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-03-05 09:51:51'),(82050,0,'Parl',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-03-05 09:52:52'),(82051,0,'Girl',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-03-05 09:53:37'),(82052,0,'Unbrella',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-03-05 09:57:54'),(82053,0,'Alice',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-03-05 15:25:42'),(82054,0,'Harvey',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg',NULL,NULL,'2017-03-06 12:29:03'),(82055,1,'Solid',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg','[38710, 82002]',NULL,'2017-03-11 15:04:00'),(82056,1,'IronMan',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-03-11 15:32:25'),(82057,0,'NullPointerExeption',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-03-12 06:01:23'),(82058,0,'StupidBird',NULL,'/storage/emulated/0/zblibrary.demo/image/output_image1489317829932.jpg','[82001, 82002]',NULL,'2017-03-12 11:23:04'),(82059,1,'He&She',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-03-19 14:49:15'),(82060,1,'Anyway~',NULL,'http://static.oschina.net/uploads/user/1/3064_50.jpg?t=1449566001000',NULL,NULL,'2017-03-21 14:10:18'),(90814,0,'007',NULL,'http://static.oschina.net/uploads/user/51/102723_50.jpg?t=1449212504000',NULL,NULL,'2017-02-01 11:21:50'),(93793,0,'Mike','GES','http://static.oschina.net/uploads/user/48/96331_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(93794,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/48/97721_50.jpg?t=1451544779000',NULL,NULL,'2017-02-01 11:21:50'),(1490109742863,1,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-21 15:22:22'),(1490109845208,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-21 15:24:05'),(1490420651686,1,'APIJSONUser',NULL,NULL,'[70793]',NULL,'2017-03-25 05:44:11'),(1490427139175,0,'APIJSONUser',NULL,NULL,'[38710, 70793]',NULL,'2017-03-25 07:32:19'),(1490427577823,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-25 07:39:37'),(1490584952968,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-27 03:22:32'),(1490973670928,1,'APIJSONUser',NULL,'/storage/emulated/0/zblibrary.demo/image/output_image1490974049707.jpg','[70793, 93793]',NULL,'2017-03-31 15:21:10'),(1492936169722,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-04-23 08:29:29'),(1493480142628,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-04-29 15:35:42'),(1493747512860,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 17:51:52'),(1493747777770,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 17:56:17'),(1493748594003,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:09:54'),(1493748615711,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:10:15'),(1493749090643,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:18:10'),(1493836043151,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-03 18:27:23'),(1493883110132,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 07:31:50'),(1493890214167,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 09:30:14'),(1493890303473,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 09:31:43'),(1493890303474,0,'Test Post',NULL,NULL,NULL,NULL,'2017-06-12 15:50:44'),(1493890303475,0,'Test Post',NULL,NULL,NULL,NULL,'2017-06-12 15:51:23'),(1497792972314,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-06-18 13:36:12'),(1497792972315,0,'一二三',NULL,NULL,NULL,NULL,'2017-06-25 10:42:33'),(1499057230629,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-07-03 04:47:10'),(1500825221910,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-07-23 15:53:41'),(1502638023483,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-08-13 15:27:03'),(1502639062900,0,'TESLA',NULL,NULL,NULL,NULL,'2017-08-13 15:44:22'),(1502639424119,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-08-13 15:50:24'); +INSERT INTO `apijson_user` VALUES (38710,0,'TommyLemon','Android&Java','http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000','[82003, 82005, 90814, 82004, 82009, 82002, 82044, 93793, 70793]','[\"http://static.oschina.net/uploads/user/1218/2437072_100.jpg?t=1461076033000\", \"http://common.cnblogs.com/images/icon_weibo_24.png\"]','2017-02-01 11:21:50'),(70793,0,'Strong','djdj','http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000','[38710, 82002]','[\"http://static.oschina.net/uploads/img/201604/22172508_eGDi.jpg\", \"http://static.oschina.net/uploads/img/201604/22172507_rrZ5.jpg\", \"https://camo.githubusercontent.com/788c0a7e11a\", \"https://camo.githubusercontent.com/f513f67\"]','2017-02-01 11:21:50'),(82001,0,'Android','APIJSON User','http://static.oschina.net/uploads/user/19/39085_50.jpg','[82004, 82021, 82023, 82025, 82039, 82027, 82002, 70793]','[\"http://common.cnblogs.com/images/icon_weibo_24.png\"]','2017-02-01 11:21:50'),(82002,1,'Happy~','iOS','http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000','[82005, 82001, 38710]',NULL,'2017-02-01 11:21:50'),(82003,1,'Wechat',NULL,'http://common.cnblogs.com/images/wechat.png','[82001, 93793]',NULL,'2017-02-01 11:21:50'),(82004,0,'Tommy','fasef','http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82005,1,'Jan','AG','http://my.oschina.net/img/portrait.gif?t=1451961935000','[82001, 38710]',NULL,'2017-02-01 11:21:50'),(82006,1,'Meria',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-02-01 11:21:50'),(82012,0,'Steve','FEWE','http://static.oschina.net/uploads/user/1/3064_50.jpg?t=1449566001000','[82004, 82002, 93793]',NULL,'2017-02-01 11:21:50'),(82020,0,'ORANGE',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-02-01 11:21:50'),(82021,1,'Tommy',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(82022,0,'Internet',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82023,0,'No1',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-02-01 11:21:50'),(82024,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/427/855532_50.jpg?t=1435030876000',NULL,NULL,'2017-02-01 11:21:50'),(82025,1,'Tommy',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-02-01 11:21:50'),(82026,0,'iOS',NULL,'http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82027,0,'Yong',NULL,'http://my.oschina.net/img/portrait.gif?t=1451961935000',NULL,NULL,'2017-02-01 11:21:50'),(82028,1,'gaeg',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-02-01 11:21:50'),(82029,0,'GASG',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-02-01 11:21:50'),(82030,1,'Fun',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-02-01 11:21:50'),(82031,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/48/96331_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(82032,0,'Stack','fasdg','http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-02-01 11:21:50'),(82033,1,'GAS',NULL,'http://my.oschina.net/img/portrait.gif?t=1451961935000',NULL,NULL,'2017-02-01 11:21:50'),(82034,1,'Jump',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82035,1,'Tab',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-02-01 11:21:50'),(82036,0,'SAG',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-02-01 11:21:50'),(82037,0,'Test',NULL,'http://static.oschina.net/uploads/user/1200/2400261_50.png?t=1439638750000',NULL,NULL,'2017-02-01 11:21:50'),(82038,0,'Battle',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-02-01 11:21:50'),(82039,1,'Everyday',NULL,'http://common.cnblogs.com/images/icon_weibo_24.png',NULL,NULL,'2017-02-19 13:57:56'),(82040,1,'Dream',NULL,'/storage/emulated/0/output_image.jpg','[70793]',NULL,'2017-03-02 16:44:26'),(82041,0,'Holo',NULL,'/storage/emulated/0/output_image.jpg','[38710, 82001]',NULL,'2017-03-04 09:59:34'),(82042,1,'Why',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-03-04 10:04:33'),(82043,0,'Holiday',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000','[70793, 82006]',NULL,'2017-03-04 10:05:04'),(82044,1,'Love',NULL,'http://static.oschina.net/uploads/user/1174/2348263_50.png?t=1439773471000','[82006]',NULL,'2017-03-04 10:20:27'),(82045,0,'Green',NULL,'http://common.cnblogs.com/images/wechat.png','[82001, 82002, 82003, 1485246481130]',NULL,'2017-03-04 10:22:39'),(82046,0,'Team',NULL,'/storage/emulated/0/output_image.jpg','[38710, 82002, 1485246481130]',NULL,'2017-03-04 15:11:17'),(82047,0,'Tesla',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-03-04 16:02:05'),(82048,0,'Moto',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-03-04 16:04:02'),(82049,0,'ITMan',NULL,'http://static.oschina.net/uploads/user/629/1258821_50.jpg?t=1378063141000',NULL,NULL,'2017-03-05 09:51:51'),(82050,0,'Parl',NULL,'http://static.oschina.net/uploads/user/998/1997902_50.jpg?t=1407806577000',NULL,NULL,'2017-03-05 09:52:52'),(82051,0,'Girl',NULL,'http://static.oschina.net/uploads/user/1332/2664107_50.jpg?t=1457405500000',NULL,NULL,'2017-03-05 09:53:37'),(82052,0,'Unbrella',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-03-05 09:57:54'),(82053,0,'Alice',NULL,'http://common.cnblogs.com/images/wechat.png',NULL,NULL,'2017-03-05 15:25:42'),(82054,0,'Harvey',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg',NULL,NULL,'2017-03-06 12:29:03'),(82055,1,'Solid',NULL,'http://static.oschina.net/uploads/user/19/39085_50.jpg','[38710, 82002]',NULL,'2017-03-11 15:04:00'),(82056,1,'IronMan',NULL,'http://static.oschina.net/uploads/user/48/96289_50.jpg?t=1452751699000',NULL,NULL,'2017-03-11 15:32:25'),(82057,0,'NullPointerExeption',NULL,'http://static.oschina.net/uploads/user/1385/2770216_50.jpg?t=1464405516000',NULL,NULL,'2017-03-12 06:01:23'),(82058,0,'StupidBird',NULL,'/storage/emulated/0/zblibrary.demo/image/output_image1489317829932.jpg','[82001, 82002]',NULL,'2017-03-12 11:23:04'),(82059,1,'He&She',NULL,'http://static.oschina.net/uploads/user/585/1170143_50.jpg?t=1390226446000',NULL,NULL,'2017-03-19 14:49:15'),(82060,1,'Anyway~',NULL,'http://static.oschina.net/uploads/user/1/3064_50.jpg?t=1449566001000',NULL,NULL,'2017-03-21 14:10:18'),(90814,0,'007',NULL,'http://static.oschina.net/uploads/user/51/102723_50.jpg?t=1449212504000',NULL,NULL,'2017-02-01 11:21:50'),(93793,0,'Mike','GES','http://static.oschina.net/uploads/user/48/96331_50.jpg',NULL,NULL,'2017-02-01 11:21:50'),(93794,0,'Lemon',NULL,'http://static.oschina.net/uploads/user/48/97721_50.jpg?t=1451544779000',NULL,NULL,'2017-02-01 11:21:50'),(1490109742863,1,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-21 15:22:22'),(1490109845208,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-21 15:24:05'),(1490420651686,1,'APIJSONUser',NULL,NULL,'[70793]',NULL,'2017-03-25 05:44:11'),(1490427139175,0,'APIJSONUser',NULL,NULL,'[38710, 70793]',NULL,'2017-03-25 07:32:19'),(1490427577823,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-25 07:39:37'),(1490584952968,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-03-27 03:22:32'),(1490973670928,1,'APIJSONUser',NULL,'/storage/emulated/0/zblibrary.demo/image/output_image1490974049707.jpg','[70793, 93793]',NULL,'2017-03-31 15:21:10'),(1492936169722,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-04-23 08:29:29'),(1493480142628,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-04-29 15:35:42'),(1493747512860,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 17:51:52'),(1493747777770,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 17:56:17'),(1493748594003,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:09:54'),(1493748615711,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:10:15'),(1493749090643,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-02 18:18:10'),(1493836043151,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-03 18:27:23'),(1493883110132,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 07:31:50'),(1493890214167,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 09:30:14'),(1493890303473,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-05-04 09:31:43'),(1493890303474,0,'Test Post',NULL,NULL,NULL,NULL,'2017-06-12 15:50:44'),(1493890303475,0,'Test Post',NULL,NULL,NULL,NULL,'2017-06-12 15:51:23'),(1497792972314,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-06-18 13:36:12'),(1497792972315,0,'一二三',NULL,NULL,NULL,NULL,'2017-06-25 10:42:33'),(1499057230629,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-07-03 04:47:10'),(1500825221910,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-07-23 15:53:41'),(1502638023483,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-08-13 15:27:03'),(1502639062900,0,'TESLA',NULL,NULL,NULL,NULL,'2017-08-13 15:44:22'),(1502639424119,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-08-13 15:50:24'),(1507220582167,0,'APIJSONUser',NULL,NULL,NULL,NULL,'2017-10-05 16:23:02'); /*!40000 ALTER TABLE `apijson_user` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -54,4 +54,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-08-14 0:39:43 +-- Dump completed on 2017-10-06 0:48:41 From 44f4da6fe655fe18ba5f1eaf2138adf551a4e9c7 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Fri, 6 Oct 2017 01:03:39 +0800 Subject: [PATCH 174/219] =?UTF-8?q?table:=E5=AE=8C=E5=96=84=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- table/sys_Comment.sql | 14 +++++++------- table/sys_Login.sql | 10 +++++----- table/sys_Moment.sql | 14 +++++++------- table/sys_Pair.sql | 2 +- table/sys_Praise.sql | 6 +++--- table/sys_Request.sql | 12 ++++++------ table/sys_Response.sql | 14 +++++++------- table/sys_Test.sql | 4 ++-- table/sys_Verify.sql | 8 ++++---- table/sys__Statistics.sql | 2 +- table/sys__Visit.sql | 2 +- table/sys_apijson_privacy.sql | 12 ++++++------ table/sys_apijson_user.sql | 16 ++++++++-------- 13 files changed, 58 insertions(+), 58 deletions(-) diff --git a/table/sys_Comment.sql b/table/sys_Comment.sql index 783d9405f..142197dd9 100644 --- a/table/sys_Comment.sql +++ b/table/sys_Comment.sql @@ -23,12 +23,12 @@ DROP TABLE IF EXISTS `Comment`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Comment` ( - `id` bigint(15) NOT NULL, - `toId` bigint(15) DEFAULT NULL, - `userId` bigint(15) NOT NULL, - `momentId` bigint(15) NOT NULL, - `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `content` varchar(1000) NOT NULL, + `id` bigint(15) NOT NULL COMMENT '唯一标识', + `toId` bigint(15) DEFAULT NULL COMMENT '被回复的id', + `userId` bigint(15) NOT NULL COMMENT '评论人id', + `momentId` bigint(15) NOT NULL COMMENT '动态id', + `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期', + `content` varchar(1000) NOT NULL COMMENT '内容', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:34 diff --git a/table/sys_Login.sql b/table/sys_Login.sql index a0a77ddeb..5a003b1f6 100644 --- a/table/sys_Login.sql +++ b/table/sys_Login.sql @@ -23,10 +23,10 @@ DROP TABLE IF EXISTS `Login`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Login` ( - `id` bigint(10) NOT NULL AUTO_INCREMENT, - `userId` bigint(15) NOT NULL, - `type` tinyint(1) NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '唯一标识', + `userId` bigint(15) NOT NULL COMMENT '用户id', + `type` tinyint(1) NOT NULL COMMENT '类型\n0-密码登录\n1-验证码登录', + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1493891806373 DEFAULT CHARSET=utf8 COMMENT='@deprecated,登录信息存session'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -50,4 +50,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:42 +-- Dump completed on 2017-10-06 1:02:35 diff --git a/table/sys_Moment.sql b/table/sys_Moment.sql index 6bfcb55d7..ff88b2b7f 100644 --- a/table/sys_Moment.sql +++ b/table/sys_Moment.sql @@ -23,12 +23,12 @@ DROP TABLE IF EXISTS `Moment`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Moment` ( - `id` bigint(15) NOT NULL, - `userId` int(5) NOT NULL, - `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `content` varchar(300) DEFAULT NULL, - `praiseUserIdList` json DEFAULT NULL, - `pictureList` json DEFAULT NULL, + `id` bigint(15) NOT NULL COMMENT '唯一标识', + `userId` int(5) NOT NULL COMMENT '用户id', + `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期', + `content` varchar(300) DEFAULT NULL COMMENT '内容', + `praiseUserIdList` json DEFAULT NULL COMMENT '点赞的用户id列表', + `pictureList` json DEFAULT NULL COMMENT '图片列表', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:35 diff --git a/table/sys_Pair.sql b/table/sys_Pair.sql index 75fa74d4e..58345c1cc 100644 --- a/table/sys_Pair.sql +++ b/table/sys_Pair.sql @@ -49,4 +49,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:42 +-- Dump completed on 2017-10-06 1:02:35 diff --git a/table/sys_Praise.sql b/table/sys_Praise.sql index 6d380c1d2..358da937d 100644 --- a/table/sys_Praise.sql +++ b/table/sys_Praise.sql @@ -23,8 +23,8 @@ DROP TABLE IF EXISTS `Praise`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Praise` ( - `id` bigint(15) NOT NULL, - `userIdList` json NOT NULL, + `id` bigint(15) NOT NULL COMMENT '唯一标识', + `userIdList` json NOT NULL COMMENT '用户id列表', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='如果对Moment写安全要求高,可以将Moment内praiserUserIdList分离到Praise表中,作为userIdList。\n权限注解也改下:\n@MethodAccess(\n PUT = {OWNER, ADMIN}\n )\nclass Moment {\n …\n}\n\n@MethodAccess(\n PUT = {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN}\n )\n class Praise {\n …\n }\n'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -48,4 +48,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:42 +-- Dump completed on 2017-10-06 1:02:35 diff --git a/table/sys_Request.sql b/table/sys_Request.sql index ca52329a7..66d884fa6 100644 --- a/table/sys_Request.sql +++ b/table/sys_Request.sql @@ -23,13 +23,13 @@ DROP TABLE IF EXISTS `Request`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Request` ( - `id` int(11) NOT NULL AUTO_INCREMENT, + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '唯一标识', `version` tinyint(4) DEFAULT '0' COMMENT 'GET,HEAD可用任意结构访问任意开放内容,不需要这个字段。\n其它的操作因为写入了结构和内容,所以都需要,按照不同的version选择对应的structure。\n\n自动化版本管理:\nRequest JSON最外层可以传 “version”:Integer 。\n1.未传或 <= 0,用最新版。 “@order”:”version-“\n2.已传且 > 0,用version以上的可用版本的最低版本。 “@order”:”version+”, “version{}”:”>={version}”', - `tag` varchar(20) NOT NULL, + `tag` varchar(20) NOT NULL COMMENT '标签', `method` varchar(10) DEFAULT 'GET' COMMENT '只限于GET,HEAD外的操作方法。', - `structure` json NOT NULL, - `description` varchar(10000) DEFAULT NULL, - `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `structure` json NOT NULL COMMENT '结构', + `description` varchar(10000) DEFAULT NULL COMMENT '描述', + `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COMMENT='最好编辑完后删除主键,这样就是只读状态,不能随意更改。需要更改就重新加上主键。\n\n每次启动服务器时加载整个表到内存。\n这个表不可省略,model内注解的权限只是客户端能用的,其它可以保证即便服务端代码错误时也不会误删数据。'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -53,4 +53,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:34 diff --git a/table/sys_Response.sql b/table/sys_Response.sql index 2c7877abe..d9bd31ffb 100644 --- a/table/sys_Response.sql +++ b/table/sys_Response.sql @@ -23,12 +23,12 @@ DROP TABLE IF EXISTS `Response`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Response` ( - `id` int(11) NOT NULL, - `method` varchar(10) DEFAULT 'GET', - `model` varchar(20) NOT NULL, - `structure` json NOT NULL, - `description` varchar(10000) DEFAULT NULL, - `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `id` int(11) NOT NULL COMMENT '唯一标识', + `method` varchar(10) DEFAULT 'GET' COMMENT '方法', + `model` varchar(20) NOT NULL COMMENT '表名,table是SQL关键词不能用', + `structure` json NOT NULL COMMENT '结构', + `description` varchar(10000) DEFAULT NULL COMMENT '描述', + `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期', PRIMARY KEY (`id`), UNIQUE KEY `id_UNIQUE` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='每次启动服务器时加载整个表到内存。'; @@ -53,4 +53,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:42 +-- Dump completed on 2017-10-06 1:02:35 diff --git a/table/sys_Test.sql b/table/sys_Test.sql index fe7decaf0..768337670 100644 --- a/table/sys_Test.sql +++ b/table/sys_Test.sql @@ -25,7 +25,7 @@ DROP TABLE IF EXISTS `Test`; CREATE TABLE `Test` ( `id` tinyint(2) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试及验证用的表,可以用 SELECT condition替代 SELECT * FROM Test WHERE condition,这样就不需要这张表了'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -47,4 +47,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:35 diff --git a/table/sys_Verify.sql b/table/sys_Verify.sql index 73ea61156..f9aefb08e 100644 --- a/table/sys_Verify.sql +++ b/table/sys_Verify.sql @@ -23,10 +23,10 @@ DROP TABLE IF EXISTS `Verify`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Verify` ( - `id` bigint(15) NOT NULL COMMENT '一般存phone', + `id` bigint(15) NOT NULL COMMENT '唯一标识,一般存phone', `type` int(2) NOT NULL DEFAULT '0' COMMENT '类型:\n0-登录\n1-注册\n2-修改登录密码\n3-修改支付密码', - `verify` int(6) NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `verify` int(6) NOT NULL COMMENT '验证码', + `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; @@ -50,4 +50,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:34 diff --git a/table/sys__Statistics.sql b/table/sys__Statistics.sql index 403d88946..b270012c6 100644 --- a/table/sys__Statistics.sql +++ b/table/sys__Statistics.sql @@ -54,4 +54,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:35 diff --git a/table/sys__Visit.sql b/table/sys__Visit.sql index f152d20ce..a15479e78 100644 --- a/table/sys__Visit.sql +++ b/table/sys__Visit.sql @@ -48,4 +48,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:34 diff --git a/table/sys_apijson_privacy.sql b/table/sys_apijson_privacy.sql index 3143fe6f7..6892eb935 100644 --- a/table/sys_apijson_privacy.sql +++ b/table/sys_apijson_privacy.sql @@ -23,12 +23,12 @@ DROP TABLE IF EXISTS `apijson_privacy`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `apijson_privacy` ( - `id` bigint(20) NOT NULL, - `certified` tinyint(1) NOT NULL DEFAULT '0', + `id` bigint(20) NOT NULL COMMENT '唯一标识', + `certified` tinyint(1) NOT NULL DEFAULT '0' COMMENT '已认证', `phone` bigint(11) NOT NULL COMMENT '手机号,仅支持 11 位数的。不支持 +86 这种国家地区开头的。如果要支持就改为 VARCHAR(14)', - `balance` decimal(10,2) NOT NULL DEFAULT '0.00', - `_password` varchar(20) NOT NULL, - `_payPassword` int(6) DEFAULT NULL, + `balance` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '余额', + `_password` varchar(20) NOT NULL COMMENT '登录密码', + `_payPassword` int(6) DEFAULT NULL COMMENT '支付密码', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户隐私信息表。对安全要求高,不想泄漏真实名称。对外名称为 Privacy'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -52,4 +52,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:34 diff --git a/table/sys_apijson_user.sql b/table/sys_apijson_user.sql index cee205c91..df928f6c0 100644 --- a/table/sys_apijson_user.sql +++ b/table/sys_apijson_user.sql @@ -23,14 +23,14 @@ DROP TABLE IF EXISTS `apijson_user`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `apijson_user` ( - `id` bigint(15) NOT NULL AUTO_INCREMENT, - `sex` tinyint(2) NOT NULL DEFAULT '0', - `name` varchar(20) DEFAULT NULL, - `tag` varchar(45) DEFAULT NULL, - `head` varchar(300) DEFAULT NULL, + `id` bigint(15) NOT NULL AUTO_INCREMENT COMMENT '唯一标识', + `sex` tinyint(2) NOT NULL DEFAULT '0' COMMENT '性别:\n0-男\n1-女', + `name` varchar(20) DEFAULT NULL COMMENT '名称', + `tag` varchar(45) DEFAULT NULL COMMENT '标签', + `head` varchar(300) DEFAULT NULL COMMENT '头像url', `contactIdList` json DEFAULT NULL COMMENT '联系人id列表', - `pictureList` json DEFAULT NULL, - `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `pictureList` json DEFAULT NULL COMMENT '照片列表', + `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1507220582168 DEFAULT CHARSET=utf8 COMMENT='对安全要求高,不想泄漏真实名称。对外名称为 User'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -54,4 +54,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-06 0:48:41 +-- Dump completed on 2017-10-06 1:02:34 From 4aafe00184dbfd8d12fd8f1f4680d8e233ce8172 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Fri, 6 Oct 2017 01:10:18 +0800 Subject: [PATCH 175/219] =?UTF-8?q?JS:POST=5FGET=E6=94=B9=E4=B8=BAGETS,POS?= =?UTF-8?q?T=5FHEAD=E6=94=B9=E4=B8=BAHEADS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APIJSON-JavaScript/RequestUtil.js | 4 ++-- APIJSON-JavaScript/access_error.html | 2 +- APIJSON-JavaScript/access_permitted.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/APIJSON-JavaScript/RequestUtil.js b/APIJSON-JavaScript/RequestUtil.js index 66d4861f1..627d09aab 100644 --- a/APIJSON-JavaScript/RequestUtil.js +++ b/APIJSON-JavaScript/RequestUtil.js @@ -6,8 +6,8 @@ const TAG_REQUEST_UTIL = 'RequestUtil'; const URL_BASE = "http://139.196.140.118:8080"; // 基地址 const URL_GET = URL_BASE + "/get"; // 常规获取数据方式 const URL_HEAD = URL_BASE + "/head"; // 检查,默认是非空检查,返回数据总数 -const URL_POST_GET = URL_BASE + "/post_get"; // 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 -const URL_POST_HEAD = URL_BASE + "/post_head"; // 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 +const URL_GETS = URL_BASE + "/gets"; // 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 +const URL_HEADS = URL_BASE + "/heads"; // 通过POST来HEAD数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 const URL_POST = URL_BASE + "/post"; // 新增(或者说插入)数据 const URL_PUT = URL_BASE + "/put"; // 修改数据,只修改传入字段对应的值 const URL_DELETE = URL_BASE + "/delete"; // 删除数据 diff --git a/APIJSON-JavaScript/access_error.html b/APIJSON-JavaScript/access_error.html index e566d0f8d..be5b49558 100755 --- a/APIJSON-JavaScript/access_error.html +++ b/APIJSON-JavaScript/access_error.html @@ -13,7 +13,7 @@ } }; - request(URL_POST_GET, json); + request(URL_GETS, json); diff --git a/APIJSON-JavaScript/access_permitted.html b/APIJSON-JavaScript/access_permitted.html index 0025e705a..cfa99c91f 100644 --- a/APIJSON-JavaScript/access_permitted.html +++ b/APIJSON-JavaScript/access_permitted.html @@ -14,7 +14,7 @@ } }; - request(URL_POST_GET, json); + request(URL_GETS, json); From e0ed1ec0b1fea14a637cd4732430febe3d1a1ae0 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Fri, 6 Oct 2017 01:11:12 +0800 Subject: [PATCH 176/219] =?UTF-8?q?JS:=E5=88=A0=E9=99=A4.idea=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E4=B8=8B=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APIJSON-JavaScript/.idea/Demo.iml | 12 - APIJSON-JavaScript/.idea/modules.xml | 8 - APIJSON-JavaScript/.idea/workspace.xml | 330 ------------------------- 3 files changed, 350 deletions(-) delete mode 100644 APIJSON-JavaScript/.idea/Demo.iml delete mode 100644 APIJSON-JavaScript/.idea/modules.xml delete mode 100644 APIJSON-JavaScript/.idea/workspace.xml diff --git a/APIJSON-JavaScript/.idea/Demo.iml b/APIJSON-JavaScript/.idea/Demo.iml deleted file mode 100644 index 24643cc37..000000000 --- a/APIJSON-JavaScript/.idea/Demo.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/APIJSON-JavaScript/.idea/modules.xml b/APIJSON-JavaScript/.idea/modules.xml deleted file mode 100644 index dc59b4c77..000000000 --- a/APIJSON-JavaScript/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/APIJSON-JavaScript/.idea/workspace.xml b/APIJSON-JavaScript/.idea/workspace.xml deleted file mode 100644 index ecf1dd180..000000000 --- a/APIJSON-JavaScript/.idea/workspace.xml +++ /dev/null @@ -1,330 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - true - DEFINITION_ORDER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - project - - - - - - - - - - - - - - - - project - - - true - - - - DIRECTORY - - false - - - - - - - - - 1494182410682 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From b67800b52087d697f6cc95c6fb5f773ffa2cd925 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Fri, 6 Oct 2017 01:16:27 +0800 Subject: [PATCH 177/219] =?UTF-8?q?JS:=E5=BF=BD=E7=95=A5.idea=E7=9B=AE?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 0a131d0fb..5fef19ddc 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ APIJSON-Android/APIJSON-ADT/APIJSONLibrary/gen APIJSON-Android/APIJSON-ADT/APIJSONTest/bin APIJSON-Android/APIJSON-ADT/APIJSONTest/gen APIJSON-Android/APIJSON-AndroidStudio/APIJSONApp/.idea +APIJSON-JavaScript/.idea From 3559ec9f86c45dae82a78c293d76b67fe8ed2a67 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 7 Oct 2017 15:11:55 +0800 Subject: [PATCH 178/219] =?UTF-8?q?Server:=E4=BC=98=E5=8C=96=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2ResultSet=E4=B8=AD=E7=9A=84=E5=AD=97=E6=AE=B5=E5=A4=84?= =?UTF-8?q?=E7=90=86=EF=BC=8C=E6=8F=90=E9=AB=98=E6=80=A7=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=5Fkey:alias=E6=BC=8F=E6=B4=9E=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A@column=E4=B8=AD=E7=9A=84AS=E5=92=8C=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biao/apijson/server/sql/SQLExecutor.java | 93 ++++++------------- 1 file changed, 30 insertions(+), 63 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index 37bfd998f..1eff50998 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -18,12 +18,11 @@ import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; +import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Timestamp; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; @@ -32,7 +31,6 @@ import zuo.biao.apijson.JSONResponse; import zuo.biao.apijson.Log; import zuo.biao.apijson.StringUtil; -import zuo.biao.apijson.server.Pair; import zuo.biao.apijson.server.Parser; /**executor for query(read) or update(write) MySQL database @@ -215,11 +213,6 @@ public JSONObject execute(SQLConfig config) throws Exception { return result; } - String[] columnArray = getColumnArray(config); - if (columnArray == null || columnArray.length <= 0) { - return null; - } - rs = statement.executeQuery(sql); // final boolean cache = config.getCount() != 1; @@ -227,57 +220,43 @@ public JSONObject execute(SQLConfig config) throws Exception { // Log.d(TAG, "select cache = " + cache + "; resultMap" + (resultMap == null ? "=" : "!=") + "null"); int index = -1; + + ResultSetMetaData rsmd = rs.getMetaData(); + final int length = rsmd.getColumnCount(); + while (rs.next()){ index ++; Log.d(TAG, "\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n select while (rs.next()){ index = " + index + "\n\n"); result = new JSONObject(true); Object value; - Object json; - for (int i = 0; i < columnArray.length; i++) { - if (columnArray[i] == null || columnArray[i].isEmpty() || columnArray[i].startsWith("_")) { + + for (int i = 1; i <= length; i++) { + if (rsmd.getColumnName(i).startsWith("_")) { Log.i(TAG, "select while (rs.next()){ ..." - + " >> columnArray[i] == " + columnArray[i] - + " >> continue;"); + + " >> rsmd.getColumnName(i).startsWith(_) >> continue;"); continue; - }//允许 key:_alias, 但不允许_key, _key:alias - columnArray[i] = Pair.parseEntry(columnArray[i]).getValue(); - try { - value = rs.getObject(rs.findColumn(columnArray[i])); - } catch (Exception e) { - value = null; - Log.i(TAG, "select while (rs.next()){ ..." - + " >> try { value = rs.getObject(rs.findColumn(columnArray[i])); ..." - + " >> } catch (Exception e) {"); - e.printStackTrace(); } - // if (value == null) { - // Log.i(TAG, "select while (rs.next()){ ..." + " >> value == null >> continue;"); - // continue; - // } + + value = rs.getObject(i); + // Log.d(TAG, "name:" + rsmd.getColumnName(i)); + // Log.d(TAG, "lable:" + rsmd.getColumnLabel(i)); + // Log.d(TAG, "type:" + rsmd.getColumnType(i)); + // Log.d(TAG, "typeName:" + rsmd.getColumnTypeName(i)); - // Log.i(TAG, "select while (rs.next()) { >> for (int i = 0; i < columnArray.length; i++) {" - // + "\n >>> columnArray[i]) = " + columnArray[i] + "; value = " + value); + // Log.i(TAG, "select while (rs.next()) { >> for (int i = 0; i < length; i++) {" + // + "\n >>> value = " + value); if (value != null) { //数据库查出来的null和empty值都有意义,去掉会导致 Moment:{ @column:"content" } 部分无结果及中断数组查询! if (value instanceof Timestamp) { value = ((Timestamp) value).toString(); } - else if (value instanceof String) { - try { - json = JSON.parse((String) value); - if (json != null && json instanceof JSON && StringUtil.isNotEmpty(json, true)) { - value = json; - } - } catch (Exception e) { - //太长 Log.i(TAG, "select while (rs.next()){ >> i = " - // + i + " try { json = JSON.parse((String) value);" - // + ">> } catch (Exception e) {\n" + e.getMessage()); - } + else if (value instanceof String && isJSONType(rsmd, i)) { //json String + value = JSON.parse((String) value); } } - result.put(columnArray[i], value); + result.put(rsmd.getColumnLabel(i), value); } resultMap.put(index, result); @@ -296,31 +275,19 @@ else if (value instanceof String) { return resultMap.get(position); } - - /**获取要查询的字段名数组 - * @param config + /**判断是否为JSON类型 + * @param rsmd + * @param position * @return - * @throws SQLException */ - private String[] getColumnArray(SQLConfig config) throws SQLException { - if (config == null) { - return null; - } - String column = config.getColumn(); - if (StringUtil.isNotEmpty(column, true)) { - return StringUtil.split(column);//column.contains(",") ? column.split(",") : new String[]{column}; - } - - List list = new ArrayList(); - String table = config.getSQLTable(); - ResultSet rs = metaData.getColumns(config.getSchema(), null, table, "%"); - while (rs.next()) { - Log.i(TAG, rs.getString(4)); - list.add(rs.getString(4)); + private boolean isJSONType(ResultSetMetaData rsmd, int position) { + try { + return rsmd.getColumnType(position) == 1 || rsmd.getColumnTypeName(position).toLowerCase().contains("json"); + } catch (SQLException e) { + e.printStackTrace(); } - rs.close(); - - return list.toArray(new String[]{}); + return false; } + } From 0c9928cf4af040d9f8691820739034cb96a59235 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 7 Oct 2017 16:39:57 +0800 Subject: [PATCH 179/219] =?UTF-8?q?Server:=E4=BC=98=E5=8C=96WHERE=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E8=BF=9E=E6=8E=A5=EF=BC=8C=E9=98=B2SQL=E6=B3=A8?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biao/apijson/server/sql/SQLConfig.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index 2cff551d1..04a770ea5 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -531,7 +531,7 @@ public static String getWhereString(RequestMethod method, Map wh continue; } - whereString += (isFirst ? "" : AND) + condition; + whereString += (isFirst ? "" : AND) + "(" + condition + ")"; isFirst = false; } @@ -639,7 +639,7 @@ public static String getSearchString(String key, Object[] values, int type) thro condition += (i <= 0 ? "" : (Logic.isAnd(type) ? AND : OR)) + getLikeString(key, values[i]); } - return (Logic.isNot(type) ? NOT : "") + "(" + condition + ")"; + return getCondition(Logic.isNot(type), condition); } /**WHERE key LIKE 'value' @@ -693,7 +693,7 @@ public static String getRegExpString(String key, Object[] values, int type) thro condition += (i <= 0 ? "" : (Logic.isAnd(type) ? AND : OR)) + getRegExpString(key, (String) values[i]); } - return (Logic.isNot(type) ? NOT : "") + "(" + condition + ")"; + return getCondition(Logic.isNot(type), condition); } /**WHERE key REGEXP 'value' @@ -747,8 +747,7 @@ public static String getRangeString(String key, Object range) throws Exception { if (condition.isEmpty()) { return ""; } - condition = "(" + condition + ")"; - return logic.isNot() ? NOT + condition : condition; + return getCondition(logic.isNot(), condition); } throw new IllegalArgumentException(key + "{}:range 类型为" + range.getClass().getSimpleName() @@ -770,7 +769,7 @@ public static String getInString(String key, Object[] in, boolean not) throws No throw new NotExistException(TAG + ".getInString(" + key + ", [], " + not + ") >> condition.isEmpty() >> IN()"); } - return (not ? NOT : "") + " IN " + "(" + condition + ")"; + return (not ? NOT : "") + " IN (" + condition + ")"; } //{} range >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -814,7 +813,7 @@ public static String getContainString(String key, Object[] childs, int type) thr childs[i] = "\"" + childs[i] + "\""; } condition += (i <= 0 ? "" : (Logic.isAnd(type) ? AND : OR)) - + getSearchString( + + "(" + getSearchString( key , new String[]{ "[" + childs[i] + "]", //全等 @@ -823,7 +822,7 @@ public static String getContainString(String key, Object[] childs, int type) thr "%, " + childs[i] + "]" //末尾 } , Logic.TYPE_OR - ); + ) + ")"; } } if (condition.isEmpty()) { @@ -833,10 +832,19 @@ public static String getContainString(String key, Object[] childs, int type) thr if (condition.isEmpty()) { return ""; } - return (Logic.isNot(type) ? NOT : "") + "(" + condition + ")"; + return getCondition(Logic.isNot(type), condition); } //<> contain >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + /**拼接条件 + * @param not + * @param condition + * @return + */ + private static String getCondition(boolean not, String condition) { + return not ? NOT + "(" + condition + ")" : condition; + } + /**转为JSONArray * @param tv From 3da868473fbd55d08890a0ae01e42500e5bbe522 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 7 Oct 2017 21:37:31 +0800 Subject: [PATCH 180/219] =?UTF-8?q?Server:=E6=96=B0=E5=A2=9ETable-key1-key?= =?UTF-8?q?2...[]=E5=8F=96=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/zuo/biao/apijson/StringUtil.java | 22 +++++++++--- .../java/zuo/biao/apijson/server/Parser.java | 35 ++++++++++++++++--- 2 files changed, 47 insertions(+), 10 deletions(-) diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/StringUtil.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/StringUtil.java index 205d6436f..b219b430a 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/StringUtil.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/StringUtil.java @@ -737,11 +737,21 @@ public static String[] split(String s) { return split(s, null); } /**将s用split分割成String[] + * trim = true; * @param s * @param split * @return */ public static String[] split(String s, String split) { + return split(s, split, true); + } + /**将s用split分割成String[] + * @param s + * @param split + * @param trim 去掉前后两端的split + * @return + */ + public static String[] split(String s, String split, boolean trim) { s = getString(s); if (s.isEmpty()) { return null; @@ -749,11 +759,13 @@ public static String[] split(String s, String split) { if (isNotEmpty(split, false) == false) { split = ","; } - while (s.startsWith(split)) { - s = s.substring(split.length()); - } - while (s.endsWith(split)) { - s = s.substring(0, s.length() - split.length()); + if (trim) { + while (s.startsWith(split)) { + s = s.substring(split.length()); + } + while (s.endsWith(split)) { + s = s.substring(0, s.length() - split.length()); + } } return s.contains(split) ? s.split(split) : new String[]{s}; } diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java index bcd1f469d..473112e79 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Parser.java @@ -643,11 +643,13 @@ private JSONArray getArray(String parentPath, String name, final JSONObject requ //key[]:{Table:{}}中key equals Table时 提取Table - boolean isContainer = true; int index = name == null ? -1 : name.lastIndexOf("[]"); - String table = index <= 0 ? null : Pair.parseEntry(name.substring(0, index), true).getKey(); - if (JSONRequest.isTableKey(table) && request.containsKey(table)) { - isContainer = false; + String childPath = index <= 0 ? null : Pair.parseEntry(name.substring(0, index), true).getKey(); // Table-key1-key2... + + //判断第一个key,即Table是否存在,如果存在就提取 + String[] childKeys = StringUtil.split(childPath, "-", false); + if (childKeys == null || childKeys.length <= 0 || request.containsKey(childKeys[0]) == false) { + childKeys = null; } @@ -662,7 +664,7 @@ private JSONArray getArray(String parentPath, String name, final JSONObject requ break; } //key[]:{Table:{}}中key equals Table时 提取Table - response.add(isContainer ? parent : parent.getJSONObject(table) ); + response.add(getValue(parent, childKeys)); //null有意义 } //Table>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -676,6 +678,29 @@ private JSONArray getArray(String parentPath, String name, final JSONObject requ } + /**根据路径取值 + * @param parent + * @param pathKeys + * @return + */ + private static Object getValue(JSONObject parent, String[] pathKeys) { + if (parent == null || pathKeys == null || pathKeys.length <= 0) { + Log.w(TAG, "getChild parent == null || pathKeys == null || pathKeys.length <= 0 >> return parent;"); + return parent; + } + + //逐层到达child的直接容器JSONObject parent + final int last = pathKeys.length - 1; + for (int i = 0; i < last; i++) {//一步一步到达指定位置 + if (parent == null) {//不存在或路径错误(中间的key对应value不是JSONObject) + break; + } + parent = getJSONObject(parent, pathKeys[i]); + } + + return parent == null ? null : parent.get(pathKeys[last]); + } + /**获取被依赖引用的key的路径, 实时替换[] -> []/i * @param parentPath From 0ab860153cc686c8257b5c60c2cbb0271708caa2 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 14 Oct 2017 23:29:41 +0800 Subject: [PATCH 181/219] =?UTF-8?q?Server:=E6=96=B0=E5=A2=9ERequest?= =?UTF-8?q?=E5=92=8CResponse=E7=9A=84=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/apijson/demo/server/Verifier.java | 4 +++ .../java/zuo/biao/apijson/model/Request.java | 28 +++++++++++++++++++ .../java/zuo/biao/apijson/model/Response.java | 28 +++++++++++++++++++ .../zuo/biao/apijson/server/Operation.java | 14 ++++++++++ .../biao/apijson/server/sql/SQLConfig.java | 5 ++-- .../biao/apijson/server/sql/SQLExecutor.java | 4 --- 6 files changed, 76 insertions(+), 7 deletions(-) create mode 100644 APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Request.java create mode 100644 APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Response.java diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java index fe25b6fec..f55081a63 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/apijson/demo/server/Verifier.java @@ -46,6 +46,8 @@ import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; import zuo.biao.apijson.model.Column; +import zuo.biao.apijson.model.Request; +import zuo.biao.apijson.model.Response; import zuo.biao.apijson.model.Table; import zuo.biao.apijson.model.Test; import zuo.biao.apijson.server.JSONRequest; @@ -76,6 +78,8 @@ public class Verifier { ACCESS_MAP.put(Table.class.getSimpleName(), getAccessMap(Table.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(Column.class.getSimpleName(), getAccessMap(Column.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(Test.class.getSimpleName(), getAccessMap(Test.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Request.class.getSimpleName(), getAccessMap(Request.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Response.class.getSimpleName(), getAccessMap(Response.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(Privacy.class.getSimpleName(), getAccessMap(Privacy.class.getAnnotation(MethodAccess.class))); diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Request.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Request.java new file mode 100644 index 000000000..09a6d4254 --- /dev/null +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Request.java @@ -0,0 +1,28 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package zuo.biao.apijson.model; + +import zuo.biao.apijson.MethodAccess; + +/**请求类 + * @author Lemon + */ +@MethodAccess( + POST = {}, + PUT = {}, + DELETE = {} + ) +public class Request { +} diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Response.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Response.java new file mode 100644 index 000000000..e46dc8479 --- /dev/null +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/model/Response.java @@ -0,0 +1,28 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package zuo.biao.apijson.model; + +import zuo.biao.apijson.MethodAccess; + +/**结果类 + * @author Lemon + */ +@MethodAccess( + POST = {}, + PUT = {}, + DELETE = {} + ) +public class Response { +} diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Operation.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Operation.java index ed194839a..b5678a670 100644 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Operation.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/Operation.java @@ -1,3 +1,17 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package zuo.biao.apijson.server; import zuo.biao.apijson.StringUtil; diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index 04a770ea5..8e344c090 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -19,14 +19,14 @@ import static zuo.biao.apijson.JSONObject.KEY_CONDITION; import static zuo.biao.apijson.JSONObject.KEY_GROUP; import static zuo.biao.apijson.JSONObject.KEY_HAVING; +import static zuo.biao.apijson.JSONObject.KEY_ID; +import static zuo.biao.apijson.JSONObject.KEY_ID_IN; import static zuo.biao.apijson.JSONObject.KEY_ORDER; import static zuo.biao.apijson.JSONObject.KEY_ROLE; import static zuo.biao.apijson.JSONObject.KEY_SCHEMA; import static zuo.biao.apijson.JSONRequest.KEY_COUNT; import static zuo.biao.apijson.JSONRequest.KEY_PAGE; import static zuo.biao.apijson.JSONRequest.KEY_QUERY; -import static zuo.biao.apijson.JSONRequest.KEY_ID; -import static zuo.biao.apijson.JSONRequest.KEY_ID_IN; import static zuo.biao.apijson.RequestMethod.DELETE; import static zuo.biao.apijson.RequestMethod.GET; import static zuo.biao.apijson.RequestMethod.POST; @@ -54,7 +54,6 @@ import apijson.demo.server.model.BaseModel; import apijson.demo.server.model.Privacy; import apijson.demo.server.model.User; -import zuo.biao.apijson.JSONRequest; import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; diff --git a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index 1eff50998..f77179d49 100755 --- a/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Eclipse/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -15,7 +15,6 @@ package zuo.biao.apijson.server.sql; import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; @@ -118,7 +117,6 @@ public JSONObject getFromCache(String sql, int position, boolean isStatic) { private Connection connection; private Statement statement; - private DatabaseMetaData metaData; /**关闭连接,释放资源 */ public void close() { @@ -133,7 +131,6 @@ public void close() { } catch (SQLException e) { e.printStackTrace(); } - metaData = null; statement = null; cacheMap = null; } @@ -162,7 +159,6 @@ public JSONObject execute(SQLConfig config) throws Exception { Log.i(TAG, "select connection " + (connection == null ? " = null" : ("isClosed = " + connection.isClosed()))) ; connection = getConnection(); statement = connection.createStatement(); //创建Statement对象 - metaData = connection.getMetaData(); } Log.i(TAG, "成功连接到数据库!"); ResultSet rs = null; From 01413a5c06ffadabda4652e657b4251bad6f5b8d Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 14 Oct 2017 23:36:27 +0800 Subject: [PATCH 182/219] =?UTF-8?q?Server:=E5=90=8C=E6=AD=A5eclipse?= =?UTF-8?q?=E7=89=88=E8=87=B3idea=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/apijson/demo/server/Verifier.java | 4 + .../java/zuo/biao/apijson/StringUtil.java | 22 ++++- .../java/zuo/biao/apijson/model/Request.java | 28 ++++++ .../java/zuo/biao/apijson/model/Response.java | 28 ++++++ .../zuo/biao/apijson/server/Operation.java | 14 +++ .../java/zuo/biao/apijson/server/Parser.java | 35 ++++++- .../biao/apijson/server/sql/SQLConfig.java | 31 +++--- .../biao/apijson/server/sql/SQLExecutor.java | 97 ++++++------------- 8 files changed, 170 insertions(+), 89 deletions(-) create mode 100644 APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Request.java create mode 100644 APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Response.java diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java index fe25b6fec..f55081a63 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/apijson/demo/server/Verifier.java @@ -46,6 +46,8 @@ import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; import zuo.biao.apijson.model.Column; +import zuo.biao.apijson.model.Request; +import zuo.biao.apijson.model.Response; import zuo.biao.apijson.model.Table; import zuo.biao.apijson.model.Test; import zuo.biao.apijson.server.JSONRequest; @@ -76,6 +78,8 @@ public class Verifier { ACCESS_MAP.put(Table.class.getSimpleName(), getAccessMap(Table.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(Column.class.getSimpleName(), getAccessMap(Column.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(Test.class.getSimpleName(), getAccessMap(Test.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Request.class.getSimpleName(), getAccessMap(Request.class.getAnnotation(MethodAccess.class))); + ACCESS_MAP.put(Response.class.getSimpleName(), getAccessMap(Response.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class))); ACCESS_MAP.put(Privacy.class.getSimpleName(), getAccessMap(Privacy.class.getAnnotation(MethodAccess.class))); diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/StringUtil.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/StringUtil.java index 205d6436f..b219b430a 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/StringUtil.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/StringUtil.java @@ -737,11 +737,21 @@ public static String[] split(String s) { return split(s, null); } /**将s用split分割成String[] + * trim = true; * @param s * @param split * @return */ public static String[] split(String s, String split) { + return split(s, split, true); + } + /**将s用split分割成String[] + * @param s + * @param split + * @param trim 去掉前后两端的split + * @return + */ + public static String[] split(String s, String split, boolean trim) { s = getString(s); if (s.isEmpty()) { return null; @@ -749,11 +759,13 @@ public static String[] split(String s, String split) { if (isNotEmpty(split, false) == false) { split = ","; } - while (s.startsWith(split)) { - s = s.substring(split.length()); - } - while (s.endsWith(split)) { - s = s.substring(0, s.length() - split.length()); + if (trim) { + while (s.startsWith(split)) { + s = s.substring(split.length()); + } + while (s.endsWith(split)) { + s = s.substring(0, s.length() - split.length()); + } } return s.contains(split) ? s.split(split) : new String[]{s}; } diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Request.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Request.java new file mode 100644 index 000000000..09a6d4254 --- /dev/null +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Request.java @@ -0,0 +1,28 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package zuo.biao.apijson.model; + +import zuo.biao.apijson.MethodAccess; + +/**请求类 + * @author Lemon + */ +@MethodAccess( + POST = {}, + PUT = {}, + DELETE = {} + ) +public class Request { +} diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Response.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Response.java new file mode 100644 index 000000000..e46dc8479 --- /dev/null +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/model/Response.java @@ -0,0 +1,28 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + +package zuo.biao.apijson.model; + +import zuo.biao.apijson.MethodAccess; + +/**结果类 + * @author Lemon + */ +@MethodAccess( + POST = {}, + PUT = {}, + DELETE = {} + ) +public class Response { +} diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Operation.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Operation.java index ed194839a..b5678a670 100644 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Operation.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Operation.java @@ -1,3 +1,17 @@ +/*Copyright ©2016 TommyLemon(https://github.com/TommyLemon/APIJSON) + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License.*/ + package zuo.biao.apijson.server; import zuo.biao.apijson.StringUtil; diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java index bcd1f469d..473112e79 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/Parser.java @@ -643,11 +643,13 @@ private JSONArray getArray(String parentPath, String name, final JSONObject requ //key[]:{Table:{}}中key equals Table时 提取Table - boolean isContainer = true; int index = name == null ? -1 : name.lastIndexOf("[]"); - String table = index <= 0 ? null : Pair.parseEntry(name.substring(0, index), true).getKey(); - if (JSONRequest.isTableKey(table) && request.containsKey(table)) { - isContainer = false; + String childPath = index <= 0 ? null : Pair.parseEntry(name.substring(0, index), true).getKey(); // Table-key1-key2... + + //判断第一个key,即Table是否存在,如果存在就提取 + String[] childKeys = StringUtil.split(childPath, "-", false); + if (childKeys == null || childKeys.length <= 0 || request.containsKey(childKeys[0]) == false) { + childKeys = null; } @@ -662,7 +664,7 @@ private JSONArray getArray(String parentPath, String name, final JSONObject requ break; } //key[]:{Table:{}}中key equals Table时 提取Table - response.add(isContainer ? parent : parent.getJSONObject(table) ); + response.add(getValue(parent, childKeys)); //null有意义 } //Table>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -676,6 +678,29 @@ private JSONArray getArray(String parentPath, String name, final JSONObject requ } + /**根据路径取值 + * @param parent + * @param pathKeys + * @return + */ + private static Object getValue(JSONObject parent, String[] pathKeys) { + if (parent == null || pathKeys == null || pathKeys.length <= 0) { + Log.w(TAG, "getChild parent == null || pathKeys == null || pathKeys.length <= 0 >> return parent;"); + return parent; + } + + //逐层到达child的直接容器JSONObject parent + final int last = pathKeys.length - 1; + for (int i = 0; i < last; i++) {//一步一步到达指定位置 + if (parent == null) {//不存在或路径错误(中间的key对应value不是JSONObject) + break; + } + parent = getJSONObject(parent, pathKeys[i]); + } + + return parent == null ? null : parent.get(pathKeys[last]); + } + /**获取被依赖引用的key的路径, 实时替换[] -> []/i * @param parentPath diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java index 2cff551d1..8e344c090 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLConfig.java @@ -19,14 +19,14 @@ import static zuo.biao.apijson.JSONObject.KEY_CONDITION; import static zuo.biao.apijson.JSONObject.KEY_GROUP; import static zuo.biao.apijson.JSONObject.KEY_HAVING; +import static zuo.biao.apijson.JSONObject.KEY_ID; +import static zuo.biao.apijson.JSONObject.KEY_ID_IN; import static zuo.biao.apijson.JSONObject.KEY_ORDER; import static zuo.biao.apijson.JSONObject.KEY_ROLE; import static zuo.biao.apijson.JSONObject.KEY_SCHEMA; import static zuo.biao.apijson.JSONRequest.KEY_COUNT; import static zuo.biao.apijson.JSONRequest.KEY_PAGE; import static zuo.biao.apijson.JSONRequest.KEY_QUERY; -import static zuo.biao.apijson.JSONRequest.KEY_ID; -import static zuo.biao.apijson.JSONRequest.KEY_ID_IN; import static zuo.biao.apijson.RequestMethod.DELETE; import static zuo.biao.apijson.RequestMethod.GET; import static zuo.biao.apijson.RequestMethod.POST; @@ -54,7 +54,6 @@ import apijson.demo.server.model.BaseModel; import apijson.demo.server.model.Privacy; import apijson.demo.server.model.User; -import zuo.biao.apijson.JSONRequest; import zuo.biao.apijson.Log; import zuo.biao.apijson.RequestMethod; import zuo.biao.apijson.RequestRole; @@ -531,7 +530,7 @@ public static String getWhereString(RequestMethod method, Map wh continue; } - whereString += (isFirst ? "" : AND) + condition; + whereString += (isFirst ? "" : AND) + "(" + condition + ")"; isFirst = false; } @@ -639,7 +638,7 @@ public static String getSearchString(String key, Object[] values, int type) thro condition += (i <= 0 ? "" : (Logic.isAnd(type) ? AND : OR)) + getLikeString(key, values[i]); } - return (Logic.isNot(type) ? NOT : "") + "(" + condition + ")"; + return getCondition(Logic.isNot(type), condition); } /**WHERE key LIKE 'value' @@ -693,7 +692,7 @@ public static String getRegExpString(String key, Object[] values, int type) thro condition += (i <= 0 ? "" : (Logic.isAnd(type) ? AND : OR)) + getRegExpString(key, (String) values[i]); } - return (Logic.isNot(type) ? NOT : "") + "(" + condition + ")"; + return getCondition(Logic.isNot(type), condition); } /**WHERE key REGEXP 'value' @@ -747,8 +746,7 @@ public static String getRangeString(String key, Object range) throws Exception { if (condition.isEmpty()) { return ""; } - condition = "(" + condition + ")"; - return logic.isNot() ? NOT + condition : condition; + return getCondition(logic.isNot(), condition); } throw new IllegalArgumentException(key + "{}:range 类型为" + range.getClass().getSimpleName() @@ -770,7 +768,7 @@ public static String getInString(String key, Object[] in, boolean not) throws No throw new NotExistException(TAG + ".getInString(" + key + ", [], " + not + ") >> condition.isEmpty() >> IN()"); } - return (not ? NOT : "") + " IN " + "(" + condition + ")"; + return (not ? NOT : "") + " IN (" + condition + ")"; } //{} range >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -814,7 +812,7 @@ public static String getContainString(String key, Object[] childs, int type) thr childs[i] = "\"" + childs[i] + "\""; } condition += (i <= 0 ? "" : (Logic.isAnd(type) ? AND : OR)) - + getSearchString( + + "(" + getSearchString( key , new String[]{ "[" + childs[i] + "]", //全等 @@ -823,7 +821,7 @@ public static String getContainString(String key, Object[] childs, int type) thr "%, " + childs[i] + "]" //末尾 } , Logic.TYPE_OR - ); + ) + ")"; } } if (condition.isEmpty()) { @@ -833,10 +831,19 @@ public static String getContainString(String key, Object[] childs, int type) thr if (condition.isEmpty()) { return ""; } - return (Logic.isNot(type) ? NOT : "") + "(" + condition + ")"; + return getCondition(Logic.isNot(type), condition); } //<> contain >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + /**拼接条件 + * @param not + * @param condition + * @return + */ + private static String getCondition(boolean not, String condition) { + return not ? NOT + "(" + condition + ")" : condition; + } + /**转为JSONArray * @param tv diff --git a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java index 37bfd998f..f77179d49 100755 --- a/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java +++ b/APIJSON-Java-Server/APIJSON-Idea/src/main/java/zuo/biao/apijson/server/sql/SQLExecutor.java @@ -15,15 +15,13 @@ package zuo.biao.apijson.server.sql; import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; +import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Timestamp; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; @@ -32,7 +30,6 @@ import zuo.biao.apijson.JSONResponse; import zuo.biao.apijson.Log; import zuo.biao.apijson.StringUtil; -import zuo.biao.apijson.server.Pair; import zuo.biao.apijson.server.Parser; /**executor for query(read) or update(write) MySQL database @@ -120,7 +117,6 @@ public JSONObject getFromCache(String sql, int position, boolean isStatic) { private Connection connection; private Statement statement; - private DatabaseMetaData metaData; /**关闭连接,释放资源 */ public void close() { @@ -135,7 +131,6 @@ public void close() { } catch (SQLException e) { e.printStackTrace(); } - metaData = null; statement = null; cacheMap = null; } @@ -164,7 +159,6 @@ public JSONObject execute(SQLConfig config) throws Exception { Log.i(TAG, "select connection " + (connection == null ? " = null" : ("isClosed = " + connection.isClosed()))) ; connection = getConnection(); statement = connection.createStatement(); //创建Statement对象 - metaData = connection.getMetaData(); } Log.i(TAG, "成功连接到数据库!"); ResultSet rs = null; @@ -215,11 +209,6 @@ public JSONObject execute(SQLConfig config) throws Exception { return result; } - String[] columnArray = getColumnArray(config); - if (columnArray == null || columnArray.length <= 0) { - return null; - } - rs = statement.executeQuery(sql); // final boolean cache = config.getCount() != 1; @@ -227,57 +216,43 @@ public JSONObject execute(SQLConfig config) throws Exception { // Log.d(TAG, "select cache = " + cache + "; resultMap" + (resultMap == null ? "=" : "!=") + "null"); int index = -1; + + ResultSetMetaData rsmd = rs.getMetaData(); + final int length = rsmd.getColumnCount(); + while (rs.next()){ index ++; Log.d(TAG, "\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n select while (rs.next()){ index = " + index + "\n\n"); result = new JSONObject(true); Object value; - Object json; - for (int i = 0; i < columnArray.length; i++) { - if (columnArray[i] == null || columnArray[i].isEmpty() || columnArray[i].startsWith("_")) { + + for (int i = 1; i <= length; i++) { + if (rsmd.getColumnName(i).startsWith("_")) { Log.i(TAG, "select while (rs.next()){ ..." - + " >> columnArray[i] == " + columnArray[i] - + " >> continue;"); + + " >> rsmd.getColumnName(i).startsWith(_) >> continue;"); continue; - }//允许 key:_alias, 但不允许_key, _key:alias - columnArray[i] = Pair.parseEntry(columnArray[i]).getValue(); - try { - value = rs.getObject(rs.findColumn(columnArray[i])); - } catch (Exception e) { - value = null; - Log.i(TAG, "select while (rs.next()){ ..." - + " >> try { value = rs.getObject(rs.findColumn(columnArray[i])); ..." - + " >> } catch (Exception e) {"); - e.printStackTrace(); } - // if (value == null) { - // Log.i(TAG, "select while (rs.next()){ ..." + " >> value == null >> continue;"); - // continue; - // } + + value = rs.getObject(i); + // Log.d(TAG, "name:" + rsmd.getColumnName(i)); + // Log.d(TAG, "lable:" + rsmd.getColumnLabel(i)); + // Log.d(TAG, "type:" + rsmd.getColumnType(i)); + // Log.d(TAG, "typeName:" + rsmd.getColumnTypeName(i)); - // Log.i(TAG, "select while (rs.next()) { >> for (int i = 0; i < columnArray.length; i++) {" - // + "\n >>> columnArray[i]) = " + columnArray[i] + "; value = " + value); + // Log.i(TAG, "select while (rs.next()) { >> for (int i = 0; i < length; i++) {" + // + "\n >>> value = " + value); if (value != null) { //数据库查出来的null和empty值都有意义,去掉会导致 Moment:{ @column:"content" } 部分无结果及中断数组查询! if (value instanceof Timestamp) { value = ((Timestamp) value).toString(); } - else if (value instanceof String) { - try { - json = JSON.parse((String) value); - if (json != null && json instanceof JSON && StringUtil.isNotEmpty(json, true)) { - value = json; - } - } catch (Exception e) { - //太长 Log.i(TAG, "select while (rs.next()){ >> i = " - // + i + " try { json = JSON.parse((String) value);" - // + ">> } catch (Exception e) {\n" + e.getMessage()); - } + else if (value instanceof String && isJSONType(rsmd, i)) { //json String + value = JSON.parse((String) value); } } - result.put(columnArray[i], value); + result.put(rsmd.getColumnLabel(i), value); } resultMap.put(index, result); @@ -296,31 +271,19 @@ else if (value instanceof String) { return resultMap.get(position); } - - /**获取要查询的字段名数组 - * @param config + /**判断是否为JSON类型 + * @param rsmd + * @param position * @return - * @throws SQLException */ - private String[] getColumnArray(SQLConfig config) throws SQLException { - if (config == null) { - return null; - } - String column = config.getColumn(); - if (StringUtil.isNotEmpty(column, true)) { - return StringUtil.split(column);//column.contains(",") ? column.split(",") : new String[]{column}; - } - - List list = new ArrayList(); - String table = config.getSQLTable(); - ResultSet rs = metaData.getColumns(config.getSchema(), null, table, "%"); - while (rs.next()) { - Log.i(TAG, rs.getString(4)); - list.add(rs.getString(4)); + private boolean isJSONType(ResultSetMetaData rsmd, int position) { + try { + return rsmd.getColumnType(position) == 1 || rsmd.getColumnTypeName(position).toLowerCase().contains("json"); + } catch (SQLException e) { + e.printStackTrace(); } - rs.close(); - - return list.toArray(new String[]{}); + return false; } + } From 7a67e0a9581489085a99aa553bb866de676a91c1 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sat, 14 Oct 2017 23:39:06 +0800 Subject: [PATCH 183/219] =?UTF-8?q?=E4=BF=AE=E6=94=B9readme=E4=B8=AD?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=9C=8D=E5=8A=A1=E5=99=A8ip=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README(English).md | 24 +++++++++++------------ README.md | 48 +++++++++++++++++++++++----------------------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/README(English).md b/README(English).md index d35869dfc..48e402db2 100644 --- a/README(English).md +++ b/README(English).md @@ -5,7 +5,7 @@ [查看中文文档](https://github.com/TommyLemon/APIJSON/blob/master/README.md) -[Online Test](http://139.196.140.118) +[Online Test](http://39.108.143.172) @@ -46,7 +46,7 @@ Request: }
        -[Click here to test](http://139.196.140.118:8080/get/{"User":{}}) +[Click here to test](http://39.108.143.172:8080/get/{"User":{}}) Response:
        
        @@ -86,7 +86,7 @@ Request:
         }
         
        -[Click here to test](http://139.196.140.118:8080/get/{"[]":{"count":3,"User":{"@column":"id,name"}}}) +[Click here to test](http://39.108.143.172:8080/get/{"[]":{"count":3,"User":{"@column":"id,name"}}}) Response:
        
        @@ -130,7 +130,7 @@ Request:
         }
         
        -[Click here to test](http://139.196.140.118:8080/get/{"Moment":{},"User":{"id@":"Moment%252FuserId"}}) +[Click here to test](http://39.108.143.172:8080/get/{"Moment":{},"User":{"id@":"Moment%252FuserId"}}) Response:
        
        @@ -185,7 +185,7 @@ Request:
         }
         
        -[Click here to test](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":2,"Moment":{"content$":"%2525a%2525"},"User":{"id@":"%252FMoment%252FuserId","@column":"id,name,head"},"Comment[]":{"count":2,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) +[Click here to test](http://39.108.143.172:8080/get/{"[]":{"page":0,"count":2,"Moment":{"content$":"%2525a%2525"},"User":{"id@":"%252FMoment%252FuserId","@column":"id,name,head"},"Comment[]":{"count":2,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) Response:
        
        @@ -283,7 +283,7 @@ Response:
         
         
        -[Online Test](http://139.196.140.118) +[Online Test](http://39.108.143.172)

        @@ -323,11 +323,11 @@ Response: Client requests | Previous way | APIJSON -------- | ------------ | ------------ - User | base_url/get/user?id=38710 | [base_url/get/
        {
           "User":{
             "id":38710
           }
        }](http://139.196.140.118:8080/get/{"User":{"id":38710}}) - Moment and it's publisher(User) | Request twice
        Moment:
        base_url/get/moment?userId=38710

        User:
        base_url/get/user?id=38710 | Just request once
        [base_url/get/
        {
           "Moment":{
             "userId":38710
           },
           "User":{
             "id":38710
           }
        }](http://139.196.140.118:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) - User list | base_url/get/user/list?
        page=0&count=3&sex=0 | [base_url/get/
        {
           "User[]":{
             "page":0,
             "count":3,
             "User":{
               "sex":0
             }
           }
        }](http://139.196.140.118:8080/get/{"User[]":{"page":0,"count":3,"User":{"sex":0}}}) - A list, each item contains
        a Moment, a publisher(User)
        and a list of top 3 Comments | The Moment must contains an User Object and a Comment Array

        base_url/get/moment/list?
        page=0&count=3&commentCount=3 | [base_url/get/
        {
           "[]":{
             "page":0,
             "count":3,
             "Moment":{},
             "User":{
               "id@":"/Moment/userId"
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) - A list, each item contains
        a Moment, the same publisher(User)
        and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

        base_url/get/moment/list?
        page=0&count=3
        &commentCount=3&userId=38710 | Here are several ways:
        ① Change
        "Moment":{}, "User":{"id@":"/Moment/userId"}
        to
        ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

        ② Or save repeated Users by this way
        [base_url/get/
        {
           "User":{
             "id":38710
           },
           "[]":{
             "page":0,
             "count":3,
             "Moment":{
               "userId":38710
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

        ③ If the User is already obtained, you can also save all repeated User by this way
        [base_url/get/
        {
           "[]":{
             "page":0,
             "count":3,
             "Moment":{
               "userId":38710
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + User | base_url/get/user?id=38710 | [base_url/get/
        {
           "User":{
             "id":38710
           }
        }](http://39.108.143.172:8080/get/{"User":{"id":38710}}) + Moment and it's publisher(User) | Request twice
        Moment:
        base_url/get/moment?userId=38710

        User:
        base_url/get/user?id=38710 | Just request once
        [base_url/get/
        {
           "Moment":{
             "userId":38710
           },
           "User":{
             "id":38710
           }
        }](http://39.108.143.172:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) + User list | base_url/get/user/list?
        page=0&count=3&sex=0 | [base_url/get/
        {
           "User[]":{
             "page":0,
             "count":3,
             "User":{
               "sex":0
             }
           }
        }](http://39.108.143.172:8080/get/{"User[]":{"page":0,"count":3,"User":{"sex":0}}}) + A list, each item contains
        a Moment, a publisher(User)
        and a list of top 3 Comments | The Moment must contains an User Object and a Comment Array

        base_url/get/moment/list?
        page=0&count=3&commentCount=3 | [base_url/get/
        {
           "[]":{
             "page":0,
             "count":3,
             "Moment":{},
             "User":{
               "id@":"/Moment/userId"
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://39.108.143.172:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + A list, each item contains
        a Moment, the same publisher(User)
        and a list of top 3 Comments | Each Moment must contains an User Object and a Comment Array

        base_url/get/moment/list?
        page=0&count=3
        &commentCount=3&userId=38710 | Here are several ways:
        ① Change
        "Moment":{}, "User":{"id@":"/Moment/userId"}
        to
        ["Moment":{"userId":38710}, "User":{"id":38710}](http://39.108.143.172:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

        ② Or save repeated Users by this way
        [base_url/get/
        {
           "User":{
             "id":38710
           },
           "[]":{
             "page":0,
             "count":3,
             "Moment":{
               "userId":38710
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://39.108.143.172:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

        ③ If the User is already obtained, you can also save all repeated User by this way
        [base_url/get/
        {
           "[]":{
             "page":0,
             "count":3,
             "Moment":{
               "userId":38710
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://39.108.143.172:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})
        @@ -348,7 +348,7 @@ Response: Clone or download > Download ZIP > Unzip to a path and remember it. -#### You can skip step 2 and 3, and test server response with my server IP address 139.196.140.118:8080.
        +#### You can skip step 2 and 3, and test server response with my server IP address 39.108.143.172:8080.
        ### 2.Import MySQL table files diff --git a/README.md b/README.md index bb586dce3..7a4f7ba2e 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ [English Document](https://github.com/TommyLemon/APIJSON/blob/master/README(English).md) -[在线测试](http://139.196.140.118) +[在线测试](http://39.108.143.172)
        @@ -78,7 +78,7 @@ APIJSON是一种JSON传输结构协议。
        }
        -[点击这里测试](http://139.196.140.118:8080/get/{"User":{}}) +[点击这里测试](http://39.108.143.172:8080/get/{"User":{}}) 返回:
        
        @@ -117,7 +117,7 @@ APIJSON是一种JSON传输结构协议。
        }
        -[点击这里测试](http://139.196.140.118:8080/get/{"[]":{"count":3,"User":{"@column":"id,name"}}}) +[点击这里测试](http://39.108.143.172:8080/get/{"[]":{"count":3,"User":{"@column":"id,name"}}}) 返回:
        
        @@ -161,7 +161,7 @@ APIJSON是一种JSON传输结构协议。
        }
        -[点击这里测试](http://139.196.140.118:8080/get/{"Moment":{},"User":{"id@":"Moment%252FuserId"}}) +[点击这里测试](http://39.108.143.172:8080/get/{"Moment":{},"User":{"id@":"Moment%252FuserId"}}) 返回:
        
        @@ -215,7 +215,7 @@ APIJSON是一种JSON传输结构协议。
        }
        -[点击这里测试](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":2,"Moment":{"content$":"%2525a%2525"},"User":{"id@":"%252FMoment%252FuserId","@column":"id,name,head"},"Comment[]":{"count":2,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) +[点击这里测试](http://39.108.143.172:8080/get/{"[]":{"page":0,"count":2,"Moment":{"content$":"%2525a%2525"},"User":{"id@":"%252FMoment%252FuserId","@column":"id,name,head"},"Comment[]":{"count":2,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) 返回:
        
        @@ -313,7 +313,7 @@ APIJSON是一种JSON传输结构协议。

        -[在线测试](http://139.196.140.118) +[在线测试](http://39.108.143.172)

        @@ -357,11 +357,11 @@ APIJSON是一种JSON传输结构协议。
        ###

        2.5 客户端对应不同需求的请求

        客户端的请求 | 传统方式 | APIJSON -------- | ------------ | ------------ - User | base_url/get/user?id=38710 | [base_url/get/
        {
           "User":{
             "id":38710
           }
        }](http://139.196.140.118:8080/get/{"User":{"id":38710}}) - Moment和对应的User | 分两次请求
        Moment:
        base_url/get/moment?userId=38710

        User:
        base_url/get/user?id=38710 | [base_url/get/
        {
           "Moment":{
             "userId":38710
           },
           "User":{
             "id":38710
           }
        }](http://139.196.140.118:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) - User列表 | base_url/get/user/list?
        page=0&count=3&sex=0 | [base_url/get/
        {
           "User[]":{
             "page":0,
             "count":3,
             "User":{
               "sex":0
             }
           }
        }](http://139.196.140.118:8080/get/{"User[]":{"page":0,"count":3,"User":{"sex":0}}}) - Moment列表,
        每个Moment包括
        1.发布者User
        2.前3条Comment | Moment里必须有
        1.User对象
        2.Comment数组

        base_url/get/moment/list?
        page=0&count=3&commentCount=3 | [base_url/get/
        {
           "[]":{
             "page":0,
             "count":3,
             "Moment":{},
             "User":{
               "id@":"/Moment/userId"
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) - User发布的Moment列表,
        每个Moment包括
        1.发布者User
        2.前3条Comment | 1.Moment里必须有User对象和Comment数组
        2.字段名必须查接口文档,例如评论数量字段名可能是
        commentCount,comment_count或者简写cmt_count等各种奇葩写法...

        base_url/get/moment/list?
        page=0&count=3
        &commentCount=3&userId=38710 | 有以下几种方式:

        ① 把以上请求里的
        "Moment":{}, "User":{"id@":"/Moment/userId"}
        改为
        ["Moment":{"userId":38710}, "User":{"id":38710}](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

        ② 或把User放在上面的最外层省去重复的User
        [base_url/get/
        {
           "User":{
             "id":38710
           },
           "[]":{
             "page":0,
             "count":3,
             "Moment":{
               "userId":38710
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://139.196.140.118:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

        ③ 如果User之前已经获取到了,还可以不传User来节省请求和返回数据的流量并提升速度
        [base_url/get/
        {
           "[]":{
             "page":0,
             "count":3,
             "Moment":{
               "userId":38710
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://139.196.140.118:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + User | base_url/get/user?id=38710 | [base_url/get/
        {
           "User":{
             "id":38710
           }
        }](http://39.108.143.172:8080/get/{"User":{"id":38710}}) + Moment和对应的User | 分两次请求
        Moment:
        base_url/get/moment?userId=38710

        User:
        base_url/get/user?id=38710 | [base_url/get/
        {
           "Moment":{
             "userId":38710
           },
           "User":{
             "id":38710
           }
        }](http://39.108.143.172:8080/get/{"Moment":{"userId":38710},"User":{"id":38710}}) + User列表 | base_url/get/user/list?
        page=0&count=3&sex=0 | [base_url/get/
        {
           "User[]":{
             "page":0,
             "count":3,
             "User":{
               "sex":0
             }
           }
        }](http://39.108.143.172:8080/get/{"User[]":{"page":0,"count":3,"User":{"sex":0}}}) + Moment列表,
        每个Moment包括
        1.发布者User
        2.前3条Comment | Moment里必须有
        1.User对象
        2.Comment数组

        base_url/get/moment/list?
        page=0&count=3&commentCount=3 | [base_url/get/
        {
           "[]":{
             "page":0,
             "count":3,
             "Moment":{},
             "User":{
               "id@":"/Moment/userId"
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://39.108.143.172:8080/get/{"[]":{"page":0,"count":3,"Moment":{},"User":{"id@":"%252FMoment%252FuserId"},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}}) + User发布的Moment列表,
        每个Moment包括
        1.发布者User
        2.前3条Comment | 1.Moment里必须有User对象和Comment数组
        2.字段名必须查接口文档,例如评论数量字段名可能是
        commentCount,comment_count或者简写cmt_count等各种奇葩写法...

        base_url/get/moment/list?
        page=0&count=3
        &commentCount=3&userId=38710 | 有以下几种方式:

        ① 把以上请求里的
        "Moment":{}, "User":{"id@":"/Moment/userId"}
        改为
        ["Moment":{"userId":38710}, "User":{"id":38710}](http://39.108.143.172:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"User":{"id":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

        ② 或把User放在上面的最外层省去重复的User
        [base_url/get/
        {
           "User":{
             "id":38710
           },
           "[]":{
             "page":0,
             "count":3,
             "Moment":{
               "userId":38710
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://39.108.143.172:8080/get/{"User":{"id":38710},"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})

        ③ 如果User之前已经获取到了,还可以不传User来节省请求和返回数据的流量并提升速度
        [base_url/get/
        {
           "[]":{
             "page":0,
             "count":3,
             "Moment":{
               "userId":38710
             },
             "Comment[]":{
               "count":3,
               "Comment":{
                 "momentId@":"[]/Moment/id"
               }
             }
           }
        }](http://39.108.143.172:8080/get/{"[]":{"page":0,"count":3,"Moment":{"userId":38710},"Comment[]":{"count":3,"Comment":{"momentId@":"[]%252FMoment%252Fid"}}}})
        @@ -415,20 +415,20 @@ DELETE:
        删除数据,
        非明文 | base_url/delete/ | {
         & 功能 | 键值对格式 | 使用示例 ------------ | ------------ | ------------ - 查询数组 | "key[]":{},后面是JSONObject,key可省略。当key和里面的Table名相同时,Table会被提取出来,即 {Table:{Content}} 会被转化为 {Content} | [{"User[]":{"User":{}}}](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{}}}),查询一个User数组。这里key和Table名都是User,User会被提取出来,即 {"User":{"id", ...}} 会被转化为 {"id", ...} - 匹配选项范围 | "key{}":[],后面是JSONArray,作为key可取的值的选项 | ["id{}":[38710,82001,70793]](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"id{}":[38710,82001,70793]}}}),查询id符合38710,82001,70793中任意一个的一个User数组 - 匹配条件范围 | "key{}":"条件0,条件1...",条件为任意SQL比较表达式字符串,非Number类型必须用''包含条件的值,如'a' | ["id{}":"<=80000,\>90000"](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"id{}":"<=80000,\>90000"}}}),查询id符合id\<=80000 \| id>90000的一个User数组 - 包含选项范围 | "key<\>":Object => "key<\>":[Object],key对应值的类型必须为JSONArray,Object类型不能为JSON | ["contactIdList<\>":38710](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"contactIdList<\>":38710}}}),查询contactIdList包含38710的一个User数组 - 远程调用函数 | "key()":"函数表达式",函数表达式为 function(Type0:value0,Type1:value1...)。函数参数类型为Object或泛型时可省略类型,即 Object:value 改写为 value | ["isPraised()":"isContain(Collection:praiseUserIdList,userId)"](http://139.196.140.118:8080/get/{"Moment":{"id":301,"isPraised()":"isContain(Collection:praiseUserIdList,userId)"}}),请求完成后会调用 boolean isContain(Collection collection, Object object) 函数,然后变为 "isPraised":true 这种(假设点赞用户id列表包含了userId,即这个User点了赞) - 引用赋值 | "key@":"引用路径",引用路径为用/分隔的字符串。以/开头的是缺省引用路径,从声明key所处容器的父容器路径开始;其它是完整引用路径,从最外层开始。
        被引用的refKey必须在声明key的上面。如果对refKey的容器指定了返回字段,则被引用的refKey必须写在@column对应的值内,例如 "@column":"refKey,key1,..." | ["Moment":{
           "userId":38710
        },
        "User":{
           "id@":"/Moment/userId"
        }](http://139.196.140.118:8080/get/{"Moment":{"userId":38710},"User":{"id@":"%252FMoment%252FuserId"}})
        User内的id引用了与User同级的Moment内的userId,
        即User.id = Moment.userId,请求完成后
        "id@":"/Moment/userId" 会变成 "id":38710 - 模糊搜索 | "key$":"SQL搜索表达式" => "key$":["SQL搜索表达式"],任意SQL搜索表达式字符串,如 %key%(包含key), key%(以key开始), %k%e%y%(包含字母k,e,y) 等,%表示任意字符 | ["name$":"%m%"](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"name$":"%2525m%2525"}}}),查询name包含"m"的一个User数组 - 正则匹配 | "key?":"正则表达式" => "key?":["正则表达式"],任意正则表达式字符串,如 ^[0-9]+$ ,可用于高级搜索 | ["name?":"^[0-9]+$"](http://139.196.140.118:8080/get/{"User[]":{"count":3,"User":{"name%253F":"^[0-9]%252B$"}}}),查询name中字符全为数字的一个User数组 - 新建别名 | "name:alias",name映射为alias,用alias替代name。可用于 column,Table,SQL函数 等。只用于GET类型、HEAD类型的请求 | ["@column":"toId:parentId"](http://139.196.140.118:8080/get/{"Comment":{"@column":"id,toId:parentId","id":51}}),将查询的字段toId变为parentId返回 + 查询数组 | "key[]":{},后面是JSONObject,key可省略。当key和里面的Table名相同时,Table会被提取出来,即 {Table:{Content}} 会被转化为 {Content} | [{"User[]":{"User":{}}}](http://39.108.143.172:8080/get/{"User[]":{"count":3,"User":{}}}),查询一个User数组。这里key和Table名都是User,User会被提取出来,即 {"User":{"id", ...}} 会被转化为 {"id", ...} + 匹配选项范围 | "key{}":[],后面是JSONArray,作为key可取的值的选项 | ["id{}":[38710,82001,70793]](http://39.108.143.172:8080/get/{"User[]":{"count":3,"User":{"id{}":[38710,82001,70793]}}}),查询id符合38710,82001,70793中任意一个的一个User数组 + 匹配条件范围 | "key{}":"条件0,条件1...",条件为任意SQL比较表达式字符串,非Number类型必须用''包含条件的值,如'a' | ["id{}":"<=80000,\>90000"](http://39.108.143.172:8080/get/{"User[]":{"count":3,"User":{"id{}":"<=80000,\>90000"}}}),查询id符合id\<=80000 \| id>90000的一个User数组 + 包含选项范围 | "key<\>":Object => "key<\>":[Object],key对应值的类型必须为JSONArray,Object类型不能为JSON | ["contactIdList<\>":38710](http://39.108.143.172:8080/get/{"User[]":{"count":3,"User":{"contactIdList<\>":38710}}}),查询contactIdList包含38710的一个User数组 + 远程调用函数 | "key()":"函数表达式",函数表达式为 function(Type0:value0,Type1:value1...)。函数参数类型为Object或泛型时可省略类型,即 Object:value 改写为 value | ["isPraised()":"isContain(Collection:praiseUserIdList,userId)"](http://39.108.143.172:8080/get/{"Moment":{"id":301,"isPraised()":"isContain(Collection:praiseUserIdList,userId)"}}),请求完成后会调用 boolean isContain(Collection collection, Object object) 函数,然后变为 "isPraised":true 这种(假设点赞用户id列表包含了userId,即这个User点了赞) + 引用赋值 | "key@":"引用路径",引用路径为用/分隔的字符串。以/开头的是缺省引用路径,从声明key所处容器的父容器路径开始;其它是完整引用路径,从最外层开始。
        被引用的refKey必须在声明key的上面。如果对refKey的容器指定了返回字段,则被引用的refKey必须写在@column对应的值内,例如 "@column":"refKey,key1,..." | ["Moment":{
           "userId":38710
        },
        "User":{
           "id@":"/Moment/userId"
        }](http://39.108.143.172:8080/get/{"Moment":{"userId":38710},"User":{"id@":"%252FMoment%252FuserId"}})
        User内的id引用了与User同级的Moment内的userId,
        即User.id = Moment.userId,请求完成后
        "id@":"/Moment/userId" 会变成 "id":38710 + 模糊搜索 | "key$":"SQL搜索表达式" => "key$":["SQL搜索表达式"],任意SQL搜索表达式字符串,如 %key%(包含key), key%(以key开始), %k%e%y%(包含字母k,e,y) 等,%表示任意字符 | ["name$":"%m%"](http://39.108.143.172:8080/get/{"User[]":{"count":3,"User":{"name$":"%2525m%2525"}}}),查询name包含"m"的一个User数组 + 正则匹配 | "key?":"正则表达式" => "key?":["正则表达式"],任意正则表达式字符串,如 ^[0-9]+$ ,可用于高级搜索 | ["name?":"^[0-9]+$"](http://39.108.143.172:8080/get/{"User[]":{"count":3,"User":{"name%253F":"^[0-9]%252B$"}}}),查询name中字符全为数字的一个User数组 + 新建别名 | "name:alias",name映射为alias,用alias替代name。可用于 column,Table,SQL函数 等。只用于GET类型、HEAD类型的请求 | ["@column":"toId:parentId"](http://39.108.143.172:8080/get/{"Comment":{"@column":"id,toId:parentId","id":51}}),将查询的字段toId变为parentId返回 增加 或 扩展 | "key+":Object,Object的类型由key指定,且类型为Number,String,JSONArray中的一种。如 82001,"apijson",["url0","url1"] 等。只用于PUT请求 | "praiseUserIdList+":[82001],添加一个点赞用户id,即这个用户点了赞 减少 或 去除 | "key-":Object,与"key+"相反 | "balance-":100.00,余额减少100.00,即花费了100元 - 逻辑运算 | &, \|, ! 逻辑运算符。
        ① & 可用于"key&{}":"条件"等
        ② \| 可用于"key\|{}":"条件", "key\|{}":[]等,一般可省略
        ③ ! 可单独使用,如"key!":Object,也可像&,\|一样配合其他功能符使用 | ① ["id&{}":">80000,<=90000"](http://139.196.140.118:8080/head/{"User":{"id&{}":">80000,<=90000"}}),即id满足id>80000 & id<=90000
        ② ["id\|{}":">90000,<=80000"](http://139.196.140.118:8080/head/{"User":{"id\|{}":">90000,<=80000"}}),同"id{}":">90000,<=80000",即id满足id>90000 \| id<=80000
        ③ ["id!{}":[82001,38710]](http://139.196.140.118:8080/head/{"User":{"id!{}":[82001,38710]}}),即id满足 ! (id=82001 \| id=38710),可过滤黑名单的消息 - 数组关键词 | "key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定
        ① "count":Integer,指定查询数量,假设允许查询数组的最大数量为max,则当count在1~max范围内时,查询count个;否则查询max个
        ② "page":Integer,指定查询页码,从0开始,一般和count一起用
        ③ "query":Integer,指定查询内容
        0-对象,1-总数,2-以上全部
        总数关键词为total,和query同级,通过引用赋值得到,如 "total@":"/[]/total"
        这里query及total仅为GET类型的请求提供方便,一般可直接用HEAD类型的请求获取总数 | ① 查询User数组,最多5个:
        ["count":5](http://139.196.140.118:8080/get/{"[]":{"count":5,"User":{}}})
        ② 查询第3页的User数组,每页5个:
        ["count":5,
        "page":3](http://139.196.140.118:8080/get/{"[]":{"count":5,"page":3,"User":{}}})
        ③ 查询User数组和对应的User总数:
        ["[]":{
           "query":2,
           "User":{}
        },
        "total@":"/[]/total"](http://139.196.140.118:8080/get/{"[]":{"query":2,"count":5,"User":{}},"total@":"%252F[]%252Ftotal"}) - 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
        ① "@about":true, 查询字段属性
        ② "@column":"key0,key1...", 指定返回字段
        ③ "@order":"key0,key1+,key2-...",指定排序方式
        ④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
        1.分组的key在@column里声明
        2.Table主键在@group中声明
        ⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表中字段的属性:
        ["@about":true](http://139.196.140.118:8080/get/{"User[]":{"User":{"@about":true}}})
        ② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
        ["@column":"id,sex,name"](http://139.196.140.118:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
        ③ 查询按 name降序、id默认顺序 排序的User数组:
        ["@order":"name-,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
        ④ 查询按userId分组的Moment数组:
        ["@group":"userId,id"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
        ⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
        ["@column":"userId,max(id)",
        "@group":"userId",
        "@having":"max(id)>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
        还可以指定函数返回名:
        ["@column":"userId,max(id):maxId",
        "@group":"userId",
        "@having":"maxId>=100"](http://139.196.140.118:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
        ⑥ 从pictureList获取第0张图片:
        ["@position":0, //这里@position为自定义关键词
        "firstPicture()":"get(Collection:pictureList,int:@position)"](http://139.196.140.118:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
        ... + 逻辑运算 | &, \|, ! 逻辑运算符。
        ① & 可用于"key&{}":"条件"等
        ② \| 可用于"key\|{}":"条件", "key\|{}":[]等,一般可省略
        ③ ! 可单独使用,如"key!":Object,也可像&,\|一样配合其他功能符使用 | ① ["id&{}":">80000,<=90000"](http://39.108.143.172:8080/head/{"User":{"id&{}":">80000,<=90000"}}),即id满足id>80000 & id<=90000
        ② ["id\|{}":">90000,<=80000"](http://39.108.143.172:8080/head/{"User":{"id\|{}":">90000,<=80000"}}),同"id{}":">90000,<=80000",即id满足id>90000 \| id<=80000
        ③ ["id!{}":[82001,38710]](http://39.108.143.172:8080/head/{"User":{"id!{}":[82001,38710]}}),即id满足 ! (id=82001 \| id=38710),可过滤黑名单的消息 + 数组关键词 | "key":Object,key为 "[]":{} 中{}内的关键词,Object的类型由key指定
        ① "count":Integer,指定查询数量,假设允许查询数组的最大数量为max,则当count在1~max范围内时,查询count个;否则查询max个
        ② "page":Integer,指定查询页码,从0开始,一般和count一起用
        ③ "query":Integer,指定查询内容
        0-对象,1-总数,2-以上全部
        总数关键词为total,和query同级,通过引用赋值得到,如 "total@":"/[]/total"
        这里query及total仅为GET类型的请求提供方便,一般可直接用HEAD类型的请求获取总数 | ① 查询User数组,最多5个:
        ["count":5](http://39.108.143.172:8080/get/{"[]":{"count":5,"User":{}}})
        ② 查询第3页的User数组,每页5个:
        ["count":5,
        "page":3](http://39.108.143.172:8080/get/{"[]":{"count":5,"page":3,"User":{}}})
        ③ 查询User数组和对应的User总数:
        ["[]":{
           "query":2,
           "User":{}
        },
        "total@":"/[]/total"](http://39.108.143.172:8080/get/{"[]":{"query":2,"count":5,"User":{}},"total@":"%252F[]%252Ftotal"}) + 对象关键词,可自定义 | "@key":Object,@key为 Table:{} 中{}内的关键词,Object的类型由@key指定
        ① "@about":true, 查询字段属性
        ② "@column":"key0,key1...", 指定返回字段
        ③ "@order":"key0,key1+,key2-...",指定排序方式
        ④ "@group":"key0,key1,key2...",指定分组方式。如果@column里声明了Table的id,则id也必须在@group中声明;其它情况下必须满足至少一个条件:
        1.分组的key在@column里声明
        2.Table主键在@group中声明
        ⑤ "@having":"function0(...)?valu0,function1(...)?valu1,function2(...)?value2...",指定SQL函数条件,一般和@group一起用,函数一般在@column里声明 | ① 查询User表中字段的属性:
        ["@about":true](http://39.108.143.172:8080/get/{"User[]":{"User":{"@about":true}}})
        ② 只查询id,sex,name这几列并且请求结果也按照这个顺序:
        ["@column":"id,sex,name"](http://39.108.143.172:8080/get/{"User":{"@column":"id,sex,name","id":38710}})
        ③ 查询按 name降序、id默认顺序 排序的User数组:
        ["@order":"name-,id"](http://39.108.143.172:8080/get/{"[]":{"count":10,"User":{"@column":"name,id","@order":"name-,id"}}})
        ④ 查询按userId分组的Moment数组:
        ["@group":"userId,id"](http://39.108.143.172:8080/get/{"[]":{"count":10,"Moment":%7B"@column":"userId,id","@group":"userId,id"}}})
        ⑤ 查询 按userId分组、id最大值>=100 的Moment数组:
        ["@column":"userId,max(id)",
        "@group":"userId",
        "@having":"max(id)>=100"](http://39.108.143.172:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id)","@group":"userId","@having":"max(id)>=100"}}})
        还可以指定函数返回名:
        ["@column":"userId,max(id):maxId",
        "@group":"userId",
        "@having":"maxId>=100"](http://39.108.143.172:8080/get/{"[]":{"count":10,"Moment":{"@column":"userId,max(id):maxId","@group":"userId","@having":"maxId>=100"}}})
        ⑥ 从pictureList获取第0张图片:
        ["@position":0, //这里@position为自定义关键词
        "firstPicture()":"get(Collection:pictureList,int:@position)"](http://39.108.143.172:8080/get/{"User":{"id":38710,"@position":0,"firstPicture()":"get(Collection:pictureList,int:@position)"}})
        ...

        @@ -439,7 +439,7 @@ DELETE:
        删除数据,
        非明文 | base_url/delete/ | {
         & Clone or download > Download ZIP > 解压到一个路径并记住这个路径。 -#### 你可以跳过步骤4.2和步骤4.3,用我的服务器IP地址 139.196.140.118:8080 来测试服务端对客户端请求的返回结果。 +#### 你可以跳过步骤4.2和步骤4.3,用我的服务器IP地址 39.108.143.172:8080 来测试服务端对客户端请求的返回结果。 ###

        4.2 导入表文件到数据库

        From 84e3c21396a29624cd2dc8de44114174b310c909 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 15 Oct 2017 00:58:43 +0800 Subject: [PATCH 184/219] =?UTF-8?q?Web:=E8=A7=A3=E5=86=B3format=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=A0=BC=E5=BC=8F=E9=94=99=E4=B9=B1=EF=BC=9B=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=9F=BA=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APIJSON-JavaScript/RequestUtil.js | 41 ++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/APIJSON-JavaScript/RequestUtil.js b/APIJSON-JavaScript/RequestUtil.js index 627d09aab..62bc61b68 100644 --- a/APIJSON-JavaScript/RequestUtil.js +++ b/APIJSON-JavaScript/RequestUtil.js @@ -3,7 +3,7 @@ */ const TAG_REQUEST_UTIL = 'RequestUtil'; -const URL_BASE = "http://139.196.140.118:8080"; // 基地址 +const URL_BASE = "http://39.108.143.172:8080"; // 基地址 const URL_GET = URL_BASE + "/get"; // 常规获取数据方式 const URL_HEAD = URL_BASE + "/head"; // 检查,默认是非空检查,返回数据总数 const URL_GETS = URL_BASE + "/gets"; // 通过POST来GET数据,不显示请求内容和返回结果,一般用于对安全要求比较高的请求 @@ -135,15 +135,44 @@ function encode(json) { /**格式化JSON串 - * @param json {},JSON对象 + * @param json */ function format(json) { - if ((json instanceof Object) == false) { - alertOfDebug("format json instanceof Object == false >> json = parseJSON(json);"); - json = parseJSON(json); + try { + return JSON.stringify(JSON.parse(json), null, "\t"); + } catch(e) { + log(TAG_REQUEST_UTIL, 'format try { ... } catch (err) { \n ' + e); + return json; } - return JSON.stringify(json, null, "\t"); + // 导致格式化后代码很难看,像没格式化一样 + // if (json == null || json == '') { + // console.log('format json == null || json == "" >> return json;'); + // return json; + // } + // + // if (json instanceof Object) { //避免赋值影响传进来的json + // return JSON.stringify(json, null, "\t"); + // } + // + // var jsonObj; + // if (typeof json == 'string'){ + // try { + // jsonObj = JSON.parse(json); + // } catch (err) { + // console.log('format try { jsonObj = JSON.parse(json); } catch (err) { \n ' + err); + // return json; + // } + // } + // else { + // console.log('format json type error !'); + // return json; + // } + // return JSON.stringify(jsonObj, null, "\t"); +} + +function log(tag, msg) { + console.log(tag + '.' + msg); } /**将json字符串转为JSON对象 From 125b20618ea4d135e90d58399f5d53f6b4221049 Mon Sep 17 00:00:00 2001 From: TommyLemon <1184482681@qq.com> Date: Sun, 15 Oct 2017 01:12:44 +0800 Subject: [PATCH 185/219] =?UTF-8?q?Web:=E8=A7=A3=E5=86=B3array=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B=E6=A0=BC=E5=BC=8F=E5=8C=96json=E9=94=99=E4=B9=B1?= =?UTF-8?q?=EF=BC=9B=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APIJSON-JavaScript/access_error.html | 2 +- APIJSON-JavaScript/delete.html | 2 +- APIJSON-JavaScript/get/array.html | 2 +- APIJSON-JavaScript/get/complex.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/APIJSON-JavaScript/access_error.html b/APIJSON-JavaScript/access_error.html index be5b49558..d616d77c5 100755 --- a/APIJSON-JavaScript/access_error.html +++ b/APIJSON-JavaScript/access_error.html @@ -9,7 +9,7 @@

    2. s@w`px;Rkdl!FAusSpd>SK_L518pa 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�Y%?uxv6< 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

      6VK#B3!Jt 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

  • s@w`px;Rkdl!FAusSpd>SK_L518pa zAOx#ZUW8SXL{OnJ+}(Sv&eM-FTuc+_T317j_21TxAcYvtsHmFPSZZ*9r&-Nw{twnb z^;ln4kM0_M>2s{n1~MauR>X17wjdu)YUUID)ikz*)L<{~*BeOi3pZWQ7o~dcI|I%w zOZ8jPST!<`CURQzx0UB$Kk~ff^ZsRc^XH}9FIe<{F-I)S3TyhA6|x$QxN6kRtN8yD zPq^Q48WG4x;7;ay6_Te<_7iNCW*G1jX}Ca1sUG5u)R7Am`w912Y>*_j97T#@ z8o-*%)*#c1oV7rE58FKn;OPTreXwL*u#{qQi%C<-_}MPu7P`thoWkrUTLAV6-WT$< z_^L~|serhz-Ojjl*#;ygM(n$4+qz&_Y*e<6+Hd(yi#5p*<5*AD@w`)UskVG<7)D<3YNkwmO`KQRWb;@z4=^5 z^+WnvN%~7@`bQ@*ee(e-H`bPTizn!1X(ke0;`cLbLq*O0*cE`e)misE=S1h69G(xH z>YNWGDQ1(#8mr@ov>RP(oSu%4#~T|tLqrRJX$!va+6uU6pT~KpYU7E{J5^(JcAl1< zxxE219xZrR-tNDqF!kt;2cpbyu5oin~S0-eymp@aC?XNv7X zdbh(lx3=R%_O45LJj`o%J*0Bb$;0k^9wz9{nQHv^(24vFOrudZNVhgYugvHB>3p1o z?tXXoMGo&0Ch_|cEaZ(7+57G>(pvQ16+5#Vr52>Fj?2^v&w2cPt9SG7Td|Xj2Q9R0 zi+G|7ukiL&3w`^lV0ZJMkmd-X*zV>!B`j?9^jc3+8zHSagREu{c@>$$A>U;X&nj{h zhn&J7$|`ashx{u@A>LJ_lS5ASpxw~C zGH3^fPKYwQn+!UGLqGO0yPFK!#-X43nB7eVoywsv1ex7U2A#&CE27NqCWFr8(3cMj zp4s;HOu8g9!KnFTY4{(p%?6Vw&?|Xo>TRLJ%sh0;BV)C4g7PsUkCpzo!S39TxaL*sm-F5{O*tSRC_`;w5;|FN~Um+))kqnSMu9g z(C2cz6y83Ckh_H{0o}iX9@!n z&?s(zt}aVwy1bhso;c=DT5Xa;N#XFc~eFZ-&Xkg8A1l`MleFEli{y z^W`wvKGJ+KOnOF{e-4v31oPQ2G%=7gtS)XMHedJDhdu0{54)nuWO0V{dIG)Y9MPDu42)|o($4(f^*KI5F zcXX`l;>9*??<@*q=g@q#J&I&EguNg#dz@I#9ugDwLt4)@38Z`eW_`JEz-STff{A<2 z{2TO`aJCYXiPjt06>o#^+w}VAra)NKkD4nAQuq9u^%f;WSez=-;=M+Uk?%pD^)^tv z8YuQg9*t|nt8_2=6=2GwXTc4+4XM@I^mQwG^v26?FrvQ;fj z{k}5Dtz{4sAWs+3i38-fML3BvNU{Wy5tW*ZR9A$fsKt^}fv6yf}{3}OM~ zKvAsEeWk6eqO9FjmO?o`T-*IH{;l5Z!Z%@0`T$ z%%o(PWs~UC=7^tk3Nk^yLi`@F8~>D(n4JxL-@A#9b7rV$0mVHZIdN3s{oV6A;;#7x z#;P75)`E_26U!NQ;lImIVq>Zd^o4GFYF7h%4n1f5+jjO&bq9>!BsC$lf~$Z#1zZ{2 z6u6DxHi26Ut_5x#xM){n5V$6|8n`3CT?8(S9mqm(0h`3Z9SZJtaI3++2wV-^OTZ0+ zdnvg1=E-j;5AG4EW5ejKlbCJhtaej7-t&u&Fr?=8YSKwWDXTq1t>EDs-$RJs)8g^a z^}Hc?6J0Rh%W8LF94RH?=_%%~l}$C#uI9h{BHQC@`JFl}mwhL(yRKp3>qMXSR1>o$ zy)({iNf*YvpPj_U$tkoK&fYSGI>)ip8v?%9#%>xpV{3M=Rb0i^1q>0O zXuDabmK%h6ZBqch?5P0ZmK&nG+`QHJ8}V&&Pu|aV8-Lk^DL54Tkmj!`_0xr4HR+Tud{^vV ze4m+PF`8RA9V~^R#0PBjS$mr_F{q^EYGN-P9dgoPJcf+Np)_$9$RLw6q+_of5lYDc z`eL$^LJLiS#-?xD85kR1Kh_D49U{$IfOJ+G`ocH9GVsl;RCP1uJp@#Cb3Q9**$ts( z_Zlxdq}(E3MPl^iz+jqxpE#8Cwt5o2XahMsw@$bV>r$)LO_lADL;Yzpb1mAGTmzYw zv;X;-k=5>K$Jem2PO8CesfIQ#n-6BS-4vdx#`^;f&TDR*?OE;arb-e79DGrU`8NoA z=u631-Y(p$QIacZTOSEBH3m-==5bQhLjg9L!ti}U7O#>@Ji=-Rq3l%y|AT;kw1uZ1G)52 zMPQ(^KL1dK#|i7Tq=XOpyE6|}_+xsj5;NHPzCpsF&I!1NZ;+s|PS}oe87h2lq%KR> zV5c(tqxIo*UMi3a1iWJgT1B|m7%SamTq8XYyj8l)__b7+pRZZ%+y%X<=#J=yJbZKh zPAh(YZ#91l!1~Ov<6juKiYf}s&ONh0A(I~i&b1=mY1piz3}qwFHwEZ@(TkK6%zC^h z>jBojtNsm+`F?F+rGmQUetLEmbPMR^HChVKs`_gKlhwp-ylJ^5euqC8FkeC{k$|nX z1n_n``WJxT$NlrvRKQPD!<4=%PU&7;CkL$~hXNx=C^!MA9^J7s7?kmb0%+{tHs6c4 z32xRqJpmQ(wc7NaWKG#w^cQC3&zplgr=N4@dsS61UknHQMn+_)Z^(cl!v+kA3>Xp~Fr;R{kl_P{)D0MN*nlCm1BMJ5Fl6umAzaP^-W_%1 zBE_qO1IAH!vW1ncO6xZhWMlNNg0+DM)a3o8&^~fGwS1h_uAtV6YXjd``XcW%O$OK+ z?VQd4b*sVk2UEd%deR(VVx9PXWsSBE*Sdp<7o=`Axc-V%#k=&pc#zr+POJ8Nn<>{9 zisrv60xe2#fHv6$Ev12sI8@;^YF2}c;(5|=Am);ni*u|*Vy+T-r>Lyz2Mif8V93Y; zLQ2aQZ+$V|Zq@OvGt~90O;wSYaz4x|K8$}#wL#X}5wBD*H}@UH`!)>ALo!OnFb~uQ zo>UX}8>BXHH@KDHZUxs5E{vM)$J<3PYPuh>qlWo1hGrvow||wV0nk6z1|BSdzO9=N z)dpHzP#AY9S17&K^u#+==B{#|J0!tMXDXdLK;1#8P9jsiYD)AI@6-%_|9^rKwHb*o-K zZ&RSVb(^RllEx83M@}Vt>2cO!lvC=T zIRxey&6ie?i)EiUQ})VeW2_$LaS7W?3~J}X+oa2Mx8Xelt#HXuKCP2F)@?FBDflrL zGTzL96z4*U-X`-MW^V|k?boL;`;W}dq;a52+o{J0JL?KkqwUhWjXQL^H5TgDw(DJk zcIw^Lx5M{n_}-xx_8Oi%#Tnz=UNrXk^C`}r#ZJA-1%EA%zeCqu^7^+^9C-z}P{98n zkAFuI{V((I?Ronp_)q#SA6rF%TP+%Dfm*O53`gN@yc%#uQCrQsbX*^pPuqB{+JZA1 zfTgGI)S1n{ojSj_E#mxnzE~Oqtp=l2n<_!!ZFT&2nN2@C&M@2Zv<(VNCyHsdiRt)G zeaHMR_*)vMK)vuD&CKr>?`J%!cZ-kdEu!e!|2g)%<7lZG^wbICEAw4$p9|8)+c|iC zAWH2nv)!_+6CU}Z-R9v52oLf#{xczb5s+^QR1o{h$8`HdoWuOKoxKZ9XX*$&A!npK z_fr4D6TdQ2%B^|qTJJtJxgO?NO8tpf1VE2<+^k?e_o*rJX09%<5AyqG?1f>x`aqG8{COefyAX3|SS*U5NQd&hImw_=fVixmpGKEbaLY4{`*(6tkpIT}(r+ zlOI%5@<~ABL3K@JY3EKnQJpKofwB5lH6<(poUMTK?6f-x-pexvBaY#n8&JFqvw?Kv zD96h`HVUPFPD!Z`!uM7>ZX`~5kLjnp8%SNQxYXRSu)M1JDX#`1=ZZ_r9Sh6q<3s(G z)xJYmR`yj8^K_7;d|ByEY+gz)9CDY^9}n?RUOtZ=a+lBjhf>mghqBfq9XAFV$UTQD zsEt4Y=9ajKCBXm7jEOEgASYxUJ0Q8ZV+RD`eOafioLSUXoVCMqvTQBPSh|vYq8q&{ z$rn1>*Ih}z*4aCcY}fewEVHS_bgWyu<^W$MUD_egvY&!x{YdW)eW>>gB1X^P&+>b6 z`0u)`GbSL0TaVt7b@c0@BK^8OkN;T_{5M%gUw%}iNAJ(WKcsNy4S~n9?42{?0L)qo}|?Zlxn9earC*h6}09Jh{@xsEkYW#bT5Z{0?<(H$BD+HPkPN<+6c z*eJXsH04ys&Jtimb~Hs??-}C1S*JSXTWu8W>7UBh)iGY0ctY;FvRz>|`M4-vS5eq! zMPbJkg?&*Jwmi?r;3D`*MR5)lg?+auELRk^rYKAZxx-F(g)JlpjVe;;zs^3j*skVi zqgyl$e5;7n?IjR?A(M3X2^NLE+DR=<; z-6YzRS?b$t?An;}jvfPHSE;1b0WIjIz~8 zE`xk+Ng8xL{$u)5&l4HtHh_Pg>)Dbp%#V3IsZZOV#Mj`vZX9Fu{Hn>QblFCG?NmP2 ziHtMs_&AWiZMX`{-;`uHZ*%#q6L)~_eIpU&;f{^Rf1JwR&aU{6m$s|;f;+Ws2jRVu?@f!~Ss*PN`62kAY^P~_FThD#?RDA)qwTZ}XN_Km z@E&R}aJsQjxX?%m&19i)5x8Ta9a~0=5OwYH;EU8)v+O(?a>Z(womCqpl%7ZH1`0?e z8~HtbY0Qo{aKHJb9ghQb_a0I?MIx0`j2jq}Q+a7HWn|av&&kpi3%Km5V{ktnsMhIi}NR38J z+OFXIyVrU>QBPCoh7>7X0yvgBQGQpq(!_X$5xRsy-FxKm~s6gBl%qM2l4p(b20HwSNwM&zWGM26ldX5rHjj7 zySOxOua%^JaJIW~uC0}}mgL%vyTgt9BU)1a~aBTOgNVQs>*kYh$e8>;$Z7-IMUe8(>_=Acj+`K3qR$G#%WmH7cn| z4dnGh`Er@;Dx)b-Mk-+X2NB^MEGZw}Iy&T>Z&Uk<&$mhZoKj^U(G`i#yjKaCFCcs-j_3KGS3urAo4~FN! zPBhp#Ftg|!*h$c;PfHGb4(vqZ-<<<9pZ_LW?lWKoTKV`paqQ-$`D^WC_Hv#4t%CfW z0{P2A{#F~^o|BDk<-0~F?X4M{vBw#Ha3^ucc({7!@42KcQtDqS`t zPwr#uQV>_}jr>3I-UK|VB3m4OM(CA>$ z(FXM4%!>)KjvJ05qJkibI_~>6qqyKY?vBg2k6S=cP{(0ZlyTpn|L0WIz1=qn=*+zL z``&zi_&WF0sqIwNsj5@kIZINM>*g0aBkIe)w=Pdt#uKb4!*c&R;64FlpJ2G0JekWZ^tZ84N&uUiG)j&cU^>QsLNIE za@lu&gv-9UBV2e#r@!N}Z~h3EeKSb7>>E+SH6)l-XF0B0T&`M|E9G(xbGec(*R3ws zP?zgMaAh5reMd;RE_S(Y^H-^lp}ndU-WC$L=UpL=aJkxCu9+^^kuH~g=SH}8gDa9R zv%k=la=Gx1%^w}t=PuVHF4u7`*RNf!S6r^`^1h95{oUpI$mO!{I|L+;)krUJTscd4|aNtLVF$I1ol9}02ol)Ts}>{?~!bU@#o zU%LRtZKh@>Ok!aC~?CHUZt#%>nOny`sLmMRYSFAFMcEHQ&K78+d9M_iXAzAuM7KIV! zloaYiwZ6C4x0UnkyD{^)%wNo9a~~N5`2HSoo}P&;;xh>Dkw-w1sVI6_kE)3y**)1Gu zLYzk@9LA>rcwdAsq0X^~`1^I8_`KKds$ny%!)5}{N`fvvc=~aA`j>ti5iex zyXUlhcX{M_S56I3@8yw4{XeCSpM}`FeLX`)dW5_iLY~k|nt$vO@=6GKS1%z4_6T`4 zguJB}+GBy9vG?f_`&STqRWJD@dW1Z5_aYjtH}^vG1W4=tpHySX-FWK+IKdN-h&u~k z^3YSsBD%U(RYx~ z-+lJ#Td`N)^1b>N@71?tufA0Uz901Pt=_9||GoMS*o$v3b4bLyvx2}ZQj{+86Yq{1 zvgrrG8S~k!$O7PtvC!^MPtNnf2yj0$IiE*W5AJ(*FTOv8f=eU?3xI;fKtU36j7`UV zXhDI+-T6Fr{0n&;EAv$iulv3NPud-KP&t80g3iUoo z{Ru1{IkF{RGgSoL`Luue<7smlB32Cgh5oK~TEVk#;kUg*A?LXI;7p@^se4mcp z{r#S1&l|rFN35rc_`5Ai{u{m{K#ILx!M9ui;sfFHQ-U%Y-cyf}gW=nc^d+ZiXe(+T zyh{MS)sW&@?C0>ip3?i-rylt8gBSih8Xo#d}ZDrT$$xU3ZLr@k#sOhTJ_^t>x~=OJqu?5gmSkJcW)r|i?t%h z_Z_b{w}FSSK25Ydpr`fEbKY?k^Z`9%9Ku@F<5)V_uUlH^s-5*t4qx?aFwd0h59qaX z-pt876rP7-z1T}0@8!?M%jS!_+m)@1)>jsh7UH2DiBnT}ivUy5RDQ>k_NF3!YZF`6wpb9_enkK4F~YXvQ7el zhJZ$9{{48C`Ft+Rd^eZhj16#|<8L(wxWA87d4(+VHL>2CzU_F1c1<%McCgGX0fu*v zNAhq1QXcrmS9`4vU(27mR^_)PVEts=i94x~;x%<5Md4FVGT*`4=+^rClcdEH@Z+wm zhg)U!5Prw-3%oH4?Ht0GA$~tBPUPNy2>1FC*MK^04GV47036`^x9DFUhVpOTlEa(^ zkdDO3sol^LX{CaA2U$zQS`Y28Lkcyhjx5wFkQ_PmW^Ir^?9bOj4f$m*?6gM8@&rEvds2@Uyz_f!Xtbw%+o>28vi?W z)bfDZpzh2?XlDGWA|`zQnV8mlENX2NcHxkg;|pk+ENPkiBPl|wG`6RvEX>ogRMN8a zpNeVIV)N5Q3#3gW;32g0nYS;3T*U}-5Be3pCA!jyb7GG;CpvLXbj7*RiE~nqI43!A zPIAS$-HCH@k2ohgaZYx{xz~wvN{=|FIB`yK#d*Yub83$`r#f*?b;WtwiLtU^vtY-xIca|N3?W?Ija0dML(XS%I~?rc+sfVopy65VC_tM{|f#03e>X# z-1|<>dsPJ)=I=D_8v-*c;E`oU#+u5s7AV%vMECWB}DfDA%d*YhrT0%Q3PiIPf ztqC%sPr(}!AcbgB1ICx8LVVR#BDVF>jHxRi&0A9*QY7bnEcYwuh|w?sP4nv^Qp&0#-ypSqk&^E*eaRhCH|)n#e~h z%twQK8X+G|xlC!ki>4heQnThYAqw^2oxePPHVaVOhUXL38{ zrjj73{wj$8G!!7zn*w}UwSjGD#k>ORhyAXkp)?<2K!Ix&?h zi1ls`!o6eLARWI*oOw<+&SP93R^uzF$|jJ`8()L3^@Abrhi4$%BfnAF1{&j z{rhsZesY)Yr!748qv2GU0{QUx!_Rk~@8Y8A3Z)QA{y21sGlu!|23cgJ(;x?AY zg0xz>q<-~&WRl-Y(0T#`?(!DI#IV(_u%$9=3_{J6p|bv%Ioa=*E`ApBSN`{T#1s+h zYj>)7daV1}6St?@f$}uLl686fsw~%qeu44(RSa_lL450nfC&cZjE|NxGdPG$3Hk#+ z9Y2!e(Xw0X_T_9f_2GM{56@ujzZlzZ^SmY#zltTEDocDYX;6Mn zx^&&9aGi$;>M+b$&&XHPc(UGyi=r665-ntmilYW+pT*K_&W zduO*I0J9HjuwfLrm*DG!#z#_WWfbP8(@+;Pu|D_8 zK2ZX3ig_H3#I@rl&Py(B!aM#Ll5%_8-P6dgrIL%q7}cJ*TCS4ve#0HVYaBnjAC9*D z8n1eWegS^{_&f{!6-NHn#Bw$Utw$Q`Q>g6>T8|V{N`@PL zl7-ncQ+Wm-!wjg+wuG23JoX(zNb5Qr6QfLNZCt^!>eZ|@1*1|jO-?7&nAy0J3HK9Q-7XKUd;!aqtIl z{2GbB)xp!ZT- z3-IsQ_U12IEbc5b4d?yJs!fWbzNIKi7g1>aQ9$oe)pTeO{aUBNtOn!C_;GDh1)q4i zjde=yS}gY2m?v}e1x&u<2Pl(;u}E#5y_~f-b~IHsA+FtMhrTvr&T?jb66RKc+l}F9 zwMoHU4`Ewb=lY@W{`QV&X~Dk3vx~)8kTH;pBaUqO;$o@K%UHoSB;5MEG+R&JVsVEX z>!WoT@IW`cUv?gEFShqK&UM|te&4~ba^XK*Y~RaX&I<2g?gTvAw8z(DadLb$?#(8+ zZU^jlhS{FDKP7Y{bQ(<)a7Ai;t;@0Pdx+bg-;=~XjJ9b<`r~v#TSwx?W|ZwPe#+wo zIqo*xtK-@Y(YigjJL8u$9pfFoIz@P-_&W!O=LVcc_7|VeHhAtQU?WD9qkW;zfM=wXYV3t zeRwE8@gC-9v>~uBjOl4Qoy>R-WtKKRyFQFIEJdtf{oUhuoI_-sv<9+OaIg&55ZE8` zJZ_@Mliy~3pYglU0kn9Wc`b+1+|Ph>&0vDmtuKP_DP;J1bXSqu^&qhZXOh%$-im*M6+z%Y;&5Ub6h_Hx7?sP&-#Sp@8#(2S*8o8s-`VxT~KIpGG+F^B- z$nsqTG#B&xPsOn6!uz1p$$3m@87U!V(IDt;rNoT~$<0?y5r;Lf6zDgLV4nOq?)#Ql zUuG4r`Bqd_H+iFKS5(ct6~%9qZq=d+#%T>L=l4!q$#S0F>S$E!3JSjrIfJ?Nh@cjb z5y3abeOht>6Pix`OhoPvrM40lQ4F+DXOQ}iBS=@opp&A-2F81xL5GLBKbjmtEi*5s&{uz4m=_d9- zn;9KL+?af=*AS5VA$RKu3}wA9d~Q#z=V4|9MH}1g*%c1aDMir`i_q8Uq51Zj`#;)V zt{go&eV0M|F*bHGENrK+sP6LDJ?I}Q@b~l*U*B8&EzIx4lFh4xSQ`Con=2jlhb_T-_>h7#gqj7rk_mK^Tz<>SAeGifvDMw3`C z+HX}}JyFd04O%{bMyJ=pdO%5#>9yy>s9Fv_FW?#zQmG*XV zC2VcMxM^j3uHATv$F<(&tAmf)jTf8nO?rFcO-RFfHorfnpOm)={cK9;;`Gb&w8%-q zwjxta&q&hXh1o^@HJ_P>L%8X)Va=jN$@E#U%29FmWNT_6r{qwO3p)~B;Iej1pAEiP zPMCWadaS=zWW>GvP961{S+N${f+Mn{uQZk za(h7Bjm2_I2b$Bk|AlY2MB1cv)^fI9?V_rhnFaGpYQ!+H!%)I~P?G@SaV;^$qvB24 z*)U(Xj&B~(IOFK$%=SYm6a5R^Ijk4N74h{mw(W0D60$i`h88NGNezQ`#(9|%d|QF@ za;LG5?;Z%Z^^Gpi9afzrWY)sCXg~f>sd1hnxkkr!xvKYY$v0Btc>9IqTz@BoTYz_N zJ!ENZ8>~2&tz-?J5RZ2;k9QM6j<^qEjS3DTCvNC8UaIqeoYh4oTal0bL%C zwp#U&%rdCK=_96<0t8aJC)!JD)<#Sx2sMuyDsE4~%KD7uY{uzOmk@i3A5!vYN*DD| zba&|*J#6{eY>L;T!z%Agz<4#K{jl-Phi8R9b^N7UF}+al;6~aoMrZQRb#1zJIlk=h z@Ur_)9!ySzZ(p4(9p(w?X%CeD!hHE}<`mx#wYD+!Y`BP&z`_v2jq(g4CqLDhc)4z2 zK|KVq9xim%!-Y;gT$ry1cdFLwn9gRW9vTSl|ISzoG(+qufr5ItP}ajmPCcy4*F#%Y z_*2JUy7Tn_v|)_S#^>rb&#^Aa@8=wKve50M4hh(!4(Vuo zI#sD!I}xAe_?HUt@5>PdxbsDHZ?^ZrPCr?^b1{{XIHo0W2jl=UJ&F4pj8o9WDVRnY z^!(_DJz*BHe#nxG`8cQY)ojQP550eyf`4aG>%%O$=*PlzwKu+=YMNuc)_Z=|Gcvy? ziPLXyJz3aMb@yA{si$`1i)PVhxjg+%k?doSK)jQ2jGWH=({BL&(gj5i@HGAme;-S2 zg81q1K*Ad3JrAYz2H>TEUAhjuq?61Iz)Q!Bm=y;Icu6;%6t+MLIL4s+aG931iB7RL zBR`EKt=9oRT?=gwDNG4MYC7_hPSFkALl3(N_{FDtrJHlpWm(~(j&C|_khsoNw6=Q(=plp9oa}lf+SNl}G%jeVAFU#Bqr9ErJvJ#TH4@&Ec@X|d;Oy5Y}if{Rt55FIw z)q5yq8^IW@_rvHM^7&iu!;#mgtX4GD#^e1OGXSfofX~l-nfuS+Yu}Y?XF&cK#`J@q z-^cfz(A`A|#XWq$@w9Q>FT+skl_@|?ty))*L(a~@+E6LWdlHnlN<;gJ2Q^oaKosq^ z@fCv!{Vg$yn5D3Sj7NQ|O*1ZRx`EUZC)^?$tQ_LFaxj6WI2mCKmlozO;33lSL1e!2 zP^up><0H8b+67b~3f7FFm~kSpi2`g9rzAlFrK{u7(yn-1$DFMvFr>n*_TA3q<3dU# z#bty{*(YA+xZ@~W#g)|ti|#3WS6LY~%b`xn<7GBIJX{&V6}(&u2#r3qj3^rPeP|P- zR^hkK`;i$2O5gdE%`!--EN*m#3|fdssoX3ZiGHDmM4gNJu22~K+R-oEGtL4Yr)T(I z?;$+Lhib@?xt?)2ZDFNvh^+3@x3p(z6SB0Wvb23=Y0>f(%dziRkrM0+t=)&z2j{rT zFxeLmn(-sRFHY)w{h_^2m2errRs!K#ydfXIisS2{znJk{4&hWlCG>%=Sd7v~=&CN$ zgf(iAS}%xJTEPT|#koA?BY}82{*Rm;IvX!B3;7UJHV9%T#p6D+Oyf9(mXVYJTnuUF zbA2&KAF!Sq6I)AwzhXbe*?!{Yzd{Z$<9Mv_SDQv6Hh=VjuiXPa`A>#V_rQ1SJvqDgpcXf} zy|)%QcMmPH^xvo*`jv}TuTEth=`OtPwd=^+J$$yzZ@ydZ3vDSck4!ErEAK6?4C5;Z zv!`^lA4_LTxz9-hcgSSfmH!>i$d<)S$jyg-HKa0E$fF~SzPU9efxh$xC0JsQwsGE8 z!B7sz0bIkZCjnn?t?6@GvmqXX0FFR$zg|3)<5Rx#0Dl(~<2j7wAln$cx1LV+)Ka~3 z#o^>Xp#{78^zq<0g?fs5hIQ&5!%^#FXGHMLBLB&Ji={?Q0Pd8g_~JTUSVNZNY<)Bf zmdgDKV-w2PV!y)J$YIxhg|V5-P1g^FHBs1*-)}S&z{udL(<9e+`oiTMev);kD zI?!jmU!52lL?4ip)k>|s@rjhD$$E)!y|bDa@6MqR7=@tDmn98@L{s+fy}=Lmjbi@l5e) zo-R$vVOU(ZJ&-}4E{~E!pBd*v-8_PMJOK4-y@xyQo^%cbzj5%rkSHqNL*nP1Nj#^vS3p^^p5KN` zsW`5QQz2LheUT-17T}4!tFb*xZZE()ClQ;o~aa zR28*pD75fy*Cg-{7v4ikY~?#xjLXB7#QHveH#~EiIF}P){W2`(Jq%ZO7+%G980Aub z6^%f>G1 zrH3M%dX$$9>;3PWxGVI+fzG9;aJwiVsy2i6}iVS>0b;obP23r zN@B&P#Pcx4w&aagkc(kHf$?}6tcHhRh#8UPtoJc%24%aHAS3mcwvfX7CVOMS-bb^c zr1#ORn)E)JVUM&&vna`rWWP^|~|HgI_$}qmYgwbReZ7*Rw7-mZ!ujAk4_hT#N zYRJS~x@;iX6OY0ux7+5^y@bh4DT@`?kUl@`EsUK`4N-sSeO4K**j)UJUU=Zg<_w?U zKFYc8o&5Y1FPNWV1@lu;!TjWN=BJcbm+4rW^D~RYd91(WNB0+U68Fr%%IRm*o~8U( zsUH4goU8ovoSQ9yak8YuD>(*hHfLS?<1LZ=U!Y}*SI}TRoNtx?{(sn8&5~qqcy$kW z=#?NR^Z^NCk3CZO<4V1-SJsf97f2A3a{vDsk7~#(yZ`6LqF28CX=Bkt-&$o^-R+80`i1E*kTxN{& zn>{F>q>Lk}Q!}A+NLMsWyL@4NP0Sze(qg&p^`Dn-#Em1AZ}8@+@!MXwHtgb7y0p{17o8#PE@ca=x?P+5;27v7`W^{96b zpDl)7TLQhmq$D!AxVWUZxH62dAk3c9(S9tQEhSzj4bNH8`_kRR zI(4t}8T{k?csh&xC-W_q8uz8$DS@Qop>uFw`lro6Cw*n#A&;Cfn6#p8he)}2|EBx3 z?(e$d{^KUH06Q@A@foaj$8y$w#Q5f$pTpN)MMS<6^ze6rGa$BN$NrgoC)iZ@zE6?i z{q^S$<2*hTZ-)EBWW?$c{=%I2QbGS_bv|NNQH^iG4e92PTgzs=V`K_dB zO**Nh)(#)vA1CA^NZ*Tg)F-mxYygWfwTir~$LSmUbR<7W8R}eeH4~W2t2suSORkrg zNdq{>Gnf2cVkQcVK9}4oF)ae)ol9>&`=aIkkt>@m8jL>=r!5<3CHG6#FJ#E$J}DyDiG5$ zzFsypt6awpRtRNBXO;B=>dY#4a>#_0Vph3B!hV2nmv8{!Ya|>5_*w~v0KQwo_|p9< z3By>b+$7-$z`v8Q!C%7*I12DZ5@rD3EMXJiDh1H4YcB>?|H!l>Qg3JI42 ze6fUK-cc@>a2(*l*OZ)BJ()Ni|?Pa!npcMXAvMuot>m;Y8 zFrBu<;{gADn1CN+)y8qbw#1Y0oeSS5;5!GtkFr9WJZqNOdaxdH>A||l!9VQ6U+&-^ zapA9Z@Q=FiH#_*pT=?4@{NpbCT@L;U7yf<+|0FB4wf68bTW8io^4+dDn|*qj(5=zH z?Rm{JX0+&B56;P``^MJqLeVOS)b9eV@TfnNd7RBNGA)Gbd-3|`8PgF~DwG%W_T+C; zF~xeX?a+sr^`@Qwhfe;FutJ-KpF8+RUHBgy{9`V>=S&;_xC>w8;Gb~eOC9`^tf+uT zDgj^CgGc@(dEr^f3x9_3^9{Yj(CQ$C#4`-v$3Nw=$C5l#ywm+x(#ZfMWf|I@2-g`z z=psY(=|!7)rmb)78R$!%I#OV-h}!~i`Fmad`0v;=ZJv6@rL*bR zu6Usy>CSWc2OWPOzuiE{Vwr9U$>od!8!_jfDel&=Xj(e}RvN=6;tiU(a^TqZ#29XU zvO%c@_d67C&?LBfUvQ7)c4CEp6}V4o%e&*?KDofnz3tO+=Xut&gNg!QAmqm6=Ge5kY3`|2X!jv+832jcWmFWMCgKx(MbbY61AL_?WR zr#6{TiYot2{!ZiW2|=!P>ADFZJJ72bYS`;b<|QV!+z(V&1dj_^cPO$qJtpg-jXuxv zHcsSwv*otFkHK}71$L9Le%=MYq1^u2^Dt%%=k1EtjIwkd%hV!nL>+2yYEV#?xs-J# zHx5Bd0G%X_{6ISsqbE{stEn&r>%GFbXe-pV*%dxZthL(c3zE(@<;4OUXw_%gHm3Rn z+7m+^dWB92h17z7Eq`Nhz(kx;GOaJN%#;@(uUe!>6>zE!bw~-gj`MAr7^KkMIpxno zP`^pLF$U6!LV4;r-ufaeaf3J?RRh(QGrsTd$PrV{67o)*d}?(Xqb6e9x#VRSDXYmG zklJ37I=wLLp=a4P;9i|Xi6bExud<`a7-NR<3d`HuJnAfaOnlXCTkR}cCV9oBBcj6z z{}*P#lTGI_bRZ3V;3{=)7nTbY9ktP8)yq9_YED z8$CL2eL`+MOYnIW>C!tA`_>7)JwjUjqvN+x??~=nhn9To@!;9B?D6GQm;CaI#Lu9w zxbPdD@PBdPw>kLNT=)+i{Oe9R(C4$W#CV$}^UFFC&rCwwjn2$!yy21scR6K#g9)A& zZ>p3PVxM82@%SVi$KYXa*dr0m)V{&TW9(-*9vl6I-85b9Gn5y^_58%Rc9~Ku>@vOK zjLG{2MLPRtD! zVo|F>ZL$*Y+2#%gX61e`D=GXvvdyEntPo@I@yS0=8m0;Tw6@RQpG${6fS=-UTEY9P)9MzIkU#Cm9o@$!tpVSMA!bl1(Q>(A zilQ|rCb3g%Pfo2{sD!xIpLXNRCXm+@>>rhCd-ABdg#qj(C|$H0Q=1gtKZ>~J9YTJ4 zcD}EMyY#G}oq_2j1>8qOTtM{HQ?60Cs+hM#iNfkXcxkdEU zfj`vt^&NGh0JgD{O>9e*n)Z>bDp$=gdOEty$T3P9p zhEQ)bC{e}HQ+>Q!1vOT$=E~94}^HjGR%@goDFHtuUHKo17(xeZJ>A%}2PWw%qm#m$r(>Uqp zjnfLp^_9Owp=4g;u!(wY5nu5luQ#0|)_m=WY~2G;TLrv+^|m~(U%QR-I@WjQI#CL= z!J4^V)Rf2O^&3SEpmlJ`>AvY#|CONyta*w0i7TOnQWJsS{mAdDCBL^DLnrzR#*<~| z*yG8z9%I)^m!Es=y6_x(P4kXxFX9RZztx4m@f>@s+vXbUZg=J39_#LN`MK9rk2&eR z?@I44y`*Qy+2qjnS4o@ry?>4v`{Sfe!LtrL$uPJK{Q>mn=cpU^H#iQ|B`rRo1UhyV(+T(ZPVM0)pb6;J}sc=iS2pbesX)BxBs-= z&D&3J@6OwFeY`z+8s-GhY1iS1KG}mKI@&Em4qxw#=ssDJ)#nP`*@+W?E;U6eyhzn~ zm?~vT8t>z)9{`uors1SY6s_TJSfXe}4{DR;|aqWr8}~ z?6ut|=ZZbzIJt8`r}1rzSlj*GwLkayxk6un*hT9!UdDNZ;L90i#Oalu&cut84ANHp zA;b45*4JTf$(@kgx%U3ca-8d__bBiA-qXEzd;c_FUk3b(yn<3F^4Y+ZgJH!9Jo{vY zHZjm{yf8__wq5oit2~rx^|LFvP3d`wr%AYmvite*E5$lCk$}1d zS*JqTrblr^g_YPU==EO3`qmD6%1WW5Bn$P{p7^dM!AJG4TL{V9Y`}15t`u`eIeA-0 z+gC~HZ`*CXXr*np^)Hizb`P=RaoI{C<5!WFpy&TC1rWUt=%8q0C6P#tgWMj(U3rjy zZh>!92}@{@;<0Tja%+Tw-uqYDX9pJtI}=Y05qkVD=H~+Td!$EKin9<5!)SGMPOvli z#1NI*A?>}Gr&o&c(6*WSal!ijm6i5*^pR`5`-X%6*tM>FYo$G2eB>J2-*fOEbG%(& zAFp)VxwYr$e>nC0KJn(R4Rm*>S_f&U5I#wtom9mcK+3Yn{X%Bqz2pnliYA&>uj zg3#rCx__?n2{V;6sjgfTELX5d8x`ZnMep$j*0N*U(YJmSN;r;+WFW~_I zpDp2m0G}w~K>(j1VGG~|60QMwp@jDZ_%{;X58x#d9t`kF65b!+`4S!i@L~xM1$dE! zlK`J4;b8!uC*fLv&y;Wq;AIl719-WF>jAz}!ovYROTr@nKApprFJr!%a1qV9#xnM?B!e=wDnDZ>)Ap*wCAuG*V*LZeer-*VvNap zK4IPt?`hui>9zFk`TC_uogURaa>V$>Dlz}y4XDfcOW+3R#}UOl45fiu`a=%Zj+_GP z8^)|Jbh!h2$||ATItzV!UZSmKygX@3Qx)c(@E_r1A-?mDgmof2DS%Y;@{jey% z%N2uk>JkBBs;83SNgcjJNGhp8nIj6s2Ru$Bi0QlhXJka z#s-Pqr@+p3p-t^} zW~wzZWV`Virl-0?Nea}c>XEjz{pX2yuuQ40S`%zf{=TV6LGFDCxfj-wVeqkbiFOwJ zxt4_r*6aI2{4Af>{bi{n+A+TaX1*+mNY`!E*0))rN!Nc3us+KYUAj)xt&g(AW5@GY z?`KI+x*o2uwq%J+9rR& zX8cSwXB_A;XN=cOv}Egr9A}REfu;Q;AlJv6{m@^w00ZDnj?B0mYXI4uMQ4ut68iWS z)F=RUD+T|r`0eJl zodnYV1El{rq#p=uf%Q%Uq}vd^oUnc~cZm`QAh(9Fk1V2QeU#_ChWmcQ((#MzJJ;bc zfW`aPZ98`}hLRTAKUA1Mt(?QHy+Mlub|&iC3QIj%kg7_Uj&|Q*jPlPj`eUeY+pf=8 z+gIQ58jf%`)Ns@T`IkWcX(k{>m@ge|hx}h{j*?KQ@&&d}YR62dwH7rLo=;yyY?u|b zc)~^V=?mP|w(D~?^PBIXrRS3J@GyVs)j7N*yI9)H0>%Q&ktA`%G=DmLIPtbs1gCM^ zw4I3!b?aeunD!n5?d+-d^0a`fzW$cm7zdsW&)oF`u6V-uiWvWP!e6XG{QC{7A-~GS zVfoXxYd7P5eip9Y0{j4Fwa%VTUqkxT`Sd0HdRVD-<9zxgwmIM)#jj^ReFVR}46?n# zoyI1tN1wHhg{{lIhb4~i`WwO}Bps`eR*qw&GkI5?;R$(b4-1gQ$y1HSNLKkv9={nhPg4kGiQgjJ|w_FVjtkk)q^>wr(?h?#UA4GmyjsbR0&Ct$$r%M znq~uuFHk}%0+XR#pFwL)Ttlmm77L1WplD&#ri7U$A&ZptSVAaW8GilNo0zWk+9DdM zFD3!jz(h{gb0Vi{GN+Ni4}J&{3Ri@u_%TIT?-ltB$laLcZ#V94Dk7mM3rfAk4CNR` z>Vx}`78VUIrXTQJ@e6a8IbRu#b<5H$2z>iC)NhEjlt66Ec@=*rv{~doMdp72@kJo7 z$P_<@M~j=xgF0DZGzz2U=6uLW#21E@IZ!#D-rW@AR8=WB-FL9WY@V?dzb4j?~@=F}E1I#Sbk*VdEy{poVT4758j&v+K+8y)Kf z((y5+a&G>aU(9WnL6~~$lXm0Ix&YP(e1m8mQ;U%_G-hpogIm?^ z4=b3wOM0v1DCjmXJ2T10ILia^Ew>v}%!#C)h z&NBq=_9oQI829VYs6z6yL5Qyodr_Cl1}cUK0imG|$5<%AVi_@Z2UA;`6_ zH;+?L^3M!|c1t`2Jp|G}A#J@I_=FuuC_ zBA2NIUZ6Yqw>|MN$Kx8r-ou%?R_vi=jIS8(kKq?6Fo=mZM#Va4##&)ZG-Kqr9vb|% z8!t4A{g{mLg~TGaJt9^QUqave+|Fb6T6>@9JJK?Z zGRJkk;+I9MqZbC5apPq7r4ZL}()aN%%6hn#!(0R`!sEXc z4xQAD7OVr$TkBp2+UvIqWWDrUPop%stF}Gy2;S!f=@?y|#$#e_`>jpiHEZP^C*#37 zD)+YRJa61Xp1%itg6H{S9pRP};`Dn+`+2zn9F1DEU?p2?3cv4q@f&6q@p?x(?uPV! zfI^#oShM=B27YG~S*%KZ8dd=dT2wMu^_g+?_-c7KQ=O|Crl}gFIyE#nP(2(-nydN& zLuhsC*5F)~nP@?pnU$&fqy?+OailI;1mDA9H5}kRKi5>!1>sjEt&dIhXz)i%b-w|B zuj6m+G}T|ix_L*=!Tc?shspCWc^>t>Q9T>iTfeVs+*ib>(Z~aTwo4m}&(XJ}gXRol!{@ zmHP|yR0weuso!G=M(axc%UsU*K-XRQ&=5KGzo(_`xb%Kc>JP2KT%IcNL%I^6o(dYdY^93hto=?wJHz z1>L54lpF^6%u^f_1mRHgP-O#Cup7jM{O>GQ0kn6e+ zt2JcMZrmJH_?(a=!$>VjkvdXOhLaI6W;c*=WISmi&13?|ei-g39xlnlCLweZ!o&Cg zzk2u$hu;YJrQz2Azj5#z55Fe(HN$TL{91U-Vf=qB{8I3%gI_)ThQn_J{L=7ifZsUy zjfYo60e&q!*IFLCmeX4c@oOP|EyS;d__Ywf7UI`J{91@#3-N0qel5hWmF4Ka zhw>gxvSb#SP3Dke$g$+V$Xu8kenoyw{+qOu<4Fh1G4sd?WIkCy7Lr9|F!_%AX z)QkK7uwMSx_VPc~%m2Dw{@3^Ne|RtdNA&VP-OK-mUjFCH)3bj56LCbWiJXmxOUWx{Av5R36!rU-KXzpIj@!uQYhc=N18rk<@{}hl-q!&iB#x7 zFD3z_!GIA}uFR|TA;GB5in_c;uKtuhB+DWu?gZf8{#Ft&Q4=(`EMpSV%$PZfc}Q1L z5w$)X<8_Db*i&e)H)nlV5Q?Fd7|a{>O{a`|Nf-0x&|jg9hcSADxrVU8YnZpFOJUSx z2T7d@jEpd@BRT+RZt^je zPN1LGFI&RP)m4OgAqCYtp=?;5t&Fj(34W0xT2M=|X48yqHObHgg%4%2ugr2 zrLC@N1^7}?ii*kVXmLrGHwxStCD~}i6c(a*y|LzKl#Pl?j@&uM>kiRT7y`L)XMs=D zWMgoFHJU~RK4&J;3K{9jvfBr<(aA7cxG}T z&)k4Kvyk)53Bpp`3gj5;tonO~b>o+k9;Mp@pZx8g;S-VrK6#Ky8#D)AJeYiecj){P zgL(NbcL-;r&V;x5QM9+Yn0{CPU;W6WP*GrHs4wtSr6yc#M#HIlrdsVp;>mS=f)Wde9HuoW0LUf;W$RzbwMo3p6LMJIj zk=F-5O3d(5QoH#tIra^`J>p~ESi2#PhH=J|u26*5UpCqa&vR0X0%mAyF7=p?ygqoV zj9*0Tv{IV^KiW=LBaq_jKzC?sSkdp@91Ab4*qys~%)Oge{i)Mf-Q*#GP&&jzJ&v?b z@kq)q0L=YBiHej=MM{+V%YN2_67JTDB9H@v976YQ-WpbAK526A!50NX;XGwAhq4q> zd{Ca^PUF0$Akfkf(h1f?4LLD~^mH04I38=X%jX66`L^3zL&ig`)sSQO-&r|~1!I+M z&+C%GSFSNVH+dW{n`&A?mSgmRSm}$SMuaA+*fg+z7TuSO6DB|;BSHwpVxAK-l z0#Of!vUb!j{xjit3Sk2f_UZr+yE5*C`P2*$U;Wi39KS6<^*3&Ll!!D?BG?k3W8b)C zslaG7V|@^VBnYXy`V<1tRsv}*AzgYT*J+&7gzp*Cfgxl~z^k+U>K_OZ_U$PDXr8ti z7)vl!>rY+4z>}4tK&P<^?_xj-r7 z2SS5*43URH_7;xzgc8&%j@0eP)fK zYqW&tq6KiTK$!x3E8IcHZM_rIIEAy{rJ4z8s1Tcq*dlDy2}?^Fbf8d`6skU;(BP{k zSWjL$7*@Tp$;r?6@!{GFabvs#Nr`VZxk3r~*s<686fZmM z+JNGH@Fq4$d@u8bd}l1v2J_s#K)KiJnc|HI%Dq9yZM|{EW5r%5ePEf0gyi*LbLxj{DJ6-idj6`TM-9c}++|h1gWY7Ga}KSUQfkkS@!wN1T0XN|s$J z_TCx6+g1ucjqs5y^_lI7g)QQRY#85pJL|^VTzB9vztrY8)8RL>7k;zvwq1Xz*o&{C zf73gR2kI!l`$_qY*iU?Eu7w2iUerQiZ8@q*tSznGVQ2ljBU&P9!GHH&D(*Zph*xYj zQ%Z*8+6@9mD3q33UyAcX{P)bI;`|Wxu9PSNpswBslVO^!jM7vnMTr(54~^%szMzKn zjfdZ?B4qoeQlE*ub6aM%DgDegt=ycU#?2z4>_Ka8O%*2EO~^FuW43UeCn1tC%gj{0 z2fqExsG5nEo7R_1wZ8XC`vRSp3H?udP9rSS&`DcKKUjK2L@HlY(GPVVN>xe6v{&k; z4n)_%5C_u#qzHO7rhgx#e=NV}g{AS3wnMATw!>%S?wRk$J}0q&SB@2(wzX~Fh$$+aFH5*nZI*mss5bocZxPO8w&ucSN2AOSB_BGQ!JbAkhPgNDPQa->e zBJ#9RZJV~AX+7<7Ju2RT^Y?$33wsqvlLsx25H&ZF?8_~Sd-$Ek5A+N$QD!!t6pwCh z;yDM%bn|;|t#taV?^%QD;l0gzKVyE)GPA#CcrI**oR=8eg0Fg#EprIgKAvtK4J|cF z(WRgD8PqrkYzGm%p{0<+fTnAJxyrR;bsw1wtBOmT8cE2kFpt$2(T#N`2^Gz!*ELNh zp@#YN5BP0tD9REaNTr>|TX>IZB+8#=E%d$EP5y=Snh7z|FmfuLPw&Umd#yn`5a8Q5 z+-YpY8&H57M;Fmebo25BB|1>s$(`|uXTL?4+*Dz!1%@qoD(F-_)Z>}`lu$Y@gE zm?bUEO{2{Lh;1g7AlKJtib%`&W*C*nlSF8ao(?hM8!(C3Y2Np(tA(ZZ7JcIA`EqqTUo(TnN6$pQSv)@0(N4Wu*at8b(s-(tES-~;}} zbSU@lG(Ji}SptjcVCjA_3GQH(`ho7G;h9Vp`fsjN`C7O$@n&6;bd4TOt>0CJKGtE` z01`ItKKQ~I?u|Ma6+sPm>%_W)K91%qo97m zJ?e+o%?F}xUc@~9-_^}!RmC6cCJg3gU$l4yWhjB%`V*TpP zq`b-__6I#A9=dEO?g##fggka6cKOmH#a*C4Ui z`0cLE{FYogEZ?;3#Cu}>@cvvP-n@hRe2F*70xVb_p2ICM;i>)0B-Fp6KeR}H5OsMS z_k)@#g1!;zpYA^q=oygg&tt!l!#eLT>%2dtjCCHCbuQd5Ccz!V`tDzFb1xmPCK6X( zRrY~y?gO<9oMH}yny!F66F(zLrJpEO0isj~$->Yrb!9}{04w9|WDslJeEJHOXRMEm z1^gs@2aJ0>kot-o*3?*lWsOBf>^e0k;V_2Bor{-AVE7`srfE2jb9}C9Ldx$BGaYLK z;0dH7u^3<$UPLdz@DaqdCzmz99GOp-H&6IC%27jVbI|^UZC_tee~fOX2uast`zMq2 zB$P_0MEj@g_D@~0FVm`<*93heMes&)krt|Ls11_1Hem?!R8JT8lz;9)Y(Vy|KkRFB zA97wT(9$UT<__A@uTc~HVArgy#SlBVezWAFk0pPFkiSBFJ@;i!a#koCj+7yHZRU6! zO$8orP}-cgnXgCR%Hc@T&mKuatY2#LE4lJeo(~`0D<4j>`4H0D(47xM$cLdkABK<* zLwP<7Nqe#oxBtJ*hc#qDE*{!EMR3eC+;M<(f0bjSZ9W6c2;{R7yjFa~gh@}q6QW07 zB(p-bAUj-7?9kJ(+(55Z50XT=D0eyWDPo*6KtgZujV3JA5}F9Lt(B!V*ORJ{7zyW;1=E%19-VV-Q8^*cD2QTZf!BZ)fQ(Gi4$#sZLp8;pJ<0WcIRt?jVb8m zQ2Gnpr9Zf^e|IZ=c@3G6Gec+>WCTe)8YJwXg0=zQ;oy5r-gmUycTmphHAmEKK6bYq zoAUvbeod1o?cuw7Z}S?W=h6ov&mYL!zCF<|Y5dD|GHCaFdNWE)`8mSp(eR$Sj|9eT z36JwR^TTK0GScDEMBdjMRUUrK?<1r5EkJSKdS6l=zO@@J0l1GOE-vq7mjLeX-Ebkm zZFk|);k5*Wc9L#+EN7+(wEn0Tyg7<5_rX7sjtDJxVG=r^;(!leWH^9iB6#EN38XKI zJ3c6*MtIl{APq_y(wE9PO@=DRxefWX%i-63ZGHs`&d7D+SJxaipxYcaz%_^I4!`!= zUIU@MV5wpbh2Jn}w?WX4YoP7+g|^!d+HNqk-Tu&aLxRKysbKpJl-wsJAZ_jo`R|AM zL%tSBnl&SdZ!pZz`-8+eL`a-KLuer6ocu1V)sT`O@UO}LdiY=Ehuls}dDHs>|0uVgx? zlj$m{TTy8@u4(du{9HMKsrA#!Nek7~a(y=Rv%8v)=KCG9b$rp6RzU7hLGI9K3(6f$ zWRU7*T)W<1qu?jf9dz|zlEHLALcXoZU$90?Yxrs{s)!u@us*FUp_%&GA$+H(;R=|L zkhgMCgLfG5DhVvt03Q&WZS4xq|p=00fcf}v zj9N|t-n7??@3SA_edeSjt{8n_2TC23)#y9S^PR8F~E#CjlGe)6i6N+Od zs4&0Dx`ZDJ|s)Fp$Gt&l}8Er7%yAb;V+jE&|`9c3Lw%j2mDU&b9^F5# zw(rXhHVg0de&yizcj3Qx@Iy?Y&rkFPa*fct%4lZ%U^A@@Ao%Sx9-e@At~aTqA~PQ7 zP|65?+l_Lrr*bt>l}!rxH6dj_k{LII`=RdO)kL8YLJjL(D8eEj7?74Xjw0EfI4-e3E({v?!W zD0*_T0GOyF(BAdLph zomOdY`>H&j`r`VLGdhw@O~rag;>+A8$nG@a!wK+5=e+z zN`-I)X>2P&tdBNLP|;djE!9i0FVOxi>TT<-RX|$>d}ALzT0pID(I}!|)%t$F(VTCs znc3%+fW7y-|KIQX;CHfT)|y$f=DlWS%^I$85B>Dn9P;Q9@2Rk=cOV5>(5Y9$s`oM9 z1Ga!STkPMWj{GP#zD*?^!gdSR?_0m~?Z}==Q_iWh(Xp*l$#ihF!LJ2=Y4{!CB*~Ld zLszr*(c}z}SDOhrl}>Yt?*>a(mFs77n*=(*Ut;^#O-?o4c}TCMj#<%gZI>l+$oOop z6fA+fGrd00ObSCuowgyNq zg!|X<)v?{{%qk1CXMKfr1VRbQ#b~#wHRO@Rovma7vE8yX!eXbJ)CG7Ne@70I1u05xee`XS&yM@j{uHz0f4s#T{im$*lkr7CpggXdh;#O5TvxV zbG|vKs?>W$4||u_1P%)}U5~fz-)jc`!`?bSCnz6W51h0Gew^zKC}UFBYmg%u@_?u4 z@37F5$T@&h1x^vTcLnZSfC~!T;R5%$zA-tE$YZTxOAF+C#M4pAP*Rp$kuZr3hv}J@hU2j1<>9l%-9o9hn z?{l`XTPy#V1M=nAN#xEUoU?eJyVmsH4=Z@Co(%FiH%O{OM@+`K_I|YU1id(dy9#;# zY6uYuvQu}ZJ`jJp5!#r?EKtFm2z}0A{Maya<2&QiJ1=5wAOL=8tnY6PsL&H8k?%n+ zt`|9e31@4(Gd%P^;0EMN>_uIazafCSvk$;zRUz&^ee3riFHu~Z??p>f!J6oOW@>;R~y|=%3*W^&j16Htok<;%6~@6whV4bbM{jCh_Pvvo+dAI1P=_Xxg6u zS(i&AAY|F&U>*KG-W64`PpNEWzmoMSRonp{Xm}GXKt)%?ADZ(X@!miVn)Vw&SlruAG75tQRMSMB>%vRL72(e1^mo(-d@%APmUVr?RPQ0mAuv@bJYJT2YR8F%O@pP0$n9l49vrW=Se6|J9FhD0ldAP7% z4N3#?&oDQN_Y$V56s7rZmehSo1v&o^;(C88@N_Tm^aHkzw_}W}@xWDwY_`hCm5f|< zOf+#l#<_8D^(-~nI9Hv6l8NHIY*X*k_$;VJ+EH4Iw3PyHl=DWJH4fm7a^5JzV~XC6 zYI^u_Xz#xe=4(OYhzEYxHj6PUAY14+zwJq>;7_{XMG{h ze%tk~;r8v~4TlBMUQexjSP*~Eh8uuCSSQuWjpl%L53^|FeUK!OQjtxSuE}}ZDUecQ ziG`Q8!!4#W<(JQFNbBom?N<}+S7YrLOQfZ&MA~@!d)03fww+3hA>}!q{e?NUsnFYo za$C<^-ktw_Di*UfqmgexUd}^#Qn$yoMWMF!`2HKr)}Tgeqc@oPN8ZQr{nvsY$}b8M zg0+1PjOe=eMx~L<#rH$I2u1+I`)8B{jii2q+28QWoYkhcJH8*vA$T3pKdl96Cn=u| z>(9Q%tB4)!i~p?gMkX7gj>h*J`Pi`?SMVTdp96mHPyAaQY?W|lb{h*_3I2Q8iyGTR zZ2L4UPmnW1gQ3t6u2#2&LW=$+CwM4Z$znMBv()`xCn8+1H#F1o&sUo6A47VznO0I- zZ=!V5-*DcX-e7OA)9Q==XwFukuxiflfG0f93I{ny^+BJK6AF-~`&Ck{?e6iO^P$zD zXL<_s5&KM!_i(kgr^kCBtR{m{Q$=S}GbiUyTHyPK!ih@=YwG@@)LMg0&|^OA2tX-U zh6rg48lh>yUlWv&qiCG~X+W00D0uJDVwDuaUUol=lP0~vR;MlKkY&L(_(q`wPhV_@ z>i)q`LbrrM!BZf_sgX7ZLn4OXdEXzx-Hsc~N#vuUa1im{+x%M}N zusXQ&0I6q0>MaLMJp-w?I2dxI)Nf;{w}{kRic+7RPyJw}dS2&eBa~{PolYXFhX}JX z8iqdc6SiNVkPp~ii%IaZ5=sEg6#W%s7W3CY&sj(5rOu7?yx-fukS>uxMEsQm?gynu z(fx!Z#tW1S7Hycq?tG0rp2ozyc3(%TXgp1m;q%)IWh3e{Wh3h2IfqVRt=?iY0nQA2 zX|;qlUKgOHCzz{tGTYwy)V7t69Gzb{a$q^|wdkr1{QZ;og}|}u5dC}{@AUj05x%x% zt1%Vd&zc0%tG7RXA>>?bAhiacLqWQi`>YMPyR0PUq!-qaE>)4ee}!pM1->-Smqw~} zF2}57Ysecgyk79H#+_CT+rn~Mul^5WLe7?xdQ^2|`)nxhPb#XvCk|SFwwMq1l+1_! zx9V@Vm@!3a!|HF&zfpgFzNC#)$oXaSSdEy+YS=thoKHvO^IbmY2zfR0Ka^L$IHzxj zoQm|e#%F;v267ZiV|~`y9SVyHl6)*5=1P>n%1fl{3rj>6HbB}oa=Wemt12k5`)|g$ zOxIE(b0N%gxYrbEFmV;pw6~R1N4_-$&t1_5;$Dz0P|~Q5e0xq2ELa;vSVvP4Osmxp zHmM>b8H_8#%%%3a`h10JRXAMf85&_XaFC zjk_;xfr%s;37W|$FNr9#Tz5FEg{rN`39fB$wT2~u-~RaDI)+Gn1V+|KJM@dk(Oydw zd(@CxAHjU$=>yC{k+uk~o?>i8g!@ES(on?Pj5>ujU|S=T7&ac6rL{)JFn2APrRgDI ziz9-zIAF~kv1{vc>w>s0n`cL@frjThheANwLmfiGI9?z47)R8kbdPTNy@)4YqcAI&$s7bUH3PfHm5_?Gv3Sb zW!DykK$&<)X^1CLUp>AISBoamm(|L=#mG<_@nuj3a-y`IK+VCJDf2R@V=qWxJK$wd zC$yaPF7GGBv-UYj$&ur`yBPvljj-m1d83y*E$V_zG-vB|8Q)-szp z_=cNbc6&xBJHIS0E-Q=g@UnO-zU*RAx)+;Rb~hA-FD~8h{QsovE;f-@UUvTZW&O4O zJD^R@3TtB*&LDU;h38UuLjdmq91dZ6Anj!BHghGd>Z&EEyD|}XtlpL^v{gp?aMvmw zIZWmw`Z8gd6v`L}eX!eoKD;MOdwHwns#B>&-O*;}`U&<82S~b)` zy%p*b@hv%9U|SJ826Y_AFbrCYK^@02q~(NdbeWcNTD5i54}C0z#RvfIfI;iC=nLVG`p&00A!$r&^|?-pOh>#B%?aA*|t$ zsNqmq4Ts8VI8;&>HW9D`)bQFNtgFxn^#`!<$Z=K*!+2UU9hr`FNQGKC$9Ybz;!c;toyvMj10K0GqZ87DsnNnmv<+lTk@g$+0O?zS159m!RTOc;&P~FzjD=pHM z7_VVU22C)YEyi=4rP4Y!Srm3!S=b&3i|=TlCh$0R!z|A0?KSrIQKaBKcQ#!HX`_AC z$L474>vm~OlP|(f>9k=qyti5p!J9aHAg{4;zP=+Rr~Y9I`8m657-BYzYm}?a6!d@^ z3tc4KA&om|Cy<4N)QHHw%aCL}#p+DIg%r+>`-|2~&;5bFXJk9JguIJ43TPX? zm!SB*mc~jpJ~Xox&$XWWznCqagttOAtOE+)1U;?2l*gjO%fd z*KN%~`iC*QmSga=j@C%J*_6Q3J>7&AZX=Wyh1FZZ9xz4Qyp*qS8y5mL3fP5!eSu+Z z317yjCAz80-rgD+N^y^`7kk(r#rxPAuZ8I)wa`TrEv{q%9wj>T;4ENXMw(J$yj{_h zRY(_+AcPJfs)){Bl|ao^$~0GZ3(Zwm+}}BRvS0G$eyrIT^>u3deVzqwPk1@ z{JoL4`m7sqZ-!!BAP1=guJM15)Fr%?vQ&aK+pBiomMqr$+kfQupyL+gn6Q<)1zeNQ zbDU?!8}w)s^_5_y?%Om~uIDy!Ybe*NvYGzuH#PRoH;vL2*3<^}ZZnMN*z&xO2zzY` zY?EG|-ZqzXNooLZA4=SIzL|b%2I-Pf!}Kv`T|4oW#4l1q zFt3^>_1?wxm&|VQK7w?jSldHvu6rkESK2i3^Yp$j>53?{D{4?&*A1~*!Gb>3sy&zE z^YTAB|H*O!k|5cYi}ANS{yAs{D81af1#OL6!s<7)iFdFMfxKa&F1g7xTaV7?135>X z)x>qc`R&MgpuqW;6F*BmQ^t8na2`g^`3*L~`A^e#0p}s$Jj^-w@4gAnL!9$_ia7VK z;+zAQzwyVbSvUA^X~a{gF~Mzp$5W_N0c}_2ZI|ojLr;jmmm9F6Y1}FD-Y`Yoee(vP zM=#rMjmqnOF&pJ!o|YP5_G`fx5=cUwp}MHGuBI16Kq4Z{F7I(n(^V!>nOi8O9p3&G zR))pkVWVYXf%gvY6&Cs(?5j|sYK;cmEq^ZO`&-qg@@`zyUC3fSl!KW6@a;5g1-_Hm zZs}B~jYgm!O>_8Jzddunx}5F)p8`0f64lN0I(03p0`&)HH z+bX}6!!Nd+W@gPfM5yh(5SB57_f}ZKZ@oklXamCZ^L*YVc49)|ji%IQZnMFLbyY>0 zTXzl$9qOroI}dTAY`xXw^RwxnV?nrHwaHl#-_-SgSi9BDHu6ypXXWog7)R?NP0JlN zwyk0HT9Lk*y=lL>bAZVR>|Oxz_Ef9*;?Kg)C9Kv*lWG-T`I#pCv3#n7s+z;|>@{jg zL2AFp*ndI0HK;3oIrtbq4c7uc-qtYG;P0VVihXt!_t{mnTrY)L_=`)!UmjMmjLlN$ zFT$$#GeYKzHu805+d?I$Grvh>Xg^zW5(IpRst{@rFSquBN`ng(k43R1GD#Wy>r zN@<77DlX9*Y6+hOaP01tnw_SE$zEq5Ts}b??{b)89PcImMLm~7+n9JrL3jL~&852I zK78i^;13)C{^$YVPi`)^-N|*}p8@zU*!_oFLE6-re)|udB>50#vU|t%$7|CTK)xp+ z#PA_21!Pv84>?aj+VhYf2uRBGA!iFnV;*vrfXvRvI$uEkuKAGD1!Q|3a)yBH$V1K) zkh}Ac6$0|>kPrE;fPAIahny=QpN{n*=Lkr5KFs$W|9w-Gncm*a--G0~ReJ1IPA`;K zUqiGjPK)1e-w)wx(I%?I`!a8lux6lDP|nXni>jx+6k^7M%<@ewq>9#Xit)wwWFlMq zdors^?$0=7aQ|I^QCqmJ9saH-?o201m03+25~!z*(n(L{Ci1*+i~nvjglm|Xj?1O*I)8l& zuQN`kKFwcdo{{$7@btqi8!=q_uy7}j7;e_EaNiy=-0XDW?NHuUR*Y0uRtK9Q4pdhD z{{MLpw~h7RPqlt4oyPwA6Q|hsvl8D=OME{s@vSNGtuFEXxWso+$-S4KY$+deIB)Aj zJtoP1h}ptou62rizbK*et1adCXSn61UvJ@ev^abTy~J4}UCi#osjU32-QwTjIuu&w zTOfbecVf%*+xG3EZFgH2JJF)P^OrpQk`nkmTf`g2z`YOKSp>_!)mM`4+xc|!V{tw| zk97FmOj5-MxEd$w@fQUl~7$YW5$7ZdfX@IBp?`rGe)e=5nW}{aho76MsGG?nOg8J+PZ`~1ga`#aVZ`~1gvp~^tl&-)xiy;<{^^WAd zhI=b~{8_%0zeSmiU&h8OoJ;M-{yPJ()0dZ;}4$P8P zZ~isMQ`yUl*~EG%-M;wA;!VbLiI3^C&h+0}0Sfpo3!l%w4|I<#o6mm_eNNG<=_;7z zma#eQzXasGJmg9Nd0zD)zZQ^lO&{_b0l6&XLw+kDo8vy@Dgmh)=RNg>$Eg# zapM>5er+HUNYURCuy1h~mE?^OX`@W(_SBl>Ks?l$B0=e=$*2?-=i={g6?zbp?P}ZX z(nDsK5ef{%Pf4!^IUf80@CSvT2)yst4uv6fs$NUrt4-C%kS+=E6ynHuPwM1!LJsJ* zahR?%JB7NdH|ibpXvmx=g#z;+Oax+TWU3yt%2K|@IaHG5HYrHDXG6Kl8-!nGD{#Nw&brYbyRRu3yU)$T zH!!#?#^N8|$mOB#_%+Ue^(5+dk*5i%?M`f9e%yE2Y!$}#|A6olSU*ac4joOPHABC1 zD86XA99-RrYoP6YlfkCsVH@(WNdhMNDaE_u{=BgM#`1ZAw~gQU@c5(Rjb5Is4L6p) z!~Lie$-no#1#nf&_I@Q1cJ9awd{@$1!Ct4D0ds}}U*tw&qlZn3-+#aJMn3-I4Qrbu z5@`!xW0!zlHTw#hbOvfZ0Zo~?fhOfN9UcnkI)qs>e6BFh?YYtKTaP-$^4Rk?`fnWl zGwr`|ggWOn%`zkK(VyiH}?R4PXq!ai^KCf@HHc?RignA6#;2Iy3# zowlem3#;8h7-!JktfB4~&9FPyFf!{>L|CUJWcp2f+)K>1X*yw%qlrQtc``|{ca0~I zrUra@mhVB?@1UJX-p)?GiSMV{avR&z!ghuBBAX_{DxId6a*Oa4&{7?xfi$6CXoS7YJx6;!IdxE9pja-6uIZkWO%Vl}Jwodh_4RIV#Yb z|Ef>V^^Kk!;I*Z%~uiZp|qW+R=|EO)FKtr~Xo#j5p;THSJ7){FhzJ zSY0fU@C27+G~8_Alwf-plse-b?(<3(I58&D=JrBhO@dj(DmyjdBYnNeN`MCX~@qY~R|E zC-Oc)(fWV^W%yp&jiYT>?>+xLZw9OLp7(W_w*viNv-8ORN-JzvP$4>$_kgv!$nSkT zVEw7s|Mq}&ezE`M0jo7rn@-BgUlw$vF1D0Lv z-#lPFQyhQefYnuuzjDBuQtV$pU>#EIUprv!D~|u;0qdP&|M>&fW5N$I1I&bH=aRHe z@3X#!P|2428^&Z3GTw?VoKL=XGvCMSv##ty831w-qX- zQw|$5CZVLMC?xemleP2;7-v{t#WCYEoX^pgM$E*!2t55okUr|~I_3n@7J&8@hy^f( z06WupKaF-^rb-{>5*0}uxG>Zq^b*`{Zf7T^ zXb15tbp=131v<)9*6Z3;ETKJ)uYQ{>GP z`xhOZQ62ATe|&4d)t{d~DOq#Oxz(3ZKP{16zmyNZza;!Iw{n|6-PXs>E^JC`nMrnZXaQ@!Gw{GRK zC+;06ZX&jqQnjVRA{ZK1(+JJZ28`G%=xN8;g?#<+R=#fsV|VR7s8Zx4Mhdo(FS?b# zZQ4Cwb+Om?$4>&ft(rr!^A)#yf$Hvq6k+P3HmtQ&caNgf-qvwTYA!(hI7{FgAq6{4 z>u=>Y!TYRJGpO;@Q9BhX+ZB5>QhVF-Te5S($Li-_Jp;V0`*n2DZ3nKSTk>_p_ZBX`P3&jK zF|4f4RS4z#f4mldeH%ZY1|GwyU^J5MQ8N9w4J#iZUh)zAUA;$$09lFRi61y?deQ zcDttA)bVkyd!Y_)9o+AN8&Y=-aKE0*E`(H?vM&7XZ0dL+2c^Rx>4qqCVW}Xt6Xcer zj>mH>{kLq}d(hvnT6jA@$LU@G`5D+JY3f=+rR)NYm2B~7!S|Xq5$~ki`PoEwBg9*P z;{}V?2=OQ-IBsl9;FyM11aN-_MzZ{zboTB3_@KK{@%|tBe{eh3J8IPfY#i3{-2f+wBYoXynu9d!q{!BgBka#Pm^S+G# zet$bZ7qMyfOem>i(+h$GU7e~*nFTvpWh(V`vC`8(14zT}7hRz2U6uji;3Q_O8s z$d|FaMo$fa+!%!3p+fJ_-mSvkfj3l}e*?Yd*FJo0(1)*;g5k9!6zRTNcQf-f(tWk* zwsia9UP=1l=-<-HSinM!QbnaVrt4rHzglzmX|lSxvQt;JJ%(Jn-Y|_@R?h_=8>ipo z_V^=Arx9~F7x-)z`*N(eWK9>tZ0*1is{#5KLenW27b$B~jkv$@-Ask#-*G#Z?XEZQ z7VuWJj3bpJ^HpsFUzI;6cJ1Vt?C-;@*jBm^6LJgd-S2JV@=`V)aucLG5p=g$PeW7e zP6WUeWp665x5pveN;dE1K*BeOUD4bFGK2~;M32GB3uizT%F33zuMW5~)I$k=pCYP} z4z?3|(>hpiJf$keWvZ#JhgO-rI^=d=6LgPKRqf^pm&q#KG8bcPp0fo0qO0k`Ahd1n z3%Y3SY6*O21e;0oPezlys%&Jh0U8^ChNkJePRfx>p)D7O9SjCP_FkomclV6oXz~;d zV(JuAU$4r+;@CG&yuFgg1`ck)H+A0 zX)1M@zmkNM6%9Yn94QCX8EOC|bKI@^O;?u+HJS6?@ckK;_0B!mW_XXQzJrfpT%N^S z!ED!s@bV^jR%Y97kK?#KuI2Vr#N5IjTf-f`>|>S4KIuF>Rsx@zhubCanR&S57N0Y8 z-cfwc&_i9fN2(}Fe?dN;TS9M99$q2f9Mf}0aXVc?E8W5zzx)n9$4>?6z-2GLw%|=P zCDleXXhd=IBvT@Hp z4?g=2|GczS@3(%L!Lz9vx1gi){X0tAh~IBk0sN;pHkmfa6yMJT*vah z&LFLH8tK%6(&`fjHHm^tTfMyb0)u3lHPU>cLRwU`)Hxqd;kA0rrcD<_$y_ri*|DYz zK@NvF;M43Fi~y4NWK;8pIovN;b<$i7!+38tsqg17)SymstInFMV_5H1JC?X*P|}8` zO8=`I40(h9E(Z}&>LA;Ta_@ywE#7Z`=MJ$SM@w7%DYQncjksL?nP@vnG77>x&%y-Q zE(;81e=77LY*)4J5+&{~(G%_xDd{dz>)a*Acz20B!Cj(FbeEX*K-od-Rj5PqCw{hl zmT@aweMSt!Zxi2~A>xc+G=#u4?oS}h$#^aj9aXu3 z*zPriRBo`yD4QG#^I01iOVDM3YZT<=2z>)}VjH9iX9FyuHmH@Zt=mS0dHzgEjuA<- z$;!Y@kVcGb2s#xTLRA$TNX!A66&u2&YD2`W+(?4ajWiV507bEpgwbv7ur`6%0vKx} z4M)HStodnelyql%VuMr_+bA1V+fy54*WRe;?)K&l@+fR9-h8;C!XnH{{98| zJB8K55qkGsb#C|F_3q9@_ub>&?t3P>J5xJ^djhz-?@7Ade*=8S4&jCn9o>I}Sbqn6 zb_ci<;09>6`|okLdpm?(z60E~!ri?c@H-&v${pa23wQSp!0&`ut9O7KpgYHdyL%^u zy|>QYxqgRmC&Ar)FND1h@SAoBH-y;KeILZSAMo3DZ1PK(pLSs$Uxz&YHlIg`^Jp#0 zBjn(*IOJ)+A>0t+v812h$ANyw_7s*t_v7P*8$vujf#n@S?85wR2RDS+RWIDY z&#qcl4p2HzKq||(XR&0upGXKdgm@y!$^=3@38}2y4sHnX*fe?dOKHI?! zAqMM(8%kxcmX#IM(NmDh`t9JZ2X{iaA;eR>+#tl$SXSG?4I!Q$FWeB~=?Sb1A;fM- zW!rXeLx|n=%v~r?SFA5S_!HMPMk@u05L!*>hCa%^Qk;L~1pg{Y{)IlvzS?;H)hF<; zF_C|v58J`?{gX*&*a;3sgS0c^L^np|@J36EToa92*94;G#wZ29!u;FMyZ45^v_dBBc3O%!tlEs;|44M?s3GVjg_o{PM1H#7{rcPic3XI8DzK=zU&KNKMGhYu@ zlNn9;5*>~&r;y2RHJK9crITH>Z)P!jt04%p+AM~(!U%~Lf;|}DVAlK0pS!O7bLrew zA=bNB1Nc$c8< zJG8*ps=SUgG>pG13i4{~e8y9A^gqG&WYX4V5un3kKMyxsf`{^ z24e=}A+1dUw?>gKMl+Zz&>^#8{Vty+)0*vIu z{!3s&fO$?}AYVH08VJxf9n*VTgu(Q3%-s@=wH6fQI74?i689ffD;%gk6@i$4anH*b}qbTVu!P@U`T73gtC$j> zMD7~GTVeQy2DXw(Y<)`FA0RQ&$$}{oFcP0eT>HUGhYZ&c<~erRgmh2wRyCTfxFs z^0i%M)jDqn6%j#Jumz$ZqD@hKapW_?XY3W)h(F)QmUBlk4PltcUYdicK z(q>f=yHejL$yG#BpuejiQ)qXh{1j>nttM?|g)eu~dTJZ`Kk4I=3Sl)ErSwV`7Vp$} zueMn&WL;2lZQ4mqnto>j$k*sW$ux ze2O0-?NwLV3d|bHs!l=sRsnTOpnuTsT`NiM+He>~)kV2NnczIiWv_*QokCWNc{B^H z71tS*y+7vrzmI-*g^z4++`^eacp_Mr`?eJN5-6 ziuQn32JXh%iJ+zz%!PDyY|x;&@7-wY`vO{Vh$!lZMR^E?<_dUvqX=Q0K~GCtJOp$h zTlUkSJ4A@s8T4D}7!P4$2*!t0%!fUzF4h;c<#`b*+s?cw{H>d3!QZBNF)HI(tA951 zr@wMtM_+%hiIot_bW5xhD;@4`X7eN8(cS@ZHVK_K$gLuBt%|&9=!dT^av~wW@RiXI zd=sDl?!jhvw_!-Detejr7}Jc|#6GI-$H2Fl45)fV@cfw@f+ScGI)CQ&8m#ecp?Lwr zv`72c?WZx^xkb21g_shHxgjKnituguxN|vHEyBi(^7OZVVd@(~dgx&3Z=XI=>KlSe zaCrLoj;JZhxZ+N+$8EP7F+%5OPN*T-jwUwB$U5$Q;f^!g8F`N`$Se)#v8PkCT=O2+ zi+SIcyf+MSkMhVnx&FrnqG%hSKaH%5IAGn2buLAjmJrH7%kJcRbOY@>GTWXBkPTWW zuu9(~Yx)K)90ZrD=^*XVI0+Ao{!i zp0Nh;zU9lg!El(`72ZF~<28rdh+W$j{W5LUzC_oB!U3lO_h-}hP9&?Y#8B(13{xUi zWEGLBU=|$}0N*I|jUr^#`O;`V%}PiUMtgY_%nqYTe|BfaN`)#~E51Y8DhB+Sp|ZZx zu4>h5NO3M1{|3kbl{8PQf5G1~SN;rd-@Td}Gz{eZ#qv1K2FM+?-tX)&Xg76g-~c7C z5$$xoodcOH2UK307GSYfqg>k>gLt-ElyV{7m16_3))>UIZ6427A>Jf%TCP={p0g__ zk+vL4JP1Jra4a)Vl-b%U`+#MJV>h@CUT#*aWx|XbC@ME5T|I=h9YjhG4^L^`sPKO` zC8yPal$;S#a`Wxr;oS}rQjTd1Wg&ESSqnQAn~P^8h<`UJ zb?9{qQ^C24tn@cLp6Qi)dZ)U1s9J!w30(;M_sm^{T+WYU~<5kuIUZDt!&(Nj2{r%mxl6_x2 z51;D#_p}fbx|^3h-`UO?{niS$f0vE7xYE2-0 zYR&Vci?#Z=yLp~bX9lgX;obG@EJj<+&W5ifY3#IVR*Sm}>f(8s7@Je5U*NrNi1)%% zK%<@MZu0lMTXmHrR=gG5?T%TviMs#%}q27EL_uBHQRfqXYn-Gdow6>SiW|* z(4RN5mri%H8>YJjD`q(7RGHO!4Lj>vN$NpT*_|<&1}Lo91LzAdpF;G@y^ph(KwAF= zX=M^sEh|-`r*%hPkf^LXF%?WyCR)}>nvR+s;407^VW*JCB+3YlSl8)g!{P1rQAr(OzzDL~ai$i@UAiWr_^|mzn zear8wZTI+nby`UuKH?s}CPp~Zn8-!*XNev6@cnO_AZ0vb$6L*)$;EXEkls=E@VC+0 zG?OsCp$^eYjY-xE83V5GqQI9XLj~6_}jeJkQ9&~a&@bLPc=Ou z0b>(YZ7tn3nyfWcZLO(lou+PP@0;#+24xL74+H}NtQCCqY_6#r%+Aou>r#Qa zMD32I?hwIQ)>bgDi(&1D^KDG7tHV;ZV-C!a=~-1!-W8DMlbI@}AsT{Q&tPK^lDlqOtnF4w-#9{QI#R|MNEKTE zYGfCOGZ_4lOat2;;9Q6}l?6_YWGN%Atzs4_54TRLs4S)_@Rhh8!8Flr2wGShmJ)~z z;{oQPcqCN8`Pl_+7kG!cYElslM>6mFzWAQZ4pM+V%*q)x@b+LV2InvL>;j256q`i4 za}G-d_v3jfSR`QKN`jZ+Nm;)P%ej)M#YzXltNe}SXEO7d)t+ZE$B~fcR7h-Zu#WTx zF%GV^=0z(iaqToutEh}s@b{x|ZGQ3Jr;w{qMmIZj%@#_ZD(GW+ zt+acFRE;k>OLi4n?Q=<58_(V_VjNm{JEWQnMm35r74*d)%)HIs*?khI1=Pe_gVAVi z%Xj9gktm*W@cnRa5B-k!3R-W8kYu>P2lDWF#P{*Hlw6*BsFx@WMG+^#nxwz|h0NPy zLm@lb6%0k~+Af3R`s2@MHZ%Ks;BNnC=KQ*lVrz++=@0*rV>{_l*c*Hx?!d}XOK>I6D1MLSFSM+RRJo(q1KkH-sha?N)B28``;xwaQp zJvd*Uz{YD|*YJ_C`Pv;f}lV9OAbRjWrK>6L*1DUc8?imszP{@xpE?5 zv)3c{$WLt^JTYJ{g#A5)jd^v7Sy?1t3pDpJ9L1#3G0aCK4v zZf~2(+Q|hf_RGgjloy}KjE6qir5iBMK83xHB#d=h*s$gFG81G8D$fms45m-^G5EBE zIk03+=aoP8bw_c|`tA18yO+Mc_{QyAcHnpIaj#RsJ7vIcvxVQaBx7l04<#^rqjtws zv7_7<|2TuC-qY9#CG)m$&xRUK>Dkn5f7ev%kDmc+!k)$sm_J8}`n?0vypXMrVQwOw zuHoWHI<^I7!B{D*24U72^cjuEQnuZfU$~jAxX>Mk7qW zBos3)30nHa(U6gpQabYYE&=)M??;e}p(Q|>-k2d5E3$5z={1LuLD!Hjc3pMQb?MrO zYp!)P(+;H183!00F*3u1-2jeixS#iMB;dBXL9*6X0ut-bsG)aWMxuB&hxWrv>OID4 z>wYHL-Glle5wVZ=wH^EogzRo8S8H4gtTuvmw;mR>4f{*bt9SE~Mf=ZmImrK#E!zrR z({$^m@pf^oB6gH2>$GjV}iN~=?+0Vmh4#bsn?O_`I}0pr*6B_uh(FG za4@J1HEkOW)T+pypenZp9auZZ1l9LOqH24)AePd!t(w@An>Mp}I=)NOCj0T;A1R*W z-Of`R1F4N>vFtB5-S3h%#TM~C7%86X{hF>xpE{3Bg`St)-NANIL2wSX1v_}WV?WCL z@r3etQv(X*{RP~O!xfKA*GvseBI)_{Wi)C>rh$9QL+Mi$G7b74_}Q+@BywCXrqeZ( zNPCX1@doL7?=|@C;IcW^XUk6hj*C4WEmK0isFv$n{9&e|m%mK*EKu3Yq&@*(b^!Q^ z<#2rn;S-h)gXazgPagn2rwnd44odnkPNVE(6Z3TfT8;b+d-SKR*C`=m7BCNO06VQ-`G-&DYf$zph;9RpekbGE&)y()|1Yr95=7 z(jNi-`AD_m)0y*c)MBBow)*+{->s|vg|cUu!~rplBiENE&V+XF5#S8Aytu6Vc|LJ3zZaEFb-MTp5q@KmnC~gI z2I93X%wq3{1>N1YdrNJEbh$m!9GJ()hLgXQR_2fMN2}pA+tfO?sON(Ab1~oNzkUVMm6rZPy zit_b@0W)`k@LIFj+A{^K`DA64xspEHQAz46W46C9c;bEje&L*w{lZi3^Yy8_#63Iy zuMgmN;(Y?@kvi+};6&EjPa$7&9cY7f1R)&^@@1Ffk7vGP03R3l^B80SJC7l<#O})< z!v4oe18D@=w}~{9G|7+_(h73OEHWEtc9J=yiyTRgB1e-ift2xOG7nZH$B_AC0qG_S zp@fbli^yVf99crX%IKo)&jhT3>d1I9flP!IkVhs#Dw7GWn+_v~gS0Y@OeZtQ5o9K5 zCq2OH*T~n&H~vk&mcnei3`X(gFhYHkoD6w7m7GStMZQh?$ahFTNN_92>EsM@CRs_& zB4?BD;to2{#S*LkALZ(MDv1_ z+~LD_S!QS^voph9PKlq2)U*~|?AhsPwSuzUSefVx`j7oZ=F+N|Hdz|Stc@|bR;^bD z;&Mv^!5d=(aTQ$N{((5b??(f11;6hNG)OHC?Cv$8{LYZU-Yw*Ms1-~#FO`jn%1 zKC~$heNdE&Qm^z@ zXPbw~`NXD>PL8K@B#8q4hoosfv)cQqqrM1XtH{IB4|0wgAn9(MSuVk_i`hPGJ*#_- z1k~y3j-0p8QD0)Q?K*F_qyCG#mwCG!^<|Qp{~Azv1-}1+@2l|rCwyPyVPf7hj`}*d z!=zf>%x*(12G?X*g$;BbrNZd1z9Fz%hGYNYsBdyQ9o}yp^)2ph@-B1Kx4Cjy8@oodB(&!h5v< z;%;RV+zb4D8FM| zw4CNB7RhvA$=cNJNH@aDdl{B#8b=fPo0HK>k!_=mu{|=0qrNjpgYB4ijh`&P)F$C8 zRh-&%c~{QcU8vI@Nbmapl{!5~)aehtuuhLTK%E}*|A9J1iVH@j_*)<2Q!Lc(sZhIp zxdYcN*EzWNA6(~PucR28y9bGsdyKYgwltS&(xY~}wk5us63@2LZzrFI0$T?I%v@QM z3N{a3`3JwN{pjrfLmp4&2vDKxs7$6p+CQ_S(!(*dj#RKc7RK1;N}xexF?)uetD$P#a5J|ei= z_z`<)_#NE;qyzE&nY(b65ww-WjP&Cn(iN6rHv0_EWy70yvs<&h6q~rKPpU=W5PxNDbUNk57@e4llRg5-Ah*@P z>wihzB4#CJ1zNCzUfB~rwkXY(e3}+ZQxkXT<~+#PlSMS*1sZm2p6XNLwrr3_)~D5O zw^*qH|H~ir*9FIxtP4)d^S>y6&l3L)Jjm@w43JSR{BFx)mJYYrL&(Yp`FM%E>14^- zUw4;$_jq^7IX&)@?=5kcoO_(x^Zl>7wt{OtXfG7ktYK!kDKR0v5Z?(wTa^)@jXJzh z{A!ykw=UnDwA(94Q3x;isULw*Zg- zT@nBIgT(h({6+`r%aP%y01Y+7;yWhLVRU_UKvd8Aw*`pOjWkGiNT;N9sUS#-bax9# zcXvsNv~;I5EF}#K%P!ruzykX&`VH@W@9#fdk8@_8`P8#92amKx+S%Y)Swt_3?DtQ| z*WztXIWrE=a)l$uI?YIbn6cPBCo${5{KzU>`zTT_E6AJUSs&*!1+oF8XNMY}qAZ?1 zbIFo{bed%ho1yVnDms6-U=){iMndOPF+{$tK;*XI~Hih9dKeS!)LS>@}rN9_f zkTb^-Z%p7@X`56l!1-k#MS`;8m_*scrMT&B|Je&@`1TNi6X{2qzSwAz#4y84doU)yvgiXLocpgAeCm9TdL%#}C$Pzp4tHt%6h%!zO8em~wCo@`vr zabiNsWXf^8Kh~I2>J??+MA|Y*(6pVC@a++8e`E~-Lm4Y`u8}-EwI~7YL9#~1A%0I3 zCHR(aR~3GwOuVP&e{PmzU0F3RI&P~0AB|We%0mjYkf0i6xF{1!Ik5H%Sg(4g>gSA- z4*T|Fk)FuFM8f7!nVQ89xK07r3QapvuIYk^ zUtcsRJvG5uG`rtq zu-CTj%-<^sp7lHrBd|=7-aKg5Ek$!eTUxG3}fE+Q@-?i{x96TtizD=9)kb z=1Y=ox@j!23X_{enQ*ICic74D5`Xk-D-a3WevMrTR7t&) z{1(-{K@yXYw@xx&sA}r03{1$fwqsP`wJZsGpUo!3I-0sM6RY6=>Rmun02wM5CXf}c zP3Cl<&6eN_4_JTC``dv|nCKqf#16r(y{nj}mJsNs!NewR*uNGalFGkTrR;Rs6b1AZ zA@5p_a`3o5OyZO4&~+wW-qgjPeV*=Do!_k!w%?NqD%UmWD}23Sr9S+rfyOkf*^$&H z<$eovvu}-gv&=_109ce5&ElGzLT`Svl z#qu>vz9xbCGphU~Z699@vjdjdJlKh(ZoBO48hsbJ*peaYV|*-gS)(FamQxMGTnYmS zFU&RHg|1G=^6_$XwOq_~0-9Da!7V79Y5Io{<;XKdZgQy+7Ig)SVcy3J3ZCy5_P-=( zFYOz!mz*_uPg|Om>2ztYZbuD=Gbgp*vy2ym#s{b z7rK%hnBmv-xeFk+g>W?YEi(!U@`ngi1lP}^{?Kzf&m{;Crg^{2tu*(+h zCh@sJ9z|Q!{T=F8LJ~tNMJTwqH87e*9 zh`q*ghdS<$0Et)g+g20r|4HJg2};Bnd{U~wxRQW zufMA}nqNU|vHEhK-+*UQBT<9~U%X7N(&(FBp{9OK^a$9Ltecr>Xk>vS)yM6r@FXR! z0C#|QHr050H8h{+)+xlc+x1yby-XN|-23vlPP2pwrF6oPF$@#v&$M&p=dWD-Mr*ak z!+tOr$>oJoy^XmIbY`7y=A6Osuq35Nwt9>bDcDbO&4*U)&XHuxkELS_MFSq2mw%&eb zJTOodo#qlO(TgL@YDsx*0%BUR!0Y7fh*QONV(DzXHQL>LXv8UNj1fZSea}jLf7&_) zo32*(C6*u-T)WV3mb%B}LcQj_CHt6l(PPk*;M3C&XJza1-&|iyl8^$8xJQ0kgaF4T z?!};XQ?BV`7#hk`?M8hCaYVK~9z*|`p#%jK8}dr@#aC~cu3)^Le)CPR9r$)jhno1U zPVxa?Upk74ZC_YOD0b4y@Y6WKTFHSL-SjPY*WC zgJg4v*$NqHMjp?v%+knuHLVzzP3W#~7i~M9tpO&|D7_fc5*D0bn@vMk{w@YtACY&r z-8od|gNHR%52oA=xyOK&q9<8f8!nn^Ho3ZIYCSsLoO$6K&kSVZUx5*)j7L+MNh~FA zkbC4`+mWYMGy0Bkp-w>x5UP?iy!*KMYb(vb8vwD0*5u=2cK!dR~JI2%3$Rc%h z8Rzl-E-K$iPii`xQXnZy4;-cQNlzj=gv%0)&mRvLbc2MMIf`Zyjk9o5IJ-f+_(UeU z0w1$GgoR4M*@P**hFdL^96P-U#(H=uxWSMOT0i^XpVRG+*01aY*75x=Eh=kldZV?B zQITtd$N8Qs({iF2qYejjt4E;@GqjSfJsv*kKGvhOaa3O7seN z3=}A>n}4)^t;$$HLR`Qdd3>mky*gr;&~(ESRD1a2LG`zYg%>Q5lXMBe2iU897|cN2 zN9(rT4h>Tk@rEX~iUuCRi3bjT+T1M3^iPNFySI-t{Td~h`!eV_stj)~79Kb*RALvY z7<}*caBJ_l{-^~YIn3*O$Gu6?y$xoRfW?0&u%~?rpWx8b!&*fg@rBL)WVoz*@SN6fi&#|j@vvq0 zg@?95sbT9WzMs2`mB9LIKLJlIW)BU6Z3}tF)Q^q2FG`WTpLYRuc>9zLRx8K}^y1tv znr|uA_eI#kJbbS&cD=Q+lBN6mog^m9`eV{duyY;yCx(aRCyk{xtGHg$(9kGjQzZsh zmVOQST3RX`_cSdnTk=UXKQhXeq@IWoM#fdlNff{GXEZ?+ zHg7rIjt&UCULpxzEtct-{aRxP?zHIfPO0@K1UO0Bx_d}dw_9)(GZ{4-K(HwpC1#Wn zcoj1g#qaXI9CJ$$Wabzs3T_n3G+}$Q!B1^rupMZzy-agHX4RSyDSI7PF%vBO>~e#u z@d|4LTcJUo!U2RW8piP1TwI!6p|eHDXwds=e)x_l2k`euuNqO4H#rf4dA zYKq2^-FDL?TEHlBYFn~xa^_+{{v?-bimQ(?Y+w=UWBK)Jzi3)a-CL!)UF=oc!<`w5 zk*4;6F`&M@YpuR7*%HOo8Q;WBsy-a*1P9FkC7}mCH#8S2K9g;?1J`^b6~5%~5$H~P zAbkID$2S(Pcd}D~I5hU=%Jm31<8!lg4Gq_aOWbm&T*10GF`zrHliqduaHl5r!yQ1r zXO%u2r>Wv>hdm#5zx}pv%V)I0mu9IVrN$KvoQZe2d}&V5Naxd9{LllNwUoOkAk z&9m;rFBIcPB175vqDdmbh))JxS(Qj!!4 z&IMdH9_G44s_Fik23P>372f;_;r4N93-XAaDD z_+bXyQayXWVH)%*-Sl0UhSD6RtBKM)jI_=6HOZN`!hR&?+xF^jt2VXqc$-{%@kwnJ-$ zTe_7DY!X=^M)eCX=gm)*JfC+H6rb#J$(tL`rj7SH{uJ^*#^*BcG>@R( zdwk2UG;b5hWieDc`r+ z3)B&Igd+U-s(L(CN=QC%}T8x zt9KOpnT>fdoxi0y8M<9J$|3x$X|eJ3tx*6Me4(UnmxQUT_XmSR^tAcu?huEtL>6>P zILrH3G+nK=aQYk*yS%NrpmyB#>12~cVXgSQWu^{vx03jN?>&B9^4t36mgDxCFwW12 zcifSMbP1AKS8EyNUxKvdgS^)&A&e9%!e#xrHS_qg;Y;LswM)+RATC)CoF{wo-I_W`Bg8f}4_ zW#~NAw-k+Qq|DbQWhf0Y`f5b;yZScWe&+gN>$r{fzEupgV>UpMH~Hran^Sb{V`Q~Y zKh_=c1r;%7P>cNvJHCw|0fLa27!PdOW?5B8vQUND#l1B`ypS;9HE1x_+_@7r<&^4) zA$GCSH+?Kwuc8oT8{mdhZ)vS% z?u#!92SI~a8$Og=u@Na4#%$0b)#H~YH-^7ZfQ6J}z1Y)(*C15`$;ND^FBiN4Gs|R$ zUe-4HSJU^mPGIYMA~zzOd(c)hSgbWye>-!X<-uNAt(G-z1?FqCnStbR-ELi~pwrO( z+`;hm9#jGd?U~M33)pLv>9kVb?k511P~1|Frj7dCb;=vE(YK5T4rd2HX$~x_v?B60 zdXe`zk)G)$5xZ1NFF$Y;cu&PjFiC+*7!mJ6=AprQKZ$^O+@j9rop84iZ+|_jM%n!! z&GflSa|l|=TpUyJ8^m)cO9&)DN0X5o`$&&0%p4XX;b&iBND%!Piqfk$? zwvV%sHIs{*m%E zohF&*WPy*y?Gm5MPmemq3e)W2Bf7ru4V!sY=U`#`xXatP>k8pLcirBsi<^q$pY3`8 zKzi@Dje_Q2)~|e2o{j1spQ`GO*aw!@B0b~JIxVk7 z8EAdyyj+lJVaqXO{jrg_9CK%>W_||0eSVHFpZzCax%K3krFFjQb`Og3nicqMFNLKN zFRVvJ@@EyF(rNnfL0eVH8@Uoa7Cy(OfpbuU(u{4>DO#{bag);|DmU7jy+v3^gxJwZ zmYy@&Uh<7j(x$?oCvBf2JVLw#$7m1!-WqPTa=@e|X1Y(^si_mQ>h!@|q6hBIpO|4xdrF~eP zv2;AMouq1+!!;+U$@moQd)xO85(e1@OWfKDe0$-8GpFV*Zw(bU=d>#x(6h4=boJ>Y zJq=&&b5#J{Jj9wKMuTr{0kJw%SUIUMhO17J^=L~E-fHQhb5 z9kTZ`oT)_Woi==`C=|@fb8s$%tY6pdnz10T!k;{s+-A7~1e_JrW5@v}CfObK$?aI$ zZGv4eVy@$_vp!#C9c}CrT}1fGX(fCQ+H(wln{|W|XujuTZXG}nQ~&xV-CUr$uoz$n zX4b5a@eP7LkeWT;e1OEit%xvX)U?`Ju9Sbl1>c-;y*Gg-*Erl?l zQ|Nx^#EnG)WAy&O#Cv>`rqq4z0@xgbMjLCFR~~0qoXxQEt0O(m8I9tCrLAliU*9%G z{rR+8FK=_Cn@fTna|_EVZvmJ_#nv96IiLMSH@mIxHtjYrg6QWNJMdNb>l&ZA`h2#O zujdOtZ8cwsaA=n&gRdD5KCDnoEXUW#uDvbtwUvc?a!qYzKFy>uWUH&=W@$J$@Dp2J z)pyl0LqpXu7z?uWoZcs!uV1R+B51l&IP~mYuCEa6zJ~rhfSv!0;ebOueV*~_4|0Iw~^hm-HyoQl}rlW<+1_*oN09+S{-JLEmfbDds z^XI8Z+}g7jvO%E`lN4}*s{k#OXTW;g0cE?fIw}s0j8-v+LgMz4uH2F8BMjirJ8My-#8c|&QRX_cXVynYoRD)e z&NNsQ(Zlsq71>CYsN!Mq)?t;KK~e{)R0)srJvjFamdK1LocnEMmSrD&_=P6m>=Hf< z5qefbI*C2u$}{VpuqYYr!lSxjF!O2cq}4|QN_O9cLc_iL^!ObLE4w1#=tqt~*BPmG z0JuRt6buy{IEe6C8wVI%%{3fuN}h2a?a5MDj0X{rd7A-KUC;D0+{57;snDo){*&d) zWYcBX?eVZDJV$`kBMJq1WEHlQfS%S3O?S5&BW(i?Nd~MR-n=0v=LtS=RTnkGD9T!k zm2mvLDZq4hEvvAgS(K`XEF?$33kEkvT)PL4#!Tz3hl_EVMXjBZ?x2it>H?0yIRa5L zj>0d@q8^L%O$MyV8)dA~7#T#xmW2AYfq$DUKtJ99xo@1o3 z9#I=8BiIESZiuV%&PZP)F3a1P9aLg#( zaC06bE!q^&BjM>Q_K4b+aFp5+(4*k#GxvxZL5xtb;bx4uU`N0Lc?3Ie!_9Gw6!(<0 zHefyEr(+9Zj{G8hNfM4dJEjXw#)1oU2#^WL+st4$;+`#@^=Y0+|@1gD*1Mp%?GbF)vT>Yu_>7Y-?@LS!nP1mM3$?$?+X;DR{0Z?Xwpih_?-imq-D(af=jJO|pRLVko9ZU+3HG+sl;m*REQ=B$KAzqKC^~Ik#y1k*AL6 z+c$YzY~hv}i?rFP+p6u7wrbQwv^~2Dullzgir&RNcaYEL<-P=TpO+ z3Q|Ytw7|?`#zaGw!%Y>x;)oth1|UwpZhA9cQ;2ZeRbnDB3yU8y4FOxfBX6&MpO?UPVJU z1g4HZoPImGNE(*b1nNqma}lb^riOo&*f44m3`A|cUAu8-s}asSZQRt+2$U^l^o*fC z+1yW;g?@79fsW+C7)~~C!`-isG2us1qR|vLxg*AKugm$W*$z>Uw%fK~CHoW{Hqt{v zBDz#~Xi`qwYQe|w7lvuRS?cjWm>StQk%*^kpwh*-iIjO>;mTRhQt&RR)26vT*YrCi zdP$7p4eDMN4d`dExGwL$_@+WoJ~2^SF_QXHvCVdkVX$xbK(jWIAa&iTgxAz1scy=s zmUcK2dPahH*DbH+v5(rfVD+nPqtEYZE>lZX6teU_zf&fU;f-K8p|Q?66*(HqcKV#6 z5cwv(XwDULdHGALT2T3N6eHvs8Yg z80%U!p4;=|5u;k~&pLwmpEwrec^~?&yGblDID4BV6F#TpdUwAYmRAg)yViO2Evfq? zo>`K;n-W+Q5}j~>ulNRsI{2cusxAdR*85US>?ftZS2R}^!B~44^>FqqY`WdExaqyu zf<&7FK}iJnm3({!WXr^QTP6IwKx8S~C5?SA_O|Azt;Q2JsSGVxq5?k5U^(bFEWM48 zzS6jvzewx4Vm5gA`5oKq{Blr}YLaikfMG~_mmrVYx4Dm~wPrhZX|z3fVt&s2CT74& zf^e$BA4ZpDU}{#BokPJ^v^+0%YEhT3aU7;0?CoVgjCf8VOT=QqFRTXDaEwsEm1hvM z$1mpaTZJK-KMZ0v%!|<7vZk#Le6#8_mzuA#iy{?%W)&6FE=aP*UOBi8!Y03XnL|&D zGQkSW`zjRl{$SwIIZaJeYR z`kCA`$$s{|ZHlg4(^Y?4$hW_{oTFfe0d@+cv>uXcmQ$E&cYU28ESFvdUBMPmUZb5F zgbsnd@AdQTv?sgFpV@wpCj(>n;J(`C<06v}AFxSJ=Vr4~{$?`UW1fdM!!t+tHXU3N zatv$8vo&)WbU3J?rJ{rLoP+gVcvlt4!d~~Mu+pt{E`>3w8kKb7F&NjR?D4)R(wJwO zST-p(5|tV9vU{G!Kb>2Lc=qEwIWsF~Kc|$nEVFltx<$>`gWyOtVC7R)-SS$x60i8` zdcpJ8Wwap_!OyPXbxn=ZFd@_A+#hC~BbmJ|y;V+CbS7UrIdmqbrmqU4p2n+3ZWB^^ zdelx|=~88Rw>h*GWbo??1o=T4_@B`?s2DBdh1<%#+zkz5W*QaIWNrTOfm8mnYFpRU z9O62NHTp>&9;5FmB9ywladTq3NL=O3hh?>aOpvaa77T3le2sl*@`=vGV3Au`;`Oj z=uPoVV(~hc5ZciYB)rJfepu7d$0X$JdRa__eNsp^34(KJVICf6j;}U|Q&^i~p88YW z%7c-hD9-MFL64_LzxfG7QTN)oV#nh}QJ`^opz%KGKxUqIAoubKQsdrDqwDE6pv=!> z=HvGhZkJ3Y5La5mx-|IvZk|+G;FU74xIUK}__F@2!qyzVV03;)Z?OYhxiqfy{;C5E zURO5UiI)tLV!{Y0^#uxLH!3PDQ)CM{Tg_&CJ*>2XzSpyEKffx#k0HoEHx)=$SFlT2 zkH#p1F>TQu*wGHETAe_$h4%6*+fHnUe=f^uBpkVV>~MXo$ExYv;YcrT+;GE-SFb0Q5t zUvTX?*KthPd&{r@SXuBvZr?LKv=%ct+}k)`@R33M?E?N0W`fal<8?q0xrkquP-0y* zGIFT2r@vgaJyrhpYSM;2@fg%JD7 z4DC@;#*vK7@54J;>z6JzL1;R;6*}%P7@SK)CE$&6l)gY#*KI+IhW>GGSY7`2+o|07 zv=>8Mn6om8ZI%`8rLyj}i!rP-+V$?Nx)LS=)hSUfdsMc*3VW(;t+8cnsWYT9&{~Un zFZaGuwzC%&zPe%OKM+5IOt(uF7P-RuQLSW2B3-v+Q79mNe)LrNNqqgTqdEaelbj^sm5+uhpCEk| zr?sfW*VSf(jYX2DupnI2QPj$krsQ3X7IO_Qky2 z<5k`OE`o8nZpC3qg8fcG;i$9OPj9hJOx-#E7@9$fkx4c5nUyrnyGqQZO+U_0CcSbE zv7hn4Umlx$eaV_O7UtrV^AzQS7s?JA&8iHJdQA9DCGzo3hg}aP@m9Yi>Y!Sr;8foI z5i?2pb0aUT9o(m}eu^wVtw`^LFE=AL42S6du;Rrye~urzn2tg z)+y?ghqBsfB_>6Kei9Q%T`EERO*NdZri)XvZPiFMi0TRXb0a2oPO|E%#|o8b>>!hY zgXdy}MuH!WvESt03uKT+Vp0nzGn0CHo=YM!k*4=};fc+2Dx^k+m%j)4LPoaP<%iW+ zHF9A`LkPph8?2M&nura?NyvNVY$nb#{IpC#1?aUj0p&+AEs)BB{E0|d{YZX=E+0PoDG+J zESh!siEyr8_Wl#KuqT>dkafmG2zDj;Jg`V5h!3d|&+Q24uFUT6==$rH=!2?(?|5?Y z_cp}|F(|zr!C1b;2BoG1v*6{Tz5XhV`))i6!)f(iDgAd54pL4z8Np*!e+SJxa&$8p z62U6M;1!~QgL~arft-hw*c!26b6THiwSxYu%2E+V&C~=(DS?6g;&e$yw1v&7$WK&5 z)HQQ(UYJSnc^E{0SnB=_DF#V=i(hvX&%YYr{}CE{SGPQ{A<+)@zck^8(d3?zrPW4B%>^vDr82f+t>W}czYFUq}q;-L2V#jk06eiIRGxL`=dRf%_p>g};lA8QQn!1Un6 z&kCIP=l(a12dro%J)G$9f!^NOS0P3#UDUu7SrjRz_3O7qtaR)xqs`)EX-zs^((rcTIxQfu~rP)8oY zIHaBD>-YaH%5M^Yuu9{J3A?caKIGG2>eyj*npQ@wNFz?bjrd*d-%z!qwHKDa>+J}T zQvBgG+)K^U$%U7L^#?DA03YCiWXchrNnXiGu!U73|3$|;C{V}E6=8?FAtd7iC9Xmh z&ac|2M*juCD$^C*T~)K!_x*g+W%=_l~>0L`7`GvtNslMQQrbQXCQd z*NZ+{kct4#zXA4()0;hdvl@(qfAb!3sNtYep6)N=cN38IgjCPj#zcA{=KX^~`c9(m z_{?9#t#n7g*=Ugs)pN8$zW6OFGWS{kfLUMi$@CwmG0`IYXeXB}m>EQ6|}#=Fgpq z(b6v?dUr>bk0PCopSL=GF$2bVO;Jk!oQBN(H{U&Ya)_-FC5q4*bc&4>;g4W_%cZp2 zp0>qi-1NK7KD&)U=BAw1cmD@b0U~==6B?4s|4@>uIZ~RK-)#R?hdUv7U&&^g-TA)+ z7J)5h29!UrHB)7Ew|ANOyRR4(^i_53mUf64?{ zTMYWYFuRgI_Ytv>|5n*_fN1ox5MZV#^K6~!DRWE!^&d`IxjcH_^~WUtu`m#puJlwU z7Sdfk5S~+_`spQJ9v=QzDfGH8*sQa`2(!MnIDg2}bK~}eqzZk3vo6K?(;rj(OSXQ` zBS%OJ<+olVkomVd1OW%!?p~}!Lg56los0ed=CUb+`DNNJ;}c3~O4wFPq_md*>%a9h z2ODA1m-^R1t3ChNwAsr$^FN}!X2Xuw)(S!UV8r+j7ka5a14rs!@=S2xBJ5Sj9&>ut zzO)ayh3QgZuI{d|-3W#F*Xa>1V>wqIBJtl2$^Us3%0Z5>O;-NL2Z)D!{ipQaS#OB8 zY^t0rdEE--IZ(C{s=@XPZeE}EkcBdSk>NjSM)fV?=CQ_Kw*CaM?SJ8yM1(`M-^<|n zUoODKlZ){0xNA&K;9qL7+jkhOO(7>Mu>DK#aMy-~ajYvelgppn=7@;5tgEdO{@*weR=bOKniKee| z`Pbf8!Cw^~;Z2JF=A~B}@ZPSS(ckO-+x>pgbFQQ2uJ9o@0FJValzo}P@H?%6f8-wq za9i{Loypodn)?0#^e@(>y!#>g=?*(#zk^650$CC1DHOB+jUL*y)_%9YZ(l_r!OjW) zx5T5##1y|xGFqgfl3dTk3lWT3DyqEx5;7hmuNUpsEK>hO!Ob43NA06+5B^Mh&&CnD zWcyM0PM3E(4QGJ{jVp*WsTxFgx5md6tFxcX@(tw2|>|XQjNR3WAJw}{FkNA#sfm?wV)x=!XFW_AttoI&FpC(ZA(N*{Xn?eZ?{ax zRzp2< zCX~ODFo(}zUC{r?IltPDnAXfY9jStFk4|zN7(BD-aTpWM@%fBt*FY5iqRpJ9mqzxII`3(*h!hl_Pwpu_I}ABw~ODMa}kvxl0zx)O_6E9_UR^eYdC zN#(~BfXMIP5%p*Ik9#)w7?BvG3Cs0p{=L)0Z&uw~LXxW0;-88RU1VVZ_q&olcl};w%&l^Y7dNOX9C%=Np|C|-V zWZs@D{Y}k3O@;2;D$ZXJ_+a~1>4#L-VJD?#K z?2teE!Qa1c(NYeN}GRQ4-Um507EEC`)@UwMJIufS`i@bPI1#$Fahh-UMDwTF|4-@Fb4MT?rimqvldvn$!_+iqU_4|Ntq!VrhwVq_lGli1#Zv9Z`YH& z!x{v|ErDHuxfAPnR?M=BF~hKO(a)nNP5 zSU`WW`>l4*9`QWn3hF4@@&s%7mUyj*1^XvA zuDI~P9pVE)mOk_lQ!znQ#4#H}EOuYwkJ?_6_|P2afm|KX49M`(Yw85$56R7S)S?A1 zMdF~Wpn8X08eUMqy|SffG+nwrnX6>%imv;|uen-Lj_&Qptnu4OqJEDJEFkJWFrYmW z)b$VNBy{8mGu*(H#UaEd1gYyrsX(+42RHO!a-{CRatq(*J3`)m&JL5LgAECPsVV0s z3E#|qrE8X4(ZL1ZrSX+zS#p#UdVP%DhYg^~lFo<-O;Lb1f-|Gq4e3hrhk(xX9J{WU z>3Se@mrIy(RQ%%}VnkK-Kz2qA*CT?x9JdS+pHPeq=>RCl_3S;}ERzzug}z_k!_tA2 zM%7+V(;8&wFJs!f0jwY1Gap0=SitV<*yTFBO;IM`Q2pZQ48UWm$wbzf<<{vxl1>{Q!Y?D#P%jcW$l%) zAJaq@t!Ti#a}r#%l#yF6a*RqAkqcstEfs%4c!5|Vf9#DV=2G*xzxWl690l73?d44z zuheLE&$twyasm+dQf5tQ0@%TPp&0eLMXpkoW*g(FypYQb;X=Iw964om3LiAk~tr)#(Olh`vP$h2k90l+z}OzxzJ_ ziT;S=CK{LGd7F4bUBz-?MExNh@0zs0C@!$`#Nj&j>K=J-Km!Fn5$lEqh_yjGN`(SgbMoEQ*fM~Y>d2fOrom*z27R5J2Mb3=lcMZKl*%< z%37FHW&3>(Nho8_hv%#~@%*}*I$~krfVR=b-FuUX;1*c4#_Q2&uqAw^w^*y$S zFA(oqn2X`~#u#(&SijisHBKM|@Q~9b8453rH-zsSEk-p%E)?J4Eov#lYa5W?4jiS| zkc7-Aw8rf-&MLcd9Vuq`;qk;yGeD}C+l(jY%f3~c1JN4D>J6XX)MEj^n*+&w{vL}?>?|2E`M3)g(5RQO?hJhVn!5U={|_A^b1TzPKSGD%{l#C>BJ)aywx8m z!Jct_)##e+DQB`F;UMrbR%QOAJV6k*%3q7Ek6NI267G6K@>pe3EcycPh#G|3!yGcP z+-HK=1CL63E^T0Y zyk$z+4?tp6z|`2fqWw5$_MH(rVCJe?gEaQgF)dkfFIL;I-EawlvUqWCQL zga%xH0P-S;Q=;1Erd$At?!0C1zlVo7f?G@{+puGmh4tn&tIYRqSSa@m#1_~#ba_(o zYL)QK`*szY+BpKy=^gw&%EvVp4+ zG9cIWJhhM%9;(3+a0KX_p+68Oj?7-vmIQ${RJ6O5jRkAI~ z2E^WzeH6d@mNejjVX#t^v)v;z^pG?8%t!5pIDIVK<}$-^JFg~u;!e^PW$PYxH-E^) zflFTFx6jrheo#V5Y`TJFZmteYJmGQ|OLi=rQUZHCyr1u_Sc6LvO3+A7KU*HFuKJ^#T{Q6M7C}H~Cu+xnywQ^%EIH13YR+RSaImq*CK{ImtQQFi~ zIZy5N(1u`ZDAKb{;HyQ8nfXo6zVccCw5(>8{tUgikF!;;S0KW-I*S*i-SUaPiaa_` zeY+Rz9dyC7-z~Tppx(kd6Wznw;{cLm=+5I01%imcBT?i}d_6fsGZnL4J&Gy9euoFB+%v4v8*D<1e3QF+1N&#r%Lca9-NMo9#q- zURawK#07fo&>EGk1@{~ev=TtU@lD+EJ_kN8wx!V;EeOf;e4s4*B}3=c(@#pH_NUDS z80=7QEUC0$egc^$^vy(%gx&PG^)ZaNc5Wr+ZVc>^9s^>+`*w!Z=Ar5b`9e`d;Y0#1 zLzkaxg6)`=iuzAE2#VHtN)2Z-wIbDv`TDEgM(s2to;5rc;}$c;p{G%b%08{{l!Vf) zZ_&)vANlR>s8{4>JTAt>)%md0FG4>(^VY$;|8OHz1)(d;lD>?$j8JWkcjXG9fesb2 z+wUCoAI&vPeXYIk9=k~I7vDnI?|lyh=^2WcpnlvZJ2#pV#lu3k=QW4Ip<5?*qQM3u zeFNeh?jvnshbH%L6nIkOU8Ei6k!2g#=Ww9i1;+umk}DMHN7R*{ZTkN(k$L1 zQPL9NKn*HACZjy3c=W8+gAIZ`tJo5k!VDz_lRqraYZu?AUCC}B zzRa(nUdKM5ESI6WrFHMmX73Z44#ubBA0Pbg9c1kQP$*9iWv|ZI360LvjmlFOOJ1Wt z0`@qg=`%wY!B9FVIhdbeX3AlY8Y)n*qz@|VNk8QkuLkplml&A5f6KKe3-(fJV~5O>#hjJr;a;5=I44Y!W zTcpKiX1>rnQA@!~Z4@ylD)dxxgPR-woA2zCzR9~lhdp^+rIt)Bxt7<{C`(YR11izL z8KMpRmd{KAP|*GJ61820`avK1Gwi0l%KjUVxeYLR@}j4ao=znha1FoFl(vt!5gKLI z2$i0XNAr9To%^!e+(xkrMJjhAd>L3yn;NX*Z#cogUvZC>d-ZwY{aS|H$ zn_T~+{qEKVe7F?(tsiZ_RFJODpflDH?(^{_@kJ(R)hrr3j<`G%?awoFC{4q&yNN3q&`529zKG38>%o^TcH#iz1w z$Qg-j^+PDehy;>nOkhhyF$~ zTn=(mDvAB<{uhypMF~xUrTIu4!^lq~%xGHQme+4aeYjv~5ua~|h^AyLKrTkV3rkp4 zn(bNf_200W2c*~3hc+KRyrtQ}SaMU|*M3Dt1T`uXo_U%7$`as#ztq@3&U}bG*~%*3 z_JLVn)tDU8!f?jYs2sN;>7YvmnCp=Zc?!866!tZonxDBP6&rNqE0%nA4L#ZHdCPL)A)rF7{b0|(ehPC$Pz z#`IgPOQrq`_3SRTmT1IQ1*>Bw02_40R+JYR0GQx8(xub}(zhU^#=3aZk10&fI@g&s zjvvVSozrzIIBW@5=^GDZBa%HaoepHs{J}mfoTLkLq9Yes)+eljhq!}a;&=&54R4wo z6=M##%%eNjLjRRV5ITWo*64x&)6=*4HqYk|cESS^074;Llb zFeX_3xTpYbLW2=+JgECw60@b*+pybctTS$|QqnN6uS6OSxuw`1;P} zDWFR+Bb-#A51U;)QVAxyt0+JLGHgtKbydtyyasM#-ZIY55|4<7Wf5UkObHCYZPTZf zFN+^rz z9kf;*$cYeJLbOaYO2C7Syk)J&)z;gr{IrQ$-EQfSd7O&=X2Rn|iBaS42LsizQ$x10 z`{wv5A9elAURv+#r@QTwKJvWKya5`_*fCy9wKTX=G3cbLwZzbgh>k+xE$tJC$ zIIY^ai?TX1G`^)g2F|2>9JnO)0j_0ZV-1a zw2J_5P>%3H;#zA4CO9pshIKZ=6(WFsWbGcM;H5uN`96y;2FmYl>%Wiq6ew}3x`0ik zB|1e?ml?nlQlb{310gQ28CPbBwKSf-B(GVu6!4K-`fNfjlTcT@1IdbPQR%v_9TXyV zxM4Uj>TjlYKEv>EfB)3OiHfWQ@%>zHv_c7&eNKEs;jyj&uutwQ%afUo3*WK#gBPxA`VA<6_&RI=$hSuR&?QwcpV)74^~3S@5D{vZ=@MqDr|!Rq}UWtT&qN zfV}+uJA$}B7$m1w}{a}cOlDx8QcZRY|ukA3)}(ults8C`b|27+&?1^BEYxS zMh^u+vM5dt6NQ75p;TIRK(KZ|%fmpumf*6lvYAt|m+$$o#d=N>TJ`t4xtCkjDdIif zI$*xdBB4>t(iw6_6;1T`c3lX``m&qu5FOKi_Eug5hcC|MA#V&65nx)Cb^RMJ$Z^5% z8H@7<9OVRVarL|3G!_nZW6LPR`)rKX(_S7k2ELq(v95qcc!3I#7w36Kw-$TgNHtv!TDK*)l08~J$zdb3^ zHsD8jzYtyWuA52w4*jphZh6mAo)612WRysqfwbqa0Z*FLS00qdP3oyYc}?Drl=mj( zy#exGCifsPU+%+^wpjK{`R&PbTjqJT)Om5b)OT@;+#|&A%-e5rti!MPL8=&Xk5Jyx zp#NoTk~$1tmG@7~+IR5ZB!-hGRGu#~W52R)hRU@Es_A}3?vGK<4s64havz!X^)B9# zdcWLrmEWq=<>j3;xt@@B&TtXKIx&&%YN_MMHLP5F(7h6$v0U5mF?LFQn{n^MJ#t+m z?`<&dO~}P-3_nrcf05@E_>Spy%KKLGyaD+rmUm!DdkRnB68h)LvvPS(E_DdGk4C&y z_7hnS$~z#>y_wdF^1h86x8zudA#zU|9;R)Ry0$#4V4U}{6`x8S*{bxlAHHQ*wE7I% zrMF%(-5B$sj4ICX?aT_z5Pf`3$O#2A605z|=G4OaF?&;OTJvEcbjJ`ZwEurCfRL?fS)B zc$~Gj*Q9L8T<(6*J6CZS2rVP_5QjSsD3Ai;T-1?a5t@J{Zr$-KF+PsDBj#lpz zooNnMMyJFEx(o?Z97?LuWSGH%w-}h}K^L`8UmM_wyM1kdPv~n4UH&EQ_O+cJr?#E$ zRKF}wosV?6&pUTROjwrl=0rQSL6>^P>oOX866P#aTI|M<$k!*9Nn1ISrL7$MID4qc zsZ2Jxl$~~yv&xfd545)j3^Bx)S=pBj$~)e-i)4vBKb@(JQnb@!yW_v)(P_tpqhS;zcyWKFKDASg2)VCOoA%-5$TQYoxA=vEc@s%`Z z!-TLi>^7y<9%MSzE_d?`=X<`v*Yh8X4s{x?fZKrt<`QHIp>+gu-1S8)26cBcDrdlWqH1$e0jKS(6*07 zyXB!>q-oVll}+8B4C=9_mv#Jxy1#`ea}C;hHYko@!?&S^$4sL`VgqH!0z+I_Sl}&Z zjc$((RMW%Q+E$mtHN<6dnO(yZa#tv!hD(+BP_yDPgcw{wu7HH^PV6r==ElUec85Xj z9~u+Z;T32TIcF7?Vz;i#PYG6o-e&ahWRa{r^LS$$tUwS-;@}p&1ak%=M0Sv zTkd|;`?C^c@U2JbUrhhW$~C>(_K<(~w??biF`>$d{N7Iw9IL)1bfq#gER^4=maA}(uGTdn!Z<_gni650sdZftK~%dgk1)>Cx|T;6 z&o}zow~H{&Hu_qzi!feb^tDkJVVq<1wLlkPywK=tXD-4x*XV0SF2Z<`(bryFgz;jd zuT{7RXW%5zKNXU^fHcD+jp6u#B%iBXGC6ixROi8iy4`WFUzkBWqF%M%6%hAa3 zMYLKs4h_29B)|N)EjKAHi(J9FmW|$edLaMTaZItff>MJ*f{YxW61L1&CfP1gTFfp( zswu=38dPXXc*mp6Fc~c^7K(?n*6XMDA?#SE3H8m%cP*Mde5|c+3N~$ElYSm zR@oU8U@<8>g7&bwECW)%PMW2g_<)J`ISsl+lMh2QWcxQ z5a}|fnr-HUDY5)c<^4eRm)_+u&v=hBISi3G2~#4K{=A;=eM3CIEKhmDn>~T9eamAu zXldW|rFHameW}+6%;U^a=7~1FT?9+^#djxWE|%wHa$!-Z{|$`%4b)ow{SBA?JWJjU zjMUqZvg>uGi`w+Ic=)|1EFZ08n3KcST5JZkPp`Bym};>amb;&(4i#jY#M#vrqyGMX zkf|$rt79@3%iWJl9>w!BE080{id4DBmoQ}*YxbH{C*7fz35v8a=^L}fVo=-IV=Ut& zqt%yg3^A%x_)@NAwcptq=24zWg*uK`LIc*CLhU1zP#fFZdZNO)n&~Bc@(5S(fd-dy zs!5*2dlieij|OW;tDh5cs4-g1Q%Yugeu>Mmu)W<1zZA;}%n@h4P)}D}A#t>)BQDdT z7-C)1JYUAGYwJz51Q|*$l9CoFo*jBAms3h}Unw7|W12kg=_S0=S3+&vx;F=w@JhmZ zo04Hk4Le7%m_5(Ot!Iol&$E4HJt=b(JNNNkz061Y$|{Rn_rSoi?oP;*vSw;!6~|?& zV-&`%yKO+ela-r#4Wkn>?R|MqR#x=JWoGxfOmenX&s}okNYS35j@O?R%X_-=&To*u zpV+>PR^Q^>S#3uI$TC+ z^-gcA&MJG&Q?f4@jT}iBHfMC-F!kKz%;1PF?Tb9E1lgqA2PA68d7Epv>_4mNl5$r1 z%4wq<<4OOcoCy0=wSAP;{$+WNT2^a_`VOwvHraV!YHePI+6zq_nbES=++mE%}C$1y9%v2>1OR*qxoHl@X3 z=w%bspO|+; zfFsn(QTlSHvfFAHIm2o(w^+@FRvX;#bK1`x9YJ)kK047 zYfUot41;2p+A4WJ(1&eZp7NB}^72r}V8<+r{yblv)ywtM34V2)X?q6Nacp{x^BmIU z*@V{;phV8uZL-RBo+&Zbu1vOCRYqw`&T9!)B4?jTeR`AA6+6-GKXjS$jhUYSf-Sd=wu&Da1CRL5<-KOG_%!o zHe1ze=BOF-&%_v`+Un~s>M!8OEcZrf&&M2M_SNg#C~u|OMqhxUwjZswrZYmV$ z);U@2yC`h5Tlx~!zKiv~zo~tf^tHQV*Ivg`x9!oG{PLOpM?SlrPk$^vV0{04Mm_rS z`llUj9Gf~^yRz?Q*{yy1-U7osmcp*zJ@}1bat*NDePzNl>Z9+kSnk~HHL}elWwC#X zQff3PU$K5!$M)S^dGCU}=NQ0Lq^uLZidLVexvXhcyVZ4en$2#LQn(&By2918OZ?JI zPg#woFq?hqGm6#bTA~gg=QrH!TB)W@^h^7H)V&FuRK?XeT6On(dzss}=Qhx6-95lG zt1~^*!}KW0zzidbL>L+s$0RaB6y+Od5KxSX2r7w*38RUU7?&@JC|Uf_B<@K}zQjF? z8j}fXf+lgr1rer%s*PPN_RIMRj$1-cG9N zJ2XN;U|S#APz5@T%gtwi2Hd0K21%>)Mdxg1xwD`{4H-T5nyd=xJG796?;7a+TNG7m z4$I`?_L-^@oTGl9aLjWUCUOzdFvM^{b|KapCYE}!YszB9cO+H2Rh6ZkM5QTJ)gjLC zQg-N^Hl0}dgL-e>nb}qPBA^0t3zX1o4oCC1kY>}TDmDbofnj2)7rUk`c37It5}M5+ zXg0&-;`uXG6-%<NGj5W*X%2v>2jzCwSgs#94bOol8)dfDshI0D{kXzihmVBqCJ`PgtC{P%;sm#4qEE9hAK510n*NHq%!D2d_upN-aBB(g@#RYpr3!7^wr(dyw9+V zsCf>_ZVwVCUGo*_H%**LbH*&x3^QUt|7uXf8Pjf3bJzA=mpZlC*#XE?KMW9kp-GJa zU8m{yAm77~62tHX@kU6&8I9l0Njh@g0&Ps@|>`baVUW$yjc! z>LOxNr!}PjTr~olmu;Sg@VvE1F^Lmv)~15)8IbhC9BHT=*A1Oxz*#(Uj!5BT$nT_z z{7xiJVwjYt3pgE|<20Yfq4G=EUXWBhMuP(%IYKtbpm-=Kp)Uj-K{Qj^*uByC=4_Q zcEY$TC9Aqq4Wk#uE6Fx>kqna7%3_ouV#YL^GYE{0rR?{I&i4}H*u&<#c%*!fA|Az1 zwu+;78z;N^zvyHd!`x+-`$HLHj+A$VM1ojHQ_1lK zUVm$O{awfE??ESscL!DpTk)uW&0u>{tF1zzaB=dtjtV15noWW}2n6Y_U$h58bl1<= z80NifRwh-}o`7mxtq0_*0%866aKHdrHnUSlA-=hX1Pn-FUZn)|*{v3y%vG9ReyOnQ zayCQpdcUEN^uenwO-(;rTqC#+Xh1vHCFIi&+FRM$Z5$*E&-DEO;^weBoo{VIyAjGu z#o58lnxnI)!G2B0V$Z-jdQR3QR&X6%gU=9#M-eNGVR%+ycr>wW48t>m;TW+T48t>O zNYzA=$B=c=op{TSglD29VT(NQFK+WVFoOC8-ZBXmxeYN0`#r?r{$%G%&Kjr7i95&T zpFhRzv8QDbug|`VwZ)v_!28{zU8-Oq{jB*`k~08Tv()U(Ltq5}D~MR_Q_#G|mKbf_Bu*ty+c1a_Q z0iL5ocAQMv2%)R-G_Vm>c55X-{>|5y^7d(L)*tVzYz7N+4^ikpK=W6zxAaHV;%?b7 z|K{_y>*%A+Q7FB2^f7$eJ+_&HGK!o}Uu%v4UpR-AC#Sha1aU8Hia`05!f>X(r|$J; zO446s;WoHd}3g99=tG`5L6 zYc00^m_9h5lJ~P->d62F{?iBh5?U?^HQELAl+u>IL-3>F8An6#GVMPz*s4l?!{<0A zJR@3uLy>|3jlB81qDjsdnpQ%Y*tI#F6-mDVr74m9&e9gy#@&+#8k3xoQA;fqXD-=F zQ6asr&rar4qz7{5UkS0V^w>2yw8c3Z9GSOps}VTH_k2Q`SEkRp~x-X z_KI!qeBjma$6m|n>28!_Opt?F*8u69{1y(y7u zQbX1SP@bKTqnD)7k0KqCtUF-cx;Yr@xjd&Nd?AM6V2>S#FF|gW8ypCSXv+PzUUSo| zfDuF5U19*Gy>*W_KR_3`kq~~5zMkIAY{)-E;VT_(#6`S3`MhhmJPq(0<*l4^K47?o z79b9AjX}5p30h-AAkFMvkD7ib>N-`}%Q!%7ia&}udc>4%V7smdnl=jc|R-W@5uQ%pZBXQre&1oO;(d$Lc}Sd!fuBlM&Z^49#k zUm4J#&R+9rdo~jB``{P7b^6boFRPOG9_(?@L#-eG9`Tn!hiF^^(pDQ5Z>*D=cc6VApD#cUXqf&2jM+lctuLO z9>V|f!hI>}1_-|>!mG&&XanBd*pFT;pBwY$Eq3|vSDHDT)C-1C;RQrUyuhX3VIXVXHk$aJ4~8DNmY?+ne}SM;==AmL}ZKo4vV-bQ>GpZgr#E zlZdyU0g<zN>{g-&VsM$O#utzaulq%>8)!BL9hEZx2Xls{*NmMZyhaJRHu53S1k@%jZcXB3J z*oj{?-2u6#lzOwbuCaX*Tk$v+ey{DA26EnGUxBqu(r<<2V!nJozro7+gGiQ@Gw*T# z19YJ;lijK*)hq$~P?`hd&M5SWNWsa#<5SrO2v~QHE~!>qF9Dsi z_<5BWS1vmd)b4;P(JQqRH40XTB*Cbtklqbgzd@|@>nXL~jB7IzNVTgW)u-Uz1*Iqr z^^7h~<1vKaOON_^^2;;Wd5EY2wpK&q?4uZM^P&Eu^2>5#y> zEE{)5({DX3?}7LSARZ)1w!O9@0nS9gvG1%&|05-jGI50u*US_WS6^kTQh8kKO`L@* zYKmA{Q+gBsY-=O6ve#!`4)kGP*$o;!NgAoo73)d5-Q(E!hA`Pee)<7FB=oQZ{Z6~y zO`EEr=WDV_SK9Is?X5 z&o`+!qQAt(vyv30Q0G_&P_7z;T!jf=A6J=dJs3_AzQ+;u%u_G>POP$mmy&vr#`dIoo132hweXIFZHCPp?D)QI+N|C=0 z1%HO<=g)uTh-*gDv5F!Ovt|V4rRun5qzT*U2aq40=XJ8qBq!=fDe`?iP9F&MwjORy zL|2n9xE%7iu?VSiR+BRYun074d5uO_Qpr?rM`2z1jk-9;c&-Si9i zl)LFFd@9}aEPSe~$x4tW1^%O?{sd^TO2!fAxXY#0ZkK$vTeORQ2{;b3i*%6Pl}w&1 zZKIXKHuB{E!B;$+adp{V(8pf!Y|OLEY|KCV_~(@2KV5;Z3j1j{!11hqRDrsv!5srN zwjh6!(Db9 zGS-J!0uuKj0Rb7~LxKV_+J}S$WRwpH3rNg|R0)V%#%+vqt3;u8%HyNd5s+#h5*3iB z52+Rq$A`EA67eB10kM6^C;_SRA)^H(>_f%~NXUo81tjQ0#tKNlhl~>t%ZH2?5YvZD z5D>$MOcW4ZKvt9ga&b@d6y|+$HCe;#ZobFH$qOM9;mJ#iYor*y=yQDhaP zc;TbIz=h;Duir$NLE{{O2*; z_nH^(7Jdf2F#6tcOTxhr_r>Og(YNQQlJMuV{LG>kKC6!VaPz|TpXPoEys*~7_e6N% zpHJfZyS(t0B==|Fg?G>5{@%Rs>(jX(0}R`u>MPgBh1(E+Exa@=mF&G%Nby|28=#}2 zLbp=#Jdxz*AhORc;Or~uvU}ay(g|H!K|n2$YYR5igFe1|$pxAtFd@(bCOGYGzQ$eQA4?W(M0E>lRu zw=I&=exQTt4ZWF~+dv{(Um}=;5r~w9aceu3b(+X*4-kYdFN5MtWBN&_sp)is<$>vA zB)!Mc(*N+z4V(q^pkKec+Pa}#JxAp#=vrtuUE{tW$;xw*RMk$Yw96I{V-O@b2x1R{ zR1boT9t0Uzgj6wiqny6AKp)DRLld1p&~uVZs;ItrBKd)ypV#Z=tNhd+QmG)I%d)4c!dRbp3i~h48;MgAXiC(wImU7s7_dxVX z$#dO1fill7xEAp6?5m?XjVba&y=E@zZ`@ttNOAew$==p*&d#hR8{J|o`b2S@xU7x$ zV$Uy$MNcVCDlUIk@nZW*V)2Y$T-upnag$b)3rgb9SEMs9F8@>YQm$pOxSM>oiLk}V z)#SXA6nVA_#vpO|1ZIkT zdZ7~7P-zXq^_g7(^YZjsUS4bfN3XHcIzD0FHKhe%=?|oCNJ$8fC`iULD6L8B#0t*y)^#t2B~H zni6;#0x{dcQmvArQXF6k0cn5FNv7ZRzGb}T$@N8LHe09y?#)d*ua(bDe+kO*%c2bN z-^ABE+P_rRekS|yFEh9*@|zCuus=3hUbD${>>6@DSbK}0;<^$SL*AOG!)CyZl;b9f zxK3n|>ZK@t_gJ5gi_7?1&t%-NMiJQ}ScHTXPpB@y99o^i!0qf1Q%WZ&UKLDUr8g61g`mksD`AB(P8- zv+@#IdA3C6u9wK_uS;y#A@Z;h=x-Kfuao5$T<&&l+~PX(YnELQaI{61syVSm0r;J= zCy72>E`#z2i+ySL!1p&fSbk|zqi+m2MvB~`I}t~!No4{ld57+-OQ|>OPAqChVa!;a zTV?jvjmovDDP@NqRk2ru*fCMdX0g{;7@OBpD#U6b7~eu{JQ@hG*qs54U1g>;h&3Z5 zWkKxNXwYP__XaWc8f$|-A%~}>b;B9Ws7X30q-KgV%SNyIkXC{33aU~=P-Xj6jT?fh zm`_z~2&%^URN2E(m1b1cdsMwvfRilTX%H~up9H9mmFshb#RIT!d~C)MVwQVM6ZtQVL7t|X91tHm7$7O(h)V63{giDeC?bm zVF*sf`E?YlsH0KC*U{1Cb%bZoMyjQN;3equVuS{_oYN|5>9a%Bl90dEA5Z?`K5x~f zyg@y74^tl`7+h6CDatC#@W?1f`CX9luSrzT>sNwZv zyj(w`y*9Ll9Ov6;;WGXrWF$Qj5&Stme|QH|S-XSUyP%@>HV)g5MNN}b^kl~m-II+I z^#}Bo_W)x*8Gq3c`Evw+QJ=q)t%~{sz0z08A83xX!}rs<;@G38Ic5&q2XOw}3cVQ{ z)}D$6p!~`#L$t_;w+*94RB%}BbNIG7n8S}Fp+yd-mT?FzWCZQPTj1yl-8p918srjO z-Uh7^+hDce&?QbM=kUr(4m*lgqgRLPN03pd6KmQKmi(|XdCt%>IYDp)GU$(+n8sWa z4Mm3K#})jSJSt#9cVN#)sNEs!Za-Q2uozNL+waaugnhBd><+K{6K}QRYSo9!L8; zeyNhjFGS7t6*9MBcpg`m_iCKSS)YhU`v^QvsFcDPBT3_UfMK#bq=Guxezehd?p2-DW6Zg+2#l` zy84syd8GQBK|bExgvaI4m3`y5k^07z;IW1{YdMee2Jr|zQMs+UaU@$cY6b`CoA?p* zP3flFtQ2AX(;wwW5lXX*%iRuAHH&Io+sJvRQnNK(E} z6T`8JaJ(Wsp(30r*)!#(pHczCeM-|RU~%C;trUiPGBXvh3F0oSQW);FZ>fMG9iI{~ zrQ#d&hJfQeTpdHe@%zVDz&#p1GXxy>vvdvtZxQ!|mBKw5PZe;rf^R&p^0|t*QkuFe z;!5fI!Vr04++uP6Nokx{etB^hb!DC&?Q1LIO6lJq;RD)W_wdwx5_p5Fn!=NI={{maQVE#_zDDd45|I%@h=Z%-Wj z-^=}tKTBn$((41{^5*lDN+KbOZLq=d&NFGyHV2EuCCcq<++nf z+yN>T_}P;x;h%IIq(d2V<~ZY=bE1|>923vfhlxdtCwO{J-PE*g=YU2JqUQq)oxafz zoeXh1@-J?2lV>`eDQL3_MMm~-QUv% z*neklp9N~}ES|0D-s|mG+)}n*@l1g0Y`@~=?rx}>0YV~t-y+9Y1Mw!?hkPm9hb%*R z@RBR$ao%2U&*NofdowTa;g|bxjQLW@H~Z|*qt{Zl|I!j3?zcevM1MbKSIre}iacpL zOYqDvo^1QNyL{3&+~t$M=`NqL&0SvmRd;#%Ypzp=`yaa!UvaypUg__R$A35P<>%_0 zL_5&a54>$APNbd6baTX&Nb4iXhuB{4Dz!&o zQcKh2csgCA(?vR+r{gg%7Y0axW)mOlYc#z#llW7C$39jlO(ni%id3dZW%5)!<_=7W zyZwz_8{pU6rf7PjHu~;zP}jj z`!JLz>YdJcUvpiVwC<#m>=36RTUSlmWtD7hxJ8!aKKsKqJmonPG)Ie!-dL+-PLUH$ ze}JdYu$|VtK7-xgi9W*u%x74@+_l}AiqCDjVdD3nfm+&{=5f1CQ|djrF8Anmi}u;O z+n@%GoH2jM^t-li{)%h1w(gV-Gk@#Xp~i3OVD}3s+58y7Ac^mEEC6YpNN&}8TBqmg zl9tho`=X3n_1@NLxpaNRU@i6Kl*S=b>Up|rJI;a}u5_CXojunkdb4K%73r68k2&{6 z@-^V?hsfJ3XS@^aJopW_^X;#?orku$+cd-KJoHWX`G7>X=~lpLso9C%N3)YIAkSF} z%~|8f06d?!EV@nBt%X4|2!A2?3)9Q8tD+=-=nCd9=TzCUa#nzAn|Hl5U;I(}KMu{V znpcL`40dY66Cfj&NzsS?LVRMny$#QU^$E3pBS9?mRML>UajAFe1n|Rv8(bLT6gZLe zfAHjJX+G&^8=g?eAm|gtTn(P<89|aGe=D$3{c8RY*2;Aq7C|n8goU9_9wk9*qIIjT z-<1B1@L^=tTAuHQQ`oIn#*_BV9 z`$#6e&k+8bPXrp9gkQ`&eC3hz`s`0*E0YkivJ?WfFVW|r1q~2ce@-UyblGN_jkTnY zm^L{iN=UAi#pOx<86>_Z+A7iEm%K69$CfJ2@P73T-ZuyzTcoG;M@@-F?5pu?7T2XW z01n<=)NjYC&!-=?*~GH@BW@JmBh1&3O(f_|X4@AKC*BMrcqtGiQnZ>#)d6^SiR8wJ z6bnEOJQe!FF3C;(Vyk51-RL$&pEBsBCTr)3GZB5XNYsVUi3Hk{DFq=Mu4X=FGQl%Q zvo)X4mzu41LLZLWX#Lov!TdDA)4qAq?;19q_~7?Z^ct4kY=gX-CXL#%z-=M@kZHdh zu0A@XFi%Za*^+csM3%SNHsfpyQ6ZP}rC_^F0=5c}uM?!U%66>u6;2_2oAXinXY`@; zFX_waUk&%=oc&ON`9b^NT_?@alJNByX$X&nue)EN~;z9uG z2kZ6HH)k-Lv-i}wxeePb$(1*Kx?eH%exfT!gY~p|UB9Z6&C7Pmit3Qfm-efcv3c3U z*@yC5=OXUWG{d0iU6A2WOhI(Sc`(1VwRZ{RYgo#I^Qxr$%6@j2hypb@yY-nuY54Ya zo7;Ih%%voTq#xv=3wgS^PZUbSw_l3ss8O1Z#nANqn(%k=`!~fo`MRcDMzQ!)wdjMk zOQH8?eg7!X5ZF?ldXxLM!ZO}WUFr1JTVyIVyICSU#D#>1xUfrGTW`^1N>{n`^j5@l z75LLnZ$(UpSSDh^)536+SOE-2nUA@1venF|+!}n^wE2Ad&L(c<3S27kkRD13Y-vY` zN+Jg;a%Qn>cx;$Tw25ZZ_ZI!mrQRy~oomT)zjK;6yI%ViKcAjcM-fNrns*i0Shwl< zdHrs_?JBpo?!;U|?nx}oEyh#xiBILKnNPcJ>56DiBG54zLK7uTPygEnDZ=w9?QaR6 zV4AD8w%$ssf?MPLG-UN9nM?a5Gc^&;MJ{9z@)YF>HCE8GG z&?jHG!Y5x}>+D?S-u3r>L7I%rp(g{y$1+WiPl;I3 zTPTg zdQKfjocbEOCx99cPg~h|+Dd}od<_k=<;{iri{_%u%aBGrbG z=Vsq0#isBsTJ+g){65~F;U4)Db4fOiRK%IF&V79B$j{z(IoGpsN3VS~40yWi8(e2G z8)4Yjxn0p4nNLDKzF4u3pV@Up zGTp1_m4Rc-zM1Ec{%2_p=-bFq{T$T6Iq+CN^#cRcpxNXRD5mK*8Xoa1K1S@n(&so=VOva2}i(;A*>8Ia9>5Njy97 zxlK{EepLzJxCcEg?^ac{@fThm^9z0UGB(~pPf>k|#W~Q<>Qs^|@c3-OtLulMuJLZ$ zeBbr{NYbzCO)Z3%Tt6AIs-wg%N z|NNx4XD~ng&L~I8Uv>iczje~F))6a%*K>I)_d&v?A)R=rE!%? zKuHpvGLJB?p0@RSF6w5G8wH<;^-vzi%nE}nz!(*uc;4}$RT!f(oUQH8D2kMRQ22jB z83fuskF>dt<{&L6XZv83M@*UnS*_A`Dg5pc=lsTXhYEXi#dt>6^=BkmYS&F|kFFd2 zI?n!m)P{bzp6Ve3Yt6v)m+@M!HvaJV33DDkYnGuJ#~9DyZA-gx?vvB| z643iktk1u5N=>}GE|gWFjyuax3%{tj}@x%&xlcf8LX!km_##El(0iIc1O?u7v- zz+gel`w@}%BGU>uV;OwhAoz3!pHT^qScLh4#_{xucfkGtk#4T)BHh7nfTeAA{0YVj z&B3Jv^4-gOjv&-Be`nt7_1!^De(HDsCeAU9zf%bFb=c@g&S^D|WUQpldMhvcMx z5GUw_7KW^#Gfq5bi03ild4hOSN6oJP31Qy=jeDAm6jYPvf|NSr8=e)jHbJmXgF(75 zXz@9rmz+TQe-I}Zyqq{EH2h{GL0xGv`cDG;cX{r%rRb}C6Bcg0mm_SAoCv2hHH^C+zy)0aY)g2Oz(h?IFv{bB_N$!&&6N zALEQKhm&wO~%|84Fafd3OL!AR~T>Ej%b~9u; z@pda@?b_)~6VDd$JRYCh4Aa7X?jxM%n#yr{PwC9<-RaM#nmO|XvUTd#xHG*y5DN63 zvLyGtdo4D%C9&8!Wb;>DYftM=*|eZHe56EMso7Q4gh8NPEcbfB)^?m(HJi=xFxoi| zdNijxr?@1g|5)#BZOhfx^Ay*1Y=pEoy3MA}o;atvkvL}IcE9;&#%sX@0R-2 zVO|2jroYK`Z2tD&u9M(z-!Jp?@Q`1IH4zo$Ene``{h%zrmwfmSg)cMiw{h>g+>b0@Bbk)Q1RA0Ax~V$0FL671KZTO~NuVon zv%9?J7I*oi9VO$HL+^UNY&tVL+-x!m<qN7B_$|VR2cMH{sQAu_3X#HW z9h1k;+t151pJ4IIl}k>fL=OA$OZM}59~MuEf}T~4*S*Fuv^zRav zXEDE_b=-^Z-ne|K2&WImdV(&*K9^TiQ7VxQJFUa%~KUz|WZ!B-Gfi8UT z;GFY}5qPyk*#(84pRn+eV~g^12=_f!Eqvz0#Ql!ARzF6pqmLEq^5eyt`9!e>pA`E7 zYKHl~=Og*r{pCKA4WS9H-_O^=dJ?Ve>w!XtCgp7XD6#+|nQz*RqPNg>S@aef7WX!DU#<=*-iP)F$a^mG_a5FRs0+Kbh20EW3pQS#{bjT>Ndx-f zQVhMZlrElrCW2Xw!dmR$|EDcm6%Z zeXDS7QP|J#$3!1T=&=~T-wd_cm)MY73gv=ckILb_07u_PYs=wv=jN7b>6g(DQaS#4 zi2rPg7&`izMz5=s#H9~{*v^t{_HuRmT;}_ed4;A}jyAh5SP|tm<~=^|gPxXpY@7Mo za^@mOGNih`Nn$rt@Vb#{n0f!k@}CUpPD42gpts(*8BSuYevbsDAgKnWRiZk6Z5rk$p8U=O~0 zAY3Bjj|0vkhQlPBIwWf!%Oo5^AdTvu2cVnFx(NbLCe0@!T;^~;tf+t9tx79*YqGU# z)voz?iilC8L7yk5|AuL^ZuOu%AdR&v>um6GrSxx{`4~#`nTLDBC3{h-4tT!a`|Qiu z{OK;c&)(|4eZ_zKs(7nnb%6RVb%5WKQZ2E4IBz*jJ7nkDr0bpH_O)J=OV));?ABW#?lD}m2;T#J zaZXa8ou6BS{LR3dX-GY2sneSXr0mPBN%Yv~;Ebx?*Sab9xA#&Ck5x#wxz=sCCJOEK z+#2M5Dzi}o!2MUCr3Wd}*q2zFn+w0|a~%vHHO@5zEmFKSo8@ct*gwftq3`$Bb-C>w zJ&7|Q?;iVB4ohsw9Y<0!|0dpZ^J4}V@m7!hBYXz>mR^$k*1ak9c4*x@1O|Iry>(~g zz72RkK>x?4_?FezdO_~$QvoZnD|aKQjP0?1$a7tGW$x;GdlI+jJ`XrQW%=gt-dWHh zDT}vQi^K!_nU1`ddCI>Ba|#s0>j9&vYr4&EvUQ&u*vPfs)UU$3olzoS1Zv^{hSBzA)Zlq6Z^Y4}#Roq5T2-bx>~h4;oafVTwq68^y= zDFbw?xm-iewv$@pTPlnkm7sdHW(5ayjb2Rx!2xK#{gOudWu0a+UYbVJOS8>T)XdjC z_@aqLIFasHu+60M9m{uZ&s^bQRMmJG*+nLCjD;j@z^_zggfT=}NUk!__gYA-`9FM+ z`@`%>{7>#D@cXme{ltky^)zYP&_sk@R(tFz=$Q|6)TG?axB_pF%Q4^Q_E^^b`Xwq4 z=%(Dbb`0ckcWw>*-jy2%zdwgI)04O}cLLr?l{<#uUN;r*#7o?fy9jhL^Q8SqN(cIl z&*AR3>{e3Ce6*@eucY6fL0)Eh_?#w?FUsx=q895F;?m0To{o1+9NDMzCr!K;1$S_P z4X&^|Qk0`XGt{^s9g&(?CLmFpNK%C0-k|ffi$P~Ov^}iSnwMt1sY)@e51!+fm+l^UXrZ_Nv4K^ek<9{=b-&*vpqs3{kwi>2HPi$ zr(PX(579xE&u+pUHM5ne%o0thoO_kTHTx*!WEE=(3;=>aeZNaXE-@U}K2Q8OfT;{; zJ$oXzd4e}WIPKZFc&`KhLYCbP(G4~U(=~5<@aH5&pCbhbP4e5heT?@}`Vj*(1>P@F zA0f{vl;#xd5%+QnS>yLhM3o4P|GXS=7XtDUS5MYFYKnKzeCkm7*unGn-+qYeJIC%z zT+S^dif@jv9YR7go^Xik4(C)ycQof3~`b<5+ zU2fAzb8sx_fXY}vO{L+IiA)bP?10_L&BH6gcO)eZ=JnIHoLx>Crl zpG=@BX$xds#pi$l_Oz}W4d)?c8U>gRVYT7Bupchsu)R4ln-kj2^xBhEl1EG6gBfHp zyf~u=Q6u}*s9D!V4bd2;1Dc{`n>LdUji?JWO=-CNBK8hcQV8ogZJigEFx+tY8ZRvK z@JcVN@bGC~Smo*SURdMtCqNx2R<6vs8%+X!lz!ui(}X*h8+x>#jwTFd0}1-Dk}$g7K(V|FnqWeuEy|3 z#c+_ND~3fmK%1CK-aU-cHI=-681JC260&vD2g1j;f|3;$k`+cR1(Jn3%N-*-x|%q8 z_RKK0I%9!p>Q202C*%$JvUcB=v%W1bsR&b29y!8*$#srUR zef-fYcH&wYu4X)An(A)Tw5m++u9q7=;JUTXz76|&sp#wX{h;UTce;w+WD%N@xt^6_ zoN$QsGHoQtdXc601YIh_(@VEa(zWM^L}45Nqkt;uIRdmFdX{K%`T)i~3;lZf?H44S zJ|k=Lt_O*_>#nLJ>a3Q@Q}ts zSM!kS-T!dCRDS=%EmG9+;gtq&2z{EhhLYVsqOQL-Wv zSg25i(NTQYO5Tx%ZVX9^pr9mFf`?x(iCInVaBF(u3w`+A?|8hj&`ln%EObke*R@Ff zPm8>=@Xvg1e(W;8xx_2MpO=;3uggmC(TWoMOGOF(qpSp9sVKpB%3=@mSh;w6hAvm$ zo?*+Cw`YuzD{s$8$(6TfOqVNf&uEk@Z_k(`SKgk{;X`ZzInjrBH)xz9SKgqpLaw|) z<7~O|295LN${RE;k}Ge}xJ<6RLE{^8kBn9MUACeM~eLkc{Ko0qkNdh7(9%Qn24~P$$;@w^1 zLuv(Ng5pW=Pe6jJxCAdj$*NI=1hdd2MMy9UO;&sf?!;UsE4~Dmg*o;V#g||fJEbhP zRwxN{IwBNW$m;HnDb~m)u`5)L$vi zQ2&O)DNFzVGR~3c8Hq20e2jnM%;Ru*s6)^)R2&^4Zn$*A)x}8bFr{byoMCWFabh0> zC;l;TCVUK>)W@V}sCA>tvz611fa9I_9SO%fYkMTVnvQ_uozXlJ@1OdZG|#KRtHkln zE02WZoxeR2U!OSwj(5&>BpmNt>5+Ipbp)KsbI(WOt9uxn%Cot{eXI1`?MQX%ox42} z?`wy_sXR;karnAW;2r7A@lg3xo|_)2PQA0!L(yD$e)>qfe`A<@D$h}W9KQbldY0Pr zgyb8$J|wQ`z6lDWos4EjN$!)ost!D}9NZ*!xwvIwkC%IbQf7 z-=ETFe;4-y;_d2%yB!SSDp?~95bynVx}D1OE+_pqj=R0JuN5DPHKezC5-W3*@cle| z?dzNm`JRwI`x=Ppv-|NkabwPg_iF{NBFLnh+NE&|=xV z@*%$?30FBCxtspT?VwanMjGZC1VhOPdI<35?cY%Sd3%y=O_6OBZ_!+p8>Qi{wCiv$ zG|l0Cla$vE1x&>0mVSi0o8)%9a|h~Y)D*UA`_C}DCl%??Kbk?>v5uB?OFwoU8L^Y8 zhEAPeIGM_H;+zT4An#)|;M@n^;yr`i=sksOlQgnT)+thxmT?!{b?j!J9C{&;I5iTR zFX4FI%8%U+MWOAA!YE3&F^ZmHv&K&s>8khWTHh`Gw1TdmmeKY0{~@}5IwD=@F9O?k z7tr+?wocG3{}gvZsmc1jx^L%}X(-_uvECxEkDNfUu<{Fbrq3Fk5H9GQ8v?zIVVmgYD*kd=)5x z0ZBTTO}3E%oOL3Sge6qXO6Yq-mQXRCmms^f9ZIO0wa7*~a!MXwp0bgzZQdPbdzN^8 z-|`XPi=LAB8nOiK_WImTs8eiJ5^LRaiT6IB>xJ7#VOw7dZM|E+&F#>2>KN^^Zup_m z?W%5ITR&Pwe-+ujh_@1;-#!ZU5U#mk{6fBF@i^O$#OL_&3-1pY^x!s)=dn;rzfszL zwZr@lZf6~~-aAC=b)1GINGODpk<47L^}aW#^=hp3o=it-y&6dR9qhI&XuUF)+sR3< z^_J{CJk0lyIHZ~CfVsomv<0>ZumojjvydU&-Z1vcLN#q_`mamay-C4?Z zjL1=Ww%V8YMlORpDP+C_#gJ2!*Ej{3lSf#+(vvu^X|%UaC1=_uvTu~$GCei#-!jdy z*s52)?6zrd|Co0MbUo0I_mw*<@GJ9i4rL;xMb)duMzEg1IEb!c} z5!wzWMdsU3AJ>T9?p>6eu9AMRS>In6(AC2OhIY8G?pwL7f%IM`&(9iSpZ#v{+v~F@ z;g^ehL;4ao8{jSB-z0gr+m-yeyFBqr_`3`KegS{?!{0sdcQ5?i2l027>=m9? z;CBwTP+T*HmRusmnvl(g0^ie?ufNm95}K=uo#v5@jqPxz8JG4$JFIQTnyD(@Ygh30 z?*6=N@9qf&Z;$RT%J%Lq@$v60!#~N#zpD(t%g4XF4F7Z=|DH1ZRX+UQGWgj({Jt{y zxjy{!p^`8EO^?RRHizV2?fnJgjsx}U>y5$UY^rJJ#jgXdlFoDa`mz;iA< z?}z6cc-{lg96axZXBM9Kxwt})c&H5s+o3p>;dj>G<9255b$2Bj>;!z_PWZw&mNTm# z(88$m8f=HfVHi{MxHCmuv5qBSeScZ-)J1>pdNwZp`-*@sr@ttJU*+T9SqA@}kAGJg ze20&JcNu(_kAF`Y{9Ye^ZyEe|KK#Bi_#b`v{ble0AO1@>Tyo$23jqI$*rOe#4-?## zZId`%Bcleww?7j8mWMWl`#uro_^_Y*u*m|}nf#@T+6rN#eArz+tlEeD!iSCZVfXv6 z(LU@RA2!B^-Rr~RKI}dL%R|e~fxd~;81cAxLGUAXgwqI(Q`hGLWnvBUiNzu5mpwlx z2ARpmrCszf*BgU*K9{N>PG$Rb{wa0?^8FVW??N2TB{_0_?qlwFns0p!BskoH+Byd< zWde=J999J|{ucG$MzwHB4~g(-5#vaGi7_n+NS%H@1i!UR_fBW@%=E{MQ{bJC8Bc8E z^l}-P!Eii3Uwr+t(dX|EZf~NlEkXF5^fFuL6ZzD=kh7&QYv0J*i2x5XJ@`13+u}AH z;Q^)fe{dbAFY!h$Nzw<2zZd28h$eIcru|%5+9e+=Ex(VMlK(1Ao9Jwt`!Uk$;#S#< zOVhUI+vcwNI5czX9U`6akr<_f_q46$d3c* z1711)z%R#_Svh+8^A3P>z5S;$y?vh#e^S6jn-}oY=%3vx%G)r8{|s<;rX%r$>(IWs zSWAM2ecxb|{0-u_oX(qBejhEH^88mAQ zw5XSR9mV&2J(j@%(Q1xrvB_zfKSCK`9K({ZL={2(Ymi@v?Y-Lvwi$XgLLYXK7Ty*e ziZ-Cma20aMYdbW*^a*#oobSXheV9YLC({{#o^~`?N-wmb4I82pltOMLv(=Jq^B_h~rr(CPBd6a~2=^1^vb|E2@f!f{r}^#Jx%lPCOvhwY zX<)<5Bnz>e*8^2*ejTR@?ZC`Bpi1FX;g0^0GC{3XIL09y5h*!EC;4?xx=!pfnqpu~ zPlB{u3MG+}UxCqkZJP`^+^;)YZ|lEu>&}>|33=~wt%6Y|4+^}(}NoNbyR!k=PcgPoyPSv^O9zefCNkFd7FwZc;1b1X}fqVF0# ziMMlL^Ge-vB-UHEtSt$e^xU=;Pu>KQ~aXojhIEes1yMfAR1CW__%HFHQW- zwM))k-6PyZ0@Yj`6Jk2!7H6Wk^BVc9fp1M_bpOZ5&mCZri&Ui~&VxkqZGUl*X1-@~tmM7- zBrakn9gq(;x~VhTY$;Nb_jJg6`v0T6<8r158}uDR=)DH`4$eWRWS*}~^1V;HNu2jd z+5`%nMzsWJv5oC#kf7F6_oem@?h9id<|zX#qM0l=Le7vpIsb<*=g+vORzK%<#s2Pg zjoR&YjeeH-O*7e???n=qhYg0pT9)dadjdF?dA@bGo0M@+q(wTQaeAncGuxQhm z{?~vXVEF%V^K+kZm(F|6?Q6AL>kKlpLG{Wx!i`e`pN z@vIBFgn2`gh3q~DaqPTF!fXM_^mM#`<_`bvnzhb$9s{uem5) zaXRPsk*QU1wq|JxCEgL8@wMjNUaevCIoAZ=5QMk)`5{T=73G!`S2k(yQLYRuVZ@SSi_KW#sp>=g;)+L zled49#I59b)EhhTR0!yj96KGd6=H%WQio>{urJTB+4w5vYa(apBCiR-FrQO-sQ6WZ zO`F5B2&O>)nau`{p9;)2>Pd`m!*!JR7*F#xL+-K1fF&PLJlF|}AuoOSefR#e?ptsw zJUbtL)5SfF%kha{d#ul%0Ckc+)cNp15p&RWjK0K2xy^oA-1%~|@j2p*?n`_C(EP*i zxTRd*r+HkXl_%i|7Oxa++ENeitHI-gO0K@U;X$D>-<7!f+f6PjUKZygi^D6=Q3)l+8yz$>ciX%f774WanK){eeA; zd)~wBov&fNZuHvq%sXv;$JTBpEn&Izfw&9GwFe+OKrbh^_l`D{5IDbrU<*(iHh6 zgT9hGJ&AQrA%7?vzfX%Rs|+j)zWa1j`+4w;D!fb>jQ3^C(#x>4SX&ZF|2`y5&}vzG z11$v9JzhxPC$TfWlt&w6M5K{qP>S#L~&T)=xi1N_;^4z%(clXwQMij5r510SxPEQhprquvFA>SZFV^nb*%Eiep6T(j#&`tDA)M}UtZ*Nd?f%EWJ> zK9-|S-}1JL`Uq^PEm(u84wS96_EYoWN!Qxd&?j4Rvpk=ywb7{n`dRpujxvU4_jB@C z^b)WIbZ6$Z!cyq0hAWt3^x1f=4WpbjpE zSem_S?HGLBTQj1puQ>=j+=gR>j2BAu-~XOc?6)?x9|zC4^*k+wZ5#r&dI;DU20Lv^u?O(_zYOdDLI&ER zD!j2Xt;j8mQfIb&jrV;ALQ?*2-gc3venU2v-+j>KX~IlDUIOL)Z82YS6XEAtBpCT! z{O`z(^qZjh#5%)g)tTgRc9toDzKIU>B--20#<|?Su_UDd|2pSihtlEWrL9;a@Vtf9 z%vOjA>PYtnQmYNfl=jrkZ$DeM)Q0tVhHqJW3$_dG-~@3tS8G^NO;|Xw6u+c3YeAB~ z2DNpfV+v~hx|7;l)S$#+;{e9xH-}?;c%p9Jwwc9(Zk|Fi>!(6~_iDxblRWI_KZc$9 zKw8cQ>51!js<5*iMqi2(!@l}-g0j5{eh=qbN&43f>&HS4D~)1~Q6Bblgf^`GQpf(_ znoXGYbdvsI!+Hm>-YVhK;$e|0r(Iq61+@{Zdq>ja-Y_J83# zhXndg27RZ1zPs#g7w0qbq+8|Mu1!U4mjPXdtp)p^xU3NG4O>h(taA%*HO2m_H15!_ zamBZhwbJQBYNcj*IvKh@MOy>sWW4b3{c8G;AsI_VBDHczo?z6q-@&XaQ@PL(9>W~(x#$@&R+^WkLrc@x!9XQUCB^a3e=Sfb#*yljKaQY zmENuK+RAHKTWzEZYIlMWW_|cLXsP3w4{J)cv2mk9u4TSSD0zVG0aIApCf}mWCSv=j zw3%#AZL_Qr)X5UFf|Em9Q;O(cVvq)XhjiA1&6wHm&Q6Xa`FgC&u~=VFhhGv;ul^n| z*V=g;Z-R|gZ{nmLq48eEr8GW(;nAK&unVn4n~%wHTNgXS-UwGtNdl``ps@8BNS z@k)LkjHJ*~RKn2WZZ-35MJex1{BV8-zW2ynj15etONY5g7=Q28n6Rj0y|Kt zm2d>Bu<@lr@Oxa^(D(5>Zu)mrj8Sz__YH*m*`uV+x1+zPiTMJ1ER0uhMA~OBZXsgN z7}xn*G(Nu_BZUGR8{6JI2A@&*n#g0k)R}nGy@X7VY#2*UkZOIuH~1~hpAYW`e4Ha4 zPtgLWY#dG*7nF_F(bk1gI>i}sTw|d=-FUZ&#QaHo5Ayg1o1-2d!dybkj(?rxpX9y3 z3(R{y^a2*tKqx|S%w@4MK2+#@@{n6I%d3F2FJ#w2E=JW7IrMFA~{^Veu; z+(8yedJsLHrC&#{W*ql#g${r=OHZ+udb9G>|n!0IoNs(lkmr3z@2 zxW}Z86&BzckSZK~g_yN!lKc}e`g)R&zEDbva5+hQuC=JKdpVa@g!Blb7`IQiz z5UOP!mvC28wRqMrUqKXFG$BiHw*TUnBeTB-^;a^7`kq!kHzA2S{t(~>tFumfzdM0e zmDCNdSJjsXNf)@%(!_giQ5s5dy?hOw&pV8#So63#;@FtGL((7dFOBiaiG84O+fR_H5GQJ)4w@kpbXL@koINyq>{&V>?j5y02z7=T@;3CDYdC_al{7^8KY&asjPmFBa$2PEcftS-`*O+;ULZ z(I7jZ(M!M0N7H%H?|ciMQI*S1zJv~xoiX7Pit#ive6>Wz6Kk2q5T`$jmB2+mglQt z%NK`YVKHYw$zwX#&-r9H2JI4PYQ}T<1gXm>!m%Fv=raB6t$U$<4v5zMSIFafq}>E- z=Vr)9&HpeE%PCOS%Iij4dw&$Rn3euoUFQ$0Vx2oevBs4ul<&e8i*()ukROI(nbszP zX%{F8Y53Mmf|!}sS_T`?NCDs)-V58Xay;8rosyyEA+B==q`##q)~{1Ne`_#?bHav8bsw;0PSF<>hQ7 zz7=AE8rJo=oUsHKz{F{f$g%?y(_qXJg+d zy}hy$xfp0pvHhoqK>Ak!pHXONHFZY?dJ^5}bDBEuWa@*^OZ2p!*(OEP`*D1*0#}sb z`33Y?C&Cf7a9Iuc#{IcA*FRtIQ-j+>De{WxM0yiXfSz1Urp3Y~zAk?TIJ13SQi|D? zm>yeRGb7eVzQt}4>#?t8&#pu|mLi;g!Yt8N<{fhy$j)ETexx`%ZUZb%&j@wOgYf+ZMq`tiUjaE6*YVDn8uP4_{29|(?lRi}c~PmA!g?-!?FQ{?q{jYk zJ7Knp1{PUQ;yT<9v| zC(zD<5`MWJ`nqEvr#ay$!0kB}u0@jH==#r;-_aL0=*=yd1I~+la17c2A;i#A zKbz~lBmFk_ooI-8voT_yGWJy|b0+iS*iDsD4Pz&OMbZr8sg(Yn4pbkblZpCYOuoJa zI9kovxU}n(zQk=U(?Gk>tNt(A-UB|4;_M%v-My+)*;`4sr?V~Xoh<9zPqJl8mQGzV z#RgekfyD_h!Ujw^bh0re6k9f!o>1}v2_&JL7EFg=zz|5N0TPNsCp6Oy#*|R>f1W9O zyYiX5@9+J;_UAOuKJ(p~*{RRWJoAin(Q4mcpge*S$T06__rBuqiEmxt7vK692yrn@ zsW|7c$nqP7IsM^Hs?F~J%P$Wk(~GH}*s~r4KeRd7;Ho4Md9XTd>;QQWr63JT2Q4V( zNg1+f9=odv_XTgmooJvvK;MddsT4-%+qG9+vM(k-2eF?&ubl+ttWL^WKObAe{YiB`AS=)&FwPwxS5UwdQeevuXyBOc! zhWA!cJBFHK_RIENGih12c`=X8tT z>foPm@!K5yORRYJa)kc}i(l{H-(c|@9Q@m@@Vi4omjc`2{due}pl2MYWd85TLNYgv z#!yPBp?#p(M|&)ft%bzMRxi}U#C!7$$GxFX<+1TiQwJbrK}qbp|2EItMJg53TSTLPBqZwiDp5q+{j#RGX_G>Ssp%fYTj7 zZ{u_)&>!MHGW1mKK!3#PR-ixTbQ{p0Q2YSoe@6Y3)Ac}q#_0y2Kj-*vptp0n5$G>? zTunfK$?@}m-oY`=K!3&QJ%QfIX=sh=*PKoQ{SBvEfc}<;Ge0DBx$s|MK;*|fNBQaj zw!V-p-wS4DXI{`2bFS7QfrU z-`C>r;o$dMd}lj9G?1-#d)eyUkygI!`hfm3 zrxyeLD5p)JALF&_K%oD^>AiveE2kF#{W!<>1AQ;2_W}Ao9@oA=|B2%l0)0QnECPBn zrw4$3fYT|UALMio&<}CC7w9cKoCE0moXs6x4hX%)cd6c@Wp6(q`r;*yzV9Q8zn_Eu zrN!Uh!T)za^p$;%Iwt1}{$d9|&*Ga7zLqcg;sYJwM=bu{&N0&BFL3auSmF0O!mqXX z`#AXX^2K-U>jEWtUf)eUe`iej3jT-rY)ur)C`s&RpqT&X+#kQAK8OETmj6Ib|L^kI z91BaM0i+97R=eVUvT!EH?Vl5;6bM`&$1QQ-M7{MDuyv2|$hX11ZMkhG~r!@M}+L>qQV72AMx-|Rv+>He7ioP&{;AHn9guo{R!r@xaQ$+ zROo61q!DUQ0~sC7kQWr(AIy-yqbtvf?i`JghanyJz;paFW(z_lO%PTY)xkUx;ti7V z(yQJH5_|GPDqe*aS=xvivPXu>DL+WWK82U-t?1TzN63;P=JW41jTNDoR0#9;yP9eU zn*$Zv+E-5jlLt+81)U)oBx^&pzkv1oX*JSlKL@omo2QMqgLZhxBp1MJ>Q4=X*z^8~ z9JosWclbQwNW+jL4W~64wmshy!B5;vb~s%Zj*t(0nuN1JHtS2P&5--(%TjSaq#{+j zB9y8cTP`h9uy)CVEI5?I$5>_y%#femmQ z&c82UeW&K8h!MbCv&s{rn0!DW<~APQE}>oHy=!dTf7x9+FV3b@eA9~}ZiUC4<6GVm z7?+j4UB2P-oZrAOsB4F9OezG7#L6;28Y~Suvr6nqHx#*u`Op!ehC&Z9Z-de({}sp+ zMpZs-8PkEsYS{Ax=iLRk51rWB^sJOt3mOY4CdA$g{swTP^U4un+}Sk2!fP_l(w~hM z5{>)BciBh6K6L*?{db-Vu6}y95JtreM=L~3@_pWiy?^(<=l$B} zRmp1qFB@_G{UJqU)ba3EzC6^ssWIZmo}!SiTc*|98uLi}H!Pg<8?Pksi*YRn(9)nx zbX>i-V7irZ{PGLp>(Xiw4`H?~x1`2wZvA)Cw#}Kg)=L^AMmBA@f_D?7Z8BLfnpS(8?A&x15iCi6x`T|1$0OntP~S8xtf2Uy!OiJX9_h0xDi9P$a36_}2qzvB4P7^;T5)WQ{BxlglMi={jiM|b7iA&SvRDUYQMJl5+tKc~7UpXAvmJfc z$AwJi2J^~88hk!tE@dqa#vWgT-$S2G|F1$ZxyUz2y!ue6ftkwK@G1^z-ujF%}lF^HU8T z__7-KvJiZk#N=WL>e_Sj4#A#COB?UZV<)km#8nhejJ$&DGe!{VV!CHmW5@Eesx`9H zj-uWjS!AnM>RFC8l-_)`f*chZ#GkZCPpcc7a0OV?@J3I@?agvy$Ytk8;rE4~p7(Rp^<;YQ zr*xHOz%OPyTXInmYv+SR(N~b8LqazS{VxN*B<6oYQ`qSq7wK!|#mHK>I5A9T)0vJrjOs0eu3b{OC}sbpv46g;0O|fYy_NJ_+z6@H-KHzkuH< z@H-yxXG5O6O5Aj{b!EtYX6ODQA*-)+$m)+4iFwUhhb;Y!h2P-7zhv=GbnxG__#+Pf zHj96}ga3uaKgGfSx5Z!W;47+-`Byp8nQ!rrbMQ+o{@D(GxhlT*GzY)h;;(V=6Bhqe z2fslT>0IwfXS>Be-NE16;-BH*n^yQ|I>JBD;-5wN9=iWe$YH>zcEO6xp3|ZCJ(=|O zoEhp}bXLgh-4MzouAisMQ2O9!_M8F!$L_}e4Dde@{3FEd`9%nI5i?{XTc?L-vu9<< zT=a|3;@*=(z2-@wjCmbBWtW0?%$|`D>Hs6AchR~~#<+>@HKl;x*K-2&(nT-=Jnc0X zjf679ncjHdv9HRbp9oDKXNIDa+pkLRiTj`NO(dOfgs zRVe^k2Gp`awj z$jel*R(xP%)Ut)Z&b3`B{8|rcjCN$tAkula_1?kOd&2KN%Wvr}eh*uIhgg1I?)Rk1 z_RBQa;+~U3^fU;3Koia!drpEGuOCWtSpxT(*a(XyTTi)%+PJCxpyj$<{NBTtRVG99 zOVA(5&>t!59c#27s%+lYWUbLY)0thzKatN=mL=>Xdw=CgA-2EC!uVR{=R7U^p$>ei z@)r)g6lD9M**G8kk8!R|9AKObp;+tIK~c`D9qXRD#XrUIokozQvDa9~!%ucO(>M}h z`xWeL^|T->r+x|gbNMt!So4Bo^Q^5aoBolU;rCarqv4CPo*!g-wMiJCi{)ix_9S6{ z|M1Dej=tFoVaX7d3}GpivshTQ&{igPGM(0{P8mk7)8&yvOI?q*Khg1c?S@!??>buk zES>{+UTZbI#+jj6YChz^Ss~PAGK~!|IvyQD8$c1_-QSrT(7VYZjOG82VVq$LV<^bZ zotehzbS=a*&fxhp_N@($x^nV=^S%DcGwFLmZ~07k4{dv*o~Wjot^DoQ+;7)axnbl! zD-?9itplp#tWf;>{x10Yt>`~~6U_D>XG8xX(sw2B&$IMVGHQDxTS?hYnD)qTpttM5 zRTa{2{1?y*IejtE`*8Z#K<~@xi-7K-VWf=9fL_Gu%Yp9Y^c6ra=J?+OZF2e#KzDM? z?||;&^aVh7bNUjX=W`n8wR>>-Le%x+^e=(li-tL1oCoyYoIXDkBX4-k=!Kyn z1eq-pvjgUd>JbvAw731gLQPP^dgTRqy=@nVnxIsArM>fF%IDsp#FLGcQcw|h?tT_z z^Nf^qWhfyML0s1~((@I@W^VsuJUu(f^g%*I z3*s9Y^&}XP>Lr!1r(ZPE{djnP*tosBmf%c3{t5Ftd5mBDOHr4KwdtgT>Shb=rn~$@ z>W^KxEBRIzt4~)$j{gI=S9Zg<7&pVyHvf?E4ApjDyi-c`N^cG!riNlZ_p_5) zpF^pB*v)+t2ZOJ@EY7vc;(Dh%Wbv{DE7rG2CIU7{?m)WmuOe6#vDnx93svbx^# z-{|lcYty#~f2gTi5JP8cxNbh`-uZL+4_~Ib#Qj$ic}NrE0)!>8u*~RnRPXjWh`qei zu4&8e31&Lhs+Ha+HD>oCTetkSx^-8#@HwCR+~n}VH10>Kn>kfzE3=n0v2J|>%)8%) z{^)p^p<``uu3NvYv9*6}TM~^!)EG>!pQiI;jp;mz`@-*p9_$v7spPYg4F@TaF?`EoS{{O1cYVn7c#$$~{)UC*~Vv#k^nbxhrInH(*u(Zt!0) zn*cZVvZY(pyZCOHDclnpHvieA)@I{~S#jJ8srnP7>OLzDFW0@A3K+EEV=lcH;&>fO zr?8Q=#WK!&IbrXF8fo+ zTn?#7Y-#Lp54XNd(<{~>>WhW0{QXust^TQ)>y{<%XR*}W&tj>)-w}(@0uy2GVTHLF z!hF6%*t1dY>irPAV-L&W5Wv;b8^bRv*Geioan06T{Xxh) zY*T2V$3@p}JBYawII~b!PQg)0Hdnq2_2r$WTB^nQqL=!wdM`BSCi+m{?eo-*>>G4% zM=@8uA2N@7FO+G$xiMiDT6fZ)S}fKQ8#*wZA3}}U7RvVZ=N60k>b8)*&0kO~`il>_ zetWhbyu|KjGb!cnUGyiwAMMU--CCVC5jE>#^poV%%&UFUzS{Xjkv>d!Iz=SJ$WuHpF_L>Ipje<+0!5e zKt6l4(GT^Z5#Cl^Az32#PmI5twW(hR;ia(r=4*4bD%1##kWLyYq| z<3MSB$2lkEQx25YH=J`K<3Qej%{gcLDaX5le8oBE__bcjgSxRZq%Ex^r$Cv0%ggdR zUY6hRvizEs<)HLch~62rXi(l6VmI{c2o>7w+jN)YF5iVEqI^HImG5Vc^6e`T<+}sQ z*T>8E6i4|UP+~9Ne(6W(6MhI4(l$oz=#(&7hV4ne(0V6nfHu;v0j?Nv{l!3OKfqin zTlOcFh<@Y;$9mXl7XQak5x1R)&+AK=%_Wd?yuCF)hDL&qw`~aa*8UJ0i9O!FA%=23 z>NpGhxh0mp4vN2{4Y7B$3!IQeE-vBrvdAny-m)}g98Ya={us)h2KYrvoCfHP{$TON z$$%j3w=vGkO1RxW-WP0#65j?j=kK(pEW>k{XAngiIy9-_Lk@akvAJ|QrAGOl_g)PlrIMV#I zm1bE_t9d-lr}4T-3ArPZ_J_Pqh*9-8IGvfRNew>HZ? zB+G5jau3dOd$ZhSS?*w#dtjD3oaG*5aq(^m#}37I_`L(am*DpV{5HeyR`^}TUdMi1*TN@Vr5y^tZKegbuX(czy8l`rxtEhd0O62XV&W!xFZ~ zgL#uyFN(`_Z;Is)-sU}(N}ISp7lgk)J^mwB048gBa{NR+`_8IoJ8boAhohcJrJ|mB zAnpLKXKMmtE`}j_O4*ztRav03S-P3f0sV0|?gdXk`A|wl1G)*n2IyBbc*+O=&*=OB zxn@w+<6jp@j8`oY`b7o&EGg5?F|7GwRVkbMr40k6JZgg%b#qKfh46nIot5y4cu9Px zSBZZj=36pZT*~s&j27soDpHAQ7&2l_+W$DEUc&A(jaccdu=?+zQn8O4(Cz!UqFhfa z6=x$cHatoB2+UiTb>m4&+3XCua~_9xoKl*6Y2o4FDj7vcgQ8yTrg_M@Q;-;c~HnQs-Bfq-{kc|<0D%zr{z}gA$rf?=#|d;47!-sfp9{ zRMm7nHE9NXo80K9D>GB|RP{_f6^{e&$9ar58E7w+cm|9~y6wbyT^tf}WwmaXH~TGq+`&KC;!k$)ms|WP4*roA zf2xCjti_+^;IFdy(;fU1E&dD#|5S@V)4^XK5__GK^dee!*&hGd!0)7WW}57V9{L!d z%AwOp^~}{rhWdNz^!_FFP#^XugVJ7PP~M9SwcaZ&ji!2L>xdp%J2H}1ZXAU3_g>XN?`qa~)oAAT6n;p2;iO-8>Lp%FcQVF|D0@HPM zi0iks&eeO{>h#|BI^FDO(9?_mD!HTC`N2(q!#+-Xu87|Gj_+>b?ci9WUEV;<41_RT zuaCrfSHfRN;RG4)Oz%CeUcb#8=}fC7`0Vao4bRI*`qF(>a`YG$iJNkVfN6$-b8Nw8L*F_aoFg$P3`NJcm9)8^|2+ z%b|~e+_CxyjN6mt)@Hf;WV!8G?!qj$H_P2O%N@*e7iYP{PVEQyy$ipW;rAr`9)RB_ zAy<@fxuTTI6+tdn6mYr1&*cg?mn$GQKxWtu(!(e^>ti)8|?59ez8>hvDiLk8u=I-9jE(3!1NtT%6m zn2l`<3xa)7~@<{EjyI)J=E?>Ek<<}m4zNz(TYve)EByB zC1W>hZ1IYY%*-x&Y5jQ@dv#t}n&H-%n?9MmASjuJGIhH!)@o$NJKPbT;_Nj+}|7W9&*ND6i`qZVsd)Ll;9SeYslLgG~ z1+`-(_HS<1ooB~IUfr&y~Kc7L#%avB2 zMpwb-Jd)?ZXK>w`Hs~FsUlAaAzD}>#H`R-$$~C=iSRtC0Y5lZm_9J<6kzAi2B(F*? z`BkFG7kMRl&fy+%5j2~*`+q$8iY&|VuP^etJQw*CH>P?6$&=%6jD2VB;V+J|cb?zn z9WQ(5QT#YI0_XF4b&L3V&VgYjPvAEM@YX2!h5-GxXBzR=L3{?+GtxhD(hWX;-pHOK zN8TX&^9KDsebyBoGTrY3F*T12`n~Wxfy|)KWkkx1?D@o58-7))tZ6~5>bgZPGP~7B z>I?Ho?IItkZS|0mvXKLBQ2cpC%1HkclQ&!-EscLDY-T(dW;WC@9WdIIgiwP+~gIvTaJIV)$NwzUlh5s>sBRYOlM+P-9-1X zny9AqGmU61V_3Zfc?30kFl?8t2EyD|jju3ggF7H*w@>g?dkhk+XFb|s)Xj=+-&PytPH6xHo>}-lF zXkkPlMJ`-V_goBZa%b(L0)n@acuO{ES2OHBs!N6zy#j4+35%WttsD|+ ziA;6?h*4!srE|(HB~;y>T|sn zVe2wf&N5EuG(c)SY*JQgeTJSS%e9t{J)Ye!D~kyk@uLXa3ymo(?Fvmh$ayYIyDOV^ zkXU!klSP!z@}wB@WLRzNRvho-i+5zK5yQq&^Cp2rkv%UK8MkY{OLYjx37Z3G$Az8x z@beX^>2RtRBbrI6Y{qCZ@dS%aA+qyCCLOZnRs|;f}ZpXChVO!Z;Aa zQ|Ur(u`A;GehN|v7nc&121TW|xfvZG5#@x+%4JLouY;~@Vki;Ubb7;y0`C>zjX^sx zy$iey`BPH|iGNbhZ7rh>q7K_S@0H_Ne;y&XF3A|dWcGeDHZE@je|DdAK~mwCc&HT~ zSJn!T-?GBffL3@Uw3i^>e+1s2Ny|ARz2C*lnp(q-Qpq<+%b1;_4A8vi`6kgjTU^ZE zK9iXn@Lo-p8$h#Kpz!pHaqZ1YcOud`@wBlO;?861&V2MN zq~~{_WsGNb(y^T=q=DM-tAd%_r2ZkJs1xUEO=y1%W_R}6fTr|YxBoy7u*h)>5S!sO zWB4I!;qeucdVXKA8N_R zxpQJAr3)yX(e3ta7r-~rJ0B&Zx58I1_Y!YU1*!0v?W=TCS*2%;ds}L$u3r~1+m8p{ z@jB)_<291r_7n78=MdA)SJhuw`W%SHcG46D^}sU}st_1{}WkODl|wy0J9?(xZ9KnzGc#=jgrXoLbiZ@tL}L&S~&`wjT4a@I4}Y zH-z8o4F7Ih_#PVmdHRq#FA1`1pgzzou!OG*1(JbDBo_G87t3e;4oDyccT&5DuaW$G zbfI6!j}$P=)RYH(5c1Fl;!~tLP!JeauY!E34)Cy{cWO$WN-fq>SIH#2&20*%)Z?tre&X+_#d(Z^2r*Xa>k#23YuiXW>T(N8dv)_ezlLwN6 z_RXwSUXU@iqCT)E=!tmutIDX$yD)_@56DZ#)m_~LZA0!D#gylP%m8zz`RslNvIpi; z%=;Ed1mCuM;p>;dcmib)veIgH=fS%La?JZFjO2r8W7~)Mv4K>3*;)aPw`UjE(Xp4+ z>N|M)hSkn)Ka?F>tw&3-!^ZRTmk_kHJ8V1wlqPe8tFCg|t7Zq3JuTc(zTabaVpW1BE=s zmZs2gr-|lsJqZIJTh*;&`1!#9rJhL)x4IO3&hBUW`TQ$TKAjwb;U0RP9&!EIn>HfN z9n|t8K5r4vQcT$kYWJBCzPSuiVEi7rin;7uU2~@smo;~|@d;YHacMKNgMVQ&l}nT! zc<-@hyz%30TvfiI)>+B*TH5#r_dN@I z|H;I6hg4E+L>NtBkyA;cU$cg!>P zSyAkhWUK{LQ_|+IIS_S51$#CoG-r_!SyC9q{3@HrhC*$;z7~^D_n9l9FIffs$Z==u zL#@}f)|zSchSsrobNIafn5y%}r0Tq%N!58jlPc_yymXwdv|@)GSKZCKrV9D_&Fn6} z=A@v@Qe2+ zL6`&S0qiXnQ~&QqGwPA8K5B1w$7oER1m#kn9Km~FkGojs?|L%oK}ip_y4&Bf9B)yR zULQ>xElG{U+?6l~nU*|G@|y9#qecF2!_4O>NGG={onP!G-Yawf1+Q zAFNS1d%fnj z?LSpj@VySGXZU5T|2(`UYgbDmGb`9U0&U;_TE{lh53cim0uL=SKR+QPlerb_oIbvD zDSziu-82fy@Z46fdI{%ULc=kQeBl2uY7amDmEHb5+Se`?b45~4wJk7x^DBf+V^&(j zs3(H5g{uPk&5Sxb2{UR%gSkn2i$Y7wM_6g4)hR7(#TCn`l*GSRxlR?fp$WEnxT-?j z5ph?uL`S#>TF4k14yROz{bj5veJ%F0^y?jd`#b#3armVieiu6Y23nXs0#^So1HU?I zD*;OlEl``Q0c9N6G6}vNZ~OHw4k`ukH~wQxn&i`_=A1%n_?;~teDkdWg0u_iSC~C+l);lYrc_&4J8fZIvYW63_In%l(*F>zWZ2_9YL|Gu zMmDU={zJS4HtcVH221ZDFzk7^v}LR=eVM_|qG;QN{?c#te)V$rU7-uxQP_XS3}K^l ziVsg#ADLt}I(@uto>jH?D|dEg`<0XNj#*n@!cMcU9ZV;l>aJD-M3+ZL zM^CGPjwC7jNC|!F@BOVFbg!4=KV;);{h9c_{$Iy;`7ZG-`I-1G?)u-xcZC(7r88$_ z&y@a74_fp3<8A!k+xVy2_Do zcC~KzJ)Ck&Buw$3Ts1D87);`cye$4Iy^!ldLO;X97v~lG62H?2j2ra6#P7kqQSVJa zJu|M=we9`JE&4$88u)DlF4R2ZI&iN5_j*8I3Fw=_{R6l+=~;V?*BC-RSV8530Nv>& zg907l+CMTQ=+F7f%OT%wVPa+l(RkxG^{ zl1aSUqAGbBdoCfetkK)rpd_Hy4PdP+w1-ifz;TVen>Olk4x<#8PJ=uwCAEs0!>^J0 z%>uuznkE&icxrcQTm@h|B^<$l=Mv0B*3`!7ZCiN`bq{7GD7=QLrW1Ld=^?WI(Oy+HIVH z$>fWlBFd$EIzk^mnY<6&nC%lX1|$3wf#7VmXA1DBAXBsg0o=_gLh>BKr{UwmgyihsuT zo#|dtEUOEJYnV&;`r;jWs`wt=X6HR7)_m{L?ecCoChp!oH#ydBnqm3Q2;xPeX7B<72s&kQV+Gj z&uc**uLS|91^HT`R)lqcg_QE+SN`-9p?0~a^LgY}iQVmpt?nhLlZDj21pMN*4cT=XuUo3$6 zEY2OPX*%B2YHjUPu4Fo=C}-ZTn@~DTcM-pRb}Qj$`DH2}`YYMG>jb4QaTnkUxFyyJHQjzEaHT zu#9hO9=mRktaRD~{u7k7jy6Hmdv*Jnh|WsUZ{AD$%>q8xSy;*Rup0t-B<9uq5#KqD zIFrG({;bZ3dHub5Mtz&^1fT_mdwltx3eN+6)O;H@YP$!CcMH3T$|T(|5sr90ChlS! z2eMOxcN`5l=415`>bif~-dOK0rT0Ov>0E*?)IWN=7>}EVpf2e2qQ0Tg2O;HqasLAM zHyWf}Lp=09hRAed=-$RH!8|e7y{=Nsb!+Kd_fkIB6*@aNSBi6_H84B6kj{>N&F4V( z>4la({o5*;%?e>p|DvQ!S9%_9VS9Fevdw4yR4L{&mssna$bSs@s9$dw=lQcY-5uo> z``lTHCL&?}GCi6K`8`9~!?tD9C2!<`c{tR6@$%J5wm zaQ|$rxfJm9z6S672J6noKj~<97U0DoG!3z;zp%oUo_tJL>e;2icJh)1)mf$Wfy}ul_gk-u)70a`ygzr%C(BmJ( zd?b(S;P{7(^7(kPxH$K<&qU|Bug!W&zF*JkU=K`W>zzhomJe^sGNYSyZ=!l+Sjm?DsBN`~MR~o4?<=|8Ma(>p|Oo`|w0&D+~AAAq8#s zLmyg3-R!>mI=%sx+eetp|!{o&@EutJ{XcKqE zL^y`Tv{*zr+|XthyZ@~^F)GL8$F$mraUR|L4_fD7jc?-h>Q0yq_L zhXAfDM|jV1+!KHc0&W@LB00X}pB(oH;Bal@P{57L5%1qQ?gzlZd`|(_RSvjI^R&ZC zyttAekomlX{|(3zK!WS4$cfD3$e#dN3P^BWMowfQM}7~;5Fo*I#d0D89Qhp}bwGma zs?3S>bL5YJ3#Cm_cG5?t5h zoJcoEegnwyfCSeyH7C-`k#ek9o&ZR2T{Cl(rN(iaAjEROf$OTxf!o5%{64@{01jN& ztQ@!}IPTAYGXMv!YjzIYKRC_}>5BpmTvuHVTq#fA9S~j&aNxS?bKw5W!`lqFO2C2Z zYRG|mn&bWgxQT!R*EKH(?j?>3K>Dfx2d=A;;Z_%WOD)_uo<0R|lK=;N zdtm&rAxn79cmX*Rkl?zm$cfZB@_vXr0Z4FNzsreyipTySAZq{#uIu+Xk$>aJ+W}b% zNN`pMgch-!unlk;aohA-UZxTz`YwSaYYJ^0kR#Cp8+yIC-Ntbd>@b;&WofGo_3 z{Dvbx0%R8;KLTV?PUOEi@>M`~1M*cssyUG#bL4A)oDay?02$1Q{DdQ40OTHkd;ySJ zPUO2B`63|q1muf=EY691k0ZANaxXw`1!PH1e_v<|N=K#3~kk0{fVou~+9Qh_7dja_-AggjBKj+AQ0dg@Q{{_fNIgwv- zX{sfLsE|zX5V8M~>~i-{9Ei0oxDQ=K(uyH`up1_AS630NA$xJAF6U?Hv0KU{ip7 z2e31CgWbWgF9UV}urC94=5DYbaO^99JrJ<305-83>_;5?Az%*z?1zA@*$wtPj{O9% z2LtvKz}D^t`-5IgmXb;`640bUxhzbr8UzRB2&1BdvdXBML3uo*+6Ltbj9N4(7lnl# zgfOErgL05k#gdN<$`9&{_5=MFPUivr5T^q`|CQ7EKtIdr0-zt~bRp2sbGiuVS2(Q# z{T!!*K>w4|8qj~|bTQERJUt~q=W)6e=t541fDUk42ini+Fwg~@E(6-b=?Kt1PLBiH z&FS$#dpSJ;XpPh5KyTscsQ~&3P8&e~gVRx#ze=w~=R4d@p*Jss$mIXwgD5+3GEpmk0sfPRW& zYJmP5r)z%c zFF4%<^uIWr1o|CLHv|1Dr(1x2jnl0_zscz~pnv3aJJ3IIx&!F1Io%2LH=OPQ`rn-H z2Kr-8&jiZ*jU8=+8O580arKZ36v1r~82Zkkk7C{Vk{W2l{(XF9G@uPWJ=-Hm45&dON36 zK=0u60MH+B`aqyR;`Bj4f5+*Af&PJ8OnHFrVfeUhtlO)&Z7ymnE~S)*vuo#1RmLE?UNC1JC3adzgflXZLqxpjSQ$2;X$%CoKma8DQ#jnRa_k|q`IW+ zT>cKg|B>pb9`7^PPYj!<$HPOd?$-7t>4edGRRH(?{8ZCFdt&rQPxe&kY}^O5ofu_n z-OR5J{PNtm`^o%PkTIu8A!lyJ&|T?7w6z_cN?T?4TY-C=Ea~pEhL%)_iXVlGz zlOvu#HfGfO=sU9p+lg0=dDy8B4~cn?_D6hwY>fD4$wU1$T^pb-{-Jp_ydCjg5y1U@ zMn6~{@og%g&ps#*&mSPSZfZUXa;4twCG;8mmboLI2g#7JfjaiIRa(jiEoT~ zSgw0$nTBZitn61){qvJMC(*CjKyBy5Z_MZC3pPL=yhCl1WXM&x8zj~H-DIfszT~BU zGS@*K&w~7(wOTjV$HOeo;koa4-8=*6!)^)p9(IDB-hcA^j^+7EY8_xk;^7Ke$z$*S zF^pxFPJEE8gc6R=mq|9vVLe-(c-k*EANO5`6QTJXZq%f!CNTwSldYcrJ|OC=Jtf(? z9+Sq@XBXCl4pOaTV;#yJs~W}K9Xy?r#NBktRWhoNo|j3jGs5C~((0#p>K4iYcb2Yc ziBg+5KIlQ#<9;n*s{mUS9(1h>*LL^_qesHCI;x2VSRE>+HoH)rZ{_tjwPve(Qy1Lab7|qPfg;s@}m>O zXdk~a+yLdR5!5QyND7`cwOoq-Tjli;(!&EQTVkk8fDE8!8|)H|_JbK|CvPKRi(puD9;5t&0n- z0W$%4MK(c*xvWhw#X@g9z6tettQ*_pYt@j!AJq6uL^f=f-47EtY|cp7zF*>IdR!6{zk1NVdUKnmwtTuqMfASBp>})xJ5k4KtND2ls~(g~ z;)Y+vI_Kfd-mhlGSrxYLQMOq8Y6ri|;>R8Qy{q|IAazohodB5>w%^^`Tg~p>#rM)` zbr+#$*-Q9yoImID=gIte*SnmTR0}QzgElD@zNQRsb@SS8S(M_x0w2?78x&nW6HNVqYjfU&#O%zeU>#a=BUsLUSzbmVS z9aaoG82ohht-(O+t+%Z8J!#+N?g*KfD((5Q{XuY&wcQmz5i%!wa~kq6t>^# zv7uVr!!g;`UU!(Hz4H7Z2SD8s`a$^rm(|SH64qsfemC}I*lwWqBr3y}#*q9+FNS3> zjUlK_so7Y!;vX@)xu|1PX4Tp3z0p_jJZrG-=<3Vb4XCUN+wUFOSj}wm^%)i6?48-a zTWs|?2If1S31xjof^tv>OSlU8xj4+Fd#lAg5L3d!c1S+eH<8JM;CC&Kty8FWjd69? zRYY@}_e=>-@S1l|31`&D>FF@@UPk+OGUlu(~I; zYEnV!0Cxw-uE>WRq+vY)VFi5Y#9hfXe&lxnelNhIE{sgi>dGjqT(@=fe;#+7$MIwm z<(;|9jWKDto2O;lsE7??-s*Ob#^1>L{&tkw%(|r9i<%cQwe3>U?V^6gRP(|`ZMtBH zx1lyDNLzPVrn>RkB8OeiSg-NKa1Vz zfaA`TIJ12gasLKnxpPq-1^TywmLl%U1?{SrbQt5m?vS9JugT@LE8Mf7p6T*i7rD@43Dgzz#nXBComou$Gy2wkHqLuE@?tyQAJTOW4C8JUYI|*&5spdk`87G@f;q0IYFy0w7Wh5X4U!?bVnW7vtR(@Zx!U)a zZi%EGPK0A*j&I0#B)J9Nof+zSMJgzto5kd zTo)~+=g(mlr&K7cekoMKySoMIDO$h$yg(^;RV%`#7TV^XWYw`MsCP2ea(oKnJs;!s zX|lO~21sBS-;8cIomoxoHnZ)0~yh4yiA|H%^dgO^C9ZpptSq$nUgv@pPd6sGG-EKAFk36I@V^w9ZVya+0t|lBj$i zq&<>kl^xA*n3rs4+HIedyNYC1XJmfYHOjOi{MP@+@az9W_#S?j_uyn^ivZtqbK9M0 z@n<7{`kvM(Hm`I%p0LsB>WCdoRh(Jj@3AeNN8}_Zdm>uM21Ig}QdK z-KPA2G$)+Z1>H1R=z_kKRBdiWTubU*FGoQAm>qg`w?aQe3XSyFFx8^8ND>1k!Ww75g^^N zo0zfk@IqN)HV}5EjW?1dRG&P1C#y6?+{rpSY`;e}Zwgxv>oexqX7&SboyhAC}(i>Dh;j|yFS#9EZ`yb($t)?U%%C(6`q~!(Q`v^0(YM^zTNb(@ zoXy7`Da)@9XLYLgoWka8LZ^BwU2zyto1wk^lef1X1pIyI-Jlrjon5RqtE5(H@R>>v#v?6wKZn`gV#7?#g^^;) zJRjy&2N5z!W$eCrJ};`haIsYk_`m()=o7YK=fu0VP&H`m|)2+8i6aC2Yoy*Udw5g>0ps zZvA~r54TN8!tB1(13cn|J1G+kEP`#hs=fqtH~J&~_Z zPT{unB%`;{hqm^LB(%QP=<9254)-a|;aRocjv`$zkEgkBDo_H(eO=5N+DD_9+osZD zd9Kpe>BJW zf(W_Ii+At{TQ8MUowhT5d^DUqm92SY*KjecWn=dxz+IJHvsEIl)AQ3tE43WUPb#=j z`ySV}?5n|z9(xEAZL7XPSAi6Bu{nf`RMSh*=h8XE_rV6+I?=#XrUTFVoMK38zuF$w zdivE4=&`QH8+W_#bWNw@smt-yYU{&ROl30P|1P|g))vm*QG6nVIiL1JUEyK%TUtMR zJKDpuYw6ladna&rQf`C%-6(th8haukX+rz>bTlhzPJ>?PM_fsSP&&eOwJ3##z>kJ+ zeAR_JI^WTCM3kcB9Pz$5iuS~X-PX&evb&K$%3a(=<9159WyBtLT0I5(eg$0*Ex9Hr zXT)t|Qt!J()_v(Rc?iNj4rOS!xwun=Elz7#Varz7r_r$SoWvaJ{|U&zCneE-KFHDT zYQ>g9TPRikjZjXeJgsD4_U*cO!gFKPo{u`a6{Oj%=Hk{Ip@(dt&w$X+&k_1rG>zqM zG54&1zu0H(!(~$!&yUfmY~K^5Syn1IN9v8XhwIcZ!E&vo&rq%^uGz8@P0$j>6kv%m z`PVc$xnKM{CJSS{qteR^uCp z3ng}3;gdk(`?Y(>SS`*3Li|JO50FMoTh@k8iM7TTwB`Vn)7TmUhTEDW+$mmXxaD%8 z6&{9@$IlSYfN(JF6a40{+CUPWK-iiJJH4N4W##u1G#{?5tjVseT+kNAx6A!>rs)@X z5v6fWwCuXnPs`eMX%GLr4Va`2+p!z0SWj&i-=Jt}ovVBotE)G6+O4j(<*>TS&SUn^ zZVzMrEAUjv*T%~DUJWbP309no{(pM*ePHkq=W4B|?fB7`$ z*+?-Wrquc2LT+0Zu}4i~cX60C^TT-Z9c6%|ES5r1Mwy zO{n9_5O@Zk`Bz!~XhVsvT|o`RwW}h2W*x_!sn$9eA?qLwm1EL?vvhWX^^99q`evCMGwnsQ6?-foddxqIPx0uJ9rm^{L zc8z?`Y1uP}Ek3lF>!Ne?hgxuDV5rsAoQMYLJQ-todK$AOHLO<5_fhNB5RM1Z?Zt53 z=~zvwJ-D0d!!=V^8A18QMR!;Y^2A?FD_w zobIfQxhL@UwDI0Tx$^a_JXbfJ-A_xc)z(0WW31JhwGg7sIxOSu8FpHXwVm0uzGcs_ z-7fQ<)A?Q92EIG5o9$Jp^jVYmnkJ;=JbzkU(Z%F5`ySRlR=9gP!d+~IyVsa-_xjmz z#rsR9v%MB!mvEyWHR^DWLnSF=Z^ydw!B!gf4hQ)j42E&UbhZ{?0v`7b5|l#wE-rfe zcLLJD<_>JnW;Nh@sH~xV!7NW>{hiot*^71y-go_ihv$l2bQK8q>pMYC%pIL8fWXzf0&2HoEGqsfa_N%`p57PhJ%5-k z)_dCNtUKJy)_dH%eOx!4&lhVT-`Q+a+DfFK=79u2c~JV2WnDjMr2+jgwdfz^{y}(? z{1ksjlj7ftHJ%5ivoQi@IMHkjb!r8B9us;o4ZV>2wV*6&Q5ZJ-EqfGfE0U$#(uub!D6=|PTj>S5wxf!MZl8s*wjyR>C3J2l zDZ87Qi8RqN-4avUVK!3Md?<{Z!Um~1L)buA0At*^W`mzkx6V$_VEqo-+O4I!H(n^& zDXoN#h3uXe7hmT)dIsAcc!enPJhWO7T@a22XR9t~eL)GIx+Rd@zZc{3$urm-JtjTp zAC&XQ4H@S{JxA-0QK&g+DK?*4{!-|O|4Z~eWy#z(M4Flp27CWV}x0{Cba%x zD$Uvj)@l*jQ;0fj-dsIH*l~okl2^f_$eIgooWa&kvV9dxn~SE+plNeur4>1%u##Xa z@|EakJx3Ha8?R;G@H+3!_&2cpdl=$F`;D(iiVQVc`nfz5earJR_`TSYJ>SZ0`If{! z7)I0}VRyoA^lLF3H=@*D8l62s&(HJrO>8x2je@0(O9gWLdm$U{oWXQ4BIF^ES-$IL zvSCj+LKZ98=Y?VW-EQB{aNh0K3v!YPa?;{(%C!iPg;dIhIm1l0*Qfck@!Hfue-FqF z|L*=LwW|F!%n9=R4St0LeQ9H7_g_iAe=v{T%Xb6SxZBx%kCW%t$e@3r2m@N%R~Uv1 zTU`N!Rd;b85p+87ZFh$sV}bnh*ZZFx#qj=2<)=In@qaKC^YKEO0=x_OE4tqpe-%-8 zK&F}9}-mn?%4QK6k@2Wd<-b~Sl^isLZZW|N-T{u(7Ba0nt z!IxP4UI+hji*Is1t9w@he-YM?XoTc-XJ;l$q4s%g&j-M>&-Q!}JO^yghrqMn_Iz*{ z@5!1(?LMy{DgIPKp9c6-F?~9a)@!1${$ZYxr3>=1Gz?kRT`8Mpvbvuk7j!eLkQY*S z$f#?UNY>8d-7~XmV=@_pZ%P@5g>mM6fN^LTR8D z0e_t-bOHv#L7T3?(-!~0u>H=+=Yijh^0g~QXIxzNx>D5{`=uL=4S7Ge+^xvcQJxCvdm^HV)YLi0YK_k>DfIysfDV^-u1 zsp0ohkyfXpg`ynqrPYVvjQ|OGMn`Mh z#8dCaHy^Ry%oyLIc6*LDv)>SOx%vFDEy3oPnv^jfX>P+B)Y{NoD>1tr>`t+TfSH4H zOq9o^Dwxxvj9%1v%Qp<*IeSokw3uGcLc<}6m@6dYw4Xb3dHZKn1b=6S`!1gm zacDT`TfF|zaE;>f)GObQBAr&Rm@kun=YG%q%MO6&_~(k4LnQe9Qv|XTMyp!@*k)F9CiyQt zr5*=e1ky1nx=To(k@%VO$SBE*yVKjCUU=tUGKz9rIx>(+l$zQ#z6E z!e+<>lxUTXOk>ks1eff9CHLLg%Pszq4*pRV|0oAPQzLW*k9O>r9&h1~ao|s}_-O}!oy9-a!9UC5XB_-r z)`LF%!XL-i``9@0e2ut|a)xgxu|A0_CgPn}tapClXzy>;i1xn13Jd>z z$iqr$M}{?mJycM#`UvZtqquGjlL>yPVRP3Iz-nZV+(>nKU`$nF`wMI84L-qpa*5!j z6Hjy>;dRpw`R%y+?-&ZD}vA73ny}N;`h-_*ynM!1ZmWNs^|0nRsuS_1>`# zy(P3!=hQ8~I+4{a&xGyzMJ+sx0cqHgradhFN=H5~vf^Cj$mauUMLr)#^Z7`+FU;Or z27UwlJ8)$M&lI8sKG$x><G!ZKnqgD zx396j{RBszoNe(>bkw7ZYyYq7(MgUnyU9w&$&U2hW${mOr0=2s^Yon>w(GFJgtilL zjGUuYX(gHxBYXHF(h-4(d`06>>$+yOas`wtWpUzn6zwSuhU z+#><|_&my;w1SL;wbn|4lGz%EM8+jFH<#EvE68bdJ(T6ed$rCpyz9e-*812N;J1*@ z`__P*v!2f9nYN~z@`40w^sYW@!|@%1ke*$AM#Ay;2O<5t`uu;ay$5_-)%7@j-;neq zc|1Qkj^0aRKie4!5Rhd%krQIcJ7hp2zYIr|5+$L8VQiD6&{C2>2CHSXK-dAoUZJIh zGFnz!=%$Q@74|3)RvBSM|8wqmdU8VAet-YuBfopkxqF^_?z!ij9*sR)M|Nu7(R_9h zkH4X4G$-hIEu5KmC&XLe8J@SmGm72<`y0hu;59(am+`m2>%-nPJKQMN+4WJcURS-* z`$pIzBg0vJQ?$T2%<3D9XipQuAK;OdyI$A$tta8g6fJqlX7Ru~G2A&usO|(lxpDIICz+I@pD8DuQ>q@Qp?A*)DuT5!`X%XB5E? zcj0G7#T#q%FKZM$(~VKQ4X_nP_aSbuQM^?;%Oh`kV4r(7BD3fn$u<0rM7)_gsgd1} z_3PiKT7vuaL#W1de1B(2V*;p`+aT-An`ZdhJ$8g#*Pi!ePY@S2+`_A`+)WKRga%NXU(tJPm`}cJ)23*)8ODK9 zpjm$3DD3*aI|f^Toqh}Wzq)v{dT;n=T>Pv(@YoJJylrTYXvOn_Sl{1n6zlsLMRdT& zjl=1H1N#bez*$i*|MD9?_Vyn3%qZ8|O|mwNC;Bhg#LmQGexJ>I@dB8y=WzE=!2M%B zcO!i6{up3C5w=3XeJ*t;3AX#W9DXjq&*Sd%VXg=C*k@wCN1Mcazq)9?*EflIcXrWy z+~0+tTLf=(;Xf{dPjlfH6u~=O`1!@}JYD!tir~G&$|K&cE@~2QSI>#!+rkRs)MA^g zqLu}+0F8Yv`hKuU@Q8mLMLv%`%=W;^!|EX7omv!ctQ$|92RAmcwH);Yu-=(WdEl0G z`!vBf@zU#O538e?|K~M{JKULceL9P;Pwx3;Slf&IF9rD2B0ap8bXHA4_wG-k1>L(9 zashsU2VN@Rl4GA6P1q5%j2T6$58E*!{fP2gi)BI$68q4{-{oA@#AG9!w)3L+E~P@^ z62~&vT(9)oH&ChQEQE-C#4OhJ>jzPZkAfXKO2^al_`60WKbvDcAB6N#p2nGXK2N_+ zIxgsBE{G1;@vd5u1vtJtuahSgSpt|iT4=&|99G{VD**9WXCdD*t_$DWSFa2kze4`? z&8A}cSFwk@+r;i4+5AU-+WnIRKdp|;fpgfsxNf_0E1x#8eLW}bjwV%nFEfE^+CUxX z2rIm`!M%y-pf-h?p=kiO6&gI9u;V&-=zuJXgS_EI?!Y?a=pW(tUE`p!$!mlWTU+Tg) z7s0P};a3*zZ?`tH^$Xilp}U9JyG-{aSCFS87HESB^0(0j*jxW8 z_5u5d{oa3!9ot9jo&PcRLEjp?%tMDh*(~UZ%Un9t<)t(Wdg5aDO)UEV)y(d>ocIC`ckhtsK- z74c%myJ=ot#LJ3L_Lg%+wX3%{ud{=~5K1-`8n#9w^7&F@Z7Gb&iR1e9K7pnY7L z$?38X7efdigt)&t_5qh>kzyYg$~t1o-rL%mQrxCuF4RmZ+z)=*%B(gE`N|1XxSR#l z3TfO1y2@ca18J}RkhUqs{UYW<_Y^_vUSCA(y0WEH*!?4xb$>eB3|BV^fphW!lCT3? z_$i)W0mjnno5JXlj14U%Jw}@J5O*ISHS2roXE|cZ-pAk4DaGSP(9|oY2%35>UH$$r zjHW(e%HGG%swsP)7eAO%JdXqozGezr54<$^R4A_%4@ZG5{z$->W6%0|`pb_i9f2ZBa+LEs8oTm_&Rn zaoV>5Y#YE#{t|N}!0rIp9RMrmuu_2C4zSw+_Aee+Ax1^HYsZ8szdwQ{~KI#y&x{77>p$>Xv7!38ly))e_zc2QZ zsY#(@N$3v4TlL|($qH+j;NPc`!}$PNK&HR)mpM%H;}GOA^-lDQ3kygpydoY zb_KbMLvI0S8H0{nL4LuZi){;53JM*+g8ZEF?>B^V(l0sx{w~hH{{`pY|D5yh@AUBR zXC#aH_rLP+?|T8an%b8}2|EQ^^8l$Ac|s&dM|v@*aNRz*?Tn7LB)ty#BTQ0yM;_Yf zc}ptyz@Ey(&hmsMm3d%)%o}#>4;G|afIXNu;;{#E&}w*xa2KpwIcSyGmpN#K*yjXJ z!OuRZy!sscR&2OOz37Zb)QR-X9U;?^cSV&KsElt7KRmO}M42YfeZbL4aUbA#?gN~n z`+$L@xDU7!#y~m057-c{@aT?Ol@$7l?soMRF&>IaP61p4efN2Hbd2n@-3@ff3|w8L z7APHk!$)C<0F1e2q17lRr%(MEjxm%$yEoMUabj0mx+#&@7%po)dGJ#+x7ibrdy>>^*)diG8W?G6wj0 zxYVT!%b~rDa#5Z)lj6M>OZPt5VJeH#MYofHHniuZY-%6z*HO%ihA~)}*r#4yjWx9F zwtH^>Bq`+LC#4E<@v~E2x%eQZ8T~|UnMB95vkJ=Nb5>&Cwa{DS#L6)2olL`{O83ob z-vpI~m;xbC-%x-!D<6m&RfqajjbR#T+-{<3gL>BtLbcN_)CS@;sg+8#4_{+DEANMJ zhcc~4`e;a7gp9pgDi4ywsIH-EU+f*l^Y#;U-b~~?no00QN~V?iH99w$9pH*JZ&x(o zpAPW`45gAfTZA0C(|$kBpbl0`2}YB4Jjr5OfSHEeg)D3Jy!qSlx=^ z8`Njcz}*|>(#QC|H1>hY%R7S4p&F{oMj?gweg+h6k|AjF@3e6KuzdjKfDY;%Gbqhq zKhcBQqJG=M-n)hP`FW^?$(dzO`W>BX0g^rWp(xHP4a!;H*ci^9_^`+S6Y&3LnE$~j z<$~HLb^eq@)B`Dn*g+{oX8G5UMEK^01YtC&1F6)hZ)n(S8rSp$edHgAYaNb%j;ctO zlAyF`9Kt^MAHw$A8#`?#pZll6{&G!=SO*R&S_kfI5%c}wqIKY27yg?f_#-a-!6Nvd zUHC&q`plkg5&Fy?rTWZRX$aZD;foD`%Y}5_X%VtQkMJ`Ymvw0o>(3)}{So2wZoa=Q zTCcRJf`9N^m(PKi%BkX<-kQ=$LB_+L%HN|5ySsjLk=RWK^@qAVFFy8ihwbWOfV5Db zS?!Rs^mlZ8;5bht0+8$U)M`j$0*r&&A=H%S_>iui3h3YVhXF;M*7K9)Y`#rrG# z8hsT-$VpS#TAnrj=RDUpEr-_$-*g2J*$t*H^eBm9- z6F}W9&<1oXMeTk;-E~;;@a*v!grASJv`XJcQmug@vUuxjQM3~~LQ1Cw(q^~aklpf9 zbn(_#s0P8ky>h>Dxc#Gdc{bX2>pubd2GE&pDV*ior0kaG zIi$mdyvQN#F64!1-)*l)7vKJJ(fd$ynwT#;itbfvr-}3G@hMyt{ai=-#A)1SczSUv z;S}4*og#4h5^6=$YhO3TafAACso}Q9d!`A#%j-pam&4q$JzMl{Vc|6KZsAG3wy^d3 za8c&?0=lM&K0ij3%RUHc&{H zAJaEGP?Ms7%~my~_p#Ta_aA-VjK%P!IsIi&UxfPTzRW!KYIM7%Nqz7|T@O=Jr@3wM ztGAPyLkytMk^prc+Yz;b_xf?yMjNz|pbb0tzQg z)Omb6oUQ-Ry&0&bB>;KJEkVC+cW>sU-BtbHmbOr~*l&dH41D?13g5-ZD{*ylu<;l? znC&h7dRd3UWks-$6jze4c>mg&@JbTyP4=pcz9qqZc?6{WUCLP;qYmf}P>=(5f69S# z(MwS0(cKv;%iX6{$@x6W+a+PnC8ZGbTXPC^wKmAIKM7~PY8BrbP6oQKkJ=fJr`pER zG~zYg8L5seqR_FabS?Hf>cfFHQ zKxdgm-|0M=k3G!ZjG0`oOB}w7T;9QamrpVKV5Zw7LjE4eG`t#($bSzs)s_)-JBgQ2 zqdL_c&{V5Z{s~g`I;<*qM(cyP7YVsTsZ2hY>XR55wB&zx;u#y?-W*&iV1dN~R_8CQ z(7%$f*ZlMpX~4`btnc?oe5L}Xn)b6FdNr#B?vx&uo>X67?eBq=%aNXs^0^7&+F+b6 zOW~@v6#fPR6#<|#<111drPynw!M*8^{95zskNi2k-`+wB_uG>@f<-S_1M={@Z=q*$ zVG2j%Xr%M^C?#8E1A*8*-LAa<&Wc`6zf+st(3T5veLelfD6S1aznqS(Uxykzl_CAf zVLFaFJUWj0H0*gi*|aDlU?_w6uXz%5MjK751{-HV)^fRK8hz6jat&~#IJ8ie+Tu` zsr(z@U&6nB{*^4PGL1Zy8FZc5k67AwWb~gz{dFXB&p#pUk2_q+HXzWA0qg)4laz2&URmtUCp5+&AU!5(jdA;H?>1^ae$dm@?n?8yB8N&gE zY-q;k`1bx7m`{y^u#Wnn%>t~=fL7DkIbajMM~3eW^j-2Mz?4wFH)>+pu1HdUysPsV zCFE;dHJWOWn2K}9zpI+Rrt~*1sU*~I_hL@|q`!nX7vbt^caKM{8Sw?3Q+*{egN+6l z8|SD&zYe~*mY#PS#ll)To+MUHg!Jz97t*g~em8xSZ1?-9&WmHHost8fTp6@eq8e4W zzaB|&KCFem(^6>?`)%W@QINtit&n1b`P~#@p8FSRxPD)>7ULdCVp|(m84&72Pd!7- z&ttXtf13Z_TQoq=I6iV0^wTqVhwXQk?uepQ7X0G*9af8_xNdaKU>c@7@C&O|Wt#6L z3R>{SeFJSqen;LDnpw)`7F})jf_;4-SkIocbYE-MoV~7DNd@f!yStu(cB5IkNF@+A z$3iZ#f0im(Ynel6j~YJVe<8}K4-AR3(bM)y7J8=I&)y;%Fw2m)bR76jBTRSFnOyhTjrjh9p6=F3 zWTQm+Ww;-F34MJG#;wA3Vp@!XM7Rg-iK!ehq|6Yk-L;G&MR+%nC0wZq=^bKgKk7v4 zQdQ~x_QeH=j3+ktguNp(^eWvI`rzvfAq~Rlw&64gwx?DY0bW{Uh|zx<-7D?x1f>@P z^xh>1SfCeAWb|T!l>1eFVzpb@9aU2C5iB*zn2qVEb+s(-gi~h&)v{dX>g;Z4Wx5w| zZ(;XdZ}kxOZVq*#@mn{3W(v?)C9b}csjZB^(VGMMb{WvOlB`abs))0Mja-S2*eAQ# zw=i1q4CN=WH_ALZpJulT*|{gEhJ|^Qzx6r3iIrNUT1xkLX^qoT1zKZmXNJzuU1T^t zA*iG>US^pb*~)ZU!n|Jwr!N&KOSHhSjFp&L@>$My57Y=>KYwF*$bP2Fp(WoKu2l@V zIZ;WVDuO~(lPVia66KAK0}7Y!>^t$)>nE5C&IzFS)GWATkC&=2%T&q3dv2!fI^8|z zUfL?|XXhg&3n$k>{q7XuvPx{9xu%ufg`-R#JxA;8JRIOMoHw^JnjY)xMm4 z#p>}nwojqVV`v%c-7)kmA46j#r0ykp)|V(J0O@J6hn_*E#~ooZJtMpZ@lT_C-Z5cJ zAxzH)e3eP?EE!B*sX%lQ{f5;&vQXK7rxAAe*Sv2e*6t#BZRKz{p#u54dUFD z>)Z+RSN@RBU#2~d z&0lKm0ALSMSct=LmWKHY1Lsbdr9Wr06vysj4bL+{ev*X}1`I9m^S~pkwKSewe^x40 zhbKrfVO)|*%0Ko~UNoNFn&=%CzL|ZyBC&?7apkvD#k>t+*QX)Hbr8zE_RG;~StkV@ zk;VE737L`-wr7wRQEYn#|4&abz0PA~>>Zi*4y;kNtaln*TEYiCSS^=JIC9{OgO;f% zS6xCLF1rmM>@lVW_mG0Nhmm!nP`+N^=KnNGC|GEIYQ+ywdBBkFjBr;e|EOC1F- zZdr=)TSk)}ph52FU~AlmoG15Yw9LcHS&MJ z6njTKNPgDIwDVs?C9Z|vNxTKMySx)mIGgZHAi@ER&IyS_WQ54{Zm%HkG}^7tS-kFb zZrzMyutbbo+Nw~KFjyUr|bK0V*q82mMw}CGnm-A9{n6C!X z%U<|tG&a!S5G{&eSMB_+OzWOcs4 zk1S2|cdgJvY+Qa`G%k&F@woI0onvWs&s--n-6k?&bw$f#&G9-~Cm-dp%+PY`+Gt~& zk7;K5xL@DU%JwY!f=KPRZ|*^xksNB@55CyD{rX1K0-#o?gz`3m@P8iUSqg=+WHM<` zzqA8&L0a;|y@pkP^ZDTjO!eFdb<~^@q00XFtsV8D64jE`OaVK3L_^Sn^}*N*Sn~Q9 zPb*@{Cok}ZK8l9c;OvDl>=2weo{B^UCtC?fe+&kC05yvDXyI^3&M*-a<>? z7COAQ(8{-kHZ1w<*~Wf_S}Gx|Wu#Ifb97eQ14AVhmi$bUw=GyGjxDK^muebnfRPL` zFz>>Ye1B|hsaz*7hxO$OXpM>Fu9>hSmY$S25D4p9!hPYo}K~l@1pTF;+M}hPS|REA3h&QTaCN~ zj?aZ-os5{R#(L_8KWBkwlPuquU)$JzmzBPZ9xi_o9sW+|nYKw>|I_54Q~PCf zAbx&lT$*3|1?;w$b?U^c^Xu(4rd!gGP!HD%@>R56-wa>a!^o0)q48`5`3C$ac>KGg zW$s%1VO#N99HOf+A)mD|o!M6tzef4EknL26-9Y^6!BB(CiRuTKHjSRh2=v~G{6to; zvFC4}L}ew=_LUFL!}wPvEmD}$%mFF3s}y`+-=rY= z4DK_)M>VwAt2+!Lbh9Y@u2i9RdVXz$;8*I>8WL%57c%-jS_YZsKLOT#w4uPm$+sE) zpBkEo)8~oPuh(?_H*p4w;?(Xlj^OW}32`!X-dIRo$Sv|HQs>*L6>R8Qf!3aa?c6n; z8w<8`{m2PgPA2#QcCBhC%^e5fiAU+ztB~&vJ2#%6?*^(I`4JM`+xJZU{e(C5s=cI6 zd6EAp+#mj~o!x^cYD4sXqu;hVYxko64#WPnoyliey(XWQBN(fBZdx|3zJbBvY*P*?dy6$vkZH9%04X!LQqy?pRB?VAP<#u#54|PN+wV5KWY$v7n2|&3u7!z|iiyP}`hB zb#E(dlq$%JD)O=Qd?XzUYa`}Y6}F$tD(v6EWfi0wgSDCGWm#srD49i}2+&1mYuyUa zJV2y(t3GugzCE2#T@96TY-fce+P$ZPjYX;tkJ=zZ&6VtCU#!6kJH-1?V=m)oTo^`e zpzKT`LKkEWk8;zz7t*x4G0j(bD8c(!-NEcmU>#5opM(;~C>KJI-^Z+q>6G6`*zHx< zI12kX&*~A|$u(?3D~f)&y@RcDmQrE!egLYS%usnBG*AlS3u-61VlS;-!Sr=UBHZ3K zt`$#qu(e6pw=2+`Ic4l94)x#Pjk++F2EzVz_cSPeZJJU^s{BM7N?$u;ztvoi9o41= zBR^6OBVYjU-Ci=3*q4QO5xYBtzMJo91M%BaC|fPo-(Y9)`YZPP@=mc=2WC`oTVzx| z2jCateE5t>VD+sg=Hiq5X7&e~nf;+;Cc|e??S!A9g>Z#yJyn_;enecDJ*G86N51ga zqaQ~06&mX1WPHw2s>v2xG<#ym%npT3$`gFbQa%e7LIpjc6f^dLrA!`Cz=l0o71HpT zu^pDO(G%ZCvO}^Nd(u*t`HE7tpG)Py-FG4}V~^&P#b$AypLL*p_QflMX6%k}Fm8i={@XD8zBMb~({h9Fx8zCgjUzVl zpVNzN_r~*v`@XzAg=zm6Y5c0VOgCfR!G3*kdXUC1BVPRXrKeJ?%>OanvsO!gPeq|^ zS4&UeH-x>8X+|pZc^URXS*j!neI&_6*oXjJrA#WxI^u)WRw|EoM@YER2av(E)_JcU z4po)mYJS3AQmNpnoUr#)%Bo7pur~ex>uIc%2BsUdo@3Cu_dZhY-+Rg>E2Tl6!fbL` zrCN4bRj8yPQdu=E(m5>0uQ5kIh5>wNY6Q+yk%Purl}lti4Qr5FfBYYSkqTaPebcri;M8NVd1eK@TAzUKh+9!&4@xDOeBx(F7DlJSO(r}DupE@J&^8A zB@E`HJy}Tq;#N&!7@3EzfY3LWxUfA!_v;t50;Lxi)Stqe5GeOSo{=KCBSpm0WVHPL z&(uKeL^8-r8{&CAnlF?ryqCOUzYul*wiIXVF6{5~yO_+mMQ$qTw{M~P1yQEUA~(B! zFO4VOn;g-_-z(W{O=G%zk4GD##P|p;95}XOwiMYSSNS@ztc%&cHsk^QNtA6Sj#O$U zr3i5vG)V1c_NGi+49rhNZXbgsdBu;p8rMt`dC0QZp-;m<9RXja@<(?infz zCoIALtc&aXgca~(YMnl!K1LGlBS}R46MQ4^JwQsdm&11we8cd)6utrYHo+HYQU&YG ztlr;@;|uCOgr!wm)PLvE&1~cD%o~x|J7VAeZP%W5$`JEA-X6G%`3rB==xvmrR0hyj z9>9A#giVv6O#`uA>nEU&iP$HMc2Kw+tm(0D@d586M=R#rq7io8_A|Dol3PM~(hN`d?{Z zw?HUE$?9chHc}3~1!LoL!sV?9Y2^7jZDn*sKwDDz5Y$l1Y~1(9uk5iE#1Eyfo*}I+ zbM0Ns>gI2PWG7x>4(b7Ft=^cI&};X2r+(IaAp_=rm$)pyvNV+!il0nJW>NgwMtxTv zA;uESLFd@AG@E18N-{lb5)yk&oN;p9+`ga9OA6m1{VymLW$zgqE#NYY$fL|7TY6kK zy9bC6ozxT5_FYD`eUCSdxy)}+|2XJ9)bWjS!tsVgV^j0wDan>4xuwgNABAw_4aG}C zR28_7+X!0K&EBFIoD0;aPci%SgqbxOVLUXL*~(@p?Hr`@>Afy{g+3WzGdQe+!v zu{z<-fNrA-OTC;ptFW!992ULfq2T~C4pzW|Tk42?QR;J6Gyixp!B;8)>;qV#cX9Qg9DrtS|<$oFb?W~wo(9N-^huPc9#G%|334P2yR#I-L6L>a-tD$9*P^r*CMbFZkkm zYh2|zN|b*4`PK%KsXx_>sLM#A_`%&XwtZLJi>6f0*?eAbQ0+eZ5hkI*EY|p_tty}?APn+td|cwYmfHanZsg$<<3u|2e)M^a?@7C& z4@z8k+ZCAM8O#4Kb25%&*@hPexfy+ls zg_(8|jHmiE(k#C`hv*cOK zwZxKVGS{Fb_fS^^W|<`)!reh|&){x2P08Kd9R~M2?k)j$hP&Y$D<8_;W#I0j?iHj3 zW_^oU3njibyn-Z6Z~GoRWAA*#_8Ed!nQD4@xji!&A3O)G(63+J$=-zjG}vzsb?Lkx zLbM-bau|eN!sI3bxQ+zrO@c}S%PQ15<>KIg{ll&kNzTVo@=?hGNGZOu>p}(Bgj2c{ zh{0n9606?K=K?L}n1CVYd{Cdc&2j=_C(UljC$~sdFpo9|5!3DS$vKVn`8+M>n`&Y| z&!b`IKv=`qZ~v&PmtaokdvZ$p0;D<+`+2FaIxxXUCBObw9SAIo-9+d(Z$OzFx9t|W zvM5_;2w9XLz!=$|j*){+yc5%C8{Ra7-3Kr|7$~i_*q&o%>)Xxj*m>sR<66z^_zp8W zVYZo#^_ba--6pOixKj7WPfZ;OGk+Ue8b+Ih^sIy5*w@U?45t6o3}!E+PG)PKOgXu9 z6;PYoCQ(~0Bd9%rdi*MudeAuJe4@ldQiV~YqFj70S}_Jcw?Xsrpnfc#B~+?m)wb}2 z%1)-Ra>`2VeU^ux=21iQs6y>7D%uGw#>IAHbp9-}%yXAh z4e2-1v-17)Wk0{uk@y{vlz^49p!cRl zfPCBVOxrZmoF6|7>NXkHnTMu24H;Nve+%vQNh@2Gr}LYw@o;X-Ks~;0W%@TU%*(B; z6c4&?Whd>}C02 zQpKI5xdVIM?mP?pFsmEvBbNkQU{6F@w{k_QjqQ@^V_yr|uO){tn>k1)IEi-Xk5%+- zD4y0~XM|chiB9OX?f807!Wru{bVBX!puCzvJ(Fgxl)k8;dIiY_2F2wl; z^>o@t_4Zuc+TnAS!KhP92!5e#)2U{9-`Z#bC`C)XEl@}$Nd1;?TPcfasc)$TYzZ+c z4_|heiBQY;&{UB+w2S^-YKJBXy^mZyg;GGbQo6+O4caH99lGED0!s(;B;T2qQ481d zbOdtTQeVg;O#Or84=69i%P&&I`NYQiU57A!2-;if*WY(F>f*RUH|~m0dPkC6A&2;w zedrLbgTO#O7p%idM2$<09eAgTH$fV0TfDs)jdT~U(`T*0VmP&qiT3~!39InRKetKErI0$G{hQNDk94o-LUq(61mwwynbq z=oNtJfe`=7g{X&J_P2ZXYR zQVAMMrD2>jtmyEK-7EG^i3DddxerI5%lIqs9kOqwoRd;2Z(113A$K2zwt#qsg!`y- zamH*3Xw+IUu84jz!QZb>Pop$#GEhl`yI(IyO;aj{$9_Y}`2*x9@J213e=blxDzO^vATJ48fn#b0?2%pgR>ZjoL-*n8PjerPAD>>WmiS{YI2X^Oa~EHh zSlY-i-p6l(eYz!}lVaRF7nck?lxO+puuS0pbskf-v~mkqzfE)m-I1^J9T#M2&>0#S zh$p&M(RJEKQ)IXQEVnWb{E}&foX*J$xU-q1MBj4(OuXybM73nVUP4Q>l$U5A&vK^g zhUBdYYW`+ns)!YU8pkhb9rRoNs(RFwKH*@>hX<;7%;>YJMczXRcS5d0e9*95=w;dimb^!a#yG5#Axc>x7|Q76pgy!8f{ zMO43VzuuA-+E6(MOwJ}!W}r6qG0ebkJo=nx3Vu;X5g+M%7e3GQzE{6^rm&mXX146H zU-uM+z0wVv*-O|=QP}JD8FoeyFYDHsLU+|6CewY^uTM*}U7fz{kWj-L(}{S98T&}o z>Gy7(W);=-&ohNgc*gYJT?qM`f6QdMfDHpys?*sRQRte-MtcXnRYt4b&gpCp;!EO) zvWzsv{qTJZz9sPeGfBiX_{OC~9Qv*{_O^3+7pzVz(s+By@kWD|y8r&}`5f>`Whcad(WSt;3Ev_8H$Ch|_=+A@cA%J{?0BEd@DBmJ zck3JzpjwMEh2}D-A5Ck@U_kF&+hf{|>$Id|Q+JKB4(99+F$@il^OCjmg8^>!kMDb! zGu`==EQE8eoohNaR4l^E`#vuZedp%p2kCExI6TiG`{(HEA9}tQYxX}ewM;=>SD9^`Z*?+Z#6C7bF_Rpb&)wp&Y}_`!*RIt zva)xXIR*9mc@8GaBO_{!sxsK)Hqm~sDX*SZHcf%FpKFwiW9@vYmOe49dPsU_z zcN?@_zdkb^BCLLlKI}m5gMK>h#k2+)H>IKYhEzgjb$Fkql~nH9?e(LsLaO!LZiAMX zNUqzBy@z)z3ivAX-mtjeV=s37Pc8Dl*0f(wLH%%7sUmCy9ttDyj&ujb&xDqkY2tds z!p|@#l3BY4^bUwKJhZ6OwA}^XVdpGn@6TyqG$gxMh26FR=lCxu6>Z2!KaQpMLQ)rU z_X_ev^JfWNs6A$X{E&1lKd+Z?Uh;QlF?%-7d9z{7D}^tfzk<~7oDbtXzAmkYl3_ow zx511dwZw=bu7&t{*eV`3M8Ey|>1kolalmd*-^6A8S~NeE88)=oEB$%{QY>m6`Jv{V z-)=e=%roczwAFMjoNWevRpVc$ITv@EtF<_!6nm?%zOA3d-dr(SD$LJ{oTk$6OcScV zt-~zy*o^=2EJn++_PUGN*n@K#d#BRGwGbVQGKoO1j;7~Bq>_yEp&0-xw{8q{4|eiIqIvJe|M{y3^b6D8oh%K$lCNk39T_uX!W>< zY=T+`24b6W*Fk(T05tpEbLnb55<;%i*2f0ylhd0>7Sf(bmgf;Rpq~Wv7lRz0FNCMA z^eyR;2`n38=j5@xNv(po?WunU&m=+T-VVz5-W`l)xslE}IQp0&H ze4LTR5T=al_{8~B4snx|&vjoAIhDe??a&xz-PTe@hN-L0QsyyN!cxp?>T0)?SVV&E69a>Q4HZo zL%KtyjIoU^<$21_tmkJ%OL@WdCzY4;L;8FStJEkD1cfc-7UiiT_@I6ir5pR>=eLek zV!tbMWyJ}(dN$)l;(ImRV~j{+B18-s->i-0WvGw~cPfS(ve_O%ro)bB$yExwWx+Tq zkHaAJ7Uyk#-y+9eDDXgkKbxHoEW&I=%k+HEpB8uj;#~EY+2S4ctvt;4_6YN|8|JgU zhQa(^KsG0e5cOA*eEry(tjwwk$oa>NeqsB(``U{SkkVdG}p={0ldes zq?aWDN54oP#+5b@zkK@D0hFRQN$ie_Ad@Yix+UkZ_0K)MN*7CwdVmbY>!!CWNIMS2 zYpE;tm51+lM6N$d-sN6w7#xY!&$aSqcVU8nvnnDZ|H z%Hy2wWwgy|TQw5$H|HkMHjeRIOZfWe8wKbKm_2s3yOPf~lnx)V6Wwuwb($+)B>0Eo z-|epS(_5WqlEE_Qzd`+lt{~;>ywZg`C5BiQz_$r1)!!KAWAag6wn6e-7v;0UI1f=; z8%u{;+?r2I5=(n*ES9jA>hPJ~xtVI(@i7eo?_rs1scxcE@Lj5w1p2Ga_xE5IK5_S6e<)kqa9;VTPNY+C zb?_y9KymrleUOjZ;_%To$o=|P$Z_(a95+2z!o2p;+jSOJ;de(eq|rRDinh5yb-SL- z(+$#lB!iww^;U&xy?hIEfHlq+`&;3j`^ZC?{skW(4b4yuAFkH7 z12#mp>-Fo$z{-ucF3a!>vmlFKe;ujOL{9v65OQ3BI0d=jC6ul{3cnC;IesD6Bk&tq z9Ud_q?_f{U@GOqy7|5TI1J!PXOx?zukuuJwD zR-AOBF$zu&F?{)$L=*vF)pVa#&pCC=@JlZibZyWo4WWRvx8D*WP%gfL}t(Q!H1re;1RhSz>0|k21F_ zveegc6fI9JEzc2<(@!9Gubq@dhp{>4*vFU#P&6rC_Fhlfk8sPr>Hl2z37)bayN|LT z3uXTvFZ=gAWnUT`u+QaX7v&l}jM1KTGMmvd$+jP9I_;Q$l=kJ2J`GoF@dgj(jwRmU zNj1_m&1uJ(dwVOJC-0*4y3&|X{IjN&@pQM_Q+o>jG2hyku zLLbG;x+YS3W;2sM_z-G?DXaF3BZ4hj4dgqrNZ;#ks|$MeMxh*92-~+<@7_yP?_Qv* z#&-ljEAUKj-n~%lrf_ci4nv(?Km?D`wo7c(@!vYI2Buu@;lR`yAoTS z)B2&Lx4_D1Uy~2E$WQ0(Yot(%{6s!;8mwxkvsI109ZdWI_N-pbIsFLJS-;eDHsnm_ zG??ofVXg=KQr{*v*K_p5GEE!Egi{TUNFPSdcCo(o%w=b4T#F=5zvDW<++}oLiG6lJ z-uP3bH*H{*o7*W z#os))pc4q+#AT85!o%bv0B96uK53sl6Ni2ID%3iBCqWMNoijF-TzD4RgFu1kk-0r?79Cvw&j1^ zQ+GctlhGFY<^P`2cE6c}OQN{F|HQ&x8n8qRIa=Kn*DOXdGl=~UFF zxdQJ3{2MeJ4-3*2{u_kOJvc8uCl&Ut1LrYbKI#)J(D_c=T38o>+O4ev`gwV{K<~$? z%=W2V2Gwa>V4(yL(j3HSWQBGP z$4sp^W=mfJ&c*zcW47AH%t(nwytoTEZi{U!j+6w8aOZK{u_eYa#&OcS(oTUni(^g- z89y*ik-jR#*~Br|*pZM%jI1=ffIFY#&J9IEL1G*mDS>mbi#>y5|6Lskg^2M(>FWaS zT#no1kA%V`5{8ryFJMpS*slOv0$8YpC)f2Hn+I$uU_(XN4IJAajD*Sn8!p0bx&v+N^ z5l`?1Kc6S;Rc-RvtJ+j#uPQ%J*sD4X_Gg{jtJ)OyhEX$&KVT7E8Pq@NVSMC^O^cLz z{Fj2i%;Ucd{N*11<=_u_{F}jF;_+Vs{)oqa1;2-6e6{inJFg*Lq5RTMdT>u1h(DK> zr2?;iREEi*h;WFnr8Ys>tE34Tc9+BCinH}snc1;hpyuE7;E8QJAvU`4#Ia59v#&J0 zx<)5wxZI~?XU^7;u16brX9GolmFXx~!D{$vPr>%x7JzN>z?khjSLZt~2eVBFarMu8 zifz+vp)jw_IkAo}&WQVxD#@s=uedO5zzGM_km)TsyIFENwiH27_n^-8hcMaw?`D_{ zVx!p@i?XbB5KVXth`DH-t|?^?4_+S8`!Iv2lnulS98{2@Le`M))tv)y#AE5eKMcV33c zX&Vw7fga9~eFLnc8myydgtPXIrUO5E8S=Rd1C1|17zx9~-Y@8KdppD4K4$b=X&JZKb&&`x#;M89rwtz>ab@ z!Qbx>E0Jra+bOF z@(8)Hm#q!omgl#{7i-IJdxgHd8-q^m4JOldg)Uqtq$0aYfA1CVvu`%bJ-Q2@>1Fg) zpK*(s(P1qE{DA&e8ui!)c{yM0Wx7cR^p9}Nlc$xnB%-b*jU6?xhenh&X!AO)DKH|W zDD?as?0Lmmf19~({80S)o@D`)G@IGhLFtPxxSlYej9zn2hcIJ@;xG1~{2;!A7I#7= z&Lr|v+>d>jR~pXqx6wDpOsf41?thm0pSJU)ac+o?B}+N}U@=ObmZ6Lppsi(ALcbgW zs!Ylc*q@}wlh{8S(>S|7hrh8WUX)3?u^q#vhK2nM!#)If8_#KtiAD%hBf`jiIat@> zH&xaMeltsNF{dQ<9M`)_#JJ8ZyV?Am*^TgzXYvAZ%>}XpZ8N?Shg` zBrEe}^vwv{&r%N4p>d()4>S*=?5;FqDA;p8>^bN))N}r#O4i)dw5=W1?Lh3~%|NVe zYnN(c?-XpJp6C?o9=@HwnM9i4R7cpUrj!|pNNezxGyP3ksdeJFL+!5VNfWjQVfZs3 z{Gsd(9liP2=*@o*z3WF^{52}jY@J9i?WQ#3Adztdsf8QS(ZQrL3i5jwEfJ`=8b*B3 z8jxep^5RsG!uu-S!=wiO>a4`l+}yK_Aao?zd)U}JWz;SRy(fjTqAYr|69PK$cJm_H zPc`b+($_!K?_>TuortuSG*y<77m2zCanHbbW4KpUH4ys6EfCB-Ct|Q-Jzbk=lATolx0ZOa=!kUL6_sz-tR|v)Ti1U~r)F)kfI^Z!5rCz3_Pq z4yOS1l4&0Jk^=m8FMN=};gq4S@T7w$!vf}*B23VOIj#s3@?cIX!h}7TzZPLiJeYqJ zVM;ximx?fD6k{o`j%TgA-Nlr1%xi#oWU3dVbIj{|#HrwzH}=379P`Q^mMIS+SqVR6~`=^I2<#QW4_sMI3~(5znL@~V{*)I_rO>j^WYwsQ5^Ho9+=S_ z^T-~UF&y*g9++y5`Q09v8jdMDa5%>1n284s$JBDncN4=gbsTfc9+-NL`Sl){u^e+& z({RiKHLK{kz+pE1G68;e7px{e~!5#Lh-X53+j>+$VNpQ@abB1FYIp&vpV467QkXYcRczi`C6_q&STBJFmB-A$!U^4K}WfByL*&K+jK{sJqJs_0vwHqsQYhwoxCISzAH0jkHNDWkPoXv#p&2bI}z{X$zt zg1*L~x13K__*K47Hq2*wXzHYUgE{#wI57;^(QecY!FMN?@lMQ~%z{>$GwjwCX5h<~WXjSGP3;ttR$)?r+A`u?1oQ~r$j^&UR zG_PJpI%VPyTwNQ5a&72?a!IsY7nKC%Z!cG*>=b%af^LqJ_f}4k(vFf6?f;hAK3m|% z?LNOGEr?x#eS1Ic+Xz8dcQ~xJz}Q1~uH-(myQD;Q`|n-UFUEBF;ry`SH`XIF{O0`P zbwIqec@N-dC$vTN;fsG#A?>ep(6{Z7b47FIc~*7}u@ckBE3q9p2}&nPYV29p^%QkMIV`!f%Jm zFURn67O=NIEVLnIYav|yizb{M0x0K%oW?$TN0BbKqZWvFoi7x<>pWqBILp6idTqa) z0elO1B2e^t9cC20y;wnBGEsN_c!KNT3i7g9M=sI^bU3bn?-i4cIZR+z z4I$g}YsjnleEDnedmVmn!0%1?y#>Fw;rC8HPrlCQQ~zS_@^8TXE_~mE-%j|w55EuK z_aXc~g5SsR+YMp<4c|}T_bL27gWu=y+XcTb;P)l`zJec?b{ACa3;2Br75f6pgS>jQ zE%9XlegOXp@!ZgJf0Kx?{Yt1l?NNNZjiEN@2-V?+`i#DU-`8u{9Qz9L z`Wo{DB=Rc1gS;i=)1zD{{Fc!Dl8~jS%M*V1=Km=8eGmEPw1o-PDRnHhb4SSWcxJ}_ zqqZ>!mBk*y{P4UDzi%*4$m_#=fP4+#uTzBT6aQunn;-Rj{*R^Oicp!$@qE7ES$!qy z736QJQP<0UbRQ>Vf7DG*ZR!!q3r9X5>i_;ejv3T5f%Y-r_d}!+Ag`|>(l?OzH&_PR z&*kJF`4o8zzHh_tNpL>}zo+5%ER2h1;QJhWpNHQI@Ou${JKzWXPhNsAi~#~;fcz7} zy$pUB3*;3#p4O1p;P*O>R|8`#Mcx4Sv+#WrzHh+~#tfvLf;4N$zaa1D!TkdK-Ui&i zXg)RM9hzqf+$m@~%(Di5Daar5UITg7Kz=pwO+lVDP?j~|PeC~_{WTE39N;M^OA5+@ zX{>>AU>Q>6BN{)iyaK;>A>2pMH*W#_V}QR6U#Ob|^Fo1np}@RQcI5Mcm*5BUL-~l+ zTlyH{yaxHgd{H2+0HhUwd80tQ0L%l(vj+03f%NhU%pc_&HqQdDvvdOQLB9W{X_Z47 z*bdki7`_JJSbnT4)+aAPdr2^#2+Svd=ao-bKPYd~bn*(6M}fQpkXHcm3P6|u-~+qa zTnzv|0Od~XCxx3&P?GJ@YO8r_m6w<<)-|zSNe17&X zpq2YeLZ$w|UjJzUtu#_v<}dg8@jpZi1n{pv079i@(Unz|l~q+$BdbQ@zv#$l zvG;wRWlIFE+wYfK{H1Q#x&X^PK;{JevKxx{<=9`JRl?e4e@J(Ike<<|)KYr- zeXq{cPZx-D#4Bb6e;YwO&roYGZeH0%W(0!j(*t?( zazN28QUV0%B`p%rNYkqEWP8B3>(YP{czTGn5}YIg-Tr_q+%16$)D8shP@vx?9fRQO zqP{yKn$o@7k)#zV(~>?M%lh zB=!j{`HtznGFrMvh9ZGHxp(2ZlO8&4{R9?<@mr}}!$M{=g61vNu5WHDCo@z{dO8g` ztB|9rl69T;wbL`#M^$Qo+&9*k{OGdvo#m>y!@X~z&$8c zr8i*AhkDri1*W_B_Y2uw$_Z(`C*hz>BT5i1Xp`wng)oez606@{*k-sP%3YfEg@sH< zAYUO!c`r6^B0i!{>D@EtZ~kLU zW^v`(t~f!N<_XY?-)Yn6+l1Yyy;|me6?q9Vx3`D6SpEs!ZW=yz<26oYZ=dKWeQrQM zybUdz37Lzd7qL4&e4~Y9MTI_jHfU4~*td1-B%A)1xw!pZ_`SnrII$fE7qL5MjMJNb z$HaHTC~w=Fe%Ez--w-3bN|wm|_F@R_K$`vfwr=9~Bc}O7NYnlw(&W}v$nX?JdK(sT zohKA`dpEvve#h*Ey4-K;ly+lt?CeEccfec-m%gL>$W3^M4*AZ7&>0rGitNs#P8^Z; z=0)P&^t=0bH!aHdu36@h>9}fx$DPeIm{D@HBHG%>WN;^a+^{qXN?Hh0x6Ub}xh;+o>pOV<6w+@GwNd%=^m?GhVjq`z#`{ad@*~6Y3ve5X zJ0V;%)hD7@wG~a33aLS-r{1 zk<+7DeKLIC1OF5&YcyMjM;fhcWzu4Dhgh=%7K?WhjENt&KT3-H3uN%IpDE#3rytxRz+=VAC@g58P{k&c3$n8{9 z`Lk`d5+8qE2bIX`P`**3eq(ob-{k~fwE2K{70m+WN z#xz@C9#=vhI?9}fjUO1bDAkC)Sps$YC8YBW%Go`*z!H|o7C$<}Li-+zA6;nGk*i>* zIRVdA56&*~&9M%DxYzR7&3v!}#?QTNr6_;*;9=mtkGtoA`+jhT$l(vRgZlvv?{?uy zaubo_eGks^Kw#!WDmnGEXk!{y8Ni{1x#BR;R}Fm+&GbNm5NozI0){ru$1TR7{u`cK zk44jyAU%B*)cj{qlLW2FBHF@*wtX3D^jq4to5$2A;jH+0k2NQ#Q6A-5l(L2Pj=Sxh zeP}MEJjbe(;IL0vuIM-BMHG@ozn(z<2spR(+b6f7UVwFE@q=wp>fiFR&4&~g3BQEa zC72%54*H${aJw}WpVh9*7`6-A{5GJ?9&dXvoP983Q9GRvWvl`FJo>u$Ds~H{Pb7VL zR^!v5#@N@_K#i~GHO~HNt`+-b9g!gJVHVn|L)uv3yZ8%>IWODZ-lmg+JnCBl9{;!v zXv538N1UGc7UkN zuBcZ$-zH>s@!x8UrV&<&)hZ*wqx6gyl-^#-d&XU zuiQG!E2`UXTzH4&P5<|9`dYiUZ=Q3*_t5Z+>hqIV0e%^_NhoEtgiuHDW>{T9p=1c? z+K>eEX;nvvOb8jle%s&v0x>khKc>X_;{t0)|4w%ZLbilz3G*)ne@V#s6S{NVVG;`0 z-*--U$bP2lUVsO-)R1$+0gZ)S0AY>LfbDC)6=EN1B}1d=w~)%Ao>a~*O6BZuz;FD2 zqryu zI0NSy&MfBa8Sc(>-s$P-88Mw0&YUCa-Ocx2g`S=b=-sEkWxCR?g)U&5xr!wkKwo_+k&ZQ=oth3lu4Jf$tE)*9`8r#U$sK9?#0h z!w4*3VIMoI!B>Ra*w_@1v)HdrJoJ;$GLnLSGw`<)&AeX7{TqAOn~lq6^LMdEKSQZ2 zEG4wDuE-?zuJPtz|KPxkowix4^y8X(o=zM0d`a|zqC^7hU;i)#q}liAkl1_49j#_^ zC-7cHQQG0RoZR8}?eyKX+B-af>w0~Hzve9=_D)zq^e-EMV|nnNH;Ep#U}T1qNT4nl zhV=0!J%C>0yXPeD3-t<#`0EONEVfI362c)eV`l=|g<44m229Vd55>2#*e;f*{_piy z+=jLhf($3zM+@Gz4-|7R%FgB~v#){Pj*nq@MfyCDox>C}57>l!KU>%)@^F8f9sd!=HbQ1Bws+^bWB*+!<*{iWF*Fal-oomZVcU%0jEg8Dicm8Vct)eAf z5__o#AaGyRgW=yJojcWWqK&{a=Lr8kte)La&qY78p1YlTRoV1-dhwlXkE4Bq(1}!DRFV@GbKUwp{Tm6gu5ha8r{|$Xoc%O9EmjguI zl&qY?-z^PRa5w4f^sR|z1UU8plI8zx0KUUusO-!PVc?r$E|qVX!}sNO6lOH+K+!JC z2@PIo70#4r>f?6K+qj3(4rShqT;<6}oBk zF8Y`csPtwRm3qZJ>kV`Gz3lXOgL!}bEcmxS^Ln7cm||NaO{$|qjs3f8j(i_-_CSzV z2BLg{@0a8r<$*c!?2U7aoIfQ>9uZ{+E7KVcb&|t9FYj^IugB-e^{dScIp-XdJT35v z<2%zet{q}r?_lGagDdgr5p8%$j;S`iexf-*kz>gDhX?2>qLoOx(A;ecu@S{FdR_F< zfK_)N?2K}Lk}3IePR`FeUl;rK4et>>-UnrlVEdPgLGC-g0b4gCft9JNR`7YI&r=0GGL(MmvgNI9>8bw2kV^iR zs+dtdpVMe<%q#lY|2WRSW>~=Op%-}WWzuav$Ge@FlU2G*vnMXOx~qm_$?;%kP1;(QR#)EnQgE;q%&};}N>s!o-W;cvCJJlZtbk#pqPe(?S*cZ@BWf+Bj zwP92hJW><74FM4@6ycDt%N!AFWtm7?@$B z)Bjrk@TcxA*ex~BcLe#omB9;dvN9UR0mm5SyctNcBi(ygW-L2g&Bd=8X4zER;683ZY$ zD)x2}(;x6Mdy)7SqLJ;J0izo(F%m7L#Uu6;Hy-EW5%tg4#}m2tj}N=k;?LGwYO%An zJbfHrTROeS3$FxTc=69%TdvPrTjcuux`YS&f^vEl%(Ke}8|A1KV<`4EfQOndhFcHD zx0#-=U9;MEV*_RIa{dpQ{q5uU8Ok7_qOIShjH-nQm3jqA?v0_k7vZ5jORbh$zPL~f25Ot zQQrP%-0^ZRxFl~cINr&>G%x=YCw_5Wy)&G8CnV%O0&=H0$Mg9$Us(X0l<$i)CNHDD zKHnE1wGYmofU!iGrKff`U2$MeXDhL(Bp4LI&$ zhA@9^u`fA?ucJR??ZhH8*|-EoNKI6c*cTzDzd}jE=}&`m2Y2T2TsE}hyf$fr8RcP< zK03pZZsWXl`RRXhr7t#nyRm!B<@a>4+0(9*ys_i!v_dX~_Kam~0P3dP1U&wxOJl8LTH9Wo)@INGhH1`V=?eie*)WM2{b4w+$Z;D_o z$28e;#+=R29p z@BC4Y#MYz7;G=Mk0@jO!G&AyODa~+-LpniS5;aa4ic){jf>0~)d{m&_2BC>i``BAOBGVUu(|v#p|PKNQb&U#JV?xw z{(19;r*pm_r7AlLy{4~aVXnN)dnauIQ*m#J^^b7+HEM1?pOrom$Ij(%GUvkzhjy6+ z-z5B=G&jrb`sL=P&Q!exD@?INPYP*)@~CI$<`Syp5|o$6S&1^^auZf#ScjtQG(%-x zyl~D%)H*y(u7r6~#d!d}KI5`tNXWMbJ7YDRz5T-(Hy`SriFK<`x614GFdM&6x612Q z$uQLbxoEJ*o(>pOBT(mF^a!J(_Xyl?M?AIAgOoKo;enbuX8yv&)_ItnqX@u@eO{zS zJj2wK{-!ABfpR+s#@@-<14Gzo`>T>!F`Y*`rv1WOq+rLTI%8KK zOhoIsHMB+0;;)!)SU=$xsm$r?AcrpBnwu|Q$TQjZ#eCy;VI~<{ma;}n;GW}FnKt|h z%e2a{xh@HoFq|i~8f5RE? z=X5Y&9zX96`{$9cubG6s4J7OVey_#J9wkVVzk=~(?~exr-0zQLgXH^T`#hi(@tu2r z{5F4AzjFojKnd2=_a~#K_QU(;XE1J$8l){$QEM7Tl2OyDQ77k_y|A&o)hJPFHU>yo zSx81%?0$N8?ERX#J~ArJLXXGZ{NGwqvq?aWGXIOaV~^L&1E?7mdOY^<{{}T@S7QR; zv5V<=iIIn2{7zP`F{^v=0=u~)w|aBdY+gW=X z^!7C9t;gdHduNmC1utj2=M{D5!FU1ctX}m^`GV zdr9meqw;lpz5e@iYGOC=J|e%n7W()Z>m%^HtpHckwB$CJ6E=*g24m{sW9lKMmyhWJ z*bCdI@iAS%bk$C0eq3=(Z8A(lDD7Ke26Je%9e(i}p;pDh;o_QToy z{P$(u`C=dEx4ePW*avp&O*0u~7vvPL27^*hSB=5A~(|ukiS$?)gRh36LN0)P=3rkUI7!$qXm|_>ZK^ z0iE1_Np}o!3hT;~zy5dp=Sv;s(Au&-#-yQJUJLS$&L5W#^K$^tb||cGnGDC0f3G%U zyJYU}(qQbp{mYj*8$&gKw+H#YQf&ta?b88QkiQ+|Cwn?dxyP^-y<_?cXw!6PQz5ex z?u(+eOTagjN!ozZMvRMnYeT-I4J}bs?ND_iTal+EJi^O`mw7sQCo4q-9gfg4g-1D@Up)R-3sJiT!^YXRQGW9xG*yd%3GiN)TJM3z?rtS*gz{~saY zX4vD%8*Vw{03m1kTz`%&w@!XvSx)Zur}dc$)cZZzG|4SAqkk_v%b#NA-lT8n%zuko zEOv3*I=NrAaxdQ_dSTzWh}p`n^ZTUDes9Rzr9X$hO+9F>8|W=i8~84Z*1FLLsxMte zejo5@wc3|i;Xx)~99*;eqpT4?%P!|JE6jrewaQyrv=yU3diBe%WsQL%m6p-UKrMYP zi<;&AN$hV$s;oKo2!B)8z|P73FFe8J&*h6we!kWTJxy6ZG;{ww-!)5p#h^Ir-v{}Q z!hD|c(v;QSbS(4^=y+&4eoW#*5B6z{@ZHm|nfq!FF-zpC@Eu_osdz`?be8g2);OTV zQ>UO`hb7~gcR9~p{-=Z^grPe;m;4pyjx*u%0ddwhiMP`p0b)*Y%>NyW!EorQj2MzOp%?t#T3m7LOa1gq!jEW}+Q z-`CtZU%szdZ_2qO&jS81pX+C#Zv1VEl6PnGm-*5@5tj!_4UG8a>SS(}QYMEoAZimDfC}`X^LcWzY@?7n4qUu4yWx z3o_Q&p;3b8x~h0@^O0z82iyOD@7#sYS`rm zi1`<1r*M=^K7rd^Hz?jt<86FraHr`fXvO(Q)DA0%K41iEo+u>a=vp#PSwqT$i(vi) z6;lZXn*#+wY#-X}4;P)pDDGvT*fH8b(phw#SzcTnFiXAyS^uP_|1j;JOG#lda{FTV z%~;JtKOuX9K^l9;C_-D=FKdNGXe+x2sj^6;XrcOL;>7vzRZX&}p6n>{7GZxOu874I zH;^60zG93kCc)zEo}%J9Pbs1EXjkm2BLB~AOYFXpBk#>(DLOrNrxA>u+radrINnlX z?MF)a8{iH1yQcC(Ys#9V422P@qkaf~?}QCfOHIWc9GBpfJ(T(>v5axqJc z1B-{$BRwmmK)B-(Yt{fcbi3` z(HrhGwN^zB?XwZbMOa%A&K{`wsiV*O$QV5ORS!9@C{S?Q%jmDK)@wjZzwX#_=|Fu* z{msy(j5P=7q_CJl1bjSGT;-xEu~#pU_e{I;?wPK4 z^8Y$7|1D1ZMJ(Pg=;=;~KaJhpouK%bhlS&SqX*UY`MXS0-N)#@3gzATzcxEn=&1%h z^*ratp4ue2V3&z{e`rxB>^Yp-B*AZc!LQBkmUeJPG{PEwp=oOG&q`TekwzvFO$E7R z$S{-u%GE{Cj$?;{L<6N};I9W~Mx&=={zb0ZAGdhz_JWJpJyvhETx4dfO$pxe3tVN# z`hKcx&aUR03%Kne#Epmfx&SB&Kv92SEvO=P;{|4SKQes%u^TQhlc9QIC*Zfd0cfjJ z(Ur7yMnWTL>rD7JOlJYU7AXh7ze^MkTVMGaxo-h~CpSpBpRGvm%^bY- zT|_T4@#Y~+^?Q zMH-c(^#R1tXUA`ZTz~M}l~M-AW73{aR z;N7~Pe{Y5F!oVSZo9!50>_BO1JL7(b0@UC8lUI!=$*U&-gux0*Jt@5({`!0m(P!z~ ztNm9daJK#2oUxC}$$@NFY$_L4;D|>FQu`*L+pxl^UHT8(k+(a3gYAw9%wk>G%duQ` zu$CFL4cODz*IW(hpA#>8F}s+eH&xbAl6#UVC2F}AuM$wkopc> zBz=Tm!P+rHzrjS`yPR52L~7M%L!7*W#&%eXxIaGFdr~`&k zEdHhcLO~4%-cAcj@!nc=cBO>P$K)`8eX!^w@?}0AyUkh^`?=dR=_|*ita*wq`n20b z?y57rW}Xg`P;coZ_PO-od!(pi5P870C%DPXkV_K$`)1&qH^aW?I5FRp|!+4ZP81sGT&*|?B#uSB@pXx32aC_LC9(FF`It_Im z;782+V=3Mifc*N_G{dMU-%((wotjoUMN?FS$!v9f!rwBWtaJ^OpUmhf6@Q^=wI6L| z6_HN$Cb6b(tKe%o@|zRf>v?5Q9sTUaD zCyhZj8KZ<9X-ZyNBz#1`UhbksFX3&E{l^V|ivxdSZ}8uD;48m0yf+zsiI;C2*s1u9 zjS?^Uu(!HkuiP)}s~BuKW@U@{+gGIPT9A!9k;duGCXUznFkWI$uJJLuEP-#XB%L0z zSe^m=!8L#GGKBXxeMgkx&pp0i|vzV z1II0vX9M?`?aJ@WVqx0~Q^s7uK2Ma()s zi_w;l`%EKVLC!Adqz{o`?)&0C{DmC%o4Ge^D;D?e^J1NY&j(#TFCO%Vggq{7 z@5aU4{sGJ+fElF~#@Pj#X=gUYt3rw#mu(K5hg{?G2eVk{6(gLp7IS|TY5g7*{h|EP z>=^bS^y^W7Iei+Ww%1`lo1XTkMBMJM9)gwaAsCy-6G$h&H#@9{@g;47dpf@$fl%&G zD8#)s+_0Fxzp&#En~05Sy#mTUV0OfFW$j9Y`WV`@p>vhv!m0TAfN_~Rm(GHi^Ad4b zB_1@p^jjGx3y%DVfZ>;e4*A^>}%86+gxHCEaoP&le6S7 zg0?vgBmcDS5un#+1IDzpbzU>>F&=}}8UE<00QG!`;h_zAp*4A-lk!5Rh!8^Uq>n*+ zf6HD|?4eYXb^HnHfIm#NE?^}ww96$XYyR#<@7Jub`!w`^g|`ZdxK+sL ztQZaQ~QO_YEF`V;6hJRG#b>`)4!uvZ<*4{Mbj$*xyX$ z7lZR-|76A*$4s<&xocE|EO=5f=~si;!{o8}tj82>&6#gVDa*f4phE zX(ZZrd&0EgFJ(;{87Cda<0hWwaW9fLEa7@58FCiBsw*@CevrAMLVxUC*VwM{qpM>8Ju2xQJ zGRVdKyoG+~wTJd2__`EiK*J0_LslvqA+^v*>GMVgNMTrpSJKnj?;2(7(2!`we*XeLFFS|2TGH`n+G;l{Kr0)rZvO5iZz;?qZnP?nnv>CzBo{|z8 zd$%am69dD^hO8^z;PD0-7V5qI$A{M_FRLNuCmUN6yO*%HK)C;>8#Wg|N}r+9Zp)EN z`TMG5J@9yXT(}zb3F?8XlMw~Uh9pTQrjvC2BMCKHEb=UbJU?bL`R~U zX+8wh!3ttwl8%0%t_ z7@9P7)(pQ({#d(|??p1?1r=|VAMx9jPnves(`GvUFgxXX%CzGM5A9-Q$a5;+XUV&t z%}ev|ex5ONHtBx3l=Iz`{#1ep+YuQ5t8VdfZ+*#9`8Mkrwnp=PAWyq;X+95^bzJAf z|1CkB_aTJbEO3D~G0+}HoEV{$^_wOgXj|s_qv(6i*Vtnq(LIf)5c=<$`A+(Ivm^SP z*-`NBmPSlmwp9KlVp8C95 zPXFY$lh2xI>xo2^^j8k0o!ZdSF8iToy$Wic`kYzpIwO01Dd&?|9%Kmpd64uTZYFu_ z+&fFV@1c48M}5S9(MSBgKH{@|#CwMq*gNc0Z!T>IDP}&^L278P{MwvL zTV3IO5I)8g{sO|sy24*VxY-r{-bDZ4KLEYm9Wat<%hMc%+P*b&_t$4Flk@IdkVl># zZ@K2zdCTOz_jk~~f9B2COP6uGNO(TWQ>n1&rm*;HAibYL{8^Z?=;D z71o%bzLGwHzwD0FR=+XXuks!2WH+!CG^y+Z&iFORU509CxL$AeBp;qYHXp=t`k;hj zkd@xYr~)}y%8=y4MZt_GYON2rB(0}5^mom5VlAaxi`PqGgq$lL&f(u zW?0RF9PlNra#E9zK>Mnbk3!8&EY5@dh81_lgVbsqPP($Z=U2<{(r8w8J?B<~m zR{CsJ!MB_)gI@vPeRg~SlW=Q+gJEok@|9T|v|Qu8A#c28kG>Z@LY=B$o`gP+^w&-x z$;ZZ%@h+)rT_5q#;>ltLPpx2p?(6}9Y`M-lv z-wTZ4WL;LC?;Lz0U%O3m<>0invx(xHR%`MEDr`OA|5Yanf48KK`NORx|H`KH+3+3v z4))035c&29PW(k`c{t1q6ak1WC_mfNEck3q=FO4WL{Dx)}8bNyI$fao_ zA^(;^ZXh+!9R?6)kx|bL2kKY#-7^a^=4zg2^Y-+=mCJf4xoDw`n|Eghl}DOwob-s zvB$zihmdLrg_R>o?2qB1!$s&Q68jzR_e9a}CeiPD*6-@)U~%0Qd(`mJT_N9V9!)a_ zSHIvP7>?~T4y%6QK(e>6urR;<(e+h(KFn795^z&w6lab-v+1ReeD}om8sn;8FfhM& zfBgl>d*Sb_LNp}#mJ_ZcOxVqd#ZGueFh4b1gY|U0adGWW#-_M@Wm{FHXIG-< zLV3T*?OZgaq}*0jnySBQg4LLl+on0~u7-BkHA-6qSnikvFBTElND>WO? zwufF-K(;ddD%qdeuKq~7#q(0)PF9phyXI)$W*qK;ATFhEbNQ<^KIisSd7GEWKIxFJ zelxV0>+DKgtxoZKmK?6^DC7iu=?q^7_ku5ZmUME8pQWQc+zN6y@OGW?_R*yV?2EYtE}+WHLEvJkWU>KElNhVuBPjM?4L(CS&o z7%Y#khfrtL2W#nTnx@ohr7Ye32I(y44HEvY%6os558+kxfZT|0eWEoZ6XoO;O;K=N zm;h-R{VVhys_iA3hVi%(bW5Y#p}Y7VNW2C5hwvV&g*1tW$5Y&AdKj=;qXNeVT#i!l z?V%ehL>De}Z zraGcPj;XXI^J$9P&F6Mh^2OKTX5u+UH27+)!ib9;Gv=3qzH%sM6SmQ$9h=)yWjro&_h;5t=b z-*`|wNR6+mEAeIeJN~rpWiQij)nlKQtGrDWB&13`IZ8$>=W{Kkw*Ws4(v0=vgaZK= zgS7IX=_x)uWnBrBSEw5OQr2Tljl|Y!OH=VbHO<$GNs&^n@t58j&}M$fFLhCsD-H7k zBP#c(oy)nrXX~}4sC6`@QDNU87d9%cJ?Sr&Oa4+@n$hP?Ai`dzp>>XUU)7Ge_MI_{NY;7#(awx}L36VVKi{)Iu zH|(87@EsvqIf5KbBO7W6eoZ7At(mHk(Q`fA>i-uQi&U>MFTf)T@XhufjaZB)P#OiU z(hwpOL6FWX_f0NOY+t#L)6-~z{yAh@4oS zqAD;i_u)GX{AQlbkgLVsH0eoRqnzs%*e4(sge^0sU0{SwZ6{FHG2=C+S&DOD=6Ia# z$c?$~#=Z$Mw*&R=qCEQw2eWtVDDP|x&v2awZ%qsRruY~}$HEdpWo>DvvZ6E{AK8Rw z!edHfU+3o3C26j|$M`Jcb>Fv0UT0g_zUhssOQ+|$G?zaHkwbxp-ooyDGWzG@wsLl< z`%LqubniYj??_AC%GsrETiw4)bJ--vv&U9DJez#rH$v%ntkHrsxp|`G4U*qKB>Ul% zJ=xBc9RZXwbD~9Z>%$X0^1trNABX%a^YTBJ=5k~ zwT#|2QDbZE5TrW=TVS9RX3d%)eRoQF2xbmrc5-rUd2f=eH)Bm1U&Y3|C;ku2><>Th z0e+$kKds&HV`X~cXL2|E49j%K4_`z3#?QfkpV~b9RA+t;ekufhCJX#@^uW)Q{o-e` zz)!1#AKA}Y87_a8lS6>E#!b{24mg*epONzZ9A}>*`PtHp+$YQdel}~OJ1vtDcNmbC z(T|W-sH+_IT^d?yR5W~*$m35a zwdcccbtk6zyXvo;SY;P5UpSS}VSEE(d|BeazO$>mtgEwLbXgmoZ)^LS|4Cio3?Vj621;K$papw}BOdogT$UgE&Oo#FQT z&=#bmy_b8Ty?H;eFO+zHBa`n7hxl{C$~Z?w?QlI9f}qh2Ur-3b_ii#nb!Zo zuj<)=ai(<=hv@i{02NFBIkma(w;CBU-SP3N>Gt6{DLYw zySOer&Qm+RxD@Sp+UcdG+^$)!H-o*?=l-Jf{`vzItdF0vXe8n-COm!?{Au%#xvZ7+XUuR_o!6-{6c|*~N9^2Yc;#sZ#VEgHUV=lmlUdcEH#4 z&R;M-@<3u1d_}w=fCkba^z%IEXYBhT3edSLN^+pEpT+wfaq#nh4t_>LxvLp|mb>t? zqpSP9KA#&Gig<&})-$Ccs*3nayZ9aqdBH5Ji_v#L_;$P+(ngCkmu-&GYp4|hHry9w>n+|vTzw?RK{Jo3sNu|ZfF}>if;utsX z8a%z=&f61rh_hx-0htwt(Ng6&zA5@Q9mY_1&8K&}_}T!D^&)Jo#_js-kjOuT-G3yvWNq1^?vHEkPJLVw%(zHzm)!@|%m z8LGh0eckp`Alo}Qlzq}x@bf0ve`N2n-Xdhc0W?eQioQju|8Bh>C0PQYy)5)XG)v%X zz}U_u=zzYC82q$GY zOISD|!We|`BM?UJfn^^_vTs)I5rEU5L42g^A?C|Yu1nz+Tt4lmpdXv_iKg^pW$sem zQWXCSDzscx{TEP0Jr~u%oNd=Bt`I)y^a`@H zz@VMVZ;dH1DKggk6IGWyj4&pw;Ixv_-)7Q&Mt`w~%-ps@+EUM0FN-~al>Lrb!FfqW zzqv)0ll%M572IE_VHm1)!jaxuO(i9YbwXvJRy%~0c~Oh<9}~SylN0s4h8|7{YL$GJ zrB$(yi(s~t74a7bAB+<(4)o`7r|aqY4s=pWfxv+uhvvc7fgqKc`VRpWTw*z|Y zKXN>uT*3F#mJaxaktw4`dPA^Ne@~3=KX7zu>^qOZ%j+w|yQ&b5Ez^?K|1g3wEm`O_ zg@RqS>C3)R+^C`e(ke{vq=6a5alZH}yvd#@wCY3rL2y6`B%JUOhC zbSPSCy*bem^dxn44ajpid-GGkT4pL&OhRl&*$W_753E0qn1;Rl_P_5z>{Y_fNM-vE zaLtwYN{QPBf!l^W+`cVvE7!96m3&_~myFXp>4Z>9e=?3b-goO6>mBs&3a#e0>?t`K z@*cwazlTYBgOmoZp;lBcD9F@5J|a32wVSavcaQ$`UyKQ1{)Kp-be9dz`91Ldu7h`< zXxqw_-1kA9w}8z9Q+0YB`x5H0gl_>3ByAzSi1Z%44SS7;Oo; zUc{IY7UNk$ZWJ-4JjT0(+$3TK@)+L|a)XFzjTlK5rz{~ii?~UCqf^FRTWX{$$aMvs zbayF#19mLar;#y%(!omH%GM zE99!$Rl|2QYT9%)-O86s% z@}27SrPWy05@mH+_NKhDQjTA`it|zSsswOc1uJwXV77|p)<4N}yH@f2g8@8tc8kI+ zYX^X<%@N-!E0J51)~%9nCuRq8@8D(!^WMR&%DscTt`y(FUFW=mleDo7@^o~gjX5w{ zH5KXjd`260mGYQh6tfthjXOjP^|2VBjoU=btzH%bv~jD5IcqSB0ou4z#EjRFHs&)r zxTVyXTS0aM9o!}8;0{3tw+TA9RnWnm4jtSgM*sHGVwb4{@!T0T+I+cknyMh2J@O_`TJI-`g2}ce~yha(;N%s-AmXgn!>Eepd-{ z(eR9wY0>ZJ; zXOEa4SWiYzwJ1!InkRO4Sf@!BlfLyX_O5bdY$%<7Hvg{E$5A8PeU#_IpRPJg*xkiG zK0Kp)AK%XP5q{$=ZV2uBocV`U+(rq`p*vetNAldutd6O|S13|A)^{lBUf(bWc1B;; zq6*&1&lvx-pL)Hk4`a6c7!Iv8tpEGPp;OcE}FPm8)Off)>X@?A!oh9sz07k-vGofUz?XV=Asywchcp z-DrhSe*|wan>>Y$@ho{(vC|B`A;7YC~b{GO9ZTJr~upl}~Y(wboIs&za;NHTHV$oMCdVPx`uUG&{|Or?o9KZ%o=(=jNp7kr-cu35%T+Z@Ecd?1d(PN08WOxp}iRk2XF!syl7$bWvAqo9e(V8Q+8%v*%$w-HXol?wyEvsmE~*7Vko;z*zR3I_LZ7s?m@X%_^(0u z1XuV)2+wzgUxM%gS9lMEJ6+*dA$*)G{0|5p?+U*R;Rju>{$GLcJXiYbrN-0>va7(L zNa<`J6*86AX0xxTsr2Vxm8SAK|7tLmFA0~k-^e?E-@K;#*)8XjXRP78IHO;LYk-0> zr?g9((a&w+=eK;7IJcKo0#CuVw}g9HLu3Dx^m@UX9PivNc&D^acPXUddtf7+(XVac znouohKbPXEhY3v%X$D0boc%zCVe*9s{q4-cI`Z0LFdMd55_8v3-XbHn!`5Q2ru1W3 zx!60Bb{<$G?4y9(aDNN;^#t`oQb>_F$>_IIor+IuQYeQ1!L01^arq=`#L@mJ=8U~7&){EM!)0ib%#3nt zZ^2R0+S|rFjaxkF(nbBMtRI>d0*UPr5%Xh~&!x-8^ePLeu@9wA*XL{aUaAx34uiyW zK`|8jx8q-ajXd+an(yVT3tKEAb;yM$^^;_tYkJMY-lm?!_u93J*V!W>)o|I7d+u@T zZVWuBTfKl^((OJX+Pz*^9;s(=@JVuCb}gF^Cha%~M-0bDSMuRi_o(xd9(9iCQD=T0 z#)nVJ&6!KZoRKzOr<^427Q#4&BiU;-)M5n8GyCm)CZN}P)${^JPK1!!@N*)6UyyF!dvfxz4EAnj&M8_?g2 zx^DNkoXN(`$MCp1Sg3|nu2+I%hcBjUDwo2%gxSn)f$pr$*}&5BZhu-^K$=oZ72GSw z+1MH)JVu0rER4JqDK@SZy5Qc`4X){#PkP=kVIA1!jSSudpq&{^dmUsb{dn8{{EMKlaRXvXe*h|JhC5dFa-);tZIbE4gnl zm(YEsogmG1_e2o;$|HFGjX#Ax|<<>J+pC^inC4O4xnN56v7S-!*d&uXv_h z;>aVT>5o}lu{GA0-?gxszR0!nQdc|gZ{atu?smT1OFQMdd3|?$LQlJ|t#@_Drz?*p z*4BsC3SX3Zoq{hRYE>`8sY@oLb@ZF;5@la0+L@Gc$4hJZ`G^rR7>5Y6{v!la;XJ8= zQP}rc9v;KOb;=jnCF;IXs>eRg;o<$YTn{{>-z7$?1SHRY`qNgR5j_@^G?H$wJaRfV zU#u0j_OKoL11*}@nJT(rvn?;srtTi9xav6~8t*nTDUAED; zj@vb=rD*l))gB|${S68`6I|DQjPCC-My2bzk5SJ&!`5+G3&$_o$9;VDI_Y2H4=wTz zKcnB0M^%_#j^9|3-(V6KdUZ59tD^x{p8I%IS$|~z$FJKzt-jU^t;)KRvaGAFnrI2> zq_4A5TuS{;czNgbN;$n_9Y3pem9{qy`)p*_VYs z(U*Vhhd-=X_fz~~&;K`nka*j;uJ1W^*%;gzR0zM)rgDoDuFacc64s8M%Ce|Zqm;1_f+`bap1!a=4iWpEG$_%mA4iR`YwY_W?)5yYT4S$UI?oV*c8d*8m z+gV9GjUll&1%3$P2BGs9?&FnX?lv89jB-KjWz;^}RWJo6OYG6yS;&LX#z8{gJ`?k9bmlK`WD7us~j z31H^X?>(k+&XkOGRvUT-PU!{I!%i(s8rFoy6O{Wp%i(+qa8M6iwqvH#j><^xOog{& z?#bNOk*!xoGWvT=c1c-_hsK@#DTlGlfl(E4`=`OQRVT|g9#v5L_bs_M9vJ?%h1bXT zBO6cV>p};uj&vwBkq&jF15es0|3AocI?|kGPpgjDq1H$(J&efjl=X3}L4?{Obs#kw zE_@;OWLnCaG#qVu*wbnvnBE{xYV4^sk=T3o)RB?cJ3Q~?2;v#P%h5vibcn02kEE^L zuy5)xCP!qhlzs!Dd9`5N^$=%I8|kW}z)7`}BcUBPlW4bAxO3D%j+yRFzWgN zuBFZh*WP^OWPaD(K}W;*)kfOYy2xzph=^Oy68Y^jkgtxtcc_i<8&aTQdeku)>+Cj! zn2gs&#*hOceRRaGtc5K!y!A%jx!!b!RU<0Wz?tLh@Dcqztx z!1Jk)PnG$eBMz;-<Gtsaw?E%I<8)*sr>n&6RI8`(Gcdd1$Vf8O5E(}g5Z?*- zE@9tx0>b4D5xWt7s}m9IVN^vg6vz>{KGmG-uNt~)yVb5D_e7^X+Kt|QkaPo2Wwwah2yMQf3UESu4JN{>#$ zRTB1x*<^G^uTp~bz8pek_qei`jgVD zCn?<8^x%}Wf_A?rn%pB_N3Z#&t>K!miZC1L+keccGh~n-&$@xpu#Gl&j&otoFwrm?C1&n7z8B^3iR9+>CiJU zmopK!&x*^}b32hHQN1R82xN+10%mGK%EwoyJodpUd=x`!D*hv>($Ko6EPtDquCZLTwWJR}o9$oc15b{wz-W79nAm-s*uQ=btffDu1JjSmyU0 zWi9f&cSF;(yn7EE6+7M~)}*dTSNw!Y^`2sf=Nx#d$c3Bw@yEuTPKe?Rnq?Eh+Bt^**H5@+ML}CP<|OHBjJLS?r(G3d!2f!oO@ef zo!{DHE_Vo=*wz*Y#*FAz=#!82RpPGG!QD2P!>5D1a7LszS96xS57j3 zA0xDrqp>$JJ{7-e672uKl{nhr;OOigIQor)qqCuZ7xapwD;yl112{Uj2aaxXaCD9X zV@CAc9yq$w!O?cW(N4h8uK-6odf@0G7mjuc9EI|5v>p2XD}euKA2`|}aD@4G06zXG zaI{n4XgkC`$Z#b4__ou>3!#s@oHhl7UA#{r9q)Av-;9mBfa(GI#tS3%rVD|eK068J z`jqt=u zf(RR9)AdhIYN$$CpH1Q=GWyGt_|B+^%&5PFNi-O5H(UyJelGeh>1@mfNoO|$o!!!d z&YCym=cYmZuJK|bvKAp{W=R{%IXx$curW4W{{y45L9M(*M)$Sm=Bm%vFa#nZ)uTWOE8e2$aLHpn-yk44XaF8@bHe9)|ROn7*<#>d5-MO_7aqPx&6CzdqFJrn@;} zBiB1mS*u&C*typ7gX)PL{V;;>9?B{AOb)U##9%CX38$`icT+_hQu?W_?B33rPc4_; z2L3m1qolj{Bks1Pdz4*ByWf#)>XBy&wYuFM?sWH2|9B|rR{!N2rC-udBW`_?TQ_q3 z6I=f*!u`j+%l7fi>O90@yt};*^=QkA9&LFxuPp-)>aN4`W?s7KqI)o&sVwV2gb0H)VAkG>zofRW$AAowImdbrrhaT8-Mo zZM}5Vd;k*ihfo)AfB3~+5p{WJ$GehZmyh-aPc8W>%PBYZDRJcgnVY2i|B*9?@xSFx z{Kt9mo1FMh^3EuJwMouv?DuI0xz8c4anj!Haei@cURwV7#glny`R5n^aHn-Uzxc|X z*6sYFV6(d%KfjRcv9(#Q$6vsn=gYjkH~a8s_?!u%Ak|#%bFPxfjx=kI$YrM*p1IBVXgn`Qvlh zKm2jC;Ac^%4$-C(Xj3QifW+Ix=_R~{-KVm;^a=W{+rsr8Ytde&!ttxf^9vR6s*)i0^T^IEROVl)GLW(!Z#{tF^fQK2g~UEI zl-Q^84Cs_C+`bpy;l9wuwHFKUUAxbuCywK1F6<1|;xvJ9yR3=mXMx#Il5o!5B52D6 zCn(^&csPes%%F7XEtJ1}kv2}0A%&|4009YddD?;n3aJavt9an5#74JUziul=guvvSNNV3jglg!r#abqBjNy(@s)WRtGd* zPHqflNYx~+S@(P^diyFX8>B!UrI$P^=83aBm>N+c6yNzplwpLQ6!SNa2K;*f`=v~0 z8L9XX_KRF{IMe@-yh7W`&)_-kHP^kb9gj%vK+)^u7X)t_&^99SOkCGWwhAAmpQon2 z*cxr*K1w|d2Zun~KnJehp_3?#=k>$ncp6{(=K3cE9M;^IOH7qjg>{@#%F?cZjn3laVsiZ%bKkv@T$l zH|Gf*MgAT|FYay=09$E|ioJn6D2@F2HO?=vo^Q7bKPsQYidFx1Yn7gplM$!dHlb(X z&>!9qvfR^P|EOVZ+*io)?zc_aJ?2!(^{?CfLjPL7rLnhnYO#-{EL6UY^DpcjYEQUt zyZI{9Q`^;4$_u*h#86j6o;Q!)#@9xJ;);Wi(K@hr(XR5<$5c5C_sWA~H-xPvxJu$& z^NN+&qG)NNGLW%0wJ{5)U&uK(eVf#YNZIeSM&pPdoy|x>7D3uUsMqW>{XmTYz)Uc} zUgGU$)c7(fgqU%R8h67t?m$0aanZcE@9`Jf7=T}-&|PF)3Gm}Wm|+0d4BS2%XV@+h z@-ce(9nedF_xrD;Fo^vQ!Y{Aa403we?ShH)vhiYL0Al`Z67<*k3t-e=$!_-*m!#r< zYu)QB^u?YPH9@wqorfLC8Cx0iB`sL!ZjBt%NzU05ykBy z_1@7u|8}LgWOOI2^qsjH?sU~KyhjbA-YO6@X%*8=1e)z>&PG^$AJ4&He?%^_khsgji4}Hi5d<<(9 zuG;PqwP9a9B*?~b7pq}7>AeQuF~f<))-|7y&2av5|BX*G8R7sEdqU2ecl(?-wX{F! zZO-sjWspV+vfNDu+X)bIBJ^o5%yBaSBOip3FYvJ$ejgj< z4`JS!1$>6z2jA!e04X8J;zzmSLry%74*p`hc9Ys7;J_tlX(`%V0(3Ms5M*_k!TTA; zcC#C*H(FmqsbC=D^is%G8>nRbtC$oP=UVnaTlbb#J1r3K3$PXU{eQQ*+;<(!(g;8- zWOwHmy72Qy(F&XyzPuWbbhRcATENlncDNYl-g#UMXyRg+O*n#nd>!i4SRqEl-Cna` z4(YwNaiJgy2ZAj3=Cx#1_lNB>H#hG)_H*@y__b!WQ^`* zxbTvoo~x&vmMXN>QBMG%w6k{KJYo5ob{g_ z0Zm7(kqb$or_56ssP*9NXu)?wK=)pPw&`&Nz_~t?#R0Fj>fu}TE->;uz<9i|x!Du@ z5c%p%*p+w$4?O5}E`##3O9S`y^*@kC9sM&_l%f4UZr`*D@=eA)=rt8(rte>6#(;`5 zb`=x^2x7J%rOz+&uUDhw@TnKkr+u^s+V|r&C+AU5qy)PV< zi#rE?3%nWY3A7ienBIr$`$$vE>FBmi;HiUC^O`K~jJDuyc45Bx&eNK59T9CMq{H~adgm>tTwi`3)0d|t=&SQp!1wF0ddL#9DU{I4 zRc^gJOpI^BKB85mM*!s<)rjXC#&^}LP$%*bkUCTP7>FzP-4sm6KWe?!8}b>xRQ-rX z^_Y}?D5S^UEdt4}wo!qd>MwzV#6ChDwJ7v_o;atZ^pntH*SXy*r*nIlhGNo=*{J*5 zPw4OQa1ynq2?zyBNHggOSB~$qJebO&_Nw9(NA>7Wk23b|HWCacb%%%~P%b zHO)9~a%UyZk0B)XP*B=EI^!_rw+wZspK4>Hu1^LjCa8`@-_MF%jpb{waq4&3+_{Op z0{W%>yUZ9`F#~3ccZ%QRHTq8pc)ZxpMvv1^*yF#NHP!kN*h19)z#hffsYSdQ_8*`4 z#68n-XYet}oqgH!v5st+;pq;Od#5&4jyo4r1))X>*Ei>5z5Wd0t5&y$a{Y3?ze!u) z;LM?E>+@EF?G?Vu;y2DFl!N+-ef)MPzXScQDW73JwY-S8uL$UJ{$$vP6sPn*fpk<* zJV1ZyN&N5Qqi)cO^^|@>U#Wgf?W^pK-u;!mF<7jlUW{E_QC408b6Eee41GVBfSk0h zsm)VZV(JT+zh_vnOE7M^591c*#hn|#xJ7w!w-mrH%wY_pkL#7{6||V0)tm=%Qn0wL z7;s)>7IWHs3t|xGZ;`@6#Q9SU=K+DUR{&?#;!HK4vNUEvuR9(6r_4AYM@Ky==zX9d zUT<#{gmc`>Z%)qSdSV@PXjz9cysSeVR@R{%RMzf^m8JEQRc`l{`=Tj^yjLRMzj|ny zea-N)jOClWfYAZ^{Rsz5&vmd4KHE4Ackfyiw6_y>>-N=5zZ}INb?>Mnoq=fJ6=_7pUZbH~~YVh5+v3F=SBjR=iO00_F4u@xqfsJa=7PZ&%lK z*A=f_S6A2L>&dRJXa4Wi(cLo%>h5p<`U%tZ>Uvf6s_NCNSMN2kb3<&^RM=kvDdR+x z1i%`5{Z!ZkAbiDCyzx!PLQQ%gPw%{GL^PuR(22jWC*03!f}OL1oi82@PgdZ>qQ9pK zjK-fB#r;%Bv<03KeTN%=613rWzBuNWX=6kmLY=?n(};d^Zdm|mEBHzk?hi|ugqMmv zfa7;T1H%va)`hT__x2H{_dZ6*crT>hUBtYLxSS%YY=G7MEBC%n`rQ7-MO-Gm*g8wC zC&}2zXj`QdO~yw=mn8HiqfXv;U|H#l_!&J4`!vXehiHL{xJ4qVeI#X zvER=f`&=>h=R;bwosnEUCYoHcKO6g`f9$m_Z0u`s?3Jl7f^;g->guu4YOR3%iZi2* zXGWb#j%rwGWjY^k^soivy$;G>zdsvqwnxHvFAV1C$+i14D#AX*F=t-53>E6Y@YN!G z#Z(+2qybIO(>ho0gR5aD{sIl`!1JXp#y?pFBd+lgXBq?(_z1J|W6IRJfO7|os|Mq$ z!?*@^&cJb9D91J6dIA$3z;IlX#5o7$p5w)sF7@3nJ&`e{-}f8S=d#9hUl`NZ*Pnd-BKNHYjNuOr-1h+)vcUqA4Sc>m`iUy)aL|N4dV$J*|hW z`IPM!g&AkZ*ffJg)YpScVnfg zdl$`a^I-m<(*V_s++cMO?cPC?pw+igvfG$ja)16^W{DWn zVZJe4u!5iWd#&6i+tuUdeSNHqi{&?QOJ1Izu@hHt{{W>ZYjCltmUlyd#gYsxP(zc; zI0n0KS)>PyM?tzn{(gfV3b>dWmlq&dIuVQE_v1F=M%)ic_ znkeC4XTn#6@)u}>*F^P(#5x7V!Ta*|17z@->XRF!t(*qd8HTPf>T2T6Tn+3wwLyYJ3u_jkT_ z_s#I^pEA9;i-n(;e(jd`S_qYQX6zfz(uO8)F$#RTy?bBGZNvBP4_Vfa_lvCMCsJYk zy1)LA(CQg?G523#s-}r+gho)?LuYie5bLLHMHOV69V684sy#5;Ygw?5g=t4^9pJm6 zy*DMswn;Pw!))?)Y-T!#X^TEF{sIi7YMt_gmhobbuUcPt+bM2SP84*7PNl24zn3n;*{|(T-B68>PHHt z=Acw!9*x(wna$yp@fln1QpPVSw}#wS5oekvL2;fx{bF&S0n}C>i>M7wDsdcL7!Q*v zkTYfdg2Fyb3#qhGvhHF|%c5jzD%~pJ1p9YYy$P#a8E|{JTIZ4WLl2BrtN7ZXb{h6r z3CzbrB|_?^;aeAZ$N9v?LhlI5<9Y&K8w*%@Nj8sB23pU`(G-af()nAEe>^+i>;=6s z33`L$V*oxDYJ3rX4?SWOd&g?csVF9G#ZBRJ#l$$_E3D+9Z?Tg(qvQNo9wiPUeJ67}mn zjd$UR4EQ7$UK{o6Ce>add}kO9QGDf=GDb9Uy*XW!!Qbe+dgpscU&GSZy6NTnrCB1q zN!snkC~D@l+4WKEi8gCW^d6%Sc2T4eiRWAw&-x7fyDyP`Ii^MneZC)#x`fkon^hMr zp`{JLL(@qxYVFp6QU6={kjQiFC7g!LAg7&Tpq()=A{RJmOIx(@|*Ep}TNNqvRf-VZSMDdMC z(DnKEfLY1jn<-3}<4VBgRAx`c4CC5_y*U~%z&luD6xT{=)Vl+KXAtmQI-Zy#%jd;& zN7A`$wZ~V{FpB~vaK)$6?qE33wR1+)EcJ&E0?zJyv_oYSVu^YQkaOGY+2MOfRtGfF zb^nYgKtg`VL2%;Q9&W#HMzkHi&79tjlBOpw=-fFynuNcUQQm|av^ALa!GoghP-AsK z2fpTjrsvdlsE>zgAOw97;I)r}?SNCnrz)kNp_@n|UkV@RzN`A+68WyGC0gX$Lp}lc zbnK@u%4n_LYdu?0OFAnLi6$!%A4Y$`r|biJ+*vw@?Zsfdu|{ntv7~{mOCEO3 zQOs?Ao{VFDy9sRu@chMa^2QR{E1|C_zH#e?61Q{ z#(a8ijhAwsrQN{v_}&@QbY$qzwGNnO?nuk0Khbe1=fAqj503J>p?B;5GE4A7qDe(gEcEpvt_v$K-cF5aGKl|tc()s0$>R6Tihsb3kF)r(S@FMh=r3IA-4ozRb7r(tX^VEMv!b0^Yt*C1zq|C|>P2rZ4tJKU5pxrx~=Hm0(3Zz`5(Qh=YF z(!@Q6f7X|@+M^;2Tud8eem?KDrZ>fXdVpB2)B{w6epBQ!uE#Wt?qp}A zWEAz=%g9bx^$%=9o0Z8ZLbK0C>|HX`m=gLSqE6;d5VfG7y?Dm9*ctlXFuv;xikFZ3 zT*hrex~C`#?N>@--b=p6)rI0E-|jMg;ym%7pZAh4&-aec?-wL-8P_+(KH)k`^-a|0 zhvMMNxE#5fofMe#XOH^5c;c^xzIQ$&uKk1gm+^Jh)D~&UXtJ$6ik=$r7d7M%!x}uB zDbP}N-8g*P8Yi7eqzROW`_th)tj&A_2t8xp>&rZrhnG@Jcqz_b{W^AtnNFO4goK{Z z3c%}J=BEJ9T>Vh#IG)svZvY6?66Ie7ie4 znj~{kZ?Y-VR=`Vc8FQeFi>CSC=Dl&5@E2{(f!rNYlcuaERm1hKhH2ipjO*axTA{+% z`|8}-VX!yf52xv-rWomrbwuY@9Tx4JFc)TfTazl*YvlRA5p`p(-o(r%rIPy%MVNNE zIM;U1jdJb5?_qse(w?@aR`B)ZP~ej=c8PIF6Q=8ma^G~%=a@yk)^b=+IsumK?i8!R z1AtLWQ#U|6qnJ85uQQ6?)DB&6SoDOzh0t>6Wl!&S@a00+l_ssZd}pw*t{GUD)fMHo zEV`gg7feGhl~A75DWIJIUBRH8QNP`Sip%%3t{xHf`(E7laxN$CAx8?_AA*%E$yTx> zqXCRgBlp(9|` zn=@@DJEcq&;Z6wSESZoIj**v zhI-2AgJGnMc^BY}nn`&ruZ-fUoabRR*G92E?Sh_LJ%o2S*TtO;JCEJ_g z#@)?^F4jv)aL9YdqnH?#>MO`}%aX~F&9?#Z4%2&QK z23Yxyi1K{6@?k#b@0ly#T(H3tMUmj115Tu2cAnBV=X0zmo4uF20=e^TV}d zE%c$n?T9F>uiJe44UVEMMzI7Xh=0UCq{a);9!&*E!YFox`Ho3xPBbiTO zl!QOcTGrPM?pv5Gmveh0{~4}(5kYk>7QO914-3R$KZZl4i^CKDH4cYn;Be=EfrET= z_txdvzNI+t_ul21yx&p4`}F|tw*Yv*g+AWzo699H*PX%R^||nQ8E|c-g!g2?b6oiR z40wSHUyuPWcHs*%;6q&aQ3B586~kA`_dwlI|2v@y7d|foKGuczWWdL}@c9|=DK30L z2E5UQFU)|qxbUN*e)}ME0Dh2bFa69Q*D+4oM@2oqDWAH!#!0)!2mjIspYMZz4zg)ZM>hrF<8-IGReF)kNb`_OG!r?i2C; zo+%AN}VFcn9sxm>0z^Je>g_ zy2`cxkpUm!!jI3Kziv4vFnA7og+R!JRs5{dO;!%?jm-pJ3%v!O8SOMrjdm8F9qk-+ zdbG1-S+ukCtZ2vJGoqbCPK)w;hak(}wThqlek^}i$(hlPQph{_w2ZpX{26s)-pW{{-+^g4q9xrlZAk1_SS(; zu4wVjg0#zgW#mHml&Hu7DW*FXgQTo!&P>ui^Gx7nMgrultUM>nJQVX748rpyp-stI zr?Zzy{MG&;qwy?24QC5abr7U?K9+AQUtT3`2b>q}QkKK6d4ANh`Nz*7e_O@x9oiGi z0iUtJb)E-joeQJMTKFx3-@5alzUy!`Qj+!feSH%`KM9EF>_`6x4H^2a6CHLyzH8C#CdBZ|?yyyyXo~peIFnPC$ve!ZHhm&G36 zfB42`Hqwdfnkz?Tmx8&lJ-Y~{EYA8nlT3K)z=SKfuVlYHi)mNL_p^6LJCu8(o-cWR z2Al=)SM&G%Ba*#$LyfOD@mGcKvfn6qKiszDo@nxT9>>PT_<;SUVjG$*wXOG_==j8G zWKX$M#%;~;9jFd0f?2w?F#!E##;dFzM*mwH1A;G48;`W|yu0g}rAp%?W@mX9(;)l4 zm0O;i4rhX2D5fz`PP~WWmQ<@C)lvo1Oxt6cvMh{0N~b=1q|M6;uf#(XjC%JH^W$b z^3bi(w&b>GI`)sIdWv$3_nYD@rc8Z4j4{2jT}_8-DXXt3E@V>t{PRc{xdFmP@sU9T0&9)J;{R*!4kc@4I7QEGu5|Wi1 z&aHyH$9|J>4&(j(0dIBe&Svg|k=OaKTj!2`{raTauREgBHVB5F2ly<;|44nGWbF>9 z>76ES*|CA57R?v+e2u%g(a4N9eY=SRTva5{aD?r5%>1qf!##Ngrw} z4APc(I*Rud;|$ob5>G{$bhGX$z_N_5fyQp;gQi<8g1z)a%6ie*(dbD&)7FS)L*#u4 z`c!SM#o66#Wc2CKD`lTPld&%`KUr7ux22}aUMvIl5jt%qmwpwhUTa>TEafZD0Dca~ zPsmgvN?)V=PPQePwYUDQO(u9w!sI)D?DL0{vyyC8GT691!Qzs&7(cq1+Y^dIo1FW- zHdVWAdN%6koAJN8E4@8HXOdk)X82$^LU*GRV9ji=dKPMW4z)mmO805D1;lCQ^8on< zo89Uah?pTP#=Eu4gqw=E%VV&;n)$sZ`X_n{c==aUl2LvqO^R@Yg-eysNGkEHO5-Re zl=uavgUo`X_`HgnA$yyscy_;mrS;^CId)Rdj+mR{lt1{vu{oXhO5jH4oMVk%Zthip%QJkmq%jvS{ z1xn&I`DsATRs3(eZ%kzyA936GyxYcHcEd}^GZ1$z()vG>GoN=`i7miZjSpQ+IGpt$ z^|;ZD)Kjk!!@zwVQ*0X$kJB1|(ue_Yq zvb?YQ&FA9P{pa&AA1o+nc;D6B=6KTjip^)0)paoTH-j9)FmYd%5@xxK#mrza+#>Yy zkwz9A?;{Y3HYy~(2^Zgg_nVK0td{ff-%v(VzxgQ7{mIq+{lHEZ;AhPGkG}@idM72sx6asKtdhjZfwXyC+kA>ZWmO1-E;m5&kv^?;4BP8q8%Cw?Ms5 zbKcwZG)138d!$n^cbpWW&3y;8x)!MwR@!(L@7>6l;AZB1A+MJN1k&e zY(Igx3y64^3*V=cbnKYsg`qHY{xojXsnS;&HS5P$9`8#R^wRw%5_-AI`Pxl6e|)7e zaLU^wp;?eJZTuNIb=WTs893d#NT|&#Q7zVTNxXg!Wu6@gJ;2J`)ym)dpzq&#U1*iN zf?`i6N29%sRA1V7LDY&C^?SO~*0Iec5Jo?pqSr#sIX$$(N?F}bDWUdga%i9QqgBRy zAQASK`63_92L{7?D!}TBibTkh~2ildSnRFzi;6Ft} z{~$gZ%J=CN)vOV^U`jRmu7X~yaBYDACDG=j;AfN?t-!TzggvObcFmnHxDVll4&D_V z;UpR6Dzn5qc^FzoGnn^_BOxAbPsl!K_4UCqq7P);+%@9exRH+aHrqlcSVfrM#!Hhr>x!BtFVqQ(if2t7MnFJT`Q!U2I+#cJ=iRf z*Lk}pXu=4Ouu{gbkpW?IWiQ82s`Z!qQpRD9PMjC3_22iUtS)CfwDxfP*XRUzMy|3{ zBH|cv=RvPM>tuTfYfr3zc(xTcuaWYRkyeM|Se@!9%g={mU){5YzZXo_j7ExUvOW8Gr}fqn?K%4_CWdt;{n@?n(Iie7F@#5;g~XI zT-@yU+wr$O;Q5}5XC2^K5985bd3!h?k1y8nd+D}Vy_Kx2v!vu@oPm7TCIRL)#7|{+@r_n;UL%yaR`8h1 z1*hC%VO+|%r3T?BLRA5}&ylK#fylj5PTJFl5jM2^~lIIw; z*5fav4gg<3puhgawc;*B6*nQPgEuV=+}q6G;&2{w`dY4&=E;0J%?_)xc&^ns=m@K$ zpg0@DK>!*Q`l-YvM?&n`l1Rg#hca zlC?*|oH@c0J0iP5=dxAcNFk5s<-wDbX5NT%DQ6iuQBT%(SlvqF@MQg5t2a>#Grco$ z7?h5+90rv41WHRGl(L?25>nIcIo#8^3~=dM`R<_8s>Xh=?6lhAhg-?mVHU2+CRvi$ z-fRa_#?EF=O;~EZ(=9ktd~+&kc-7kecO%S?t%O?}9cibY`LLDn*d_<%Cz@DOZGi(_{> z+$Nr@U$+OGp4$UXFK6K-{gnT0E%$?4qLYNFrLE_hPk>tS_dL|yiM`l7K}#9WHwO?) z<9GOro{%bLk#G=yXOeIzWxUXgJX5!J&M>siiMr_*#3zmd%ts;SOGDmzpska(0V^ul z&85|;`~p^mqb$!pVaYoA&P~_Tu|GA-w@-4ft61mlgAmK^(DH;{)&A?aT>(?84x@Ft zl8P`1>yvfhQ?wh0Mf8traDPey?FDrh=L+VT6u+&#DsF)FI06uvYgoY4mm~&N9I_C# zsylM4)sOn@@#B;4_f1n&ty&pE%IK%zlrgdbUl8^t{?NQ?=Mt;9VjpH-z{KBRaj1-> z4jWowEJeEt&f9ViI%b{liI7+bln#G&M_I}GUs&nbZ(301j^*6i?8`u?pctoj>(2v_vWYIF*Bu>%-IcTc20}C_IZ;%Sk3{?z$as-IRh!G zgQc+gU9|!K`{0q}e4Ynom*-YJpI8BBnUi6+oa!jFz)N=^+CLOJtm~w`$zv?^hhzyk z8{)fm9k*?sv=&+TPJ%ElD8=Xqxu6cnkr{WKFYY+2j8y1Jdy&-}TUcQzoz^js`dBMz zFScqZzE7FrU~S2=#TM6(#s6+z$Ni(=sW3;J=k8p`^(D}+Tgup25x^dSU-YK?RJ^0^ zXy6o%hL!xgdhDyV`s1wq6h)n+3?&F}t4~>DAv{G1z>ItgR?9*ce%3gilE(}p&TeWr zpUbuX$#ve^9}wrw7kv21bg!@T-!*X9+rD)2UDpTe$$DjWGoFmu)EolFY|ELjfv79zLD>(uFt|z7wIolc2t(R<^u$&Uz`YJ<;;p%|3iRx6_!cJrU|V z5vbxM*x^ph>VexhezAWw#~DZXWi#%kC&F&JJKR=x66As!6aQ#N8`uRcet#)Pt(Uyc z$*`K9VrAbGq}Ov_c*)qwQ0J%p`XO0)3UE<8&fgE&_X4M`mo#!}zqX&}w*6F#zf|xo^vJ=qu}m{Zlxz*0$84oq70e!&NKR&{7O*S6z#m$xCRo5qINy z-OopS=;HHn20mZ7_vB2ORMz~B9uz&jk&awy<|zw=@BOvRd7MyM&{ zkQR;c5C`KgDN#6HHuNu@y*T!{lMMLpM(hoerf&tBzRk*(d+obH_{*|xv$(tqIZ6zr zjPav0*NO=ndNL-j1GK&(8PU#}1ql zhQXZO!Z1o(?J!H*6L&B^G?}>F%8>a%*sK+@zOONl$2E&mmHv99SR&@cd@+J=+NB=u zi5vL3&-nxNJ+{sA-&LQvL9YATE#5|MZ|?jJp1rv_E!^H*P~2Huv4NkFOoDIk_?^uk z$|7|6C@CN4EZ<>uR&0enkBwG^j;Q<=KC@}3y&X;pFSV+|wjScH!wmioW>0gArJ_A< z41XW)O|-UHvs2bc$nU(wIQIZGJ z{CY-DxaqfNq<_|h@34w|d*kmn$aQaLzrFF*4f3t>PFTwpw|HwR5BJ|2v*DS0<4!BP zB>&!+wo)ybItX8H=&ys2bCsMs_rYFuf4}`;&{c9jxDRSt*uwV%ug12@`(Z!eaeO~G zzJ>1x8`ypz>lyCW^8nQIV81=Vxk~ou1D5{|e*dfb-@!iswe_~_`40X8D|zSxR$KBx z;E>ZT{0@FeOPs}&sY))!^u~Hx@DBdsmjCS?e9KjG{2%Jqmxo;?@8BPT798ELFO!uV z&ToQyTlgJ3hh_F{=3YC`t@Gi2{d$bsuMe|+%@?{QO8|Zo&XEP?5K}M9<-MCrlD~Nv z>N|nq1O@5XQhq~obN|>-|5$IF($;af0aZNy?`9*{@5H(S{&H!V4&?@{F4U*QatSN^%$msQ|9mu|euJD09%v4ziMzCUieirbMZBNNCl8qDpDY1E<-+M1V&#i*g;txX+# z@5gK+6uD*o{wit9L2^9l*p*pjzxpF(kM))9h_YqAPk&~w+`h_+V^l4 zThnq7@Hw65y=Eoh4_EW^U~Ja4gz&7XL4Ioxtz{PWbz+a0tW^;XEk!8g+hs*GsL>jR zVfJ?2u9~bJKsa=`Nc9Gk{)Sbp!A=UlIF9(XXtEZEbh+gbedT0+u1^_jq2>agEjX;f zt}wOn$>;kTh@vHz@3I7q2a!6KGK+`K=a@ryyVFtQAxW@S=ZP}yM7>*Y8QvWzAD+D6 z4Xbxf!Z~kY=XtMK-CAI{Y=2a{Q13kNb-)t-&VPkTu95^pD7iY1IQJ3v%v*gmmjkt1 zuUh=(09ruTjFY=+(t6Fpd%$_X8!R>=KndMM9fm&NQnBk=6pFU*q|B=RYR->gyCr{w z@I$T^w!n>#(f%5oo4+46&d^yp#rLMF{c8T!ezCP5vGG+awCH+RrBHkHRakk}yZa5V zZ{F4N-Vfs!8!~H(d)_T{L>U{!yJb6o-WYaS)pRiX#W6%F@5FiN&paAs zFqq5p*v|Ox5Ynqf&CgS@8(NAP-m34+bMe)3?|BpUp1<_t57%BTeMG)#wb_4xlDD?_ z^%HKmTCT4jL*A%Ee10{yTrKP<#Vp5Glg7tDFTZNxYvM;vjQD*(-hVZ}e_kB3ow$~? zFzv%F(ocZq)9Cc}lPBD|KY_X{9eJP4=KIzBE^Bct&dU45EiY-~_pe*HlzNoIcND+Y zC{N8X^?MwaJ~!UFn(O#3PKrb1eNqepPoO)71mOauD3)@|B)$XdyhhGJLbKsBKz1D~9 z#OK`$PW9)H-4Ca%pO-%<#%7K`f8qhBe&Nr{FL{C`*GQfqX#3x$oP3ScRS(&Ie^_T- zBW2xstKYxN@@vF>AoT6OVWlu(=6nyoWn`sZMtk&LqX5RDH}+2_MmsITUTi( z?3{bS8K~0=*h%>7ru)K5GK~3MiIPk8PAe$jF(3RYfa?sNvfg2}41#iUSveYq8^c?< z#h*fmdASAUn1NA7hTq$(uMs}e?LylsGINJ42pThKvRi}F z3-BIWnW7W{opy8=*vW3gK5ay?zLL`769Rn>uAm>a1cZGcUdFGl;kqACMlWKxH!Fj` zMsDxTxAEOsTW`posC?aL1~?=nAR1{~8nQdmP*bmAuhIfac3nYsu9IzhQ{W5hcnjB~ z9fWJMl?T0}*(UVcVDzA7<=Xr`XRf`(c(sMNwwai%r)z}#sgk!C=h6jrD+yKFD-|2{ z8QLrJ>>7%zMx0DUt$#>qnpn2Yb6JDf{Un1c9Pa#6>h*np4ZlM$)np=IUob0K$9n}O zrT0MIvQ|6?t2TNgZ%^dgHTWJc;r1M9tA(C1@)!*L1KX`=F@UyKv2!xgh7A2|YEi2_9 zNa=j!?RUejmo zO0b8B-YFqwQP-?|8&jBN*j}K02vEx9@_J| zjS{Wb3PU@P>U84#u0NK)?ek-Yx%Y$IljwbYXVGVBd#xPEjlLrZ<$8$i;(c$I&(_LC z*9xD3MeSCOjed~2>>Rc}q^!4r+PiED>+};&+{gE=y_WCS?FQ!18NZjqQrQ{&-o|U? zo{3nNwEAUcw_Gb_N`-cT51)Ik<#r@Y+EuRD?UrKKh`E+B3R?;L!VxZIH(XsdU&~U) z5D_QWG|euf2CVw8uvH&ZJ0Hk89vAbnt6YT|RGWE!ggpjjYF{{3 z9^K|Ie7yF&=C&u-_WJ{WNAxdW19Avj8{_>kg!Kpi#+EtXC}N&}dacyCL9f4*`1|L} zYdOz|_O0@4w13Uka~oC`74NJDb6t=aw+F(nSTA_}(&lo^F0&zSA4K-a&6HTVWKssRMieE%22`J8K66FR+g<9D(p? zHyowF8`SP)7x?^^%@BQ%vG86s_|jsmOzD>a zOL|xaY0=O5B$a6>WZ~JNF7#o^-&OJcSnblpP(~9-gOrW=P}{%%UwfUjIi8I9F-XSt zvJo?jjM3Oz2MBl5^I;4QW+xUNUM|AUzcDxWYsh2HlQAFh@VPSl4qvY*(`Vs6+$~=} z?#LdWq5;R}Z`tGH+5r)LD`~vL7-<)i9q>C0C^yO|SJL>OWLiPv1Eob@6?mq77t)@H zXV)Oq{u%P|*E>Oql%B(Go@Wn79k%l-&=Mt5dgn6RPQqU*HncSqEG9FdU#->bd$y@WzOWuTlRAm@mToFm+v{&hZly}UPu_840n>2Fl- z`-Kp{1Zk+jEXOlS+su*nxB$}YxCyWW&a@!cOK`YkUqB-X_$s$Kos9{gwq3{Uk+$=J zj5pl)1kf}q&B|f9le0zu{31xfps`>^>CkiZLP=+@V2Zf)r@qYkld~#B2|WEpGW{bw ze1Qz#=k2Sw9wSfL=v$}9U+>LJ;B9T}ncE$2ULth@4AwT9VcY7E>jl3>N86psD7#a2 z>@IB|J6m=<=X%b^w#7!sH9HRBRkUDX~o1 z79S1NHw9qOvn-to=~R)9+vDeVU<&vz8PvnAl>rTW;Kya14!xv5&cZ+)w$&;Ud{lGq;FTbA4iZa_!;My2mEAp9S5!v7N zbRMtCDo>{0c)heqxW6sm-ZOqlz>wWWVsrBB~pbw<6 zY@Dp3RRNUYMwDi!Hx{H8(;m`Le^=Srg&t)`u=f=5y!QL+xejx+mgB3lhS`7F6pX0R z{kS$f=3kslTThZUro*~$UwJDESD)o$2zYj2@LTOS-0lb1AAPzxq&jaDy9vLD z`RuU?dNV*NB6^@fJ?S9)a?b_`%^lFQ!ON}7nWa#`D*$)}f7^<9EhR;|7@eA+)_OeE0>p{ryN_sN&k*hu?dBHu!sE;ri9O zsYow5^`u81Ns0ptNGfq7?V1qQt9A6NgC1}q`lcZF*ziQF^w?n3Yrb|xf}=?PHr7@w zgmL(l@Us()i(I;M8G3<`Wj^YbIdTtPAf{HJFM$HcTdn-H4@*;s^P0bm$K5g}{74zj zZ~S>4`&oHpy*J8wulq0RJuhF!TOnS;C>=_GG3P##cnKHC5<*%2j)I&jocI3oT7&V? zOQv5~vxaf6dm*UOM!5hbt1LWMy z@^B4vKv_SNze|yGv)$>n0@M)p%{voM#JhoWRA4oQJSgg!PqWldsV^Pq;uMGaUV?pd1qR7pVvj1UneD)j7UVN$%y1)BXcnJG~{lMT~p$L7aB^4XPV%@%QZGxTE(8Jz^enk5B zM=kURjGlI#?S%h6{iTiGo2G`=%r{MMdU1*RR{o|* z>NI_{k)Qd{=alTz(%jx;d27t}_z7MP-6VZJvvOj7n>dA=IDPDCPTY_+FXy;(;*(LV zm$e98F_+H{v2T7Pd9ab2xLs1b(MAt^!h?}ASt%4;*v6Th3-frm0`{`gbkkN@0Vubz z6?KZyCa17B#k|XvGfycx<9+z+;c_-ogR&`?qF#~niaamR+T_vcq*g`s^UqzIviWDu zL(K#D8pcDlwDPwxmoq9B;Ve5?5qhAKZ3Al&In2f!J@ha;JN4vI{ZqH^G4+hm{Zr50 zW9mca_D|ip$J7Or`={>MW9nOH_fI_+_g@ar_B6O(N)| z|0eIvo_q=4jiIfh!-=O~af|FbBSH^3(Ca%@$j(D6dyw`ps*N+r*r`2e1uGEUOlu=wCWS$<_ zug=dgGvFMz6>EmE(&Qtvs<`uBq92Dp66dBvZx+^xGMm z-5Lw!Y0e+fOW9>1?xk#7yYx~v;m5p`y-k=7Q?c;#IiBIKGW;(E{Bx;`zgi>w52A$9 z)3Ti0P|bXmbQ9dWdNjTQ;adQ1S307VTfD5<}I6M{FtwFo>t*qTicHSc5WQcV|&_AyD z#xgbb3SmWSJ+#SLYnJzKQCzgBvtNteFaKY($XREO>tE}oeZ1D${c62?#Q&n!(WI-- z-(TC@{+jT!`)f4$;RnL>=b4>)<^7^r9~XTd2MJ4){|E4=aHq>3mva)G z*HA?A3b6i<$w~D2RujE;LY*IzynL)PA5M&AL0F9-bx#3bjSAcxnDSCDWj?MnuRuB5 zT8l|uaU_475(2sgzOCU!63(yAFC=FE3ACx9n1l;<6%_Qb*x2lb7Yp)=%kqxR!Emn? zYs4L@8vaEc*SR?c^`bu#}7v;bD++Ygrh1tRoM z!*OlXT)zRxSECjoA^h~1!?^1?PRgo6o*GUL8e6k>J9x%16qK9;m;Jg&Pq%I!*zU=l zoBeiAe%b1`dvgC~&kn_rt(kUDp4jZSd(z#SZTI8_U*7K4OuHwqZ~iH}C*7@{-IJ&P zXLe7%**uWllc)D!_hi2Pzp#68?ukhI|6uoIVe3G4 zPv+bIiQSW~n=)u7!|us1y|~!?)=ax6$KSLkyC(};J-a7Q|4;0mTyoQ%?VddS|Fhkb zO};)@(3)xYJsBkIo^Wp{ zn16Y`$v zdl45QU%}b(m<;_+_2%q#kDo0<0H4G1Jd($`;$GF`iYqg?-iuptjeV$-cwC9#l+{gM9OitTBV>CcZx(v2rDaMx^ul(kz{zPe=`62=dH71O*SPlp z*s((SP}>^^EMs%xtpmDZwysaXReWD<&TgY5sIT4F3Jy0o^Rc3kNW-E7nT~ zl(W8h_5kdoA{F>(7241Eqhz(@kC?Y#ePEu*`5h6yH~E~K=(}?|^k$dttrJBn<=u4G z&HRi|qvWzakIO)|cz7`B-`^S5Xp9$yUZaZhLw&Wc2dE4A zA)fyaeN4K;Pk7?o-b0VEv*aC$^Duw&g>-lV;Cl$-i?0YN;H&6F?)zynW)flEb&s{n z=$pY_t9H^XeA#L&Y2`16W=}$@=~1-7DeD;aoi?s+MHyJy*nq#PsihJ}OtR}?7R6K6 zag#We&6$K$R-)i5!+8SMjxfOYSim<1-_CF3TC(b9Pxf`PtN+C3;Wan&w~*W~6!!O7 z2~NEQtUYY6CTAwN9iST3fmAzHX$vT#95>zVbn7fN zl_;N-D0Y4yAz$Ln4)XyB>)OrSmZTX@8F$cJ5)P(}Tk$v4lj8vHo9P8PaPA?80ayAU zwa6e^S62t8gZZe32q)Mw?O2kXv-dDV*?el5ejMbnltyySlP2`_ZVI$N_t*4>ErWts zM#}mpLJob3&OE9tcr@t=)j|3^i*zf#Ec@bysomJ0ZET8eJr=kT;~Rx1_sTtrcZ>U_hmY&b408MxFAh|9S?To&#TmyiByT;$qwy1=EH#(|O# z9*LYDzvJEq!nDf^ml3|J%Wwq#pY2O;V!SUs&Yz>F%W!qZojLD^i*Dg})oJ5&_JSsD z{CYpyk3u#c^7AQ#_c69HhY;6C$~D>bSdZ*C>wj2}q{I7f;co}i#&Wib<0ul>cRO$M zZ~C?Q(E-~0#D9&8)SdfdHZIort(L$=_RHV<^~;k3^vi#bi)=Hwbu2-DMOH0PIMqp1 ztIR3V(#9M6A&olU`fE$g`B}AT&Rg7fs_MIglWWo5w+?LIsa(Lh#T(BC!hRASn^Ga) z=3@HEZhEdUA>q?qcx?u}&4o8+zz=uf(<=P7I)9mkXTIpK;{bj-TlbOwzJr9rHDR4Z zV2LXV7l#c}zIp%LksA7WHFF~2D~6_xIgMeG2j7d!Q&ytk4w4s6S%)>=2EEwcm;=3L zk9;j0P|9!IKi3SJIz72+;RsR|uFUDRCNvyCoR{;FLq#ha;juYzLPSd$xxLn?h6l;0 zFvcyamvO(W_s1PX6@6DQME@41+MD5U;lW`oJTt6@c7=lUO*oi{a1f=I&XYt{m@T9j zsU&eSj#R-(V*;57YeNmGC3U2pG>}Fzjp<+)GP%*R;_=@W)dvM1{2lbm7;N<{bDBBc z9AOrh8}Zy3Fo-jN*`J{keMW$wHGI3=Sf7iYtT%TxLx)CaXIC>NYJ~2KzgmR8h`)M- z-i^PIBb~uh54x@YT@Awbx{cd%N*hY?)GisZh`iw zDci21W>p=m^t1swVjP^$%_8TUU5Y}{2CS@md{*5-ac_PAz$Y`FC8GUKPa88EHO5=a zL5&A36`R#KQ%jS<)6s8q+88pO-N(DJk?9KT342Xf1osN(v_?uy)%ga$kA!djH6OqJ zgOYue7Zf`yipMT1j(=R_=VLFs&EsR&v6o*(%(4;kvTGoY zQEV_0o?VeP79zzeY0`?c7RL6V-VSg&R$JrEFu(1O%rI@NdT<2L{jGM|7&;x|Lusy1tn zSZ@whJ}x>8e&o1SY#Eql_SqtI4vnjj$AvM6Xj;hlWsI-f!u2uCL8jV6PqoqOFa9=A zsunA6(TR3ghP7hgZztFmG41lAcyvdHH<4onarXUJ8G!;cqSct+9{Ru7tl;@V(N;8g9>>PcOAw zpoaN$HU6se>012N=hHR#3pLDFuC!ZN4fB;%>}x(Q()r4zyvCyW%4+^)&sWy+ugdw#8vZo^ zX6C&4%1ZWCY==YKq{Qey}2RaHo*6z&YVEJ3lZwcEvI^$YjVv9$m*I1F+ZL{yf)X9vXORle zus!L&Egy@bzlFqh0CydD6~g`_Ndq% zd`lv|<5p{M!lhT`N0g0|mc*JVv=vsyh_WHSTF*gE3(f^n_VZ`yX*l9?x7a|><0n! z`%dKd(z&zk3Vz>3EFn;6Wag+fAO{uG!q_%Gl_LB-@py3$AHMGHUFvZ!w#Hd5f z6Kc0r*}3Ar6I0_XP+&FeQGg0y$C|F{bV;m%TIw!Jsq=xS<2?3uF8juIqUPyjq-hHE zD?>V^)U6*4P^_OaU&_2~qPmg(+tIgHeEMj0K~1%E-r zeAO2rqZLnL^XUK*n+P4P^pn`UCUIKc52t%FaKgU2{C0j$_%WO!q*!70xni>#6pG=$ zP$`M3CLi~iF}$^AI@#~Zx^L)L_cpg~DaX9+c5bgRg4#Vy-WZ;+Cpji^;~Ym-;t1#$ zscGX?0r|F%OT@09v{)4vXqYp#Q_wtPOST_FFeaud7q3;~_f}7^4 zJ*IipP4o1CX%MG(Z|C+qs+9nd78}yWGc3Kh`*8KxG5r_)`t~8WZ)KWqvvC_Bje18G zZoV|~eM{aQT-Oir;j-g>8Fe5naBUl}yplVz@p`0RoqOMrjaUCPBm3dyrE%>~L7H() z_K!3%p56H9Ot+3phfLOUC{-LE`*+_iAa}g&)m5BfuOOYP)oL;EY20a^C+u?X#++-` zz3%yz@4Umi$9S|g&ajg9^Ad`%MKETw%KDn!h19{6aZjx|wuMx!^n8tLc z3A6cnu3$lJ(8pg9rMCcATHRM2CRprqz z$6;k)(y$#;5)XK38B(y?ih4+gIu8fHe8+J$MR<}3hgle{NFvq7v^-zA_hywF(dQ4K z`G9pG&dXSN(}8Z$N^;z?@IC-iRyE<-1hM=x{F;^*9m7$v|z` z42=PNl6KfFV}^9eDFfRw!_lk25~pp8I&Yrwmn?|nHT@BfL zTtHSb`C zo=)R0@8tX+!^8M9@_+&l>;X>qO$`VwRtw3vcs|?NBg*flpmfY4i!_GK2VN=@QoY?L z;BU%3^Nj2<6gKMp`|3s6V>m#X)!Ad{OCxP;-Eb#=6J`?L683r@#*tewY(gG~PNDzm zTciLFX*i$di2Y~ho!oz$sn>+?ofEV(xc5~4qNPxe1h!Y;*rJ3c5@;DIzE!>}g-AG1 z)g2&#1k?S?y26^%MVv zq?cl}EX#IBt%lu0L^O^U*EINM+AK!3Uri(I4g%;!hmnXQy-1$byi3q8)1Bw1Lp;+J z!Y+G+N52ZEUrS(#b}&5p9d*~9>Gyhe6J74UUA)^3S7*?#lvz~YC1hoDq?{1X@BJl( zGlC>&&NF*vFdqJ4n@cv3|35{@4Ff`Mm@DLlK_NGs!sLb#n%~7_9rGeeq>G;f9`eZ+ zl6MU(6Y982$`Rl6$q^sgqa3m4E>Dj5@K4AQWgnabd6KdZD$GIVII|o3z@){>wjj0` zdO}}B-nBX0?HBAL(Kn08ODvZ6$>E|;mWjSNMfAmKqK_=mCpWV`Swvp3%VY7}MdS_k zJCf}-i^ywuQc}6T625bsB>rTdt-Y(i{FB*!x{KR3G8I>|N$o3(XjT=@r+T1U`%rtq z`1(P_o@vtY^y|I`IHNXb0a{hR+x?zcAAnWX`OxlmK4B+U*LMBWcX2sM+(y3#Z=r9# zjCY>$KK`Y<#Clkp@`TRuM&oZwea&F6 z6=3l1=Jw-ja&t&o?t0*y-tO$R&TQ;tTtu0EcTR8YgT^QFQ`XsNAyiLU=isj*W8N*y ziUCgMvqs=I0{E+v+|a|zOGEFg*O5TTAo;M9oC>XXzQw!EQS2UQZSgqb@!?bN_W1CB z2tGVVysMZ7aUB>p0#673Ze5D+SwfYJ^EP2*h=N?3#~CC2OMVx?s`R1|QI`4Png>6n zD_aYuh+^rOJG<!oFUIi zGXoDGH%9? z0nnVmxHV4>ed*nDP5jokCce^dO)M088fzdunoBZ|F~jC)a|o9C2A+vIT?a6{6!~(| zo(7$U8v-=c5TrS&#Iubvmx>s*LDwKggBXp)9J&-tXPwH~MtvUz4PVaKQJOD>TFX(bUuP%tOk^rwT zmKN}pcDP#_VvQ8Bki7(0=7;Ba@KgHL?mQ~W4rQ19ACz&uJWIcJH`gaKHGFj~De8+x z9sR^)uO*afXkAXm_t1CQ{l!)T*EOAKB_S>7m?!peYh3I9c5GiFWmW@~E=pE#r97Rb ziqP3z+3&ENyFK3wpWZEO`6<;Jtb+-&a=ani(Lgjs;HXSAax=nPjTsOsBX{RCP)#w- z1_k~tZ%{S0H}QU>5lU8mZ*=d~*OG7j(?HPMY`=?T1UwGOBh*{0Bui@C&g!U)q zK@4)RXwNykWF<5ygfptF%h^#HiV8?6t1E4FqxOK?Cc7)Ek96m%;EB$9_*+{V>g&tI z^YlI82|f9PNLwt@PTE7-(d6j9|ChcVO%CDt_xiE?%iR2#^+;$&4Q|Q9dC56HR`TIq z$$Jf4^0EO+{_F=uaCD3A;c`n)W_fHQKP!L1-i)HI37#J{pYBM$Pab~4J$u~8tk1+Q zk|*Zf>5%q2oZ}&Lx;cUEW-#L(6rNJeHr&;xC>FD2VxlT5+lRTG_<8J?>z+i^o4Z`S z6ZkcKuV~?);1ngw%784vJ(XbnSP6k*HAE)H$H-Cwdn)BLw-kR}5|&YmSGqp2&MjHr zQ^}3~k^}uqK5d|qHDAfvo=RTkFIn$ja^pZHhl>=g7csfBH+wv3OqyzilYhBF&O*cy- zfh*ZpM2~ef>#*{Sj|6VyagC9{^CE74jLR_>Mgntq+=-FEwd@OdhDe}ZeCNRTbn%VS zfP=($E_}DMZ`g9xiETl$OI7K(Bj?lW-S7s}h{+Myq{iHyT;@P#^rry!)4!ck<5f^LzN+uAg^I=#qCV zR&!aO#{~aqn#F2fCZw!b&Ch@o(Xc2xxOFUcZ%U|!JC@#ez??S z<5H|}Oawn0Kz>%fx z56`g~zUW@xDs7VkoO=EIp4-oBHNTJ9Ph9vFn%^JFms_Rn^Hj!K^}|+SPu@O`*~~!6 z;x0n_4nSLT2(uLC(IwXDn$4vepZjf#=WqK@$~a@dGKT#}Wt`Qo3~c3?ZNfgI zm4?~+K?U)R3A-zB>sT^C9ZP(5>xp|Nqx5SN;cNw#` zaT{mt#xYFCzJOU1J_f?Q1a;_oja3?DqehAIg+~`hY|EqzF8w29foLn{M_Jok^XLqp zN5^fGc6!sojt)P|E#1cb{k120Jv`vM*SHd2(36hDv5cNI=)1Xz#UzE zB^pK=apxbB*3RA5UsssT>usLDCE5NfMBkJVi}o7lYlP`p@m8)AalD*PdXmr9{>E*> zo~?Bf>=|XWH+HR739ER37_Plw=8r=3FQ&7YeU$?C9c6n>Ipo`<;clHzGHrTpcgO4` zpqU`?>zq8Wjms-BF3Qfv1%wdqEi2ahYk&S&h@c&CNe@r@H>VrB5ym{+YGTRFQWHGfy0Z+_qi#_Y-?6+UH+RI;+kmR$?r05aUQN z5hY{k65~0IQDy8L(mDPD(lPOT(owyFbkv*+RQjr>vbc+YpBS8b0{cD>=yE@rtUQnO zCZ5+~c4zDolB~RhR0r~aW50dNmZ>T0B@K1dI^*XM=g%f_{_U-mFK?H7+}Z9PhcRz% z=eEg!WtULEIT^FaAy&uR%hD}Vd_8TqBIa_0`tgJL`4+7M`Egi$qO%-fx^ zsAyG~w8da-VsC53q^oK4 zU%5w~wL|zrr8VlH3<~VBFJ!b)!~COM#Og;+)t%)RF;6NN67&Htb=Fqy;CEvjci!(3 z|KSkMpg1;mMQ(e&l!d;Q7O-5BuATQ-n|I5#_PQOCKln~V{$L$@BPsmI?~pdR*8zX> zXxOTk`XPLOzRw>Ydn|0JnemV9koz#k|2FL3zu)x7S&xS;U%j9B;}TDV(MO1kE56qs z_auvx`$_e^a^Em=C9i>X)!r+8=b_bwGBO_4?0@l{*t`3_m!C=bE?~gAh5C%6bsXgs z^MU4kC(|y-NLwP(<_(y3@x7decv{>=f{=C;r1f-EWZF~i<+`0-xjLlHXXVOwz~|n} z?GJZTNTUoURW{TeE7#Ghu2oq@tLgWBW#myfPrk%#arIgcsLWC)?M-~4)gGF%9)+;; zp``H}`n3hl#>OCBWjZGXx_{lf<44mLW~9A8quqmfyR8v=obh;4H;2>769e^qY#%+Y z6`)=}i9>%%A7U>Llr}L&k0&8*YznLaUf;hzV1F76PkDd;#l8IgzFUPfS}Ccj$MG@s z0Fzmy44a@Ol8AbQld|@rF?NF4L2BskzKD9HgI=Oz%(o!s;+C+TcTMWNBj;CSr<`At zbevxse0=JNopSzc0J^Esy*HU0w|#bU8MReg%RJlS&R+{V_y&?xAcu8;ZfE!&J20!R zt9*4G?ACP^)HS_dU9E0ib#7gCP}fyZ7v!)G(mlT{n0~=d`BuHxYSn259*cI$d3dnS z?WGAmY^UVIk}zIUH-YnSXUn))JB)j#j`3wO&X}!xHt+bUf9+1`hi@b4R5ta~ZNJWK z_a+9$ zT*F;@yU2Y8t=2}P_cIZa-Z;nC?(L>PPmY6__0cZMyq}FQX`61+aY>zwQ(%ml7OL~t zw6#eeMVxO~EyQ^OYed*|^w!{gKj6b;yAOV+4}J@wK}IV9c3$LmAyLl`?Y!W4&0!~8 z?zj2w`}jIu9fDmwT?%t<2$Ptlj0=l%*ywE*e&SQcDi;!m(*o{@Xs<6huN2lAY1j6% z`}kQNZA2oSE6k#8L5S9K+3UVgFY|?R|5(yRQ6Fn0Noss76oOX5pN8?s3q%8rdQAZB z{T0HwWejkM7}rz*ymKfT>Y^dCj~|v3&FP|On<#B9*Fz*PkA25h=<7*dki##~0sBZX zF#MiJ;Obxr!yrT*q9~(*!q@1==)6HE(B+U2_4(km6vR9=c?Xi3;1p65nS`&acUF&% zljO=$8Y+XfmX(pR5x3@?Kre)(d4TT-g1wX=WfcfrC7=}oYQlFJ)H#BLlnTZ@71r#M0K%A@7AdUZMQB9RL6(2xPW5(Eej0iRMh zgJMa&u`azZR94I}DJEqlwdzuOYHKvcLKN@M0`I$LPhfXArgWET=0xwDpZJ;s6ov0nh#LYm?Nv-d!=T;6b4kc5f%=V5DXHE& zOw2)}$s<3c44t*hS#83czwd_}wqpT*{J>apDXtT>eLqI&%+x@Pq;<+BHvR>-~9w1(bBFN#%<&A(K zAmsO6RaZ}UCINo?`TjotKYS+L{i^EKtEyM8URAw%)t{zz1=kbjzFwo_#DBfZmC_T|;yDT)!j)8ou zGv8CS)Rf90MNiNJa^M*vF$tt-T{jY!y1_Tzjs6NT<#I^#cs1WIf%zh&(Q}bQddsQs zr4Y`f?i(yzZW;bGgok(IIOkz9^op1H+Coz6)XT^2`aYMc4eCtwcKWdT;xz9#5BmL3 zdwU&gL^r(5*A|$iFO0rXDFf2$UcR@V<6|~4zb3T+gW#QxJl%p;)3r}amtmz-EdArI zm$~0~?(5r1i@SMRM=pc4?snP^R$9?6OJC+|PcVAR_1d+$gh_7hUnLjXVk1z|4*F3Z zlMNXRVpe?yJ?{<=w;D8ueg-wLDA!>3s|ep>@4js9%jDKqEb*9^W|F8E;x=@m>}FDU zvUD&b3qgOq*JDO7=R9C7W`;;7_ zz9@M$qV80Go94gRY8}7Di(C)TUg5qHl3G))$|Su^a?}Ee*8qBmdk!tAs7}hXPVCNg z5AzQ?Gxv1n*Air>>}PQ9L12FFP?_0~f2;OJpKYQJCP6-x>`u^B?V6QPqs)sSuVqoQ zogjqQBYp+h$ja(se23O*3a}s)TLJGu5AQU`TQxhrQ+nO)!krS{-iu!0_P6G=&q%qq z5A)$z1`@-Zwvm;n11n*%AH%J0%X|9F+#-_c$@f6%Jz2n09eh|T(Ew1>^eTE>@(fT| z&-#p|g*x=&`p`!rbhwN=En{em7-O>&4!qG>6r@%(y#)=?{{1 zTTU`^UQhJ&F4hgoUgh&PY-x@&6-Ue&N4{$5Pcp9gbYN%ZZppUlDEWvjrU#aw93n+M7 zye|M6C$Hlk{LJxo@!ekv|CVi^uY2)TUguFyH%2Sta=9$hLGU=tD=`no*DOD?isQ+Z z7{xnz*-_Wq`>O3bG^c*#^)O$`k;L5tM_&~_2kS>%4>J(H55Uu9zUEFRRpm%xFQLMCeFWNlH<;CIg5O6ZrhQ0ijOXCF7M}lv=cn*|5uO|1xeT7`S&i1f6K|q~RK~yf zQ+k1634bB@uJ3Ey_v!@tHt<~^V$~w^FHk@``h(Kq!g}KiHolp~8%a64V}$FBlq3M+ z{Q3-UaVI#cP{y_RHj?DXsr9?FU$gGbG~VHPkWT&}{k{OlPz`imTzy+j5`~|T97&`Z z^BP}YNR6v{Lk)$IRpukB1aW;<+$&$>w!ZNRt4TS#J8^K3nU7E4@0DP67$9^U`7JjYQ(R)H*MnWR(tQb)zJ{OYOk% zDZcZt@LI?F8b_Qr9q`v3@RxA&%RNWzhwJq4!~1vej?CeXHI|)re@z;H_E5HRCc=Ic zVOlE8XZh#b3t@3~zAIk$0YQ6~0tq-@?$H-Hzl8LbCP>g;(#a$!L3_!(y<`$p9#m7_ zw{ILaA$4X`#&#)zUU9mNY3hwPK<6l+`+fDs=qd_$`jKS(22Zc{x?T%;#_Lu?zB)1M zJ_gz=)jFu>n!0uTJ2FPCQ)BSePSW=v6!*VG{|o**t^bX0+5f~oQr~~`eVaJ+;;7xf ze@XRkQVTslM-uB#1O9E_iCb}_C!}N(J~lJoSr8V0muO%UBPvh^0bW*xkZVX$W{Sp1p~;B6cW-3*dGWMj%7CQ@w%ska+_{dfe%cWsPY9ARS_ z;K@xpVh3tRS3k>bNNY%ki_)}~?m)WWvGg{`1Ur1&%q+v_&A4QbfkW7y1V-e+T) zz;Nbz18wr7Z_&-c;)E{nCs!t$;Q%UL#-HECF$wz0fxVKJ|Pp6|i=6HonVH%=p- zGeFMvFo`pVoh3Mhv^Yy3nNvRkEitMbB(Z9c9G?B`Opr(!^uES$mD9#qr9_n61M#J;B?&!HXNXBFok@Ml%$tWUc z!!zzHBB#UiA&6hqTn^GS=(#qZQ_SfIdLoXt={wMZXaQs(n z$KULVKhTD6aqYJcc|A==SGJVV0>_Bg#h(2;F5DNq&e!cxe=K*L*zRDhXV$*X&#Fww zf{`k#m;|$6q{`;KGMfb3-G8>Y6TpY|qcB=!yY2_5?)fA1Vi>Km_-M7B6a@Habs^yD zNAzsH9ZNa(2G823CuD&}n$?Ar=Z+*(>4=_rB#>2}t_K;DB~iRdqNCqg zq9ui*M6nyWoN?ZGfO_$dq<2=izPg#=&iah7XZA*d_dhg5mU`A^hhIimEOQI+I(y65 zOv10m{`4XVuZaD58T>V;JWp!Mds2?$W9aiU)C>~HPF7r}4*9_RR$GZ&VZ--o_}2whSGT z4H{F6kW}9DAn)+gZI@vphX1wg^i>$Xxb5)a5MD%XXpZWgi3sJj{4t6B)I_bA?Q%8j zy&6f5xJv!;!`xiLV#Tu7kwICyD`hMj^@NMn9|`A_8ieDH z&MB5V`djsX()wF*%l;<(wU7Catut2K?Fq@;*BPH1*8PX?@u3gt0s`|b`q!?=S4>wj zaK2b#;+~C0D2v|+@$bYwmW%u@7ScOY?~48AL+BN{qI)M~LLbb`BLzxVPrY_lPlXhC z`I{GX>8YOcy?Q40y7S-8^hf;>=ws|}!2AtHe_uY0`upHbO!!xdErec{S%keT6MC70 zX5Pz?=GbE1%YJm-#PS8BEOr=r&_}UDoAK{W&yn!@*vx;zUvn04PH|6a{to<_h5UMI zmN^e*8Ot#Q*D5f?eD8XwuiHWY7GKyyGD#q_?5%mkhCwf>C7EizT1$Bi_eiVZYr8pX zcnCa$*`E<7?E17?k4@KUX{Jg_2l_y-NdR5U%jv7;!k0*SrXOmA&!IC(0w4&*ne%i~ z)7X>p7K;FmEV?l>lh(kK)7C4EHa@p=(hXMOfo<(MM}Q8%XHRu|u$>?V@N2HS3ehZU}{=cjgNE+MNu0_Jw4|*)nOFFS2+n|bI3XkGU2)R~FDt>F9qlZ_H@ z2ug8~dAZU_t#-h5X5q;dZu?Ly^Ybe#e;_%!G}##7t%4EkS4dw{WN^fmlfc?+Q>fmel8p@K15QmLje0nSpS8kqL>PM1U14R z3OZJ;5VE8Lt0{g<{Z@Der25DRqDd*gv1?awyXwi>5HDri7e&iztyVk2zL5I~lbriq zXAw59;JVLb?GKQS*OMQf2Y7vHqP|4EZd<`+W*qS1IWA|P6m;aCZB{eyCz6f6GSg8mDjzgy6F@jg<{ zpihV6CBQ3@`x*3*1%+BJIb=a&#e0dqrzC{%e*liX77l0mvsd!9vdP+6cD)4{pNM+9 z*mXXm(@Ji?H(5K|j;~rVO^c62U4>S1+o)Q7pF1Y-x8XRua`H;v*J|k@`~GSCSGJPR zfolp6!#wyf(L*Jg%HN7h;VqBU5SgM}jVcPM>G3UdeqGpRDMNs-!lG-RP7{ zarZF0x5ip-4BpDNN8H((W&IS#9oS=5TE4VsZRh~o88`^FxI-;eYC}f|%0KkfiPAg< zzjk)I%U6o?i7Z`CZRjBG{i-rM4Z1@$6fQfR_Hi>-^07KWkHWaI%IiFbGIynA4{aPJ zCbV^G-{R+hSl1L`Nn>lzh{LZN{=0Q0-#ark9>?vE*TeU$SMolDc~iiigb{oQ(3sFn zn$SnkMD8e>$cxjO_G75?Uh9`u+BSdY&t86KsA8=-f3VWBvx}TTby`32XK#t@_!Vhi1HDH07tQYO6+5v*H4ZoQ=<< zb{V9qt%}j`o_Ix!qMy|uSwZ8Kqw#jEio;$d1mh9JXg5&%Ic zjDvZ_Y)oGSwc8HH!A#)KMYO(RtS>T@#fVIR7;MGGXOQskip39ay}|p9uJgL{uzJWL zwIwmi+PoO*7Ft}!7KacF<#zX$uiH1c{XXV_wsXpiweI0Twk1+{iILFz8 zZ#c(Uu73yKOu>XMU+|{$j4jvyO5YUc@kY^>8jiDmE8i5l%oys_Wkv{`T00vy)&Ub| z#FDMhGushQ!0vc6b%xk$?UO8h(~@_)OFTj{oe@e&rcqEQM@a<{ey8!@>yG?{pTGCs zU;;iOK%I#2i{snJY=l2!!8lb>aO7Mvkcv@0$4X2;U2W>apaQMn^~29e<_uW#M@^&=5Hd@PrQpWr(Hd zp29f9ijP(Y_6Yx&7HgYf-D$?}BZ-TxVerGTM!l#hbmH6l#oBf2s>|M-X=Oy{kwT1cZ_-1$vH-l=nE z8{f9hZfZBB)y+*5p}cPR*-d`O(KbkPD|~nJn6Vou&i3&s>_<+OD&c!3MX%IouaDRy zk^l%otyqLxT=Yn@xHxE}EH0)qON*ewS5e!x!eDrT$~w~BLuosT)R?0lYC4TSAEo|gpOoh(Sah32N zaI-_6H+V#QCJJw+i5|0PqUU1Dy#VlYE@4P_Gxr7TX^Z!U6gj!2A&vLq^?8u)3Q~Jb z9*x)gpv@=3n3=}i06{47W&H{9WkV}`*%pnBy^l>J&v_~2Tsy@FR9c)|Z*lU3g)~;z zMAdO>1D!?hNR8=Y-SDhc!vDhvpk@nkwrI~jz1^OH_i z-npPb#JuBF>kLh9xuiOz5^|ZPBX2g%Ie<09u+DK{g}D!YJF&u?7JG)o&THYFWTyga zF)ZICVsmIaIdy)y%W7_OsY~d6sWvhfFxRLu!SWSKiDKyK#n97>v8Ri==)GFlvf(Lg zUJpVS?6>;AYD?_`L7}59&tCoCwdLqG+EU=1_TSNHjB)UrsEa#AT~ws%Laa$Yuv+-4 zFsmRZIUjSXy55%iWyKu``-Yry?VQkB{zC5vb~^)T_d2&yZYQPs)7v6XBbBEJdw;cy zPe-&2U+)gDXc@kBwRQGdt2H1zlF9+s;5@8twnLm!pr^pg<%gGzJ$IrT7^y^(nA$8=@?Xq=d_xmKf|5lod1O!XF!f1`Qe$$vBb`CyQ7S~ zc`TkI&8H(yAjc;>)Xp(kdxNKv*X^cmKC@{i@EX{l8L1fe+UMp!t~jQXvfQ>t}h_>$Towxel= z=0UtSVOp0CMUM^L*?DoCr&H#qD#GaQK>Tc+l*vY*`*C)UX?)In8pX9a4^Zj7Iv=T= zM0$G~$S3F#!o&Ch@UuG6UX}4#GD*b0ud9f!6X<|< zbEey&WwG&ueFIPTWIYhZAeu$Y_5~F0OT=eVyV{3wmyKec8^3a3SIjxLLp+t>GZZg_ zmMg5jGa~_C7|U$B9WXy%J;|czF-T+1;pOqLvhiA+1QhD+YoR7|scdK-!#3RGks7ta zVIKCSd(ZWHm^aSw?ko@VBTwyIh^>X2@Ls3dxeEa2eAUPH412S&in4oRPlo4xwhya& zso1yp!y3Lfg4zzX?_J>I_OLblEE?Ajx)Y~%u#rm5gJ@nW8iGn& zwLL8VnHGKDa{3AhYL)3Uc5H>lfD2c-w1w099nkt|iq@CcSo;PHe*xe(TEX9;75u3C z$e?9qGVcTyo!mjNH(&F9W2l`CV2pBt(sKZ|jg zzb0*lEnS3v6)~5P-|b5-LD{ee_u!{V0a_a3CsoZ@suuf)dNV5q=gPqDKx!3W#;_@D zWxyjlR||3-D+Ap2q25@a_T-oyZBb6vH2?2m4?iTC9LJtRpLZ>vcWe!g z?_ZX@%l&5Pc@rqKB!!lw(2|Zb+LsJ&c}6>Rzk7Ah5Q&fP#!i&iPV7d_@#PE$@XVM? z)JYwY$3S8Ov_8_Lwr6iiV}38n-g4O-s;L*^@G%c7@$oS4r7-Uu5A$9M^Ij9j!PC6M z?YTX(lYUp&r_5!0J=wxO8sKOvn&-RsoEG0^+UIcT8*98VDv zRbU2k2e&E5Ggh%jdID!=g-zBk6r$4b59Jx~EDrB#Fczxs0yhkn*!PzwOXF}f%+f3j z9#vtdc74{jjNe)1S!ZMHcg)*U{zuv?OHOOJ;0m>BS|$y@<_u{VeT6#VGJrnkf~UC#V3O2^7sBlzS4!HCCMaonoD}!gb?O z4qJ}L-sNkbu?m9@;``2#8@Ysv+-Uc#Q*q@ZGCfT;Os5DHu}qlVCL>pR6%K_SUtz72 zeA?Vnc3kFht_`Kj4yZZE-z?@dFt4g0!*F$v?+o(Qz4TmTl?Ib#ni76PlySwoT(`k8 z4rXO+OQL0G9GfbU1K$1&c}PfO%Q^w7;fJwM_EB5*nUR~RSvd&4j(E{VuK;*5{A!kU z=6?gwIF_wfnKMw^0uJ?CD~8g^-B1P?Fdmm@!ss}oiIy(GQq;_EqUH=38_3~iUDdt# zF505Z3uDm?E{n$5`bZvnuepsrL|@>mOQu#}Nl~tyV9I6cMz0szs@7eZ#qpngz)>(MIuUGIM-|y9B zdwtKfXP0C72Ra$zX$r`I+gmf*F0c`0_CKakIRH4$M+W?EMlNU!Kdx zYJ};PW$4u?!eS3WNZHznQha$Are(yJ=L<`V<+!JaqelYXVk=82$Q4CzuRg1;;8bDS zlgV?yOf`^4cxPMu^INr(e^#XP&+>kd?kx5+pW}U(-|zVa;hgfM%wq-V%i*MPr_6je zE@Zm(hyp^JPP#_WgM$( zwNO){Zp>$Irita)Vtd2adx5NN+iL80IUn<#@t>B$RO$jjcdGg{wg>pj~{mr(CUu zm_-n?lATy^=Fq>J$RV~;XSTzV<)wxDppQH1I2Y?fioJo@>uHHA-fG$wrTlCJY8)9P zu_}i;>z366)@(;-&Av#|YxY6ntXcFnp=-&pm#FV%XL`~1Du$xQkm1EQ)ELGQ{`Oce z^@Li2({-MOD{6B`9pjD!yd!^y+H9*s$7!pib}?eA7?|Zf+7^z3$H9U9>?DBIrf6dQ zxrl5zf>bwXcQZdJSeHd)#Ze3m!P^H%(?iEL^U&~YCh^w3dW6fRDKO9%kr$5WT3Oa} zN8-=UWmY>}s=@g9P6p+YEvc>R>9^q9L6U)->sCbWKBA8(%j(f)E$usQE!9}P@g%BO zlpUkKe?2ayv4|;hEFAlfiz9(JjIyk2o7=*%=eSZDxhcnzKB~H0_=bgcD`zX%vq4u( zYH^$MO5vFU&r^u*jXm2$hrkGg?SK*sMnIeEI}vp??)%{cP7BDDw0=x~_1P=X zM!-v)y#e~(3jBH>cpuv^hqYum6D~I~UvQ5V}G1`e`5LJ%YixBq&|(2 z@}BLKOkbUH3CNcNA>*DlA6Dw^}Ko?^CjaW(Ew6ft3GLcmyGtZ@ay24^GFHj5r>zGE6)%fDR30=vop#w zEWa6dIJ|Vs7&e>1ZY55y7I`haS5%O4T080o6IjAlY_MbB2HkkS0$iA4U&!)6PQ$x$(`FxMsF@NQ}>8!J$ zJfF0<*GLjtv$wH4@-7s6k&BDLDAQ+*>k4T!kZa~UGibSAA-cbv zzdXB?3~pCUw)!=I^<`l=C-jqmf1}6WJQ(i|@`rz5aF|WkSi4095%5MX{LgRA8x^HF{5et|^%oNS8l>d6f-y4_tYHTi}8FI zkNBHgt2135AZN3a;8Er!bOgm(Eb_9QtGzHwhw%Pnf*&NZzdH%~K_Uk@Ck03_V^MeH zq*vHok_mY?`mOkzgemooDmy*`)NpW@{Gfa5q#w5b049b;tkk3WjuEE1s9DAj$IPN*u zx#Gwr_BvZK#%5*NULoBpkx8ux{bIrxcQT>g_)U3i4KeC1Bxb|)6#bmz6D@3RBJrE7 zmByQ_mB#vow04e<*3Jmis5gty7~V@kZ>JB7wFi1ZcmtKtFOOK0KKg+;S8@}dVK7U% zr>hO?{&40W<3nysYK9;V?TlyN;7zPsm1!FPhBo6j0ZpQfTAoU|N4D>?iMT_zE8wXH zgnEV^D9^%`33Xk*R8P&`f1y$JP;)eUJkb@jbIk^wqHOAg%+B>ZYjtOW3N@{QCa6M9 z`*=S_1+aGU!FL%o z2R;h8p&!E2T+K%$AH(zoVNc^pc`geL`uMuVT$srwI-bH(COY<`%=f`V1?ppdGyE4C znpbZ;R6Q4Fm(!`a>PCtlVDX7NTPoV715KenmQ9_;r~}HBs5}T_+zh$nYTr}p6kn!Q z;vQ)we$r9m>BG)ow_;NHIJK~fuUK{@i9wHWYF`(yM;UG9s-GbJC^J-`{KhtG{2yug zx6JECu`l97{Bucobu@dFt8LG5wQa2906GX}(D*c0^Ho0R1-`PmIgIjHrvZ$==33|K z6CKNV88)`0tuDW1Jp}zbh=9d94`BW7ZWqnNfo9}_@CLK@olxQ#gtz0Jj&{7BVyoTB zTCI`MgyF+{KE9`0iG5ITx) z!&MbZ^nzyXWCF0}U{%Sl{5nW7gz^jMVgV#vK0>bbRYA8N{F5Ce21c*aT%S|bmz z{OSeM{OWB!&p888(*5V*zV?gy-tgym_C3owBh_tfU$O<~e;(YWhF0)TgV7iCfX=n= z+(ylJpgewDCz)<*0jK(5R_Jj+NFlArfYIAm=3C2SLOJKNvpG;s<=-TBCXA_|R}}bx zyB#C?zXGWd{l;Nu!84fg7b0M>vklhYoFhE)-Q$eg?+0!#@J@jd_X%}4IoC^lu`^5P z5dQ*VUj8U(cTG4qRnGxEAOYXznNW}Z5d@#Hds?SvSu51sX;WjKT}E5#8%}C?t{?^d zuYjI9TlN!{FZ_amWnq@O;#&3oS7K)l1WGap4|y>hJ9{A05+2XsdQY!3z2`L}oi5&Q z8C_RCN?X^1Hu`*&dA&HZA4OWiYs=MkmUb0t#$1Ad$Is_+i%6$tUD9Rq9ncf}*AaY* z)*V8okV2^>1KT&rLwNf#KkrzZXZt1JF!&AjpK^>gHs9qbZ+2*I&h{RbA^DEg-kkE2 z((322^HcRReb|DQ_0vkO>Gc%89d+8M|6HfO3ni~6h4QJaq3w{W+ zJYf)2mZnY}w6g0TtAk$8?!ld@PO?td7tjQ>%wd=Tp)VB6eqt@3ubPpN*x53cz?%Vd z^Z5zdW-Xx@ZibdXU5&yub%5ZV7ld)c&Sv~hL{7n#Id}_y&cn}!@bETbogt$n{SF%aj zh`|hk-kXSM9re2kh+Opwjux3^b*34=Wx8XRQIL|ZIekAO}r&I1l z1TDm;J1oS1YfiUa!oJxEb4zX^F6LN&{Kz_k*ut02p}?_x=>+LLwx68E%ojI48;q5? zFyEz0n!g+~bh8zTXQahhy@elH`_<6*M|J>y((a`R?LL~&@2C81FSj?k%PKF@i0y$= z;)O8JBa>-x5$3~%$Tlo;{jds8rl5eW?C`TgfB#6FWxJR8LNK-anV%ZA8w4@8=c4Zd>~v;VY0d@; z6rf->rvSCB1i+HUed=Q*1NiHOUNDj<4Uxa9J>*Qv;u&4lJSM3?RO^o2=Nbn&a@kX>tF+uOD&W8~HNS0r#&? zN)6|oi`>VCXPx`rSmu**UFrj5*7E+)EVqjN8XB+`=E8!nkz+Kl1L)-Bz0QOKI8g&nkGU|(L~`tsPkTn zGXY0`wr(pZeUg?lFG&9ozKm!BU}ohr_A11H@jk-7LCzGD@Lqg3heCYgWR*!hkf-A% zv+`*sS;xzW6a67k2X9SWCwS{gi?^P1@D}8!{ln%hasN?0q`8>ewM=;0o-GWVl||S$ z^!!zjpQ+*)Uzn&j=YCAG$bS2)GDfK;bns79$9y6p34?K?;#%U zQAIQ76Lon$=nS|%vX%sWOX5l6c6kPR-+k#Bw%P%$^3v1R8+wk`-Y! z_EWRoDQU#v3ucMhk5xYCW9Cax!;yT|=S7>jE*2epU17i&Kl|3Lwa@S#-G?=H6ORRT zHHL=Y2>O}>1%58;{3ICok&S(ivlY`B!!E}s$TdGaaSZ{mJdw@(5U{nbkNc8Z%MZab zH05WvGbvEGjs^0<5mGpENCx{hp092XGeM}y$iuP;qrQ2~(+(@_{)ByVD{PCedb8UY zK)>;zci?hGb>!jnc#Jh>`A7y?-81FwST?VLx~eErt7SIBT$Q5;xpB$I>2l*KOKv=6 z$&IIMx$#t+a^oq7+?e&TQ)XHBw0!Ko&w2|@`7gQSV_^%rg{JI2DY@rker~FPd@XbD zVGqG*v|GlL$@}DS@b@RVp1sc?=EyBnFVJN@uhCp9ha%9gWuzdB@;B5;u-!T^ouoU{ zcQKC_KjuCf+RB6BEjd13jp6NNmuZbvrXYDJoWst>@-tH(0=(n|%M|r@AbJi$G`1`C z0P#~skDg8sTF79$@a`04NS6Wh6xqJ-`ZD^EuDu^~TjhFf2Fx;$%48($%W>U{eduE@ z>&5*zNNc0Kr z`>41kGx@?<^0d1HN;@U!!P?j-*O2fb{{EFb2JfwxeeACB9Wt(+Ti=rP4ZR|p)Oi%r zX#6hEVRx}~Bgs)G`@Es>23-yxJ^@S>MHqW|D>03ed|ncMo=6HShh*JBJ={EREY?-2 zWs~Z2oa?Rsgx4GT7DPWyE8y*4GM-fb7DmUpP)iY?246qJ*F5+tVP8K|es-O=&-H*~ znKkZwN24-^w~Umd-#WRIKdAhh`PQf+y=9|to(FHR$d~4M5_R8EJ-2qk4;0gy z6MqEWcqa_A#R)qA(;Q-s+d*|0m39EU5-^$*zJ*vnvlA;Yw!D`I9MMeBOH~Q0&3iqG z3A+K;ZW!50NFLsTPDN;9!Y-O8OOE)72|ocuc0s-eNFbGp8oBd4<#JbomLLUkUnt3? zJ?o9$!>}ZnPp*RUWkeBBvyO+qri$=<3MCv5<$|1}Y^239?gHGapp4g>wpRi)7kB}0 z_AbNP8uydKyVsevca!+IA82Vk^JjJG4>YRwCsAK-7CWg8@bP<#vck+S0?bPAB=z^M zkV;3$Pi(#t;c?*2Kp(aY(>j>P@|5@%{=T(5D%;FsWLh4EokxU(A8I`hA=3_hBINWA z*O>;gUdZ+`ANrj8j^^0DHr4ff{|UozNBBFyx-yKiKuh_!bHw54liC|$ej-A%ydSlP zIE(Qf#EcxGf2SYBQlULxfoF!N-nb&{0X~`oZx4oLlBaThd^S9V=pA9ig=emc9Q7i+ zC5>mGI~OPmJ-V9byOvN|U$HZ+%q>uF^wdW#4?h}6MwW)FRPlY6KN+bHm#GDm=R^TN z=kDvn4Wz((ug9VVIH9m;8o`}046TIsq)}0{jJPq4R|}wzrqcW?+z4rS?^q4*x|%fJ zhNnAKs0BUko!`a{;cG~aN6cF799a_OgexQkx@8S0o{C2@_ zH$|_EvgPN=%YEIhclw&*dg09V+*jP>$T?n(^@h~k0P|h4p6e2#t#`NDPY{lM5>M9c zWVXD>6=sO{O`x)Hr*(E3^ZeU-eiynf={aT<%CAB~wM6v}YF43K1icTQN#m{XC=##w z0VI^pe9@q+WS%>uuk8t}ra` zhwH@{YV)n}Uf8gGh++M0TF-Uv1Z}2V_o+7cF&R-KX17tsm82vHh_5!)YhuC9!9t>p049qO>x znwv4nVe8X!m1hrajGXQp>2*_`LOk*tpZCFc zQk#=OnBO9me;cEHGRe05j8SqDAhk_F1?^p>fbNO1ClICkg*J~Sp zrSXP+wDy{P)NF*7l|Z9x1Zt#O5^vlO&oLxQFCcB@Fzk3a05)gsc5;1V?V3=#Enz|V z{WB7Uix@@bl!LUEo|QJ9 z!#3=B8}@4p+*jEcez#-4ZO1-h!(OvtzuCSnp*2Y#8`B@V3qO|7x<*Y4-t}VwEr@G@*SM_6VJ(7ZQn2>e z*aR(Z7DK&9Vm_H>TfU_Txd-U_Gn@Z&SsP4~wJXnPDQjD-WRLt6q-Qqa>HREyP#R2l zXg16|n?ag-q*x5Od1@Y(tz@K#|4TEEf2tKfyvrPc?XkVNEqcyy$^P`6f`oa9y7G+t zIWMGOKlLzLlE!3^@ZlFycZ0tPb?^?GqqHTz-aO;j-l*brzcSgu)B9Qapge@|P^g1C zpr-)nnZWA+sV}J$@u3b_{6ARnp$^7F9ng|C<>?tNd77I>Pht|(fiq92gAxzcftS&O zb)Z8Xn00$;=}hPib^bAud8v68YL@MuB#L|pES71*)(u`ki(J`DH=j3C>LBIjyWyKzTx&)rF$^)RC z`~q6daGxfjM`5Ui3Y7G#n(>*`y0Bf1r1lCssTn1Gi5vcO75C`7Wf<2bx~19H-fW+C zGKU^yw1rx+uZ>syMp0`;>_}BIa(9NNu)K_WGAf`Rexp3+`!fi$nHK&f2W_zYp~`L5 z%<0Fe8LU;T_j1yO@X~i=^dOJg`NEi9!OIR~y7i_#kU?DQMQ3er?r~MvdtAQYvG=%A z_e30^{GNy)t+n^P4jyB_i&!&LLdI?oXD6^4x%v3^ETN2vT|yRC8@rm&WHC*poEY~ zZHWZ2vnW1$Q)XkybeC-VPM^m%@OeQ2NQ3(LNS{%KTv(=L(gZz7Q~UAnL%gZje`Av4 zzJft&>PASEbUo4}U2eoF=|-_#`VGW+M!z-RfF2kdrsdTEFAu`L!oFwZNzD3fA?4rK z<)MAIi8G#<(jvanBEHfhzAWL**p?p=2|X_&EG4_LZNI4ppxl4Na#y17=E0<`QEivc zIjRk9W!3^TYd7Sv6WE0E8$&C3xu``ar_Q=Dl*OM6VQuC3?QwHdTFFs4MvjV=qf_p7 z-pJ?hW^pU@7rW_)kw-sFIW}j1ED|_Et>6f?tb-bxBH`~D`M!K3_e0p$i27)LOFnBc z!oz@4F5#)6zW$&zW-zYep$F5GaCf-{u7PTsxFV-BeE>=t^GYyk0#?S2P^y$Ckzbkx z$Lef14NG+)_buIw`{ANY7jNWydTo{I%+T@66g|N*MNguclhW_{3r~J5ONiT&)(o0cmmx8w>+T{eSIo(ny&ojugqc|qq{T#y9EiSCO40>NB z^BEQ;DY}p*ZiRG8ODiPMG@N+KB7ONcP$LU!EWF%rSJVps6N`^?NElIN?!zkzwQ>>a zS~8~~Srhl^bD1^G2j(cHRcb%X{J*7EX+f=W9BP&Sf?B>l#bv~A8@V4Hl(TrUzAdS@ zF>q|DhxZwIr4y637dRx1@D!^W>z4S=gh7C^Jgau&JwQiRGDy6~K8m}n zdfu`sX2tWJu7nS_lYQ1&^!b2u5v#K{XszV5jIA~{K}zi;jTR1EK=P=!)sIbN?rFE zzrV*cU`AEUXH=RTHy~#=_fGiux^uv)+a`#gLHQlnt!q4H9k1O+i=W!kfR>(@Zl|co zPS~t8X&9xa!mLXX_$^NRD~ap4R#(=hlpT7Ud8KQfr=#vX8`r}yC#a7`iY+?rZkQuL zSdJ9eVZI}EXfZ49Z_RR9`7xD;YZ2kE-SJATcu8#(>RdXmx%IYibxotZ%BI}RJH%!P zRq1-6F4pT3?GI6RZUd~`Q2&JzfEEpX5q|~H6Yp!QzD_$%eYI9ccxE)E+kE^PKMU5< zo-QMJqV{yMbgX%Wuw~fsnYf2Sma>WCKDy7ueRQ~{pAG!W{gUki_)s=4Xwc^R@T4tz z)z6U%l)j`s@-DdpN;uDVCOhS<0+rJ;6zDtQ-36WjfJ88ly}vj zIwNX(RfXpO=4mxVTXXn|8Oud_>5u~9EB>TS-2OnPW?d(?v#)A71mA=5 z-QlEhmt4Zm-6A}^53LHKP%{CVEA=C#p&yzZt9aVa#N+VDflr#6U6Sy6#mcjC6QAp} z2eFVe{1ivQQ_%yd79^76PN?%X@jC^QT8Qww#4;$qjSKB0MuzdEq{b|w6{6>~qaf#x ziuM@0$=x1VpzYya)uc`0u88|+er9!s`c}TDIz#u;o7CIXhtwCQsjvFbIzhE|zOLKE z_j{&#AHe+#>)t@l3rjX}UMMuGGIAXIK=)W_lE(k|LXLZ#kgmUP;(KOD7bUt@qjiy- z_X9q?N!*8oF%(i$)deK#>o7mU_0gx;O>!Yt2L(_E-IyR+oHyXzgRUeF_0%;+L5i_{oM8NPo(<>nVP{0{#n z_Hj2_ZBsz*rS;kqP-n4F7paDJk<3t6DM7o!GYHQhJUhd)v*Yf!??nA*PuX=UY~pus z;`&F*GCfw@MbdSCE86#^u@b0{$b&MBOT}HSb1nk8KU`d0=GTF{&Nnk7LS+S!68 zPc}VkLK%=fZm(9T;y zTsZH)5POQD&8hvyWj-o7<;_W(g}f1TShkopJm`X-YQs4l)cRF#=Kh@v$X(E0_rvSu zq??p&`5;|5adzd;W#}cykBKl2${Z__fLV_w*9i}(Qwt{12(+73;s|W z@gLtT?pDf|oOdfdW5*9k&VKpgX2FxoZJrcqUbWK{NI4FfzhbkHF_-&^bw3`q!s^YU zk0U&3toCWHJDS#Qw(gD7dq{X=VNYmr(SBR(_Uk1HnSyz3w{T)jORS~~8J~#opDjL1 zh4*H-!w^f*d$0|9$rd-gA2{g6bb&1`^FGOycWzpEkt@90mX@@g%xLT5psn{7x4hPX zTajP;ZV`7%{++6S&zCk)^;Y$H^-XoXvSXSr%TL%H2|VtwEtahIDSpXnL&5*GTLl0A z4ftR7Bma+-vRO(DuiL`qU%mE@A8UVk0KwggJ=TqRg&BkH6c=~P|9(Te2 zYQryZ@$|!61W)JsTk`Z1cAC+yG|z5vjZdUTyGRmus9^iNvc)>Hq+kpWsWC5-#!2Us zT)90dD`EEqX%G6jRa!s1$D97v9F*=nEot0_;}*=TOp=IQECr=c+5Mv-B_P$rE`skR zCyTMIf!yoI^C@-mNU2U4A~#kP`=u&O`*)g%jg`V5h&+Pw8EiyE8?x}bVhsIu3%_I6 zNmq_1b+*bJda-y%nQzdhJ8O#d% zOXh@9$(&dsCC&SZRuUV3nlyxhc0)7Cr#UmA7O_Vtmi{w$tMeW|UVpc3P2HO(VE45W z@5xqRFSG*tcPp^BTY-JpO1>LgiT9-g=CSSs{I->N`yKcM4>WJ(>npsUJKMHNLalVM zTSH6@b0PNopjj^l7-F0c-yig4IRx-~0er9G z-(LKl2j6@9v2PW>7sB_?{Zi>~hVQ!vv2Z_r-vZxL2B*T8K>g}+xJl^h7k=*4)fY2e zeKFJ37u&k}Vy3I}zIplQT;DLEZTYQO{4RP7YjlM@>I$1_huxZ%ZlNoTrxU#OfD@|tj*D@^QhJPBbHY>a*u#^|e{b@9xjS<)oc8xL29K#ny@vEs!r%UBE={UVrE zERuMPTkROPLdaYQnF}%JL(KW`1fHS`;0b(1=fM+ri!Oxc&G5V#p0~jB7I-d!=Mu*} z<*m=f_&L=cKZU)=yAbxaYo20`#L_-l&ClrO!{{)&x5c9}hM6XY^V@j}hgD_Z$&X65 zW>uBZXq@8DMTr@CL^fz_g1+B37MpM79UHko%9F59bGkl& zumyG)$OG%%>Qw-rXTuj-nD+LI#TMGon=R=Z1{W^T(jW|T<{KGh`HY4 zw7H&$)74IUvny?Z4PWSjhrbXsFLKe`&yIhKD}H}B4O(k7406YjT8mR*<6q*!Kir*G zX)WzJHqE!XXpXtl`rK*xST*Jgp|i|&=`!QL5W3Gi7yJqvKHmkOV#62M^CVrXrO_gnek|<+JlLKtn<;;WJD}`PlD+F}Vw=HCIHkN6>cuj|Baen2+QEds#1yq3HPPao+FVYjdnB#l3jPZ$i(RsEU4%t!D}uZqe4>O97DV3+EZj%B z;cBxLw>!MwWWn>{eG%a&kw27DYcPq~Yo%ycKQZCyBV8fZeE^Mi=|-l~C#$B zQjE_Zg8uWA-{}{u{7XI`FpUo-Gqe`Q{TpyU55AIGBjM-0MPEPdOCbY3WIWpos7Kx# z_9gf6hrAac1zyg3%gCtJocEginO)Yn4Ji=NO z_>X@B|E=cy$K!JTo5t_}|E&i8dx!Jiw7WCa*xSHUUau7OzE1QG$bXj-8|sUCmoeyE zCsd1ipJvdh2nDR1|M&|0b>vg_yq4^MCvSmU2*0!FPh>xX>5Tupj9Sir(=6=kF9H7Z z&IIf}cKhFrMD=2dJjQ>RLSm=O=UDHZ84vRJAmc&)-X3_c1Mpx+#)IAv!n!gZ^fC&N z*KV-h3mHH1bUhe9a(GY1kNh2Z_8KdW0q@hScbN4Ww_9-v;C%smPb~dNno6Il?w&f! z>y3Ili?h6*d{438gg8l~fm}esKkMEiGOQW@p2PkES9-%UQun;RWb@-kHa`meZ26ab zK8ax|4orJw>6c$k)lByWqyHC zCMZUk&H)AqdL9Ua#EaZ7o8D-b_7?2EFq3bQ$7GX4yM`?2{i&GUGA!8tgqaLsG5Pp2 znvFbT+22cX{JEXS{F|LR{FPW&8uJz3D>RMWFy{OWGGMPCXEBXNWVpusGH|=6aS#vv zXPZqwGg$z#$kU+x;KzM4EUDS_3(OJc$P?KcdL2M%)u>%R9M=(1Qb|lw=}b~d?3`<{ zA6j27X7Jt3N#hB*KM8-2wNnXLc1sP~He7`yct3}gmp7>16GlHv(@2g-@ceyW37-F% z@x0K(9t3!}Rh|#X|9{ZRR=3Lk%Uk9Dm;Rq>Wefk8wX(!)zwG4y44G?L8S=5TtPJ_Y zw5(__z;L;GPPg_J>^?_-h;}cqppKrCpJBnU=j6M3&LGxjhO)nBvA@%rd0a=|`BL;9 z^=r|00)MLtkK+mpo;3bSiXHo;fBM>5(}nr7$J)ieLBx$bNQ#wg`^@PQ ziw}gaja<1#%8?Uto}5s0nV+p?ww8ilDstsmWsYnP&6CY4U2Yt8iq8{D-R1o3*W6}= z*W0*mt<_s@tM!)CYQ5#zanox^)X&Nm^^5b;kXh^!7p=UJKq3nG^`gDPKeF zzu~wVv`Yh03tZh=;PP5+U-%8*vka1{`9XS3K6;(e9D6P$-|+Ls?r`0OdvF_cR@!t< zanU)#rgNH2r)2G+j`@b$Sn)e?@<@Lz2kLzTt=D1!+)w?3TtGg7uVL(K2w>$gHHeAl zzCVMoF;>j*_XT7le8kHqAeWxn}$gkCMLK+7AI#jMzD&>TyO3r4bK>Dxy zhR+Y`07qlRh=5j-ZTsC=@D0~RS(q_0ptaCNZ~I2v$yX^m*SPNbM#!+CvNQhuHoVFO zf6#^xbHSI|@M_uFCQr6#6Tj8o&jS2PT(eOOLL16%x|B2;H&k^X0g@}7N=l6Y2}<2q zZ|cdt$^D!w{Q=;hvq@bocz9o~)XRc(5wP!ar5nfqLm_1q`NV0x*_pQV78sQC($0HZ zSXPx*1j$B;(z2O4dm?qcNI)tbij;MCQuZT^=fkQ=_#gQ6knrRDECcUxUs-&e)IiaJ zHfc2O=*jKAxIF*i8-A81<#$e}joOV>Fqf1XDxL~dgwo~1k#Ab=3wqhNw2hAq1!MpT zRic&oaH`OH!vkE|o)Qi1&ot6dv6PG&=fu}#Tgx`$_>67b?n##r<8bPcIIcWOmJ4i| zb_=JF0q1VxeI-$Nxm>Tkks)C}^XobF#y?<; zPZ*cUsk!t;+jxJ-m+r|(8sFM7&122p8X-J~`8T{A#&(*)`#Lk3M zpRw{VTf!!RtFe%HE#xogvb7+sBPfZ;P2>VFpb7(uaWjBomxg>%b{((S=f_{Mx zLp(g6=(X^N_b0V|fpp9b(AW24_zu5y-eM}?oQOU>#w^G%rr@`^-YFEljDn+cTTSQ~aiH^hSWvgsb!|2(0T1ir?1vsA{VxPMg%5@Ib)y%8qa*&$lOemQ&h&|&4 zSIBtk7~gfdwh;Jc=49ENg=KtGE+M040!4tNSdx?>Qpm2wQ8Vl1QL`K6SBDlu2OBKq zaSXXm45Ma4oF<4fF=1jdM{GUKYgtkC*}?a{FYFKPfos)JKT&pDsqIlKGFeWo4_53Db%|Vzrwe{& zl0eAg#EzEo*vI<$xE;JtM}3&4NcVx(xSnunDD{8-sg5vPiP>^OpCxmf zDelXqX@}+GO*49WNPzM)A|3rfDWe;n_{B3KNiC;}tqNDp2Dv8k5%RytM)8dla8Q zpUV6ieNi=y^!66e?Y{bmuc}zW5_9|T_W1PTQ)Veg4Vy*+-g0jbz~9dwRBz3%H~I|2 z)LCgc@){92c5Efb99r$Dld)EvU@LBiI{BROnqCDp0zHzIQ6s}0YeRUq35+(l26Pr% z8=`Ekzue!b#VzlY+kHs8m-$&7HEa}%yQ4WObpXugfc6tmF|Oo}>%}lH#2t9)+GcfV z`2FLRt+m=Lm(ttd2}i0K!v?mJsugNHL2oJW)Zk&081-ih%Du=1cvdErL!)L|sf+y$ zTD|PGP9NZYNUn;f*#68;9|YA>sR2fqDHbJ;6A5yG_j%|!SIBsV;nluLBPp}}o4aNK zhg~W2-IS~40W8H;EQcJgpa^gC6;y>^B#ySNa_HFS?QA*k;gV|9PGSE)fSn#B7-xjupMF)ofrK8Ty+@N+eFC!d2RjjJ-yE)ev#8A5M!&L?N> z}tBl6hQA`g-N$DQf+bo+KX zZQ?lW@J_dnGyEs*a{4^xHg=f~nDCF*c~^SclUl$qm(pEUJsVeMhDf#z|AP&`$^}2u zhF@*LdA*st#5_Hj>9lpme+etBjtqsl^%t_!rgPjbVf)!fq7dT?IiYO_K6*4Wb*D8_ zf7LGTy8(TRniIFlQRO6JPTVfz&Jli_leU4RyqKbw+GOM+I@J>(=J@S$eBzf7CqQBo zzmiKUyb$+mxugQ8|ah`4AGHu5$YfUkP@hTHEc)z>ae7Izg)Vx*s)>$X#+jZi#tX{LewP>%nFSFQ8rR(;s6K9nRXHQqy8LqIt zuCOy*VP&qcvs__ATw!OkFfm3{e{0Qau^x;OQZbaF-gqLj#5%v$@>~$6x!_x_zcy&& zsKk8FKAcG%`HlOQ%g%(3ZE|ZS)-B?6#<|jtvpp@2Vo9oL7HyLwrWBGL?F!$9>~2?4 zo|_;|dp7s{hOfE96Hf=8E}_RpfXUd#r%Q#5qa>FMyhXH^@pz_T$vULtehXe7`A?=M zW!qDQ%rno-Jo8L{9`0I>-07QU4;LC``kk$G z3=opG3dBbQJj2q{T&xV!ysp#Ir{Uvic;#6<7LZmZaweOYpG4(>@wLg4uf`N3U%%;m z9oG0d4C8?0#LoEIr}K4K;|szoDT$b`A9cQH`#!#v*;L&Jm^SH;M0&#hh+%!mxsA26 zBS7ac&@t;4$%vPZBqGB)I*y-eihop(&+s|h*t#y}Ap`w-URc>j=2f|9px7cE6(Zw; z;%(YJao75yy##`MsS{AaDk6IG2Uk(}%&yCLF5og?s zYTQQqz*^n`GX-;Ig)4JtxAQ)Q)(1GRl^4~ zo>B}vVSI{)uOvJrX?GEy-$reswMlVFP8>cSr(GoDIboaROiF+mpQ9Dp?3!uz8d96G zKz#;NIoY6>bFU=c(4Uj>t&Z!h<5<1@FRI=gr1c=Qd7E+EsI9MTiyg!MVSq83{B}lj zLXz>0pJO{M_gr)vNYEl)GK|er^*B?KjPjGUU0W~aZin)CfREfE)7t2E);>nqB4chE zx7&6)Zwe_RY$0^1EiC1`sFml4KB(Nz)@QUZiqB>2PkWj0VZcu!`vj~l^@)xjD0L}@ zy`cfybz8j+za{wsF5Q;^^sU>e&7W53izLx_|7GArTOOK@eQPHTgs)ckx*EQIC0}7% zjlCW@Mz#!`U~4(|Qd>DKPICpsSEHhhYt;!U<);mw}l2n*ifsjHRN$gl`R7=BdfYU7dr4g`gdf6 zA^w9bpR-N*Esz2gk`D7g?SD&Q@P?%0v`(D_d*xGT@emtxbQw8v-$GUcIGd8Kh$-it;Xg?js_nu zbJf0h)E|l}tdzS3)19k>k$AgKBHk&6c&yzN?_fIqGT=#evH32ptMVPJU4(5R-{rQp zhH)u^&pgKOv4i!aI8S-5$Q(iI>lj{%ZdVlF$AmA?@r?dyJJ`4ZmusBHXNn7H{UE!G zO4dX{EbZj1m_v-y_gJwMxg6I8(niZU-B)97#e1 zkN@vTLIxcX*2{XLjowj;=!YwGTtqi8zGhqUm8tVpX2BPWd#h#KEIn>li@1#6yG{I3 zzspRYKD2}B(_3uDH4Gf@aXsEG5U-a>Pd;bD^>!%+y}xpYrrVXXU6NKd824>>n*5?HGx7W7Dp&N2hA1skWb7s?;}37f4Of(=E``J@us1U6!P!+voox-BBl@ug92C4bo_5}o~ z23~NPeF1IR8SM*bS(GoJhk5D?=wTlF0(ua%#d4R~7tkL&Bffx`y}yo~)P}q4?P_0z z*Cd9|5ys7p7u-UIZ5i7-PQX5|RHiBg9B!v8d62JZ$5`%F8(P>(DzM=`2REEfS+0V!VW7EHlR# zZR;t9mCf*m@5jI5NgZMa;pCg+-Mnk0EcN%;j;j>|Q{&p7jIRd{ac&&%{{bc@-sMde* zH*-JnoXw^C_<9O(0fWqIPcDOhgvh=^JYq%p`f7g8<`ojKzj=`RN+~S;DB%6(?b`pO zrSZn^VjlC8P9)JESsVS0^-<5+Jo-44Ltg;A_=G%B4pRRT2eeG6?#d;;3~*X|A+4TP zX$dr~01AzPw4l$H#r7c|2~B!hKV$E}LXF@-qXjAjUMByBbUi$@fZ=yp&UWjwjB2s54#!B+Dl*^*Fr@iu69{ zhutUF2POZ5K8U4t{3O$o{}0ki-*a+lCH;f6*qpKo(yINFu?3x5X5l)55eBpxp3E(I z%7yEMTwsswIF5gtH9y(J<0cz#SLl4T{A0e{{~z!rpxMAzzZ3FRV=ppsbfsYDYaAt= za4DS}mz$%x)G?bVzXiZ$mBw$Q&UcM2Q_q~FOr`vz@fw|@y}O65kDjQE%(b>L$*z@0 z`roWIr?z%cs^`62pHuGwek%TipA6J4z2UNxQ-lY!(vZ8Km>2(c>+(n=>6hqbFYP_K zvhVVb+cSsC_IA<_McPeZk1*0fQ%w8I^8>He57D`afX>)UeaQcLJ1vZ90X0s)3ARIW z5-E_qCnW>lciJYtrDanDoc7SFCYVSYQF&Y1-IwnqQKTG#gTYY%luJd_D zjnhZ&m;MItvMn5#Rp_+gxrbaBJ@X*FEX-?Dk-3k>p3-q_|4-4qEmw)xB=9AD85*^u||g{#TY~?VvOLb^1)7 z;k@Bg8x899HoCRiyK!Hmxe~iolRyZ8_1ea z3Cxz_-SK#5jl{08LFvrJ(heLxE+hXQBbVDSmyR~+c^6riQ$#o33ni&8I8iv49@f0m#ATg!37XJhr1(38OVq;Q@;eJcoM#Gg*doN~rnL4NLf~_ZIHgM<;Zz_h7mXoi1;pOKOBYc})U@aKm;NtH~0y_4vue zNN`7Dd}NBz;fj>|s^ce;H#t_`0?3V1p|O`82dO&vS1E7?3Ugv8u$T(OJd?!)nS8;3 zOSYiO8>pUp9AtDWP~LB({0qcRfRKr9?Dw69Y%=BlxS?cvm@r8OSuHVPjvC@*nJ|JO zj@yLUWr)L@Fm^+n{l~1hcNn<;@t9S~;W9tR7Ad(aK$F@GbT=G>()r7^7H25m$BvO& zGf4ZsPNaQV5|;LP$C$ML>zFat{!U_TByD7h9;?-q&jUD?oweyh!sQU+LKEGCmUQv% z52ky%PPeZq*6vQY`L}>$mFuxeOxzqY=qelnYnZfSc=6l!r|al(h>k-N$azLY_UK)t z&p>4V-b2;}5IG~3O#LU2d!t=Q--bv(h4-H_$yf%Fy|o;2<_D4eDz;7^#P;;G_4%8z z{b+ptAKO#Hdq4R8E#?WBRp3_(zy9#M7=AaxZw36;!tYb~ZHC`Y`27Jt2V^W6euePs z!xR5gXa@Z5f!`DGTLZt%ym=pB#D2Ely~(iOP4}nA>}UJdRc_;*_lf(No#9QkHtC)u zYG?Q?Q}F?*FzvhcGyj2U#OK8U z3EyCDQ#gs9r`%!-!LJr!n^+%1s07GFv0>l+;r;ZiEsKAg#K&|{6rBh^&*=PYv9$$` z6Mop<|7-i%`3t})NQyo$zRHM~cnKNK0g|(846k53OwkQzMTjlp{cKNUi_IAC^Zo36 zCXQ#5IL+!Vt`mAQ8++r3@bQC*4^ig>?=|4OZQW1p5rc_1cyJ( zjoV3EAW4#J)L$lUf9D@C$XQko)iIl+hvxFto1w83dsv=vE`40l*&9Wb_q7WpR| zZU^){@M@@`o#aGPi}a(-Meb7Kv%a@L9K2^8YW&eA^X(08_n;ztQ!;}KW*KivKH}`$ zFI5oxNB)`Km9dk%V;^%4%?AtS?12MxO}$oR_cX(m?4Bl0w_Pc74?;5M=3>)b{%7g_ zM0LEVrR&jsuW{(P1KNFVoQ5R3scoIuG#>ktG@y=uLWVRPhBQ_~8u@w}UN_#Slla&) z9{-ax@C|M3r!P7krZ@h3z-XJCru~g6e<_{j?}>kqzu!!0q;{IdlYb+PIHIc{e+TKj zHFPabBMYbDzOMgpYw0w41IXlqqoc4J!~Kie?Iqu)Ef<{-5d5Yc0m zWhOl)NrX?(qk#{EL42ssk3?6C#7g+Xe7jQQmSIeCx_cawJ#EUV?i6IDYhU`4JmK+` zi2OgWH8z~DV$%0h-^q6$)cRcDDUW|2`l_u`J8Ewz=|s1`dXl<5UP~)MyNi$0ditQb z|LEFD8n6G&{sWi$JCH`OvvQ9q<5S!+imr{1p*Cc$^AdmOPq~X{Yl*;Hf$^T-L3Z|L zp&O69f3q3x`WS9%5sW-(ZBX+(XAX2i=lkj9qPtf6#3l%QPI) z>>m4mv(*TA=KMwy9rYh_+y%o^|{;T(sj}#z$rx5cY}0!2(PiS^yo=RI@3pXgU*|6qMzFd{pbER{rM*PN+7b?|I2@w zzEk6WJEK1c^Y3?$a#+!SzETKt1}pk2|91U!Gt!rGI;o#G{xwmyuWBqsQr2gOf+x(9( z@n7Bv|8M_g`s|Lxgv0EP#4a~7++%J%%uV3QHLpW4YhE`pdP*{x zC$l;DorjtJKV%Cxl$hq=4;pcSQpwnFJY~d5Ws>ne$@7QVS_0sdt}*LID@}2`NydI` zl?hia8T+w~CVozljQ#z8O}K!G*DWTRl_r{7P4T*$)*1F4W_|l1=o?pR>w#60ajox| ziFUOqFSb97xE`i-6O6b(PZPh%rg$|Z9<%M1`3JpEitCq$QNo3uCcKWJ9JS@4k6^@p z6gVB};mA$YeG(qIAG5g(_GC)T@ugOea8mKv+`IY@wq|$Kbl0Z$ACWmZgEi`5kJ*fC zQK$aF3?d%*4Y4QyNd3;@7%p{L4suJM(n_VT#Dv!Wt3V=`^l3ijmbup+=Ap zTW!qc-UWU2Ene#r@QPz4^6v~a;q))}0jXDnU@)YKmt8ByRn4T_opSE>|fTn9FXI%)Du5(3&l@ys(rRcqow=@V)-`-nvJ-UBU)W^9kv!8 ziA={bU0R{@k3^UJJWm9Otj5U7%FV zK=f|4joqydWQZ-*m10YeEU~4hA1JN`imilVg-EnxMTMwo#Xxs}tmE6zXXI2#Yhb<< z;93HC;_%9DqAU#$^bqC1@IaAB<=%y=q&U#FxgG~eyZp^lo{p^r95)L$*whQ)c3+N{4qf!RvLnVuJTS%6yG= zGnMH%diYFJ_;Yo5zyu$q!>dj3OLh7^O!Oz|@FESa^(Cx~l(+Qug#T{T>F1f~&)4br z2pv(om%sQZ?Z=xHkThR+DG^$0wMcFZ!xP`)4G=w>AvXJpKpV~G1C9PebiEg!k$Mc` z&&PYb@f{u54^YTnEM^mrK%vBdNS;E8SRvDmwE|4c-rFYg=}P7mdF1Dt@jqsJ9>H= zHTz`8LJzigdpn-D#nr~SktZ=p$gvj-l#)&AEo|w)Hd+1OI_~xFrF-ajhy6Nzd_IR` z^SrcU+B~2s2egZ5!?ujS6WZ{;I!B|E|A8fAvYzXY;U?$F%j`lc6uIfpJ4L zefs8PDea->AXr-YhP?dnm-6z?UoNZo<9~(z+P_d%RA&T^pIB$~j?x)7^HLMm84hia zK!x~E(#Tsrp8p%N~$2(D#FCAb7Vl7vLnn(G>O&rJ7aFqmK)mQ|h zs%$Yd+Ap>#T|GWDVqAepV?zJvONE$)5VJRn$=7hzT8wgtkw;<_ir7*Wg=PWtDuDXG z!D(VkJS@#x?(+_sW}+d@0H!deK=iMT#Gj7iAHXTsKpd8GE%#wZXcSJhz*Ax1p@>i@ z6#Z|~6x~|Rax7AzG@m>%oh4D6{K)kFl;g4Usp-dAA5m`VBd*oq-A(Yh$JuxyUo?&< zZ#}NrvqB>PgZ-oA!dUi03EPx-T{7DoTXdZD>91&gJ?+OHI!@23VA|bzEO{g3e2ogW zD0a95_x53BEqvp?G_0({W9gmo8r^4)Q=8ec-79(#mZ#99OtE_nrc~p!qmjZnsJf{O zc~)UN-ji^-b@Pm&kiiU61CW+0GDZJSwQ&xV7e}o%W4q0(`PRS~sntm-U@uCg9^z$P zqm-{v+S1V`Rg?1?jG`C$zhHJd_aA3|I2Do2qj76Eu9acP2mK~DJl`kga5(ooSqI7? zdr*Sb4iof#BVM-$n$Tgi^T`vs$sP1g4BoTBR9pI$V5-WiQV0!c%!jsN*QwKXtZ64;-bXJ<5=_Z}_Ml zV#~$VG<|q)9$h4c##H0km<#)J4vod{J&CoW&^Y|w!zG$Humi;^5!36U?V)Kty*t<( zy$t3_uW933in~+Cbp_l?9Y^dybub^a-SjqwOZ4#$Z5~S6SWEsXAXiM11hzj)B#}~j zv4f4RPxnZMx$XxYx~+CG7j1%Z*krP9#MWB3beL_WiJAuerGwhsz;`My5b!*)7U;P_ z0!InhR$v)fvGpI4dH(^#X?A`)Iy!8IbzB=NkFgufk@Ftqn(eloo@m=`QYUdz^f z;$(Fa$EU~HqsL+PcKm=#FxZ(t1S96X9&A1TMbTwAk5>-=sIRXVK^h*!-ceu-a+sI* z4Chvek-2@9MlU3p!!@H7`Wy)V)k3&vd&Z3>80G!UPUsEiSBNeHy&;CU40gT&rrUgq zDkFA>;!+LXhSFqYn3J`#vP0=|WQ~$yr?5CuhRhk(*=I1gk}3NP>sL4H;j>7124A4V zvrX`Ob$E_WAHyF3I9-E!OKjoa7NhMl{u}UgedTSjT{=}phPW^2ao>Tst777=)Z?x) z#HA&=DoR!|g;wQeSpivDEgJXH-zWD4F^$zwXY=IfwcSrm_&Z|o|1;qi=y_lsw|N~ zoACPq8?Wh{I{{Zm_DwUI;$So;r_}I0kVEm=WTCpL0-pzmnR;py^@@Pc(tar8_Z8#9 zl8ZoV?U^XUZa4WQc)U|j4cKqlR3wXE3IgZ<$SpEoC*J@cc&_CY%28N3qi+@H^IlvR z^rgTN4**s8W{Y%gUvd@$<@gc)RKgG(Zuf)SCNxFMwP?a8 z>Ud^{I3Dns#P-=w&X8}vi2Ybdq$Cir;_QSH%Ovl(N6+JOL6$dwhGA!n7PXGl%}IRftHwnJu~;61K12(Ch@@4L_*H$>m|9Ki*xPFxSbHX(M~F)lTdSBmbho3D{!iIO30EaDvCq zWc39|C*2^cVJVq-TcI*bAWAlFs~~lD)B@bf9=9f^%=hFvp7updM;s7ago9$lAN&`9 zr?xB)fWAHm^Rnk4T%^268;%L{ydezLir@3)noYr8P$tX!;u{k-tv~$L0>^0YjiJ3F zCjEmkVP1?0b2KK*OR^Moww@EB!@MF#`xCSa<=PzoplFPn5EJ*+7#^gUFe_uiq{M`I z9l}K94~NN!3G;>?hRJxYU{$6x7X^Y6 zJTU)%{UA&-@ka|`Dj`f@wd}Luy9{{#EB zJY5vSQ>+|KhzS!bN3AhoV&!N`Oqf_Xx=NR$!zMYJ851{Fj;@Od6DvnI#e|8KquXM_ zMC8b!`BYl~VTiw)F%V`f4zpHG*K2hS+9_~Y*G_Dnuv#d$^!2g<;A~Bfh5cBto_GCMVDqjf zZ?sR=Z##+egB~a7HTp-zzwLnYkhW7LU=NI^dL=X-<=e?O$G-FIF2fvUuh!mZIwQCO zJ06G8_I3<#y@)MD*(P(`?0Lu;SIy@Uub{;++i#QRHi_if;>FK05!c3-JkR-e4jETq zuMusCYjOiG{sZ*;NC&*{#-kJbT`TVE;F|oq<$V8dY;J7V=VSC&X`^jE4^<1T(ivXt zt+mh|nU~kt%A@>lQr=Y??SJGvZqz(vcT{u9NY3wG=^@;wklR~xn*{Pa&r4U)vENWP zA1Rx$wsMo5z#@BOAOCW|Wso*fWN&Xc)2lSaqcSo&2}@^tIU@1cQnifyM_JySh~2%R zG-dz|d=|WhPeQ$f1k}qGhp?YfJO_Wap*r9s`_rw`w@p|J;*@HU!$7~a;T*3I()AyS z(7fG7+fAF)(2txsY#8X}n#^=AY4V z6Ady+aW89S*uwR&w@RlZ8|RYiY;0cC!ycBd@v<{aZzGmZTb z_N1WiN!ys7>R~tPuY(#t7~YI(?MDALqR7Tqkfw5-SBdg}lVZYOujAP|QITliIdGHL zc(&*?BTl)+YqSMD+(lFKQh6p;)fjrkLZUzAt(wM~`K{jR{ky zhp}sVbtiDK5gl8&Y4&W^SSs#wi74g{99Ut*@M@FHVr#qC3u&28a zK5N8dzj0)~0_9#H__rGET4&l>UV?gF7_PgHQ)BWuz#g54dOZ*9tjl>2M%K^6)d}p} z$S-;9+(>@lu7nolV!KPzJ_t?J;>f7kcZt1P!k%LfsZklHjAk zk#Q6oTfJa_>F1#gFt%>>wj*{e>pctD7X}#hgpJS^Mh~Q)!FHMWqj8T~&~rGA>&f&_ z2AG$uwcK8Wd;g2k?e;cwm-fB@-fz?1Z?n6!I>0564)OB!wbUA08noi^FcX(kBwLGg zuf4_lkX;Gnlb!ioAs=Sb1t}HK>T^?k)&hlZ;SMeJ)Er1TxjYugF5^n zyRl#D?__nBlVV(VJX;Tcw~5YB4L(F#Za1#yU!cK9aEt72F5+`?ypyg+$b2YpuN~VI zUxV$H<9DCoy@I_z1|x-63K2OO_n3V|<^Awm4!^tLcPIQ7*@pz~v*Xp85ta85eN5At z4(a5bbUKu7XEfOyz9O5!W$%c=57^tJTZ^bqmpif4@L_2lesW>y4*V2` z4_*f4Ghcgu*nWq=^TP)}3Qvw3KKLFx_6KI8egJ`oT2dZE=G+M>(mkvD3KNJOq5BHs zQG$Kt*pb3*_G^1o2sV42u%{y|JzN+El;?KGZwV;gHn;D5BtZB_boe6-&Iz_Vpu+F4 zaojUa&DY&yuWtINLzeyTM`Y!Hx~x1vWTh*y%Z1Q)0ACM6H<`P;unfi9ov0Lr&|`LI z0hCz*UTb|BBp|WCi3*UDD+L*U%oK*g%TQQ(7RvqeksXK!sJ9T0NeU3p6{7Bv4|!9e zU8O2$8kd<0sib?M>-A)*Yp2>HMFrgwDs ze{{kK2V>imyi}O$7A()mD2TxFDJ(Oy!2d%{Y8v`7(a|ycEzHs5u8ach&7E1`g=WNf zEi0&n{JTBe)&A``XTx1f?ew{rKHU#$&n5P$Ty{z+@^AaIaK;ky7XB*W?`HI{oiD=q zEJCvpew!>jUs%A(B#Y)E3v!|0TzI2PndiKK`xfJT*0}F5EUeRpy|gD*r* zp$z77N{Un&UrQUVS~vyUdI8I0MF-9MeI)O-1;TOKK9`d3N4pfb==X#4 zJFUP?!{4u!RWkZB2`EATJ4WN&rNx-4q&sM?qZN9fk4n z^AZXQX^2Nj2#oESa8^`VM5L7R0#eRHD;K&T9>y~5q0xmP?H-dxj-tK*n#{ZZV|A`G`sX*A#e>Su4H*A-#GUv`;njc)w+9J=uCF zL5q(XCA_8}wG*uxtt0%mo2B-YPFmeqTqYhGc99mgJxa@8+F@Ou7eL$+)Dr0_vXNFA zxMwP0JyVLez|e0NVm=FTze(ypn}p=yBOG|XP~s^hh4oCik#EwIW-nLS!)KgrVvSI*y;5ROWzG=7Lm?BvM&|emFjr%Yv~(33~4c;;8S(=is-8r#989 zY)CspMeVw=vHbjaHkNXb0N>i zvw7#^Fp9mnFxofuD@MF>Nn!Nb-P`eO?uqf^3yo(mHkxpk5*(Z3d=_t>m&U!2=TuecGIu*w0Cz>rct3qhn^r3dMLP zD<>f~ZM@cyufeA|`=zk7G5_@pZtqXvqBe^j#L{j!HO1EyvG;ai0$ck!Eu}K*JlG{s zX~&ZtFoZ4#c(G;^`7WE?QDaL%oNpm=#=#fNMI}@NBd!|WrOi@qE@872uEM{QtMu>r zPCy+is@-A@-_h}%;DC30htICje_rDW`_rs6)FJ*`l@L4ce>WjA|8@|�Y%?uxv6< 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

    6VK#B3!Jt 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