|
|
@@ -0,0 +1,57 @@
|
|
|
+package cn.com.ctop.job.adq.data.service.impl;
|
|
|
+
|
|
|
+import cn.com.ctop.job.adq.data.mapper.RefreshTokenMapper;
|
|
|
+import cn.com.ctop.job.adq.data.service.IRefreshTokenService;
|
|
|
+import cn.com.ctop.job.adq.data.utils.Check;
|
|
|
+import cn.com.ctop.job.adq.data.utils.HttpUtils;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class RefreshTokenServiceImpl implements IRefreshTokenService {
|
|
|
+ @Autowired
|
|
|
+ private RefreshTokenMapper refreshTokenMapper;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void refreshToken() {
|
|
|
+ List<JSONObject> tokenList = refreshTokenMapper.getAllTokenList();
|
|
|
+ if (Check.isNull(tokenList)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (JSONObject tokenJson : tokenList) {
|
|
|
+ Long adminAdvertiserId = tokenJson.getLong("adminAdvertiserId");
|
|
|
+ String clientId = tokenJson.getString("clientId");
|
|
|
+ String clientSecret = tokenJson.getString("clientSecret");
|
|
|
+ String refreshToken = tokenJson.getString("refreshToken");
|
|
|
+ Map<String, Object> param = new HashMap<>();
|
|
|
+ param.put("client_id", clientId);
|
|
|
+ param.put("client_secret", clientSecret);
|
|
|
+ param.put("refresh_token", refreshToken);
|
|
|
+ param.put("grant_type", "refresh_token");
|
|
|
+ String s = HttpUtils.httpGet("https://api.e.qq.com/oauth/token", param, new HashMap<>());
|
|
|
+ JSONObject tokenResult = JSONObject.parseObject(s);
|
|
|
+ if (Check.isNull(tokenResult)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Integer code = tokenResult.getInteger("code");
|
|
|
+ if (code != 0) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ JSONObject data = tokenResult.getJSONObject("data");
|
|
|
+ if (Check.isNull(data)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ String updateAccessToken = data.getString("access_token");
|
|
|
+ String updateRefreshToken = data.getString("refresh_token");
|
|
|
+ refreshTokenMapper.updateToken(adminAdvertiserId, updateAccessToken, updateRefreshToken);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|