优化代码
This commit is contained in:
parent
00f2a28203
commit
0a35cf9d9b
@ -32,20 +32,23 @@ public class Token implements Serializable {
|
|||||||
@JSONField(name = "expires_in")
|
@JSONField(name = "expires_in")
|
||||||
private int expiresIn;
|
private int expiresIn;
|
||||||
/**
|
/**
|
||||||
* token创建的时间
|
* token创建的时间,单位:毫秒
|
||||||
*/
|
*/
|
||||||
|
@JSONField(name = "create_time")
|
||||||
private long createTime;
|
private long createTime;
|
||||||
/**
|
/**
|
||||||
* 请求返回的原始结果
|
* 请求返回的原始结果
|
||||||
*/
|
*/
|
||||||
|
@JSONField(name = "original_result")
|
||||||
private String originalResult;
|
private String originalResult;
|
||||||
|
|
||||||
public Token() {
|
protected Token() {
|
||||||
this.createTime = System.currentTimeMillis() / 1000l;
|
// jaxb required
|
||||||
}
|
}
|
||||||
|
|
||||||
public Token(String accessToken) {
|
public Token(String accessToken) {
|
||||||
this.accessToken = accessToken;
|
this.accessToken = accessToken;
|
||||||
|
this.createTime = System.currentTimeMillis();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getAccessToken() {
|
public String getAccessToken() {
|
||||||
|
|||||||
@ -78,7 +78,8 @@ public class RedisTokenStorager implements TokenStorager {
|
|||||||
jedis = jedisPool.getResource();
|
jedis = jedisPool.getResource();
|
||||||
jedis.hmset(cacheKey, token2map(token));
|
jedis.hmset(cacheKey, token2map(token));
|
||||||
if (token.getExpiresIn() > 0) {
|
if (token.getExpiresIn() > 0) {
|
||||||
jedis.expire(cacheKey, token.getExpiresIn() - (int)(CUTMS / 1000l));
|
jedis.expire(cacheKey, token.getExpiresIn()
|
||||||
|
- (int) (CUTMS / 1000l));
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
if (jedis != null) {
|
if (jedis != null) {
|
||||||
@ -87,20 +88,25 @@ public class RedisTokenStorager implements TokenStorager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private final static String ACCESSTOKEN_KEY = "accessToken";
|
||||||
|
private final static String EXPIRESIN_KEY = "expiresIn";
|
||||||
|
private final static String CREATETIME_KEY = "createTime";
|
||||||
|
private final static String ORIGINAL_KEY = "originalResult";
|
||||||
|
|
||||||
protected Map<String, String> token2map(Token token) {
|
protected Map<String, String> token2map(Token token) {
|
||||||
Map<String, String> map = new HashMap<String, String>();
|
Map<String, String> map = new HashMap<String, String>();
|
||||||
map.put("accessToken", token.getAccessToken());
|
map.put(ACCESSTOKEN_KEY, token.getAccessToken());
|
||||||
map.put("originalResult", token.getOriginalResult());
|
map.put(EXPIRESIN_KEY, Integer.toString(token.getExpiresIn()));
|
||||||
map.put("createTime", Long.toString(token.getCreateTime()));
|
map.put(CREATETIME_KEY, Long.toString(token.getCreateTime()));
|
||||||
map.put("expiresIn", Integer.toString(token.getExpiresIn()));
|
map.put(ORIGINAL_KEY, token.getOriginalResult());
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Token map2token(Map<String, String> map) {
|
protected Token map2token(Map<String, String> map) {
|
||||||
Token token = new Token(map.get("accessToken"));
|
Token token = new Token(map.get(ACCESSTOKEN_KEY));
|
||||||
token.setCreateTime(Long.parseLong(map.get("createTime")));
|
token.setExpiresIn(Integer.parseInt(map.get(EXPIRESIN_KEY)));
|
||||||
token.setExpiresIn(Integer.parseInt(map.get("expiresIn")));
|
token.setCreateTime(Long.parseLong(map.get(CREATETIME_KEY)));
|
||||||
token.setOriginalResult(map.get("originalResult"));
|
token.setOriginalResult(map.get(ORIGINAL_KEY));
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,7 @@ public class PayTest {
|
|||||||
protected final static WeixinPayProxy PAY;
|
protected final static WeixinPayProxy PAY;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
ACCOUNT = new WeixinPayAccount("appid", "paySignKey", "mchid");
|
ACCOUNT = new WeixinPayAccount("wx4ab8f8de58159a57", "GATFzDwbQdbbci3QEQxX2rUBvwTrsMiZ", "1290664601");
|
||||||
SIGNATURE = new WeixinPaymentSignature(ACCOUNT.getPaySignKey());
|
SIGNATURE = new WeixinPaymentSignature(ACCOUNT.getPaySignKey());
|
||||||
PAY = new WeixinPayProxy(new Weixin4jSettings(ACCOUNT));
|
PAY = new WeixinPayProxy(new Weixin4jSettings(ACCOUNT));
|
||||||
}
|
}
|
||||||
@ -81,10 +81,9 @@ public class PayTest {
|
|||||||
@Test
|
@Test
|
||||||
public void downbill() throws WeixinException {
|
public void downbill() throws WeixinException {
|
||||||
Calendar c = Calendar.getInstance();
|
Calendar c = Calendar.getInstance();
|
||||||
System.err.println(c.getTime());
|
c.set(Calendar.YEAR, 2016);
|
||||||
c.set(Calendar.YEAR, 2015);
|
c.set(Calendar.MONTH, 3);
|
||||||
c.set(Calendar.MONTH, 2);
|
c.set(Calendar.DAY_OF_MONTH, 4);
|
||||||
c.set(Calendar.DAY_OF_MONTH, 24);
|
|
||||||
System.err.println(c.getTime());
|
System.err.println(c.getTime());
|
||||||
File file = PAY.downloadBill(c.getTime(), null);
|
File file = PAY.downloadBill(c.getTime(), null);
|
||||||
System.err.println(file);
|
System.err.println(file);
|
||||||
|
|||||||
@ -57,7 +57,6 @@ public class WeixinTicketCreator implements TokenCreator {
|
|||||||
JSONObject result = response.getAsJson();
|
JSONObject result = response.getAsJson();
|
||||||
Token token = new Token(result.getString("ticket"));
|
Token token = new Token(result.getString("ticket"));
|
||||||
token.setExpiresIn(result.getIntValue("expires_in"));
|
token.setExpiresIn(result.getIntValue("expires_in"));
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
token.setOriginalResult(response.getAsString());
|
token.setOriginalResult(response.getAsString());
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,6 @@ public class WeixinTokenCreator implements TokenCreator {
|
|||||||
WeixinResponse response = weixinExecutor.get(tokenUrl);
|
WeixinResponse response = weixinExecutor.get(tokenUrl);
|
||||||
Token token = response.getAsObject(new TypeReference<Token>() {
|
Token token = response.getAsObject(new TypeReference<Token>() {
|
||||||
});
|
});
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
token.setOriginalResult(response.getAsString());
|
token.setOriginalResult(response.getAsString());
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,8 +14,7 @@ import com.foxinmy.weixin4j.xml.XmlStream;
|
|||||||
public class XmlstreamTest {
|
public class XmlstreamTest {
|
||||||
|
|
||||||
public static void object2xmlWithRootElement() {
|
public static void object2xmlWithRootElement() {
|
||||||
Token token = new Token();
|
Token token = new Token("accessToken");
|
||||||
token.setAccessToken("accessToken");
|
|
||||||
token.setExpiresIn(12);
|
token.setExpiresIn(12);
|
||||||
token.setCreateTime(13l);
|
token.setCreateTime(13l);
|
||||||
String content = XmlStream.toXML(token);
|
String content = XmlStream.toXML(token);
|
||||||
|
|||||||
@ -167,7 +167,6 @@ public class SuiteApi extends QyApi {
|
|||||||
suitePerCodeHolder, suiteTokenHolder);
|
suitePerCodeHolder, suiteTokenHolder);
|
||||||
Token token = new Token(obj.getString("access_token"));
|
Token token = new Token(obj.getString("access_token"));
|
||||||
token.setExpiresIn(obj.getIntValue("expires_in"));
|
token.setExpiresIn(obj.getIntValue("expires_in"));
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
suiteTicketHolder.getTokenStorager().caching(
|
suiteTicketHolder.getTokenStorager().caching(
|
||||||
tokenCreator.getCacheKey(), token);
|
tokenCreator.getCacheKey(), token);
|
||||||
// 缓存微信企业号永久授权码
|
// 缓存微信企业号永久授权码
|
||||||
|
|||||||
@ -54,7 +54,6 @@ public class WeixinSuitePreCodeCreator implements TokenCreator {
|
|||||||
JSONObject result = response.getAsJson();
|
JSONObject result = response.getAsJson();
|
||||||
Token token = new Token(result.getString("pre_auth_code"));
|
Token token = new Token(result.getString("pre_auth_code"));
|
||||||
token.setExpiresIn(result.getIntValue("expires_in"));
|
token.setExpiresIn(result.getIntValue("expires_in"));
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
token.setOriginalResult(response.getAsString());
|
token.setOriginalResult(response.getAsString());
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,6 @@ public class WeixinSuiteTokenCreator implements TokenCreator {
|
|||||||
obj = response.getAsJson();
|
obj = response.getAsJson();
|
||||||
Token token = new Token(obj.getString("suite_access_token"));
|
Token token = new Token(obj.getString("suite_access_token"));
|
||||||
token.setExpiresIn(obj.getIntValue("expires_in"));
|
token.setExpiresIn(obj.getIntValue("expires_in"));
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
token.setOriginalResult(response.getAsString());
|
token.setOriginalResult(response.getAsString());
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,7 +60,6 @@ public class WeixinTokenSuiteCreator implements TokenCreator {
|
|||||||
obj = response.getAsJson();
|
obj = response.getAsJson();
|
||||||
Token token = new Token(obj.getString("access_token"));
|
Token token = new Token(obj.getString("access_token"));
|
||||||
token.setExpiresIn(obj.getIntValue("expires_in"));
|
token.setExpiresIn(obj.getIntValue("expires_in"));
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
token.setOriginalResult(response.getAsString());
|
token.setOriginalResult(response.getAsString());
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,7 +53,6 @@ public class WeixinProviderTokenCreator implements TokenCreator {
|
|||||||
obj = response.getAsJson();
|
obj = response.getAsJson();
|
||||||
Token token = new Token(obj.getString("provider_access_token"));
|
Token token = new Token(obj.getString("provider_access_token"));
|
||||||
token.setExpiresIn(obj.getIntValue("expires_in"));
|
token.setExpiresIn(obj.getIntValue("expires_in"));
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
token.setOriginalResult(response.getAsString());
|
token.setOriginalResult(response.getAsString());
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,7 +60,6 @@ public class WeixinTicketCreator implements TokenCreator {
|
|||||||
JSONObject result = response.getAsJson();
|
JSONObject result = response.getAsJson();
|
||||||
Token token = new Token(result.getString("ticket"));
|
Token token = new Token(result.getString("ticket"));
|
||||||
token.setExpiresIn(result.getIntValue("expires_in"));
|
token.setExpiresIn(result.getIntValue("expires_in"));
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
token.setOriginalResult(response.getAsString());
|
token.setOriginalResult(response.getAsString());
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,6 @@ public class WeixinTokenCreator implements TokenCreator {
|
|||||||
WeixinResponse response = weixinExecutor.get(tokenUrl);
|
WeixinResponse response = weixinExecutor.get(tokenUrl);
|
||||||
Token token = response.getAsObject(new TypeReference<Token>() {
|
Token token = response.getAsObject(new TypeReference<Token>() {
|
||||||
});
|
});
|
||||||
token.setCreateTime(System.currentTimeMillis());
|
|
||||||
token.setOriginalResult(response.getAsString());
|
token.setOriginalResult(response.getAsString());
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user