diff --git a/README.md b/README.md index 4e5dfd56..2e673e84 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ weixin-java-tools me.chanjar weixin-java-mp - 1.1.3 + 1.1.4 ``` @@ -27,7 +27,7 @@ weixin-java-tools me.chanjar weixin-java-cp - 1.1.3 + 1.1.4 ``` diff --git a/pom.xml b/pom.xml index 4acaaa00..de9f2ed9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 me.chanjar weixin-java-parent - 1.1.3 + 1.1.4 pom WeiXin Java Tools - Parent 微信公众号、企业号上级POM diff --git a/weixin-java-common/pom.xml b/weixin-java-common/pom.xml index a1a7df96..a4654ac3 100644 --- a/weixin-java-common/pom.xml +++ b/weixin-java-common/pom.xml @@ -6,7 +6,7 @@ me.chanjar weixin-java-parent - 1.1.3 + 1.1.4 weixin-java-common diff --git a/weixin-java-cp/pom.xml b/weixin-java-cp/pom.xml index 5021f377..d89ae443 100644 --- a/weixin-java-cp/pom.xml +++ b/weixin-java-cp/pom.xml @@ -6,7 +6,7 @@ me.chanjar weixin-java-parent - 1.1.3 + 1.1.4 weixin-java-cp diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java index 1c2e16e7..c04d7533 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java @@ -7,6 +7,7 @@ import com.google.gson.JsonPrimitive; import com.google.gson.internal.Streams; import com.google.gson.reflect.TypeToken; import com.google.gson.stream.JsonReader; +import com.sun.media.sound.SoftTuning; import me.chanjar.weixin.common.bean.WxAccessToken; import me.chanjar.weixin.common.bean.WxJsapiSignature; import me.chanjar.weixin.common.bean.WxMenu; @@ -46,6 +47,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.StringReader; +import java.math.BigDecimal; import java.security.NoSuchAlgorithmException; import java.util.List; import java.util.UUID; @@ -445,7 +447,7 @@ public class WxCpServiceImpl implements WxCpService { @Override public String[] oauth2getUserInfo(String code) throws WxErrorException { - return oauth2getUserInfo(code, wxCpConfigStorage.getAgentId()); + return oauth2getUserInfo(wxCpConfigStorage.getAgentId(), code); } @Override @@ -626,4 +628,12 @@ public class WxCpServiceImpl implements WxCpService { this.sessionManager = sessionManager; } + public static void main(String[] args) { + Float a = 3.1f; + System.out.println(3.1d); + System.out.println(new BigDecimal(3.1d)); + System.out.println(new BigDecimal(a)); + System.out.println(a.toString()); + System.out.println(a.doubleValue()); + } } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpMessageGsonAdapter.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpMessageGsonAdapter.java index 4b2e1f4c..9c262a31 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpMessageGsonAdapter.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpMessageGsonAdapter.java @@ -34,7 +34,7 @@ public class WxCpMessageGsonAdapter implements JsonSerializer { messageJson.addProperty("toparty", message.getToParty()); } if (StringUtils.isNotBlank(message.getToTag())) { - messageJson.addProperty("totag", message.getToUser()); + messageJson.addProperty("totag", message.getToTag()); } if (WxConsts.CUSTOM_MSG_TEXT.equals(message.getMsgType())) { JsonObject text = new JsonObject(); diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpTagGsonAdapter.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpTagGsonAdapter.java index 776e8a44..1b7a2834 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpTagGsonAdapter.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpTagGsonAdapter.java @@ -19,17 +19,17 @@ import java.lang.reflect.Type; */ public class WxCpTagGsonAdapter implements JsonSerializer, JsonDeserializer { - public JsonElement serialize(WxCpTag group, Type typeOfSrc, JsonSerializationContext context) { + public JsonElement serialize(WxCpTag tag, Type typeOfSrc, JsonSerializationContext context) { JsonObject o = new JsonObject(); - o.addProperty("tagid", group.getId()); - o.addProperty("tagname", group.getName()); + o.addProperty("tagid", tag.getId()); + o.addProperty("tagname", tag.getName()); return o; } public WxCpTag deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { JsonObject jsonObject = json.getAsJsonObject(); - return new WxCpTag(GsonHelper.getString(jsonObject, "tagid"), GsonHelper.getString(jsonObject, "name")); + return new WxCpTag(GsonHelper.getString(jsonObject, "tagid"), GsonHelper.getString(jsonObject, "tagname")); } } diff --git a/weixin-java-mp/pom.xml b/weixin-java-mp/pom.xml index 73c43bf3..bfb653ec 100644 --- a/weixin-java-mp/pom.xml +++ b/weixin-java-mp/pom.xml @@ -6,7 +6,7 @@ me.chanjar weixin-java-parent - 1.1.3 + 1.1.4 weixin-java-mp WeiXin Java Tools - MP diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java index 68a19bbe..3205adbe 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java @@ -387,6 +387,18 @@ public interface WxMpService { */ public String oauth2buildAuthorizationUrl(String scope, String state); + /** + *
+   * 构造oauth2授权的url连接
+   * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=网页授权获取用户基本信息
+   * 
+ * @param redirectURI + * 用户授权完成后的重定向链接,无需urlencode, 方法内会进行encode + * @param scope + * @param state + * @return code + */ + public String oauth2buildAuthorizationUrl(String redirectURI, String scope, String state); /** *
    * 用code换取oauth2的access token
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java
index 059a09f3..e41a26e5 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java
@@ -363,9 +363,14 @@ public class WxMpServiceImpl implements WxMpService {
 
   @Override
   public String oauth2buildAuthorizationUrl(String scope, String state) {
+    return this.oauth2buildAuthorizationUrl(wxMpConfigStorage.getOauth2redirectUri(), scope, state);
+  }
+
+  @Override
+  public String oauth2buildAuthorizationUrl(String redirectURI, String scope, String state) {
     String url = "https://open.weixin.qq.com/connect/oauth2/authorize?" ;
     url += "appid=" + wxMpConfigStorage.getAppId();
-    url += "&redirect_uri=" + URIUtil.encodeURIComponent(wxMpConfigStorage.getOauth2redirectUri());
+    url += "&redirect_uri=" + URIUtil.encodeURIComponent(redirectURI);
     url += "&response_type=code";
     url += "&scope=" + scope;
     if (state != null) {