| @@ -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; | |||
| } | |||
| } | |||