| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package com.ruixuan.isc.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.kuaishou.merchant.open.api.KsMerchantApiException;
- import com.kuaishou.merchant.open.api.client.oauth.OauthAccessTokenKsClient;
- import com.kuaishou.merchant.open.api.client.oauth.OauthCredentialKsClient;
- import com.kuaishou.merchant.open.api.response.oauth.KsAccessTokenResponse;
- import com.kuaishou.merchant.open.api.response.oauth.KsCredentialResponse;
- import com.ruixuan.common.utils.Check;
- import com.ruixuan.common.utils.RedisUtil;
- import com.ruixuan.isc.entity.KuaishouAccessToken;
- import com.ruixuan.isc.mapper.AccessTokenMapper;
- import com.ruixuan.isc.service.IAccessTokenService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- @Slf4j
- @Service
- public class AccessTokenServiceImpl implements IAccessTokenService {
- @Autowired
- private AccessTokenMapper accessTokenMapper;
- @Override
- public String getAccessToken() {
- return accessTokenMapper.getAccessToken();
- }
- @Override
- public void refreshAccessToken() {
- List<KuaishouAccessToken> tokens = accessTokenMapper.getTokenInfos();
- if (!Check.isNull(tokens)) {
- for (KuaishouAccessToken token : tokens) {
- String appKey = token.getAppKey();
- String appSecret = token.getAppSecret();
- String refreshToken = token.getRefreshToken();
- OauthAccessTokenKsClient oauthAccessTokenKsClient = new OauthAccessTokenKsClient(appKey, appSecret);
- try {
- KsAccessTokenResponse response = oauthAccessTokenKsClient.refreshAccessToken(refreshToken);
- JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(response));
- log.info("刷新token,id:{},返回结果:{}",token.getId(),jsonObject);
- if(jsonObject.getInteger("result") == 1){
- KuaishouAccessToken updateToken = new KuaishouAccessToken();
- updateToken.setId(token.getId());
- updateToken.setAccessToken(jsonObject.getString("accessToken"));
- updateToken.setRefreshToken(jsonObject.getString("refreshToken"));
- accessTokenMapper.update(updateToken);
- }
- } catch (KsMerchantApiException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
|