From b1aafae6dab9ed1ed61780c407dda1974e97e272 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sat, 16 Dec 2017 18:50:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E8=8C=83=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/common/session/Constants.java | 9 +++---- .../common/session/StandardSession.java | 16 +++++------ .../session/StandardSessionManager.java | 27 ++++++++++--------- .../common/util/crypto/WxCryptUtil.java | 8 +++--- .../weixin/common/util/http/HttpType.java | 13 ++++++++- .../weixin/common/util/res/StringManager.java | 23 ++++++++-------- .../me/chanjar/weixin/cp/bean/WxCpUser.java | 10 +++++-- .../cp/api/impl/WxCpUserServiceImplTest.java | 2 +- .../mp/api/impl/WxMpCardServiceImpl.java | 2 +- .../mp/api/impl/WxMpServiceAbstractImpl.java | 1 + .../api/impl/WxOpenComponentServiceImpl.java | 10 +++---- .../api/impl/WxOpenServiceAbstractImpl.java | 1 + 12 files changed, 69 insertions(+), 53 deletions(-) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/Constants.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/Constants.java index f30a0ae0d..98d45e31d 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/Constants.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/Constants.java @@ -5,9 +5,9 @@ * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -23,9 +23,6 @@ package me.chanjar.weixin.common.session; * * @author Craig R. McClanahan */ - public class Constants { - - public static final String Package = "me.chanjar.weixin.common.session"; - + public static final String PACKAGE = "me.chanjar.weixin.common.session"; } diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSession.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSession.java index f9d61707e..62b609271 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSession.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSession.java @@ -11,13 +11,12 @@ public class StandardSession implements WxSession, InternalSession { /** * The string manager for this package. */ - protected static final StringManager sm = StringManager.getManager(Constants.Package); + protected static final StringManager SM = StringManager.getManager(Constants.PACKAGE); /** * Type array. */ private static final String[] EMPTY_ARRAY = new String[0]; - // ------------------------------ WxSession protected Map attributes = new ConcurrentHashMap<>(); /** * The session identifier of this Session. @@ -73,7 +72,7 @@ public class StandardSession implements WxSession, InternalSession { if (!isValidInternal()) { throw new IllegalStateException - (sm.getString("sessionImpl.getAttribute.ise")); + (SM.getString("sessionImpl.getAttribute.ise")); } if (name == null) { @@ -86,7 +85,7 @@ public class StandardSession implements WxSession, InternalSession { @Override public Enumeration getAttributeNames() { if (!isValidInternal()) { - throw new IllegalStateException(sm.getString("sessionImpl.getAttributeNames.ise")); + throw new IllegalStateException(SM.getString("sessionImpl.getAttributeNames.ise")); } Set names = new HashSet<>(); @@ -98,7 +97,7 @@ public class StandardSession implements WxSession, InternalSession { public void setAttribute(String name, Object value) { // Name cannot be null if (name == null) { - throw new IllegalArgumentException(sm.getString("sessionImpl.setAttribute.namenull")); + throw new IllegalArgumentException(SM.getString("sessionImpl.setAttribute.namenull")); } // Null value is the same as removeAttribute() @@ -109,7 +108,7 @@ public class StandardSession implements WxSession, InternalSession { // Validate our current state if (!isValidInternal()) { - throw new IllegalStateException(sm.getString("sessionImpl.setAttribute.ise", getIdInternal())); + throw new IllegalStateException(SM.getString("sessionImpl.setAttribute.ise", getIdInternal())); } this.attributes.put(name, value); @@ -123,8 +122,9 @@ public class StandardSession implements WxSession, InternalSession { @Override public void invalidate() { - if (!isValidInternal()) - throw new IllegalStateException(sm.getString("sessionImpl.invalidate.ise")); + if (!isValidInternal()) { + throw new IllegalStateException(SM.getString("sessionImpl.invalidate.ise")); + } // Cause this session to expire expire(); diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSessionManager.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSessionManager.java index 2d77db7ce..bfc0d0100 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSessionManager.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/session/StandardSessionManager.java @@ -13,8 +13,7 @@ import java.util.concurrent.atomic.AtomicBoolean; */ public class StandardSessionManager implements WxSessionManager, InternalSessionManager { - protected static final StringManager sm = - StringManager.getManager(Constants.Package); + protected static final StringManager SM = StringManager.getManager(Constants.PACKAGE); /** * The descriptive name of this Manager implementation (for logging). */ @@ -82,7 +81,7 @@ public class StandardSessionManager implements WxSessionManager, InternalSession public WxSession getSession(String sessionId, boolean create) { if (sessionId == null) { throw new IllegalStateException - (sm.getString("sessionManagerImpl.getSession.ise")); + (SM.getString("sessionManagerImpl.getSession.ise")); } InternalSession session = findSession(sessionId); @@ -124,25 +123,24 @@ public class StandardSessionManager implements WxSessionManager, InternalSession @Override public InternalSession findSession(String id) { - - if (id == null) + if (id == null) { return (null); + } return this.sessions.get(id); - } @Override public InternalSession createSession(String sessionId) { if (sessionId == null) { throw new IllegalStateException - (sm.getString("sessionManagerImpl.createSession.ise")); + (SM.getString("sessionManagerImpl.createSession.ise")); } if ((this.maxActiveSessions >= 0) && (getActiveSessions() >= this.maxActiveSessions)) { this.rejectedSessions++; throw new TooManyActiveSessionsException( - sm.getString("sessionManagerImpl.createSession.tmase"), + SM.getString("sessionManagerImpl.createSession.tmase"), this.maxActiveSessions); } @@ -230,8 +228,9 @@ public class StandardSessionManager implements WxSessionManager, InternalSession @Override public void backgroundProcess() { this.count = (this.count + 1) % this.processExpiresFrequency; - if (this.count == 0) + if (this.count == 0) { processExpires(); + } } /** @@ -243,16 +242,18 @@ public class StandardSessionManager implements WxSessionManager, InternalSession InternalSession sessions[] = findSessions(); int expireHere = 0; - if (this.log.isDebugEnabled()) + if (this.log.isDebugEnabled()) { this.log.debug("Start expire sessions {} at {} sessioncount {}", getName(), timeNow, sessions.length); - for (int i = 0; i < sessions.length; i++) { - if (sessions[i] != null && !sessions[i].isValid()) { + } + for (InternalSession session : sessions) { + if (session != null && !session.isValid()) { expireHere++; } } long timeEnd = System.currentTimeMillis(); - if (this.log.isDebugEnabled()) + if (this.log.isDebugEnabled()) { this.log.debug("End expire sessions {} processingTime {} expired sessions: {}", getName(), timeEnd - timeNow, expireHere); + } this.processingTime += (timeEnd - timeNow); } diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/WxCryptUtil.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/WxCryptUtil.java index c91e8ac08..f16d3bd3e 100755 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/WxCryptUtil.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/crypto/WxCryptUtil.java @@ -28,10 +28,10 @@ import java.util.Random; */ public class WxCryptUtil { - private static final Base64 base64 = new Base64(); + private static final Base64 BASE64 = new Base64(); private static final Charset CHARSET = StandardCharsets.UTF_8; - private static final ThreadLocal builderLocal = new ThreadLocal() { + private static final ThreadLocal BUILDER_LOCAL = new ThreadLocal() { @Override protected DocumentBuilder initialValue() { try { @@ -65,7 +65,7 @@ public class WxCryptUtil { static String extractEncryptPart(String xml) { try { - DocumentBuilder db = builderLocal.get(); + DocumentBuilder db = BUILDER_LOCAL.get(); Document document = db.parse(new InputSource(new StringReader(xml))); Element root = document.getDocumentElement(); @@ -192,7 +192,7 @@ public class WxCryptUtil { byte[] encrypted = cipher.doFinal(unencrypted); // 使用BASE64对加密后的字符串进行编码 - return base64.encodeToString(encrypted); + return BASE64.encodeToString(encrypted); } catch (Exception e) { throw new RuntimeException(e); } diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/HttpType.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/HttpType.java index c692eb910..eff5907f7 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/HttpType.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/http/HttpType.java @@ -4,5 +4,16 @@ package me.chanjar.weixin.common.util.http; * Created by ecoolper on 2017/4/28. */ public enum HttpType { - JODD_HTTP, APACHE_HTTP, OK_HTTP; + /** + * jodd-http. + */ + JODD_HTTP, + /** + * apache httpclient. + */ + APACHE_HTTP, + /** + * okhttp. + */ + OK_HTTP } diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/res/StringManager.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/res/StringManager.java index 3d66125eb..e3f4aa05e 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/res/StringManager.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/res/StringManager.java @@ -46,8 +46,7 @@ import java.util.*; */ public class StringManager { - private static final Map> managers = - new Hashtable<>(); + private static final Map> MANAGERS = new Hashtable<>(); private static int LOCALE_CACHE_SIZE = 10; /** * The ResourceBundle for this StringManager. @@ -118,16 +117,16 @@ public class StringManager { public static final synchronized StringManager getManager( String packageName, Locale locale) { - Map map = managers.get(packageName); + Map map = MANAGERS.get(packageName); if (map == null) { - /* - * Don't want the HashMap to be expanded beyond LOCALE_CACHE_SIZE. - * Expansion occurs when size() exceeds capacity. Therefore keep - * size at or below capacity. - * removeEldestEntry() executes after insertion therefore the test - * for removal needs to use one less than the maximum desired size - * - */ + /* + * Don't want the HashMap to be expanded beyond LOCALE_CACHE_SIZE. + * Expansion occurs when size() exceeds capacity. Therefore keep + * size at or below capacity. + * removeEldestEntry() executes after insertion therefore the test + * for removal needs to use one less than the maximum desired size + * + */ map = new LinkedHashMap(LOCALE_CACHE_SIZE, 1, true) { private static final long serialVersionUID = 1L; @@ -137,7 +136,7 @@ public class StringManager { return size() > (LOCALE_CACHE_SIZE - 1); } }; - managers.put(packageName, map); + MANAGERS.put(packageName, map); } StringManager mgr = map.get(locale); diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java index 0a3aaeb7a..0acbb49b5 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java @@ -16,8 +16,14 @@ import java.util.List; @Data public class WxCpUser implements Serializable { public enum Gender { + /** + * 男 + */ MALE("男", "1"), - FEMAIL("女", "2"); + /** + * 女 + */ + FEMALE("女", "2"); private String genderName; private String code; @@ -40,7 +46,7 @@ public class WxCpUser implements Serializable { return Gender.MALE; } if ("2".equals(code)) { - return Gender.FEMAIL; + return Gender.FEMALE; } return null; diff --git a/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpUserServiceImplTest.java b/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpUserServiceImplTest.java index a01f03436..3a7d3debd 100644 --- a/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpUserServiceImplTest.java +++ b/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpUserServiceImplTest.java @@ -37,7 +37,7 @@ public class WxCpUserServiceImplTest { user.setName("Some Woman"); user.setDepartIds(new Integer[]{2}); user.setEmail("none@none.com"); - user.setGender(WxCpUser.Gender.FEMAIL); + user.setGender(WxCpUser.Gender.FEMALE); user.setMobile("13560084979"); user.setPosition("woman"); user.setTelephone("3300393"); diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImpl.java index 49ed7589f..9a1d470b9 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpCardServiceImpl.java @@ -213,7 +213,7 @@ public class WxMpCardServiceImpl implements WxMpCardService { WxMpCardResult cardResult = WxMpGsonBuilder.INSTANCE.create().fromJson(tmpJsonElement, new TypeToken() { }.getType()); - if (!cardResult.getErrorCode().equals("0")) { + if (!"0".equals(cardResult.getErrorCode())) { this.log.warn("朋友的券mark失败:{}", cardResult.getErrorMsg()); } } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpServiceAbstractImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpServiceAbstractImpl.java index d81018daa..b79a1bbac 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpServiceAbstractImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpServiceAbstractImpl.java @@ -227,6 +227,7 @@ public abstract class WxMpServiceAbstractImpl implements WxMpService, Requ /** * 向微信端发送请求,在这里执行的策略是当发生access_token过期时才去刷新,然后重新执行请求,而不是全局定时请求 */ + @Override public T execute(RequestExecutor executor, String uri, E data) throws WxErrorException { int retryTimes = 0; do { diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java index 45de69b1e..5e8fc81bf 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenComponentServiceImpl.java @@ -30,7 +30,7 @@ import java.util.Map; * @author 007 */ public class WxOpenComponentServiceImpl implements WxOpenComponentService { - private static final Map wxOpenMpServiceMap = new Hashtable<>(); + private static final Map WX_OPEN_MP_SERVICE_MAP = new Hashtable<>(); protected final Logger log = LoggerFactory.getLogger(this.getClass()); private WxOpenService wxOpenService; @@ -40,14 +40,14 @@ public class WxOpenComponentServiceImpl implements WxOpenComponentService { @Override public WxMpService getWxMpServiceByAppid(String appId) { - WxMpService wxMpService = wxOpenMpServiceMap.get(appId); + WxMpService wxMpService = WX_OPEN_MP_SERVICE_MAP.get(appId); if (wxMpService == null) { - synchronized (wxOpenMpServiceMap) { - wxMpService = wxOpenMpServiceMap.get(appId); + synchronized (WX_OPEN_MP_SERVICE_MAP) { + wxMpService = WX_OPEN_MP_SERVICE_MAP.get(appId); if (wxMpService == null) { wxMpService = new WxOpenMpServiceImpl(this, appId, getWxOpenConfigStorage().getWxMpConfigStorage(appId)); - wxOpenMpServiceMap.put(appId, wxMpService); + WX_OPEN_MP_SERVICE_MAP.put(appId, wxMpService); } } } diff --git a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceAbstractImpl.java b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceAbstractImpl.java index 3276c429b..6d8bf8ba5 100644 --- a/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceAbstractImpl.java +++ b/weixin-java-open/src/main/java/me/chanjar/weixin/open/api/impl/WxOpenServiceAbstractImpl.java @@ -30,6 +30,7 @@ public abstract class WxOpenServiceAbstractImpl implements WxOpenService, return wxOpenConfigStorage; } + @Override public void setWxOpenConfigStorage(WxOpenConfigStorage wxOpenConfigStorage) { this.wxOpenConfigStorage = wxOpenConfigStorage; }