Browse Source

头条刷新token

yumeng 2 years ago
parent
commit
564c7587ee

+ 1 - 0
ruixuan-live/src/main/java/com/ruixuan/bytedance/service/impl/BytedanceAccessTokenServiceImpl.java

@@ -31,6 +31,7 @@ public class BytedanceAccessTokenServiceImpl implements IBytedanceAccessTokenSer
                 accessToken.setAppKey(localToken.getAppKey());
                 accessToken.setAppKey(localToken.getAppKey());
                 AccessTokenData data = new AccessTokenData();
                 AccessTokenData data = new AccessTokenData();
                 data.setAccessToken(localToken.getAccessToken());
                 data.setAccessToken(localToken.getAccessToken());
+
                 accessToken.setData(data);
                 accessToken.setData(data);
                 return accessToken;
                 return accessToken;
             }
             }

+ 7 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/controller/KuaishouItemListController.java

@@ -43,6 +43,13 @@ public class KuaishouItemListController extends BaseController {
     private IAccessTokenService accessTokenService;
     private IAccessTokenService accessTokenService;
 
 
 
 
+    @GetMapping("/bytedanceToken")
+    @ApiOperation(value = "商品列表")
+    public void bytedanceToken() {
+        accessTokenService.refreshByteDanceAccessToken();
+    }
+
+
     @GetMapping("/accessToken")
     @GetMapping("/accessToken")
     @ApiOperation(value = "商品列表")
     @ApiOperation(value = "商品列表")
     public void accessToken() {
     public void accessToken() {

+ 4 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/mapper/AccessTokenMapper.java

@@ -10,4 +10,8 @@ public interface AccessTokenMapper {
     List<KuaishouAccessToken> getTokenInfos();
     List<KuaishouAccessToken> getTokenInfos();
 
 
     void update(KuaishouAccessToken updateToken);
     void update(KuaishouAccessToken updateToken);
+
+    List<KuaishouAccessToken> getByteDanceTokenInfos();
+
+    void updateBytedance(KuaishouAccessToken update);
 }
 }

+ 2 - 0
ruixuan-live/src/main/java/com/ruixuan/isc/service/IAccessTokenService.java

@@ -7,4 +7,6 @@ public interface IAccessTokenService {
     KuaishouAccessToken getAccessToken(Long regId);
     KuaishouAccessToken getAccessToken(Long regId);
 
 
     void refreshAccessToken();
     void refreshAccessToken();
+
+     void refreshByteDanceAccessToken();
 }
 }

+ 50 - 5
ruixuan-live/src/main/java/com/ruixuan/isc/service/impl/AccessTokenServiceImpl.java

@@ -2,13 +2,16 @@ package com.ruixuan.isc.service.impl;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.doudian.open.api.token_refresh.TokenRefreshRequest;
+import com.doudian.open.api.token_refresh.TokenRefreshResponse;
+import com.doudian.open.api.token_refresh.param.TokenRefreshParam;
+import com.doudian.open.core.AccessToken;
+import com.doudian.open.core.AccessTokenBuilder;
 import com.kuaishou.merchant.open.api.KsMerchantApiException;
 import com.kuaishou.merchant.open.api.KsMerchantApiException;
 import com.kuaishou.merchant.open.api.client.oauth.OauthAccessTokenKsClient;
 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.KsAccessTokenResponse;
-import com.kuaishou.merchant.open.api.response.oauth.KsCredentialResponse;
+import com.ruixuan.bytedance.service.IBytedanceAccessTokenService;
 import com.ruixuan.common.utils.Check;
 import com.ruixuan.common.utils.Check;
-import com.ruixuan.common.utils.RedisUtil;
 import com.ruixuan.isc.entity.KuaishouAccessToken;
 import com.ruixuan.isc.entity.KuaishouAccessToken;
 import com.ruixuan.isc.mapper.AccessTokenMapper;
 import com.ruixuan.isc.mapper.AccessTokenMapper;
 import com.ruixuan.isc.service.IAccessTokenService;
 import com.ruixuan.isc.service.IAccessTokenService;
@@ -16,6 +19,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 @Slf4j
 @Slf4j
@@ -23,6 +27,8 @@ import java.util.List;
 public class AccessTokenServiceImpl implements IAccessTokenService {
 public class AccessTokenServiceImpl implements IAccessTokenService {
     @Autowired
     @Autowired
     private AccessTokenMapper accessTokenMapper;
     private AccessTokenMapper accessTokenMapper;
+    @Autowired
+    private IBytedanceAccessTokenService tokenService;
 
 
 
 
     @Override
     @Override
@@ -32,6 +38,11 @@ public class AccessTokenServiceImpl implements IAccessTokenService {
 
 
     @Override
     @Override
     public void refreshAccessToken() {
     public void refreshAccessToken() {
+        refreshKuaiShouAccessToken();
+        refreshByteDanceAccessToken();
+    }
+
+    public void refreshKuaiShouAccessToken() {
         List<KuaishouAccessToken> tokens = accessTokenMapper.getTokenInfos();
         List<KuaishouAccessToken> tokens = accessTokenMapper.getTokenInfos();
         if (!Check.isNull(tokens)) {
         if (!Check.isNull(tokens)) {
             for (KuaishouAccessToken token : tokens) {
             for (KuaishouAccessToken token : tokens) {
@@ -42,8 +53,8 @@ public class AccessTokenServiceImpl implements IAccessTokenService {
                 try {
                 try {
                     KsAccessTokenResponse response = oauthAccessTokenKsClient.refreshAccessToken(refreshToken);
                     KsAccessTokenResponse response = oauthAccessTokenKsClient.refreshAccessToken(refreshToken);
                     JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(response));
                     JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(response));
-                    log.info("刷新token,id:{},返回结果:{}",token.getId(),jsonObject);
-                    if(jsonObject.getInteger("result") == 1){
+                    log.info("刷新token,id:{},返回结果:{}", token.getId(), jsonObject);
+                    if (jsonObject.getInteger("result") == 1) {
                         KuaishouAccessToken updateToken = new KuaishouAccessToken();
                         KuaishouAccessToken updateToken = new KuaishouAccessToken();
                         updateToken.setId(token.getId());
                         updateToken.setId(token.getId());
                         updateToken.setAccessToken(jsonObject.getString("accessToken"));
                         updateToken.setAccessToken(jsonObject.getString("accessToken"));
@@ -62,4 +73,38 @@ public class AccessTokenServiceImpl implements IAccessTokenService {
 
 
         }
         }
     }
     }
+
+    @Override
+    public void refreshByteDanceAccessToken() {
+        List<KuaishouAccessToken> tokens = accessTokenMapper.getByteDanceTokenInfos();
+        if (!Check.isNull(tokens)) {
+            for (KuaishouAccessToken token : tokens) {
+                TokenRefreshRequest request = new TokenRefreshRequest();
+                TokenRefreshParam param = request.getParam();
+                param.setRefreshToken(token.getRefreshToken());
+                param.setGrantType("refresh_token");
+                AccessToken accessToken = tokenService.getAccessToken(1L);
+                TokenRefreshResponse response = request.execute(accessToken);
+                if (!Check.isNull(response)) {
+                    JSONObject jsonObject = JSONObject.parseObject(response.toString());
+                    if (jsonObject.getInteger("code") == 10000) {
+                        JSONObject data = jsonObject.getJSONObject("data");
+                        if (!Check.isNull(data)) {
+                            String access_token = data.getString("access_token");
+                            String refresh_token = data.getString("refresh_token");
+                            KuaishouAccessToken update = new KuaishouAccessToken();
+                            update.setId(token.getId());
+                            update.setAccessToken(access_token);
+                            update.setRefreshToken(refresh_token);
+                            update.setUpdateTime(new Date());
+                            accessTokenMapper.updateBytedance(update);
+                            log.info("抖音更新token成功");
+                        }
+                    }
+                }
+
+
+            }
+        }
+    }
 }
 }

+ 7 - 0
ruixuan-live/src/main/resources/mapper/isc/AccessTokenMapper.xml

@@ -7,6 +7,10 @@
  update kuaishou_access_token set access_token = #{accessToken},refresh_token = #{refreshToken}
  update kuaishou_access_token set access_token = #{accessToken},refresh_token = #{refreshToken}
  where id = #{id}
  where id = #{id}
     </update>
     </update>
+    <update id="updateBytedance" parameterType="com.ruixuan.isc.entity.KuaishouAccessToken">
+         update bytedance_access_token set access_token = #{accessToken},refresh_token = #{refreshToken},update_time = #{updateTime}
+        where id = #{id}
+    </update>
 
 
 
 
     <select id="getAccessToken" resultType="com.ruixuan.isc.entity.KuaishouAccessToken">
     <select id="getAccessToken" resultType="com.ruixuan.isc.entity.KuaishouAccessToken">
@@ -15,4 +19,7 @@
     <select id="getTokenInfos" resultType="com.ruixuan.isc.entity.KuaishouAccessToken">
     <select id="getTokenInfos" resultType="com.ruixuan.isc.entity.KuaishouAccessToken">
         select *  from kuaishou_access_token
         select *  from kuaishou_access_token
     </select>
     </select>
+    <select id="getByteDanceTokenInfos" resultType="com.ruixuan.isc.entity.KuaishouAccessToken">
+         select *  from bytedance_access_token
+    </select>
 </mapper>
 </mapper>