diff --git a/CHANGE.md b/CHANGE.md index 0e274ab0..06bd6d89 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -158,4 +158,14 @@ * 2015-01-15 - + **weixin4j-qy**: 新增邀请成员关注接口 \ No newline at end of file + + **weixin4j-qy**: 新增邀请成员关注接口 + + * 2015-01-22 + + + **weixin4j-base**: 升级fastjson到1.2.3 + + + **weixin4j-mp**:调整部分实体类(*paypackage)中没有按照骆驼命名规则的属性名 + + * 2015-01-31 + + + **weixin4j-mp**: 新增数据分析接口 \ No newline at end of file diff --git a/README.md b/README.md index f2f05b76..e407a562 100644 --- a/README.md +++ b/README.md @@ -71,8 +71,6 @@ netty的代码没有放到maven中心仓库,也没什么意义,因为最终需 接下来 ------ -* 公众号数据分析接口 - * 公众号服务应用 * 企业号第三方应用 diff --git a/pom.xml b/pom.xml index 0d27eb50..a264755e 100644 --- a/pom.xml +++ b/pom.xml @@ -212,7 +212,6 @@ **/*.pem **/*.p12 **/*.pfx - **/*.pem diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/FileTokenHolder.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/FileTokenHolder.java index d0a01ed4..77d562ca 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/FileTokenHolder.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/token/FileTokenHolder.java @@ -24,15 +24,15 @@ import com.thoughtworks.xstream.XStream; public class FileTokenHolder implements TokenHolder { private final XStream xstream; private final String tokenPath; - private final TokenCreator tokenCretor; + private final TokenCreator tokenCreator; - public FileTokenHolder(TokenCreator tokenCretor) { - this(ConfigUtil.getValue("token_path"), tokenCretor); + public FileTokenHolder(TokenCreator tokenCreator) { + this(ConfigUtil.getValue("token_path"), tokenCreator); } - public FileTokenHolder(String tokenPath, TokenCreator tokenCretor) { + public FileTokenHolder(String tokenPath, TokenCreator tokenCreator) { this.tokenPath = tokenPath; - this.tokenCretor = tokenCretor; + this.tokenCreator = tokenCreator; xstream = new XStream(); xstream.ignoreUnknownElements(); xstream.autodetectAnnotations(true); @@ -43,7 +43,7 @@ public class FileTokenHolder implements TokenHolder { @Override public Token getToken() throws WeixinException { File token_file = new File(String.format("%s/%s.xml", tokenPath, - tokenCretor.getCacheKey())); + tokenCreator.getCacheKey())); Token token = null; Calendar ca = Calendar.getInstance(); long now_time = ca.getTimeInMillis(); @@ -57,7 +57,7 @@ public class FileTokenHolder implements TokenHolder { return token; } } - token = tokenCretor.createToken(); + token = tokenCreator.createToken(); xstream.toXML(token, new FileOutputStream(token_file)); } catch (IOException e) { throw new WeixinException(e.getMessage()); diff --git a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/MapUtil.java b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/MapUtil.java index 958681d4..2c4964aa 100644 --- a/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/MapUtil.java +++ b/weixin4j-base/src/main/java/com/foxinmy/weixin4j/util/MapUtil.java @@ -7,6 +7,7 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; +import org.apache.commons.lang3.StringUtils; import org.apache.http.Consts; import com.alibaba.fastjson.JSON; @@ -49,6 +50,9 @@ public class MapUtil { try { if (encoder && lowerCase) { for (Map.Entry entry : set) { + if (StringUtils.isBlank(entry.getValue())) { + continue; + } sb.append(entry.getKey().toLowerCase()) .append("=") .append(URLEncoder.encode(entry.getValue(), @@ -56,6 +60,9 @@ public class MapUtil { } } else if (encoder) { for (Map.Entry entry : set) { + if (StringUtils.isBlank(entry.getValue())) { + continue; + } sb.append(entry.getKey()) .append("=") .append(URLEncoder.encode(entry.getValue(), @@ -63,11 +70,17 @@ public class MapUtil { } } else if (lowerCase) { for (Map.Entry entry : set) { + if (StringUtils.isBlank(entry.getValue())) { + continue; + } sb.append(entry.getKey().toLowerCase()).append("=") .append(entry.getValue()).append("&"); } } else { for (Map.Entry entry : set) { + if (StringUtils.isBlank(entry.getValue())) { + continue; + } sb.append(entry.getKey()).append("=") .append(entry.getValue()).append("&"); } diff --git a/weixin4j-mp/README.md b/weixin4j-mp/README.md index eaa583ec..bee5e586 100644 --- a/weixin4j-mp/README.md +++ b/weixin4j-mp/README.md @@ -164,4 +164,8 @@ weixin4j-mp + **weixin4j-mp-api**: 退款相关类拆分为V2跟V3 - + **weixin4j-mp-api**: 新增接口上报接口 \ No newline at end of file + + **weixin4j-mp-api**: 新增接口上报接口 + + * 2015-01-31 + + + **weixin4j-mp-api**: 新增数据分析接口 \ No newline at end of file diff --git a/weixin4j-mp/weixin4j-mp-api/README.md b/weixin4j-mp/weixin4j-mp-api/README.md index 9f488b24..cb6ea6ba 100644 --- a/weixin4j-mp/weixin4j-mp-api/README.md +++ b/weixin4j-mp/weixin4j-mp-api/README.md @@ -143,4 +143,8 @@ weixin.properties说明 + 退款相关类拆分为V2跟V3 - + 新增接口上报接口 \ No newline at end of file + + 新增接口上报接口 + + * 2015-01-31 + + + 新增数据分析接口 \ No newline at end of file diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/Pay2Api.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/Pay2Api.java index 237e3130..b1afc759 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/Pay2Api.java +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/Pay2Api.java @@ -233,7 +233,6 @@ public class Pay2Api extends PayApi { } } } - System.err.println(response.getAsString()); return response.getAsObject(new TypeReference() { }); } diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/weixin.properties b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/weixin.properties index 04a497a2..3b36adf2 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/weixin.properties +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/weixin.properties @@ -130,5 +130,5 @@ unifiedorder_uri={mch_base_url}/pay/unifiedorder nativepay_v2_uri=weixin://wxpay/bizpayurl?sign=%s&appid=%s&productid=%s×tamp=%s&noncestr=%s nativepay_v3_uri=weixin://wxpay/bizpayurl?sign=%s&appid=%s&mch_id=%s&product_id=%s&time_stamp=%s&nonce_str=%s -# \u83b7\u53d6\u7528\u6237\u589e\u51cf\u6570\u636e -datacube_getusersummary_uri={api_base_url}/datacube/getusersummary?access_token=%s +# \u6570\u636e\u7edf\u8ba1 +datacube_uri={api_base_url}/datacube/%s?access_token=%s \ No newline at end of file diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayPackageV3.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayPackageV3.java index 086b993a..a948e45d 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayPackageV3.java +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/payment/v3/PayPackageV3.java @@ -2,8 +2,6 @@ package com.foxinmy.weixin4j.mp.payment.v3; import java.util.Date; -import org.apache.commons.lang3.StringUtils; - import com.alibaba.fastjson.annotation.JSONField; import com.foxinmy.weixin4j.model.WeixinMpAccount; import com.foxinmy.weixin4j.mp.payment.PayPackage; @@ -120,10 +118,6 @@ public class PayPackageV3 extends PayPackage { this.sign = sign; } - public void setBody(String body) { - super.setBody(StringUtils.isBlank(body) ? "服务费用" : body); - } - public String getTradeType() { return tradeType; }