Skip to content

Commit 61b2a96

Browse files
committed
Server:@columns改为@column;新增@group,@having,@order;Client:与服务端同步JSONRequest,JSONObject;修改@columns@column
1 parent a6b0a8d commit 61b2a96

10 files changed

Lines changed: 337 additions & 152 deletions

File tree

APIJSON(Android)/APIJSON(ADT)/APIJSONApp/APIJSONApp/src/apijson/demo/client/util/HttpRequest.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ public static void getUser(long id, boolean withMomentList, int requestCode, OnH
270270
JSONRequest request = new JSONRequest(new User(id));
271271
if (withMomentList) {
272272
request.add(new JSONRequest(Moment.class.getSimpleName()
273-
, new JSONRequest(KEY_USER_ID, id).setColumns("pictureList"))
273+
, new JSONRequest(KEY_USER_ID, id).setColumn("pictureList"))
274274
.toArray(3, 0, Moment.class.getSimpleName()));
275275
}
276276
get(request, requestCode, listener);
@@ -343,13 +343,13 @@ public static void getUserList(int range, long id, com.alibaba.fastjson.JSONObje
343343
break;
344344
case RANGE_MOMENT:
345345
JSONObject moment = new JSONObject(new Moment(id));
346-
moment.setColumns("praiseUserIdList");
346+
moment.setColumn("praiseUserIdList");
347347
request.put(Moment.class.getSimpleName(), moment);
348348
userItem.put(ID_IN, "Moment/praiseUserIdList");
349349
break;
350350
case RANGE_COMMENT:
351351
JSONObject comment = new JSONObject(new Comment(id));
352-
comment.setColumns(KEY_USER_ID);
352+
comment.setColumn(KEY_USER_ID);
353353
request.put(Comment.class.getSimpleName(), comment);
354354
userItem.put(ID_AT, "Comment/userId");
355355
break;
@@ -443,12 +443,12 @@ public static void getMomentList(int range, long id, com.alibaba.fastjson.JSONOb
443443
// moment.put("praised()", "isContain(Collection:praiseUserIdList,userId)");
444444

445445
request.put(Moment.class.getSimpleName(), moment);
446-
request.put(User.class.getSimpleName(), new JSONRequest(ID_AT, "/Moment/userId").setColumns(COLUMNS_USER));
446+
request.put(User.class.getSimpleName(), new JSONRequest(ID_AT, "/Moment/userId").setColumn(COLUMNS_USER));
447447

448448
//comment <<<<<<<<<<<<<<<<<<
449449
JSONRequest commentItem = new JSONRequest();
450450
commentItem.put(Comment.class.getSimpleName(), new JSONRequest(MOMENT_ID_AT, "[]/Moment/id"));
451-
commentItem.put(User.class.getSimpleName(), new JSONRequest(ID_AT, "/Comment/userId").setColumns(COLUMNS_USER));
451+
commentItem.put(User.class.getSimpleName(), new JSONRequest(ID_AT, "/Comment/userId").setColumn(COLUMNS_USER_SIMPLE));
452452

453453
// commentItem.put("release", "total:[]/Moment/commentCount");
454454
request.add(commentItem.toArray(10, 0, CommentItem.class.getSimpleName()));
@@ -468,13 +468,7 @@ public static void getCommentList(long momentId, int count, int page
468468
, int requestCode, OnHttpResponseListener listener) {
469469
JSONRequest request = new JSONRequest();
470470
request.put(new Comment().setMomentId(momentId));
471-
request.put(User.class.getSimpleName(), new JSONRequest(ID_AT, "/Comment/userId").setColumns(COLUMNS_USER));
472-
473-
JSONObject toUserObject = new JSONObject();
474-
toUserObject.put(User.class.getSimpleName()
475-
, new JSONRequest(ID_AT, "[]/Comment/toUserId").setColumns(COLUMNS_USER_SIMPLE));
476-
request.put("toUserObject", toUserObject);
477-
471+
request.put(User.class.getSimpleName(), new JSONRequest(ID_AT, "/Comment/userId").setColumn(COLUMNS_USER));
478472
get(request.toArray(count, page), requestCode, listener);
479473
}
480474

APIJSON(Android)/APIJSON(ADT)/APIJSONLibrary/src/zuo/biao/apijson/JSONObject.java

Lines changed: 97 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -227,26 +227,107 @@ public static boolean isWord(String key) {
227227
//judge >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
228228

229229

230+
//JSONObject内关键词 key <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
230231

231-
public static final String KEY_COLUMNS = "@columns";//@key关键字都放这个类
232+
public static final String KEY_COLUMN = "@column";//@key关键字都放这个类
233+
public static final String KEY_GROUP = "@group";//@key关键字都放这个类
234+
public static final String KEY_HAVING = "@having";//@key关键字都放这个类
235+
public static final String KEY_ORDER = "@order";//@key关键字都放这个类
232236

233-
/**set columns need to be returned
234-
* @param columns "column0,column1,column2..."
237+
/**set keys need to be returned
238+
* @param keys key0, key1, key2 ...
239+
* @return {@link #setColumn(String)}
240+
*/
241+
public JSONObject setColumn(String... keys) {
242+
return setColumn(StringUtil.getString(keys));
243+
}
244+
/**set keys need to be returned
245+
* @param keys "key0,key1,key2..."
235246
* @return
236247
*/
237-
public JSONObject setColumns(String columns) {
238-
put(KEY_COLUMNS, columns);
248+
public JSONObject setColumn(String keys) {
249+
put(KEY_COLUMN, keys);
239250
return this;
240251
}
241-
public String getColumns() {
242-
return getString(KEY_COLUMNS);
252+
public String getColumn() {
253+
return getString(KEY_COLUMN);
243254
}
244-
255+
256+
/**set keys for group by
257+
* @param keys key0, key1, key2 ...
258+
* @return {@link #setGroup(String)}
259+
*/
260+
public JSONObject setGroup(String... keys) {
261+
return setGroup(StringUtil.getString(keys));
262+
}
263+
/**set keys for group by
264+
* @param keys "key0,key1,key2..."
265+
* @return
266+
*/
267+
public JSONObject setGroup(String keys) {
268+
put(KEY_GROUP, keys);
269+
return this;
270+
}
271+
public String getGroup() {
272+
return getString(KEY_GROUP);
273+
}
274+
275+
/**set keys for having
276+
* @param keys count(key0) > 1, sum(key1) <= 5, function2(key2) ? value2 ...
277+
* @return {@link #setHaving(String)}
278+
*/
279+
public JSONObject setHaving(String... keys) {
280+
return setHaving(StringUtil.getString(keys));
281+
}
282+
/**set keys for having
283+
* @param keys "key0,key1,key2..."
284+
* @return
285+
*/
286+
public JSONObject setHaving(String keys) {
287+
put(KEY_HAVING, keys);
288+
return this;
289+
}
290+
public String getHaving() {
291+
return getString(KEY_HAVING);
292+
}
293+
294+
/**set keys for order by
295+
* @param keys key0, key1+, key2- ...
296+
* @return {@link #setOrder(String)}
297+
*/
298+
public JSONObject setOrder(String... keys) {
299+
return setOrder(StringUtil.getString(keys));
300+
}
301+
/**set keys for order by
302+
* @param keys "key0,key1+,key2-..."
303+
* @return
304+
*/
305+
public JSONObject setOrder(String keys) {
306+
put(KEY_ORDER, keys);
307+
return this;
308+
}
309+
public String getOrder() {
310+
return getString(KEY_ORDER);
311+
}
312+
313+
314+
//JSONObject内关键词 key >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
245315

246316

247317

248318
//Request,默认encode <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
249319

320+
321+
/**
322+
* encode = true
323+
* @param value
324+
* @param parts path = keys[0] + "/" + keys[1] + "/" + keys[2] + ...
325+
* @return #put(key+"@", StringUtil.getString(keys, "/"), true)
326+
*/
327+
public Object putPath(String key, String... keys) {
328+
return put(key+"@", StringUtil.getString(keys, "/"), true);
329+
}
330+
250331
/**
251332
* encode = true
252333
* @param key
@@ -260,10 +341,10 @@ public JSONObject putNull(String key, boolean isNull) {
260341
* @param key
261342
* @param isNull
262343
* @param encode
263-
* @return
344+
* @return put(key+"{}", SQL.isNull(isNull), encode);
264345
*/
265346
public JSONObject putNull(String key, boolean isNull, boolean encode) {
266-
put(key + "{}", SQL.isNull(isNull), encode);
347+
put(key+"{}", SQL.isNull(isNull), encode);
267348
return this;
268349
}
269350
/**
@@ -288,10 +369,10 @@ public JSONObject putEmpty(String key, boolean isEmpty, boolean trim) {
288369
* @param key
289370
* @param isEmpty
290371
* @param encode
291-
* @return
372+
* @return put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode);
292373
*/
293374
public JSONObject putEmpty(String key, boolean isEmpty, boolean trim, boolean encode) {
294-
put(key + "{}", SQL.isEmpty(key, isEmpty, trim), encode);
375+
put(key+"{}", SQL.isEmpty(key, isEmpty, trim), encode);
295376
return this;
296377
}
297378
/**
@@ -307,10 +388,10 @@ public JSONObject putLength(String key, String compare) {
307388
* @param key
308389
* @param compare <=0, >5 ...
309390
* @param encode
310-
* @return
391+
* @return put(key+"{}", SQL.length(key) + compare, encode);
311392
*/
312393
public JSONObject putLength(String key, String compare, boolean encode) {
313-
put(key + "{}", SQL.length(key) + compare, encode);
394+
put(key+"{}", SQL.length(key) + compare, encode);
314395
return this;
315396
}
316397

@@ -338,16 +419,10 @@ public JSONObject putSearch(String key, String value, int type) {
338419
* @param value
339420
* @param type
340421
* @param encode
341-
* @return
422+
* @return put(key+"$", SQL.search(value, type), encode);
342423
*/
343424
public JSONObject putSearch(String key, String value, int type, boolean encode) {
344-
if (key == null) {
345-
key = "";
346-
}
347-
if (key.endsWith("$") == false) {
348-
key += "$";
349-
}
350-
put(key, SQL.search(value, type), encode);
425+
put(key+"$", SQL.search(value, type), encode);
351426
return this;
352427
}
353428

APIJSON(Android)/APIJSON(ADT)/APIJSONLibrary/src/zuo/biao/apijson/JSONRequest.java

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public JSONRequest(String name, Object object, boolean encode) {
6969

7070

7171

72-
public static final String KEY_TAG = "tag";
72+
public static final String KEY_TAG = "tag";//只在最外层,最外层用JSONRequest
7373

7474
public JSONObject setTag(String tag) {
7575
put(KEY_TAG, tag);
@@ -105,21 +105,6 @@ public int getPage() {
105105

106106

107107

108-
/**
109-
* @param value
110-
* @param parts path = parts[0] + "/" + parts[1] + "/" + parts[2] + ...
111-
* @return
112-
*/
113-
public Object putPath(String key, String... parts) {
114-
String path = "";
115-
if (parts != null) {
116-
for (int i = 0; i < parts.length; i++) {
117-
path += (i > 0 ? "/" : "") + parts[i];
118-
}
119-
}
120-
return put(key, path);
121-
}
122-
123108
// 导致JSONObject add >> get = null
124109
// /**
125110
// * decode = true
@@ -180,12 +165,12 @@ public JSONRequest toArray(int count, int page, boolean encode) {
180165
public JSONRequest toArray(int count, int page, String name) {
181166
return toArray(count, page, name, true);
182167
}
183-
/**create a parent JSONObject named name+KEY_ARRAY
168+
/**create a parent JSONObject named name+KEY_ARRAY.
184169
* @param count
185170
* @param page
186171
* @param name
187172
* @param encode
188-
* @return {name+KEY_ARRAY : this}
173+
* @return {name+KEY_ARRAY : this}. if needs to be put, use {@link #add(com.alibaba.fastjson.JSONObject)} instead
189174
*/
190175
public JSONRequest toArray(int count, int page, String name, boolean encode) {
191176
return new JSONRequest(StringUtil.getString(name) + KEY_ARRAY, this.setCount(count).setPage(page), encode);

APIJSON(Android)/APIJSON(ADT)/APIJSONTest/src/apijson/demo/RequestUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ public static JSONObject newPutRequest(long id, boolean encode) {
5757
Moment data = new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id);
5858
// data.setContent(context.getString(R.string.apijson_info));//一般可用这种方式,encode是为了展示方便
5959
List<Long> list = new ArrayList<>();
60-
list.add((long) 10000);
61-
list.add((long) 10001);
60+
list.add((long) 82001);
61+
list.add((long) 82002);
6262
JSONObject momentObject = new JSONObject(data, encode);
6363
momentObject.put("praiseUserIdList+", list, encode);
6464
momentObject.put("content", context.getString(R.string.apijson_info), encode);
@@ -78,7 +78,7 @@ public static JSONObject newSingleRequest(long id, boolean encode) {
7878

7979
public static JSONObject newColumnsRequest(long id, boolean encode) {
8080
JSONObject object = new JSONObject(new Moment(id <= 0 ? DEFAULT_MOMENT_ID : id), encode);
81-
object.setColumns("id,userId,content");
81+
object.setColumn("id,userId,content");
8282
return new JSONRequest(Moment.class.getSimpleName(), object, encode);
8383
}
8484

0 commit comments

Comments
 (0)