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