@@ -0,0 +1,91 @@ | |||
package me.chanjar.weixin.mp.bean; | |||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||
/** | |||
* 语义理解查询用对象 | |||
* | |||
* http://mp.weixin.qq.com/wiki/index.php?title=语义理解 | |||
* | |||
* @author Daniel Qian | |||
*/ | |||
public class WxMpSemanticQuery { | |||
private String query; | |||
private String category; | |||
private Float latitude; | |||
private Float longitude; | |||
private String city; | |||
private String region; | |||
private String appid; | |||
private String uid; | |||
public String getQuery() { | |||
return query; | |||
} | |||
public void setQuery(String query) { | |||
this.query = query; | |||
} | |||
public String getCategory() { | |||
return category; | |||
} | |||
public void setCategory(String category) { | |||
this.category = category; | |||
} | |||
public Float getLatitude() { | |||
return latitude; | |||
} | |||
public void setLatitude(Float latitude) { | |||
this.latitude = latitude; | |||
} | |||
public Float getLongitude() { | |||
return longitude; | |||
} | |||
public void setLongitude(Float longitude) { | |||
this.longitude = longitude; | |||
} | |||
public String getCity() { | |||
return city; | |||
} | |||
public void setCity(String city) { | |||
this.city = city; | |||
} | |||
public String getRegion() { | |||
return region; | |||
} | |||
public void setRegion(String region) { | |||
this.region = region; | |||
} | |||
public String getAppid() { | |||
return appid; | |||
} | |||
public void setAppid(String appid) { | |||
this.appid = appid; | |||
} | |||
public String getUid() { | |||
return uid; | |||
} | |||
public void setUid(String uid) { | |||
this.uid = uid; | |||
} | |||
public String toJson() { | |||
return WxMpGsonBuilder.create().toJson(this); | |||
} | |||
} |
@@ -0,0 +1,73 @@ | |||
package me.chanjar.weixin.mp.bean.result; | |||
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||
/** | |||
* 语义理解查询结果对象 | |||
* | |||
* http://mp.weixin.qq.com/wiki/index.php?title=语义理解 | |||
* | |||
* @author Daniel Qian | |||
*/ | |||
public class WxMpSemanticQueryResult { | |||
private String query; | |||
private String type; | |||
private String semantic; | |||
private String result; | |||
private String answer; | |||
private String text; | |||
public String getQuery() { | |||
return query; | |||
} | |||
public void setQuery(String query) { | |||
this.query = query; | |||
} | |||
public String getType() { | |||
return type; | |||
} | |||
public void setType(String type) { | |||
this.type = type; | |||
} | |||
public String getSemantic() { | |||
return semantic; | |||
} | |||
public void setSemantic(String semantic) { | |||
this.semantic = semantic; | |||
} | |||
public String getResult() { | |||
return result; | |||
} | |||
public void setResult(String result) { | |||
this.result = result; | |||
} | |||
public String getAnswer() { | |||
return answer; | |||
} | |||
public void setAnswer(String answer) { | |||
this.answer = answer; | |||
} | |||
public String getText() { | |||
return text; | |||
} | |||
public void setText(String text) { | |||
this.text = text; | |||
} | |||
public static WxMpSemanticQueryResult fromJson(String json) { | |||
return WxMpGsonBuilder.create().fromJson(json, WxMpSemanticQueryResult.class); | |||
} | |||
} |
@@ -23,6 +23,7 @@ public class WxMpGsonBuilder { | |||
INSTANCE.registerTypeAdapter(WxMpMassUploadResult.class, new WxMpMassUploadResultAdapter()); | |||
INSTANCE.registerTypeAdapter(WxMpQrCodeTicket.class, new WxQrCodeTicketAdapter()); | |||
INSTANCE.registerTypeAdapter(WxMpTemplateMessage.class, new WxMpTemplateMessageGsonAdapter()); | |||
INSTANCE.registerTypeAdapter(WxMpSemanticQueryResult.class, new WxMpSemanticQueryResultAdapter()); | |||
} | |||
public static Gson create() { | |||
@@ -0,0 +1,51 @@ | |||
/* | |||
* KINGSTAR MEDIA SOLUTIONS Co.,LTD. Copyright c 2005-2013. All rights reserved. | |||
* | |||
* This source code is the property of KINGSTAR MEDIA SOLUTIONS LTD. It is intended | |||
* only for the use of KINGSTAR MEDIA application development. Reengineering, reproduction | |||
* arose from modification of the original source, or other redistribution of this source | |||
* is not permitted without written permission of the KINGSTAR MEDIA SOLUTIONS LTD. | |||
*/ | |||
package me.chanjar.weixin.mp.util.json; | |||
import com.google.gson.*; | |||
import me.chanjar.weixin.common.util.json.GsonHelper; | |||
import me.chanjar.weixin.mp.bean.result.WxMpMassSendResult; | |||
import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; | |||
import me.chanjar.weixin.mp.bean.result.WxMpSemanticQueryResult; | |||
import java.lang.reflect.Type; | |||
/** | |||
* | |||
* @author Daniel Qian | |||
* | |||
*/ | |||
public class WxMpSemanticQueryResultAdapter implements JsonDeserializer<WxMpSemanticQueryResult> { | |||
public WxMpSemanticQueryResult deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { | |||
WxMpSemanticQueryResult result = new WxMpSemanticQueryResult(); | |||
JsonObject resultJsonObject = json.getAsJsonObject(); | |||
if (GsonHelper.getString(resultJsonObject, "query") != null) { | |||
result.setQuery(GsonHelper.getString(resultJsonObject, "query")); | |||
} | |||
if (GsonHelper.getString(resultJsonObject, "type") != null) { | |||
result.setType(GsonHelper.getString(resultJsonObject, "type")); | |||
} | |||
if (resultJsonObject.get("semantic") != null) { | |||
result.setSemantic(resultJsonObject.get("semantic").toString()); | |||
} | |||
if (resultJsonObject.get("result") != null) { | |||
result.setResult(resultJsonObject.get("result").toString()); | |||
} | |||
if (GsonHelper.getString(resultJsonObject, "answer") != null) { | |||
result.setAnswer(GsonHelper.getString(resultJsonObject, "answer")); | |||
} | |||
if (GsonHelper.getString(resultJsonObject, "text") != null) { | |||
result.setText(GsonHelper.getString(resultJsonObject, "text")); | |||
} | |||
return result; | |||
} | |||
} |