瀏覽代碼

修复更多的warning,尤其是导致打包warning的不规范或不必要的javadoc

master
BinaryWang 9 年之前
父節點
當前提交
55e0653521
共有 19 個檔案被更改,包括 79 行新增183 行删除
  1. +5
    -9
      weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxMenu.java
  2. +0
    -5
      weixin-java-common/src/main/java/me/chanjar/weixin/common/session/WxSessionManager.java
  3. +0
    -6
      weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/SHA1.java
  4. +52
    -53
      weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/WxCryptUtil.java
  5. +0
    -4
      weixin-java-common/src/main/java/me/chanjar/weixin/common/util/fs/FileUtils.java
  6. +0
    -5
      weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/ApacheHttpClientBuilder.java
  7. +0
    -1
      weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/RequestExecutor.java
  8. +0
    -2
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageMatcher.java
  9. +0
    -1
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouter.java
  10. +0
    -15
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouterRule.java
  11. +4
    -25
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpService.java
  12. +0
    -6
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java
  13. +11
    -17
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpMessage.java
  14. +0
    -4
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java
  15. +6
    -12
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlOutMessage.java
  16. +1
    -3
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java
  17. +0
    -6
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java
  18. +0
    -1
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java
  19. +0
    -8
      weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java

+ 5
- 9
weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxMenu.java 查看文件

@@ -1,14 +1,14 @@
package me.chanjar.weixin.common.bean; package me.chanjar.weixin.common.bean;


import me.chanjar.weixin.common.util.json.WxGsonBuilder;
import org.apache.commons.codec.Charsets;

import java.io.InputStream; import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.Serializable; import java.io.Serializable;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;


import me.chanjar.weixin.common.util.json.WxGsonBuilder;

/** /**
* 企业号菜单 * 企业号菜单
* @author Daniel Qian * @author Daniel Qian
@@ -45,8 +45,6 @@ public class WxMenu implements Serializable {
/** /**
* 要用 http://mp.weixin.qq.com/wiki/16/ff9b7b85220e1396ffa16794a9d95adc.html 格式来反序列化 * 要用 http://mp.weixin.qq.com/wiki/16/ff9b7b85220e1396ffa16794a9d95adc.html 格式来反序列化
* 相比 http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html 的格式,外层多套了一个menu * 相比 http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html 的格式,外层多套了一个menu
* @param json
* @return
*/ */
public static WxMenu fromJson(String json) { public static WxMenu fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxMenu.class); return WxGsonBuilder.create().fromJson(json, WxMenu.class);
@@ -55,11 +53,9 @@ public class WxMenu implements Serializable {
/** /**
* 要用 http://mp.weixin.qq.com/wiki/16/ff9b7b85220e1396ffa16794a9d95adc.html 格式来反序列化 * 要用 http://mp.weixin.qq.com/wiki/16/ff9b7b85220e1396ffa16794a9d95adc.html 格式来反序列化
* 相比 http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html 的格式,外层多套了一个menu * 相比 http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html 的格式,外层多套了一个menu
* @param is
* @return
*/ */
public static WxMenu fromJson(InputStream is) { public static WxMenu fromJson(InputStream is) {
return WxGsonBuilder.create().fromJson(new InputStreamReader(is, Charsets.UTF_8), WxMenu.class);
return WxGsonBuilder.create().fromJson(new InputStreamReader(is, StandardCharsets.UTF_8), WxMenu.class);
} }


@Override @Override
@@ -195,7 +191,7 @@ public class WxMenu implements Serializable {
this.language = language; this.language = language;
} }


@Override
@Override
public String toString() { public String toString() {
return "matchrule:{" + return "matchrule:{" +
"tag_id='" + tagId + '\'' + "tag_id='" + tagId + '\'' +


+ 0
- 5
weixin-java-common/src/main/java/me/chanjar/weixin/common/session/WxSessionManager.java 查看文件

@@ -4,16 +4,11 @@ public interface WxSessionManager {


/** /**
* 获取某个sessionId对应的session,如果sessionId没有对应的session,则新建一个并返回。 * 获取某个sessionId对应的session,如果sessionId没有对应的session,则新建一个并返回。
* @param sessionId
* @return
*/ */
public WxSession getSession(String sessionId); public WxSession getSession(String sessionId);


/** /**
* 获取某个sessionId对应的session,如果sessionId没有对应的session,若create为true则新建一个,否则返回null。 * 获取某个sessionId对应的session,如果sessionId没有对应的session,若create为true则新建一个,否则返回null。
* @param sessionId
* @param create
* @return
*/ */
public WxSession getSession(String sessionId, boolean create); public WxSession getSession(String sessionId, boolean create);




+ 0
- 6
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/SHA1.java 查看文件

@@ -12,9 +12,6 @@ public class SHA1 {


/** /**
* 串接arr参数,生成sha1 digest * 串接arr参数,生成sha1 digest
*
* @param arr
* @return
*/ */
public static String gen(String... arr) throws NoSuchAlgorithmException { public static String gen(String... arr) throws NoSuchAlgorithmException {
Arrays.sort(arr); Arrays.sort(arr);
@@ -27,9 +24,6 @@ public class SHA1 {


/** /**
* 用&串接arr参数,生成sha1 digest * 用&串接arr参数,生成sha1 digest
*
* @param arr
* @return
*/ */
public static String genWithAmple(String... arr) throws NoSuchAlgorithmException { public static String genWithAmple(String... arr) throws NoSuchAlgorithmException {
Arrays.sort(arr); Arrays.sort(arr);


+ 52
- 53
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/WxCryptUtil.java 查看文件

@@ -35,16 +35,16 @@ public class WxCryptUtil {
private static final Base64 base64 = new Base64(); private static final Base64 base64 = new Base64();
private static final Charset CHARSET = Charset.forName("utf-8"); private static final Charset CHARSET = Charset.forName("utf-8");
private static final ThreadLocal<DocumentBuilder> builderLocal =
new ThreadLocal<DocumentBuilder>() {
@Override protected DocumentBuilder initialValue() {
try {
return DocumentBuilderFactory.newInstance().newDocumentBuilder();
} catch (ParserConfigurationException exc) {
throw new IllegalArgumentException(exc);
}
}
};
private static final ThreadLocal<DocumentBuilder> builderLocal = new ThreadLocal<DocumentBuilder>() {
@Override
protected DocumentBuilder initialValue() {
try {
return DocumentBuilderFactory.newInstance().newDocumentBuilder();
} catch (ParserConfigurationException exc) {
throw new IllegalArgumentException(exc);
}
}
};
protected byte[] aesKey; protected byte[] aesKey;
protected String token; protected String token;
@@ -61,7 +61,8 @@ public class WxCryptUtil {
* @param encodingAesKey 公众平台上,开发者设置的EncodingAESKey * @param encodingAesKey 公众平台上,开发者设置的EncodingAESKey
* @param appidOrCorpid 公众平台appid/corpid * @param appidOrCorpid 公众平台appid/corpid
*/ */
public WxCryptUtil(String token, String encodingAesKey, String appidOrCorpid) {
public WxCryptUtil(String token, String encodingAesKey,
String appidOrCorpid) {
this.token = token; this.token = token;
this.appidOrCorpid = appidOrCorpid; this.appidOrCorpid = appidOrCorpid;
this.aesKey = Base64.decodeBase64(encodingAesKey + "="); this.aesKey = Base64.decodeBase64(encodingAesKey + "=");
@@ -105,7 +106,8 @@ public class WxCryptUtil {
ByteGroup byteCollector = new ByteGroup(); ByteGroup byteCollector = new ByteGroup();
byte[] randomStringBytes = randomStr.getBytes(CHARSET); byte[] randomStringBytes = randomStr.getBytes(CHARSET);
byte[] plainTextBytes = plainText.getBytes(CHARSET); byte[] plainTextBytes = plainText.getBytes(CHARSET);
byte[] bytesOfSizeInNetworkOrder = number2BytesInNetworkOrder(plainTextBytes.length);
byte[] bytesOfSizeInNetworkOrder = number2BytesInNetworkOrder(
plainTextBytes.length);
byte[] appIdBytes = appidOrCorpid.getBytes(CHARSET); byte[] appIdBytes = appidOrCorpid.getBytes(CHARSET);
// randomStr + networkBytesOrder + text + appid // randomStr + networkBytesOrder + text + appid
@@ -154,7 +156,8 @@ public class WxCryptUtil {
* @param encryptedXml 密文,对应POST请求的数据 * @param encryptedXml 密文,对应POST请求的数据
* @return 解密后的原文 * @return 解密后的原文
*/ */
public String decrypt(String msgSignature, String timeStamp, String nonce, String encryptedXml) {
public String decrypt(String msgSignature, String timeStamp, String nonce,
String encryptedXml) {
// 密钥,公众账号的app corpSecret // 密钥,公众账号的app corpSecret
// 提取密文 // 提取密文
String cipherText = extractEncryptPart(encryptedXml); String cipherText = extractEncryptPart(encryptedXml);
@@ -186,7 +189,8 @@ public class WxCryptUtil {
// 设置解密模式为AES的CBC模式 // 设置解密模式为AES的CBC模式
Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding");
SecretKeySpec key_spec = new SecretKeySpec(aesKey, "AES"); SecretKeySpec key_spec = new SecretKeySpec(aesKey, "AES");
IvParameterSpec iv = new IvParameterSpec(Arrays.copyOfRange(aesKey, 0, 16));
IvParameterSpec iv = new IvParameterSpec(
Arrays.copyOfRange(aesKey, 0, 16));
cipher.init(Cipher.DECRYPT_MODE, key_spec, iv); cipher.init(Cipher.DECRYPT_MODE, key_spec, iv);
// 使用BASE64对密文进行解码 // 使用BASE64对密文进行解码
@@ -208,9 +212,10 @@ public class WxCryptUtil {
int xmlLength = bytesNetworkOrder2Number(networkOrder); int xmlLength = bytesNetworkOrder2Number(networkOrder);
xmlContent = new String(Arrays.copyOfRange(bytes, 20, 20 + xmlLength), CHARSET);
from_appid = new String(Arrays.copyOfRange(bytes, 20 + xmlLength, bytes.length),
xmlContent = new String(Arrays.copyOfRange(bytes, 20, 20 + xmlLength),
CHARSET); CHARSET);
from_appid = new String(
Arrays.copyOfRange(bytes, 20 + xmlLength, bytes.length), CHARSET);
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@@ -224,34 +229,32 @@ public class WxCryptUtil {
} }
/**
* 微信公众号支付签名算法(详见:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_3)
* @param packageParams 原始参数
* @param signKey 加密Key(即 商户Key)
* @param charset 编码
* @return 签名字符串
*/
public static String createSign(Map<String, String> packageParams, String signKey) {
SortedMap<String, String> sortedMap = new TreeMap<String, String>();
sortedMap.putAll(packageParams);
List<String> keys = new ArrayList<String>(packageParams.keySet());
Collections.sort(keys);
StringBuffer toSign = new StringBuffer();
for (String key : keys) {
String value = packageParams.get(key);
if (null != value && !"".equals(value) && !"sign".equals(key)
&& !"key".equals(key)) {
toSign.append(key + "=" + value + "&");
}
}
toSign.append("key=" + signKey);
String sign = DigestUtils.md5Hex(toSign.toString())
.toUpperCase();
return sign;
/**
* 微信公众号支付签名算法(详见:http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=4_3)
* @param packageParams 原始参数
* @param signKey 加密Key(即 商户Key)
* @return 签名字符串
*/
public static String createSign(Map<String, String> packageParams,
String signKey) {
SortedMap<String, String> sortedMap = new TreeMap<String, String>();
sortedMap.putAll(packageParams);
List<String> keys = new ArrayList<String>(packageParams.keySet());
Collections.sort(keys);
StringBuffer toSign = new StringBuffer();
for (String key : keys) {
String value = packageParams.get(key);
if (null != value && !"".equals(value) && !"sign".equals(key)
&& !"key".equals(key)) {
toSign.append(key + "=" + value + "&");
}
} }
toSign.append("key=" + signKey);
String sign = DigestUtils.md5Hex(toSign.toString()).toUpperCase();
return sign;
}
/** /**
* 将一个数字转换成生成4个字节的网络字节序bytes数组 * 将一个数字转换成生成4个字节的网络字节序bytes数组
@@ -283,8 +286,6 @@ public class WxCryptUtil {
/** /**
* 随机生成16位字符串 * 随机生成16位字符串
*
* @return
*/ */
private String genRandomStr() { private String genRandomStr() {
String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
@@ -306,14 +307,12 @@ public class WxCryptUtil {
* @param nonce 随机字符串 * @param nonce 随机字符串
* @return 生成的xml字符串 * @return 生成的xml字符串
*/ */
private String generateXml(String encrypt, String signature, String timestamp, String nonce) {
String format =
"<xml>\n"
+ "<Encrypt><![CDATA[%1$s]]></Encrypt>\n"
+ "<MsgSignature><![CDATA[%2$s]]></MsgSignature>\n"
+ "<TimeStamp>%3$s</TimeStamp>\n"
+ "<Nonce><![CDATA[%4$s]]></Nonce>\n"
+ "</xml>";
private String generateXml(String encrypt, String signature, String timestamp,
String nonce) {
String format = "<xml>\n" + "<Encrypt><![CDATA[%1$s]]></Encrypt>\n"
+ "<MsgSignature><![CDATA[%2$s]]></MsgSignature>\n"
+ "<TimeStamp>%3$s</TimeStamp>\n" + "<Nonce><![CDATA[%4$s]]></Nonce>\n"
+ "</xml>";
return String.format(format, encrypt, signature, timestamp, nonce); return String.format(format, encrypt, signature, timestamp, nonce);
} }


+ 0
- 4
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/fs/FileUtils.java 查看文件

@@ -14,8 +14,6 @@ public class FileUtils {
* @param name 文件名 * @param name 文件名
* @param ext 扩展名 * @param ext 扩展名
* @param tmpDirFile 临时文件夹目录 * @param tmpDirFile 临时文件夹目录
* @return
* @throws IOException
*/ */
public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile) throws IOException { public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile) throws IOException {
FileOutputStream fos = null; FileOutputStream fos = null;
@@ -56,8 +54,6 @@ public class FileUtils {
* @param inputStream * @param inputStream
* @param name 文件名 * @param name 文件名
* @param ext 扩展名 * @param ext 扩展名
* @return
* @throws IOException
*/ */
public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException { public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException {
return createTmpFile(inputStream, name, ext, null); return createTmpFile(inputStream, name, ext, null);


+ 0
- 5
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/ApacheHttpClientBuilder.java 查看文件

@@ -17,35 +17,30 @@ public interface ApacheHttpClientBuilder {
/** /**
* 代理服务器地址 * 代理服务器地址
* @param httpProxyHost * @param httpProxyHost
* @return
*/ */
ApacheHttpClientBuilder httpProxyHost(String httpProxyHost); ApacheHttpClientBuilder httpProxyHost(String httpProxyHost);


/** /**
* 代理服务器端口 * 代理服务器端口
* @param httpProxyPort * @param httpProxyPort
* @return
*/ */
ApacheHttpClientBuilder httpProxyPort(int httpProxyPort); ApacheHttpClientBuilder httpProxyPort(int httpProxyPort);


/** /**
* 代理服务器用户名 * 代理服务器用户名
* @param httpProxyUsername * @param httpProxyUsername
* @return
*/ */
ApacheHttpClientBuilder httpProxyUsername(String httpProxyUsername); ApacheHttpClientBuilder httpProxyUsername(String httpProxyUsername);


/** /**
* 代理服务器密码 * 代理服务器密码
* @param httpProxyPassword * @param httpProxyPassword
* @return
*/ */
ApacheHttpClientBuilder httpProxyPassword(String httpProxyPassword); ApacheHttpClientBuilder httpProxyPassword(String httpProxyPassword);


/** /**
* ssl连接socket工厂 * ssl连接socket工厂
* @param sslConnectionSocketFactory * @param sslConnectionSocketFactory
* @return
*/ */
ApacheHttpClientBuilder sslConnectionSocketFactory(SSLConnectionSocketFactory sslConnectionSocketFactory); ApacheHttpClientBuilder sslConnectionSocketFactory(SSLConnectionSocketFactory sslConnectionSocketFactory);
} }

+ 0
- 1
weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/RequestExecutor.java 查看文件

@@ -22,7 +22,6 @@ public interface RequestExecutor<T, E> {
* @param httpProxy http代理对象,如果没有配置代理则为空 * @param httpProxy http代理对象,如果没有配置代理则为空
* @param uri uri * @param uri uri
* @param data 数据 * @param data 数据
* @return
* @throws WxErrorException * @throws WxErrorException
* @throws ClientProtocolException * @throws ClientProtocolException
* @throws IOException * @throws IOException


+ 0
- 2
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageMatcher.java 查看文件

@@ -9,8 +9,6 @@ public interface WxCpMessageMatcher {


/** /**
* 消息是否匹配某种模式 * 消息是否匹配某种模式
* @param message
* @return
*/ */
public boolean match(WxCpXmlMessage message); public boolean match(WxCpXmlMessage message);




+ 0
- 1
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouter.java 查看文件

@@ -124,7 +124,6 @@ public class WxCpMessageRouter {


/** /**
* 开始一个新的Route规则 * 开始一个新的Route规则
* @return
*/ */
public WxCpMessageRouterRule rule() { public WxCpMessageRouterRule rule() {
return new WxCpMessageRouterRule(this); return new WxCpMessageRouterRule(this);


+ 0
- 15
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpMessageRouterRule.java 查看文件

@@ -48,7 +48,6 @@ public class WxCpMessageRouterRule {
* 设置是否异步执行,默认是true * 设置是否异步执行,默认是true
* *
* @param async * @param async
* @return
*/ */
public WxCpMessageRouterRule async(boolean async) { public WxCpMessageRouterRule async(boolean async) {
this.async = async; this.async = async;
@@ -59,7 +58,6 @@ public class WxCpMessageRouterRule {
* 如果agentId匹配 * 如果agentId匹配
* *
* @param agentId * @param agentId
* @return
*/ */
public WxCpMessageRouterRule agentId(Integer agentId) { public WxCpMessageRouterRule agentId(Integer agentId) {
this.agentId = agentId; this.agentId = agentId;
@@ -70,7 +68,6 @@ public class WxCpMessageRouterRule {
* 如果msgType等于某值 * 如果msgType等于某值
* *
* @param msgType * @param msgType
* @return
*/ */
public WxCpMessageRouterRule msgType(String msgType) { public WxCpMessageRouterRule msgType(String msgType) {
this.msgType = msgType; this.msgType = msgType;
@@ -81,7 +78,6 @@ public class WxCpMessageRouterRule {
* 如果event等于某值 * 如果event等于某值
* *
* @param event * @param event
* @return
*/ */
public WxCpMessageRouterRule event(String event) { public WxCpMessageRouterRule event(String event) {
this.event = event; this.event = event;
@@ -92,7 +88,6 @@ public class WxCpMessageRouterRule {
* 如果eventKey等于某值 * 如果eventKey等于某值
* *
* @param eventKey * @param eventKey
* @return
*/ */
public WxCpMessageRouterRule eventKey(String eventKey) { public WxCpMessageRouterRule eventKey(String eventKey) {
this.eventKey = eventKey; this.eventKey = eventKey;
@@ -103,7 +98,6 @@ public class WxCpMessageRouterRule {
* 如果content等于某值 * 如果content等于某值
* *
* @param content * @param content
* @return
*/ */
public WxCpMessageRouterRule content(String content) { public WxCpMessageRouterRule content(String content) {
this.content = content; this.content = content;
@@ -114,7 +108,6 @@ public class WxCpMessageRouterRule {
* 如果content匹配该正则表达式 * 如果content匹配该正则表达式
* *
* @param regex * @param regex
* @return
*/ */
public WxCpMessageRouterRule rContent(String regex) { public WxCpMessageRouterRule rContent(String regex) {
this.rContent = regex; this.rContent = regex;
@@ -125,7 +118,6 @@ public class WxCpMessageRouterRule {
* 如果fromUser等于某值 * 如果fromUser等于某值
* *
* @param fromUser * @param fromUser
* @return
*/ */
public WxCpMessageRouterRule fromUser(String fromUser) { public WxCpMessageRouterRule fromUser(String fromUser) {
this.fromUser = fromUser; this.fromUser = fromUser;
@@ -136,7 +128,6 @@ public class WxCpMessageRouterRule {
* 如果消息匹配某个matcher,用在用户需要自定义更复杂的匹配规则的时候 * 如果消息匹配某个matcher,用在用户需要自定义更复杂的匹配规则的时候
* *
* @param matcher * @param matcher
* @return
*/ */
public WxCpMessageRouterRule matcher(WxCpMessageMatcher matcher) { public WxCpMessageRouterRule matcher(WxCpMessageMatcher matcher) {
this.matcher = matcher; this.matcher = matcher;
@@ -147,7 +138,6 @@ public class WxCpMessageRouterRule {
* 设置微信消息拦截器 * 设置微信消息拦截器
* *
* @param interceptor * @param interceptor
* @return
*/ */
public WxCpMessageRouterRule interceptor(WxCpMessageInterceptor interceptor) { public WxCpMessageRouterRule interceptor(WxCpMessageInterceptor interceptor) {
return interceptor(interceptor, (WxCpMessageInterceptor[]) null); return interceptor(interceptor, (WxCpMessageInterceptor[]) null);
@@ -158,7 +148,6 @@ public class WxCpMessageRouterRule {
* *
* @param interceptor * @param interceptor
* @param otherInterceptors * @param otherInterceptors
* @return
*/ */
public WxCpMessageRouterRule interceptor(WxCpMessageInterceptor interceptor, WxCpMessageInterceptor... otherInterceptors) { public WxCpMessageRouterRule interceptor(WxCpMessageInterceptor interceptor, WxCpMessageInterceptor... otherInterceptors) {
this.interceptors.add(interceptor); this.interceptors.add(interceptor);
@@ -174,7 +163,6 @@ public class WxCpMessageRouterRule {
* 设置微信消息处理器 * 设置微信消息处理器
* *
* @param handler * @param handler
* @return
*/ */
public WxCpMessageRouterRule handler(WxCpMessageHandler handler) { public WxCpMessageRouterRule handler(WxCpMessageHandler handler) {
return handler(handler, (WxCpMessageHandler[]) null); return handler(handler, (WxCpMessageHandler[]) null);
@@ -185,7 +173,6 @@ public class WxCpMessageRouterRule {
* *
* @param handler * @param handler
* @param otherHandlers * @param otherHandlers
* @return
*/ */
public WxCpMessageRouterRule handler(WxCpMessageHandler handler, WxCpMessageHandler... otherHandlers) { public WxCpMessageRouterRule handler(WxCpMessageHandler handler, WxCpMessageHandler... otherHandlers) {
this.handlers.add(handler); this.handlers.add(handler);
@@ -200,7 +187,6 @@ public class WxCpMessageRouterRule {
/** /**
* 规则结束,代表如果一个消息匹配该规则,那么它将不再会进入其他规则 * 规则结束,代表如果一个消息匹配该规则,那么它将不再会进入其他规则
* *
* @return
*/ */
public WxCpMessageRouter end() { public WxCpMessageRouter end() {
this.routerBuilder.getRules().add(this); this.routerBuilder.getRules().add(this);
@@ -210,7 +196,6 @@ public class WxCpMessageRouterRule {
/** /**
* 规则结束,但是消息还会进入其他规则 * 规则结束,但是消息还会进入其他规则
* *
* @return
*/ */
public WxCpMessageRouter next() { public WxCpMessageRouter next() {
this.reEnter = true; this.reEnter = true;


+ 4
- 25
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpService.java 查看文件

@@ -32,7 +32,6 @@ public interface WxCpService {
* @param timestamp * @param timestamp
* @param nonce * @param nonce
* @param data 微信传输过来的数据,有可能是echoStr,有可能是xml消息 * @param data 微信传输过来的数据,有可能是echoStr,有可能是xml消息
* @return
*/ */
boolean checkSignature(String msgSignature, String timestamp, String nonce, String data); boolean checkSignature(String msgSignature, String timestamp, String nonce, String data);


@@ -49,7 +48,6 @@ public interface WxCpService {
/** /**
* 获取access_token, 不强制刷新access_token * 获取access_token, 不强制刷新access_token
* @see #getAccessToken(boolean) * @see #getAccessToken(boolean)
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
String getAccessToken() throws WxErrorException; String getAccessToken() throws WxErrorException;
@@ -63,7 +61,6 @@ public interface WxCpService {
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=获取access_token * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=获取access_token
* </pre> * </pre>
* @param forceRefresh 强制刷新 * @param forceRefresh 强制刷新
* @return
* @throws me.chanjar.weixin.common.exception.WxErrorException * @throws me.chanjar.weixin.common.exception.WxErrorException
*/ */
String getAccessToken(boolean forceRefresh) throws WxErrorException; String getAccessToken(boolean forceRefresh) throws WxErrorException;
@@ -71,7 +68,6 @@ public interface WxCpService {
/** /**
* 获得jsapi_ticket,不强制刷新jsapi_ticket * 获得jsapi_ticket,不强制刷新jsapi_ticket
* @see #getJsapiTicket(boolean) * @see #getJsapiTicket(boolean)
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
public String getJsapiTicket() throws WxErrorException; public String getJsapiTicket() throws WxErrorException;
@@ -84,7 +80,6 @@ public interface WxCpService {
* 详情请见:http://qydev.weixin.qq.com/wiki/index.php?title=微信JS接口#.E9.99.84.E5.BD.951-JS-SDK.E4.BD.BF.E7.94.A8.E6.9D.83.E9.99.90.E7.AD.BE.E5.90.8D.E7.AE.97.E6.B3.95 * 详情请见:http://qydev.weixin.qq.com/wiki/index.php?title=微信JS接口#.E9.99.84.E5.BD.951-JS-SDK.E4.BD.BF.E7.94.A8.E6.9D.83.E9.99.90.E7.AD.BE.E5.90.8D.E7.AE.97.E6.B3.95
* </pre> * </pre>
* @param forceRefresh 强制刷新 * @param forceRefresh 强制刷新
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
public String getJsapiTicket(boolean forceRefresh) throws WxErrorException; public String getJsapiTicket(boolean forceRefresh) throws WxErrorException;
@@ -96,7 +91,6 @@ public interface WxCpService {
* 详情请见:http://qydev.weixin.qq.com/wiki/index.php?title=微信JS接口#.E9.99.84.E5.BD.951-JS-SDK.E4.BD.BF.E7.94.A8.E6.9D.83.E9.99.90.E7.AD.BE.E5.90.8D.E7.AE.97.E6.B3.95 * 详情请见:http://qydev.weixin.qq.com/wiki/index.php?title=微信JS接口#.E9.99.84.E5.BD.951-JS-SDK.E4.BD.BF.E7.94.A8.E6.9D.83.E9.99.90.E7.AD.BE.E5.90.8D.E7.AE.97.E6.B3.95
* </pre> * </pre>
* @param url url * @param url url
* @return
*/ */
public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException; public WxJsapiSignature createJsapiSignature(String url) throws WxErrorException;


@@ -136,7 +130,7 @@ public interface WxCpService {
* *
* @return 保存到本地的临时文件 * @return 保存到本地的临时文件
* @throws WxErrorException * @throws WxErrorException
* @params media_id
* @param media_id
*/ */
File mediaDownload(String media_id) throws WxErrorException; File mediaDownload(String media_id) throws WxErrorException;


@@ -216,7 +210,6 @@ public interface WxCpService {
* </pre> * </pre>
* @see #menuGet(String) * @see #menuGet(String)
* *
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
WxMenu menuGet() throws WxErrorException; WxMenu menuGet() throws WxErrorException;
@@ -231,7 +224,6 @@ public interface WxCpService {
* @see #menuGet() * @see #menuGet()
* *
* @param agentId 企业号应用的id * @param agentId 企业号应用的id
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
WxMenu menuGet(String agentId) throws WxErrorException; WxMenu menuGet(String agentId) throws WxErrorException;
@@ -255,7 +247,6 @@ public interface WxCpService {
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=部门管理接口 * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=部门管理接口
* </pre> * </pre>
* *
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
List<WxCpDepart> departGet() throws WxErrorException; List<WxCpDepart> departGet() throws WxErrorException;
@@ -291,7 +282,6 @@ public interface WxCpService {
* @param departId 必填。部门id * @param departId 必填。部门id
* @param fetchChild 非必填。1/0:是否递归获取子部门下面的成员 * @param fetchChild 非必填。1/0:是否递归获取子部门下面的成员
* @param status 非必填。0获取全部员工,1获取已关注成员列表,2获取禁用成员列表,4获取未关注成员列表。status可叠加 * @param status 非必填。0获取全部员工,1获取已关注成员列表,2获取禁用成员列表,4获取未关注成员列表。status可叠加
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
List<WxCpUser> userList(Integer departId, Boolean fetchChild, Integer status) throws WxErrorException; List<WxCpUser> userList(Integer departId, Boolean fetchChild, Integer status) throws WxErrorException;
@@ -306,7 +296,6 @@ public interface WxCpService {
* @param departId 必填。部门id * @param departId 必填。部门id
* @param fetchChild 非必填。1/0:是否递归获取子部门下面的成员 * @param fetchChild 非必填。1/0:是否递归获取子部门下面的成员
* @param status 非必填。0获取全部员工,1获取已关注成员列表,2获取禁用成员列表,4获取未关注成员列表。status可叠加 * @param status 非必填。0获取全部员工,1获取已关注成员列表,2获取禁用成员列表,4获取未关注成员列表。status可叠加
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
List<WxCpUser> departGetUsers(Integer departId, Boolean fetchChild, Integer status) throws WxErrorException; List<WxCpUser> departGetUsers(Integer departId, Boolean fetchChild, Integer status) throws WxErrorException;
@@ -350,7 +339,6 @@ public interface WxCpService {
* 获取用户 * 获取用户
* *
* @param userid * @param userid
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
WxCpUser userGet(String userid) throws WxErrorException; WxCpUser userGet(String userid) throws WxErrorException;
@@ -359,7 +347,6 @@ public interface WxCpService {
* 创建标签 * 创建标签
* *
* @param tagName * @param tagName
* @return
*/ */
String tagCreate(String tagName) throws WxErrorException; String tagCreate(String tagName) throws WxErrorException;


@@ -381,7 +368,6 @@ public interface WxCpService {
/** /**
* 获得标签列表 * 获得标签列表
* *
* @return
*/ */
List<WxCpTag> tagGet() throws WxErrorException; List<WxCpTag> tagGet() throws WxErrorException;


@@ -389,7 +375,6 @@ public interface WxCpService {
* 获取标签成员 * 获取标签成员
* *
* @param tagId * @param tagId
* @return
*/ */
List<WxCpUser> tagGetUsers(String tagId) throws WxErrorException; List<WxCpUser> tagGetUsers(String tagId) throws WxErrorException;


@@ -478,7 +463,6 @@ public interface WxCpService {
* 当本Service没有实现某个API的时候,可以用这个,针对所有微信API中的GET请求 * 当本Service没有实现某个API的时候,可以用这个,针对所有微信API中的GET请求
* @param url * @param url
* @param queryParam * @param queryParam
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
String get(String url, String queryParam) throws WxErrorException; String get(String url, String queryParam) throws WxErrorException;
@@ -487,7 +471,6 @@ public interface WxCpService {
* 当本Service没有实现某个API的时候,可以用这个,针对所有微信API中的POST请求 * 当本Service没有实现某个API的时候,可以用这个,针对所有微信API中的POST请求
* @param url * @param url
* @param postData * @param postData
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
String post(String url, String postData) throws WxErrorException; String post(String url, String postData) throws WxErrorException;
@@ -503,7 +486,6 @@ public interface WxCpService {
* @param data * @param data
* @param <T> * @param <T>
* @param <E> * @param <E>
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
<T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException; <T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException;
@@ -536,7 +518,6 @@ public interface WxCpService {
/** /**
* 获取某个sessionId对应的session,如果sessionId没有对应的session,则新建一个并返回。 * 获取某个sessionId对应的session,如果sessionId没有对应的session,则新建一个并返回。
* @param id id可以为任意字符串,建议使用FromUserName作为id * @param id id可以为任意字符串,建议使用FromUserName作为id
* @return
*/ */
WxSession getSession(String id); WxSession getSession(String id);


@@ -544,7 +525,6 @@ public interface WxCpService {
* 获取某个sessionId对应的session,如果sessionId没有对应的session,若create为true则新建一个,否则返回null。 * 获取某个sessionId对应的session,如果sessionId没有对应的session,若create为true则新建一个,否则返回null。
* @param id id可以为任意字符串,建议使用FromUserName作为id * @param id id可以为任意字符串,建议使用FromUserName作为id
* @param create * @param create
* @return
*/ */
WxSession getSession(String id, boolean create); WxSession getSession(String id, boolean create);


@@ -556,25 +536,24 @@ public interface WxCpService {
* @param sessionManager * @param sessionManager
*/ */
void setSessionManager(WxSessionManager sessionManager); void setSessionManager(WxSessionManager sessionManager);
/** /**
* 上传部门列表覆盖企业号上的部门信息 * 上传部门列表覆盖企业号上的部门信息
* @param mediaId * @param mediaId
* @throws WxErrorException * @throws WxErrorException
*/ */
String replaceParty(String mediaId) throws WxErrorException; String replaceParty(String mediaId) throws WxErrorException;
/** /**
* 上传用户列表覆盖企业号上的用户信息 * 上传用户列表覆盖企业号上的用户信息
* @param mediaId * @param mediaId
* @throws WxErrorException * @throws WxErrorException
*/ */
String replaceUser(String mediaId) throws WxErrorException; String replaceUser(String mediaId) throws WxErrorException;
/** /**
* 获取异步任务结果 * 获取异步任务结果
* @param joinId * @param joinId
* @return
* @throws WxErrorException * @throws WxErrorException
*/ */
String getTaskResult(String joinId) throws WxErrorException; String getTaskResult(String joinId) throws WxErrorException;


+ 0
- 6
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpServiceImpl.java 查看文件

@@ -510,12 +510,6 @@ public class WxCpServiceImpl implements WxCpService {


/** /**
* 向微信端发送请求,在这里执行的策略是当发生access_token过期时才去刷新,然后重新执行请求,而不是全局定时请求 * 向微信端发送请求,在这里执行的策略是当发生access_token过期时才去刷新,然后重新执行请求,而不是全局定时请求
*
* @param executor
* @param uri
* @param data
* @return
* @throws WxErrorException
*/ */
public <T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException { public <T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException {
int retryTimes = 0; int retryTimes = 0;


+ 11
- 17
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpMessage.java 查看文件

@@ -28,7 +28,7 @@ public class WxCpMessage implements Serializable {
private String hqMusicUrl; private String hqMusicUrl;
private String safe; private String safe;
private List<WxArticle> articles = new ArrayList<WxArticle>(); private List<WxArticle> articles = new ArrayList<WxArticle>();
public String getToUser() { public String getToUser() {
return toUser; return toUser;
} }
@@ -63,7 +63,7 @@ public class WxCpMessage implements Serializable {
public String getMsgType() { public String getMsgType() {
return msgType; return msgType;
} }
public String getSafe() { public String getSafe() {
return safe; return safe;
} }
@@ -135,18 +135,18 @@ public class WxCpMessage implements Serializable {
public void setArticles(List<WxArticle> articles) { public void setArticles(List<WxArticle> articles) {
this.articles = articles; this.articles = articles;
} }
public String toJson() { public String toJson() {
return WxCpGsonBuilder.INSTANCE.create().toJson(this); return WxCpGsonBuilder.INSTANCE.create().toJson(this);
} }
public static class WxArticle { public static class WxArticle {
private String title; private String title;
private String description; private String description;
private String url; private String url;
private String picUrl; private String picUrl;
public String getTitle() { public String getTitle() {
return title; return title;
} }
@@ -171,12 +171,11 @@ public class WxCpMessage implements Serializable {
public void setPicUrl(String picUrl) { public void setPicUrl(String picUrl) {
this.picUrl = picUrl; this.picUrl = picUrl;
} }
} }
/** /**
* 获得文本消息builder * 获得文本消息builder
* @return
*/ */
public static TextBuilder TEXT() { public static TextBuilder TEXT() {
return new TextBuilder(); return new TextBuilder();
@@ -184,7 +183,6 @@ public class WxCpMessage implements Serializable {


/** /**
* 获得图片消息builder * 获得图片消息builder
* @return
*/ */
public static ImageBuilder IMAGE() { public static ImageBuilder IMAGE() {
return new ImageBuilder(); return new ImageBuilder();
@@ -192,23 +190,20 @@ public class WxCpMessage implements Serializable {


/** /**
* 获得语音消息builder * 获得语音消息builder
* @return
*/ */
public static VoiceBuilder VOICE() { public static VoiceBuilder VOICE() {
return new VoiceBuilder(); return new VoiceBuilder();
} }
/** /**
* 获得视频消息builder * 获得视频消息builder
* @return
*/ */
public static VideoBuilder VIDEO() { public static VideoBuilder VIDEO() {
return new VideoBuilder(); return new VideoBuilder();
} }
/** /**
* 获得图文消息builder * 获得图文消息builder
* @return
*/ */
public static NewsBuilder NEWS() { public static NewsBuilder NEWS() {
return new NewsBuilder(); return new NewsBuilder();
@@ -216,10 +211,9 @@ public class WxCpMessage implements Serializable {


/** /**
* 获得文件消息builder * 获得文件消息builder
* @return
*/ */
public static FileBuilder FILE() { public static FileBuilder FILE() {
return new FileBuilder(); return new FileBuilder();
} }
} }

+ 0
- 4
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java 查看文件

@@ -198,7 +198,6 @@ public class WxCpXmlMessage implements Serializable {
* {@link me.chanjar.weixin.common.api.WxConsts#XML_MSG_EVENT} * {@link me.chanjar.weixin.common.api.WxConsts#XML_MSG_EVENT}
* </pre> * </pre>
* *
* @return
*/ */
public String getMsgType() { public String getMsgType() {
return msgType; return msgType;
@@ -404,7 +403,6 @@ public class WxCpXmlMessage implements Serializable {
* @param timestamp * @param timestamp
* @param nonce * @param nonce
* @param msgSignature * @param msgSignature
* @return
*/ */
public static WxCpXmlMessage fromEncryptedXml( public static WxCpXmlMessage fromEncryptedXml(
String encryptedXml, String encryptedXml,
@@ -542,7 +540,6 @@ public class WxCpXmlMessage implements Serializable {


/** /**
* 扫描类型,一般是qrcode * 扫描类型,一般是qrcode
* @return
*/ */
public String getScanType() { public String getScanType() {


@@ -555,7 +552,6 @@ public class WxCpXmlMessage implements Serializable {


/** /**
* 扫描结果,即二维码对应的字符串信息 * 扫描结果,即二维码对应的字符串信息
* @return
*/ */
public String getScanResult() { public String getScanResult() {
return scanResult; return scanResult;


+ 6
- 12
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlOutMessage.java 查看文件

@@ -14,14 +14,14 @@ public abstract class WxCpXmlOutMessage {
@XStreamAlias("ToUserName") @XStreamAlias("ToUserName")
@XStreamConverter(value=XStreamCDataConverter.class) @XStreamConverter(value=XStreamCDataConverter.class)
protected String toUserName; protected String toUserName;
@XStreamAlias("FromUserName") @XStreamAlias("FromUserName")
@XStreamConverter(value=XStreamCDataConverter.class) @XStreamConverter(value=XStreamCDataConverter.class)
protected String fromUserName; protected String fromUserName;
@XStreamAlias("CreateTime") @XStreamAlias("CreateTime")
protected Long createTime; protected Long createTime;
@XStreamAlias("MsgType") @XStreamAlias("MsgType")
@XStreamConverter(value=XStreamCDataConverter.class) @XStreamConverter(value=XStreamCDataConverter.class)
protected String msgType; protected String msgType;
@@ -57,14 +57,13 @@ public abstract class WxCpXmlOutMessage {
public void setMsgType(String msgType) { public void setMsgType(String msgType) {
this.msgType = msgType; this.msgType = msgType;
} }
protected String toXml() { protected String toXml() {
return XStreamTransformer.toXml((Class)this.getClass(), this); return XStreamTransformer.toXml((Class)this.getClass(), this);
} }


/** /**
* 转换成加密的xml格式 * 转换成加密的xml格式
* @return
*/ */
public String toEncryptedXml(WxCpConfigStorage wxCpConfigStorage) { public String toEncryptedXml(WxCpConfigStorage wxCpConfigStorage) {
String plainXml = toXml(); String plainXml = toXml();
@@ -74,7 +73,6 @@ public abstract class WxCpXmlOutMessage {


/** /**
* 获得文本消息builder * 获得文本消息builder
* @return
*/ */
public static TextBuilder TEXT() { public static TextBuilder TEXT() {
return new TextBuilder(); return new TextBuilder();
@@ -82,7 +80,6 @@ public abstract class WxCpXmlOutMessage {


/** /**
* 获得图片消息builder * 获得图片消息builder
* @return
*/ */
public static ImageBuilder IMAGE() { public static ImageBuilder IMAGE() {
return new ImageBuilder(); return new ImageBuilder();
@@ -90,23 +87,20 @@ public abstract class WxCpXmlOutMessage {


/** /**
* 获得语音消息builder * 获得语音消息builder
* @return
*/ */
public static VoiceBuilder VOICE() { public static VoiceBuilder VOICE() {
return new VoiceBuilder(); return new VoiceBuilder();
} }
/** /**
* 获得视频消息builder * 获得视频消息builder
* @return
*/ */
public static VideoBuilder VIDEO() { public static VideoBuilder VIDEO() {
return new VideoBuilder(); return new VideoBuilder();
} }
/** /**
* 获得图文消息builder * 获得图文消息builder
* @return
*/ */
public static NewsBuilder NEWS() { public static NewsBuilder NEWS() {
return new NewsBuilder(); return new NewsBuilder();


+ 1
- 3
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpService.java 查看文件

@@ -255,7 +255,7 @@ public interface WxMpService {
* 根据微信文档,视频文件下载不了,会返回null * 根据微信文档,视频文件下载不了,会返回null
* 详情请见: <a href="http://mp.weixin.qq.com/wiki/9/677a85e3f3849af35de54bb5516c2521.html">获取临时素材</a> * 详情请见: <a href="http://mp.weixin.qq.com/wiki/9/677a85e3f3849af35de54bb5516c2521.html">获取临时素材</a>
* </pre> * </pre>
* @params media_id
* @param media_id
* @return 保存到本地的临时文件 * @return 保存到本地的临时文件
* @throws WxErrorException * @throws WxErrorException
*/ */
@@ -371,7 +371,6 @@ public interface WxMpService {
* 分组管理接口 - 查询所有分组 * 分组管理接口 - 查询所有分组
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=分组管理接口 * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=分组管理接口
* </pre> * </pre>
* @return
*/ */
public List<WxMpGroup> groupGet() throws WxErrorException; public List<WxMpGroup> groupGet() throws WxErrorException;


@@ -573,7 +572,6 @@ public interface WxMpService {
* 验证oauth2的access token是否有效 * 验证oauth2的access token是否有效
* </pre> * </pre>
* @param oAuth2AccessToken * @param oAuth2AccessToken
* @return
*/ */
public boolean oauth2validateAccessToken(WxMpOAuth2AccessToken oAuth2AccessToken); public boolean oauth2validateAccessToken(WxMpOAuth2AccessToken oAuth2AccessToken);




+ 0
- 6
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpServiceImpl.java 查看文件

@@ -785,12 +785,6 @@ public class WxMpServiceImpl implements WxMpService {


/** /**
* 向微信端发送请求,在这里执行的策略是当发生access_token过期时才去刷新,然后重新执行请求,而不是全局定时请求 * 向微信端发送请求,在这里执行的策略是当发生access_token过期时才去刷新,然后重新执行请求,而不是全局定时请求
*
* @param executor
* @param uri
* @param data
* @return
* @throws WxErrorException
*/ */
@Override @Override
public <T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException { public <T, E> T execute(RequestExecutor<T, E> executor, String uri, E data) throws WxErrorException {


+ 0
- 1
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java 查看文件

@@ -154,7 +154,6 @@ public class WxMpCustomMessage implements Serializable {


/** /**
* 获得语音消息builder * 获得语音消息builder
* @return
*/ */
public static VoiceBuilder VOICE() { public static VoiceBuilder VOICE() {
return new VoiceBuilder(); return new VoiceBuilder();


+ 0
- 8
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java 查看文件

@@ -14,10 +14,6 @@ public class XStreamTransformer {


/** /**
* xml -> pojo * xml -> pojo
*
* @param clazz
* @param xml
* @return
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <T> T fromXml(Class<T> clazz, String xml) { public static <T> T fromXml(Class<T> clazz, String xml) {
@@ -43,10 +39,6 @@ public class XStreamTransformer {


/** /**
* pojo -> xml * pojo -> xml
*
* @param clazz
* @param object
* @return
*/ */
public static <T> String toXml(Class<T> clazz, T object) { public static <T> String toXml(Class<T> clazz, T object) {
return CLASS_2_XSTREAM_INSTANCE.get(clazz).toXML(object); return CLASS_2_XSTREAM_INSTANCE.get(clazz).toXML(object);


Loading…
取消
儲存