parent
7a49d79707
commit
6578d4f525
@ -0,0 +1,44 @@ |
||||
package com.unionmed.framework.spring.mvc; |
||||
|
||||
import com.alibaba.fastjson.JSONObject; |
||||
import com.unionmed.framework.util.ObjectUtils; |
||||
|
||||
/** |
||||
* @author ianChen |
||||
* @date 2023/6/6 10:48 |
||||
*/ |
||||
public final class BaseReturnUtils { |
||||
|
||||
public static BaseReturn parse(JSONObject jsn) { |
||||
if (ObjectUtils.isEmpty(jsn)) { |
||||
return BaseReturn.suc(BaseReturn.suc()); |
||||
} |
||||
if (isBaseReturnFormat(jsn)) { |
||||
Object data = jsn.get("data"); |
||||
if (data instanceof JSONObject) { |
||||
return parse(jsn, (JSONObject) data); |
||||
} else if (data instanceof String) { |
||||
String sData = (String) data; |
||||
if (sData.startsWith("{") && sData.endsWith("}")) { |
||||
return parse(jsn, JSONObject.parseObject(sData)); |
||||
} |
||||
} else { |
||||
return BaseReturn.suc(BaseReturn.inst(jsn.getIntValue("code"), data, jsn.getString("message"))); |
||||
} |
||||
} |
||||
|
||||
return BaseReturn.suc(BaseReturn.suc(jsn)); |
||||
} |
||||
|
||||
private static BaseReturn parse(JSONObject jsn, JSONObject jData) { |
||||
if (isBaseReturnFormat(jData)) { |
||||
return BaseReturn.inst(jsn.getIntValue("code"), BaseReturn.inst(jData.getIntValue("code"), jData.get("data"), jData.getString("message")), jsn.getString("message")); |
||||
} else { |
||||
return BaseReturn.suc(BaseReturn.inst(jsn.getIntValue("code"), jsn.get("data"), jsn.getString("message"))); |
||||
} |
||||
} |
||||
|
||||
private static boolean isBaseReturnFormat(JSONObject jsn) { |
||||
return jsn.containsKey("code") && jsn.containsKey("message") && jsn.containsKey("data"); |
||||
} |
||||
} |
Loading…
Reference in new issue