|
@@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.ExecutorService;
|
|
|
+import java.util.concurrent.Executors;
|
|
|
|
|
|
@Slf4j
|
|
|
@RestController
|
|
@@ -26,6 +28,8 @@ public class JiaoYangCallbackController {
|
|
|
private static String appSecret = "sqc2y31qQEY2E3AIWWvmCg";
|
|
|
private static String signSecret = "6ef1e2a231733bb0c38fb2bf0f50e45b";
|
|
|
|
|
|
+ static ExecutorService executorService = Executors.newFixedThreadPool(2);
|
|
|
+
|
|
|
@GetMapping("/oauth")
|
|
|
@ApiOperation(value = "骄阳-达人授权")
|
|
|
public String oauth(String code, String state) {
|
|
@@ -51,9 +55,31 @@ public class JiaoYangCallbackController {
|
|
|
if (result == 1) {
|
|
|
String accessToken = jsonObject.getString("access_token");
|
|
|
String refreshToken = jsonObject.getString("refresh_token");
|
|
|
+ String openId = jsonObject.getString("open_id");
|
|
|
Long promoterId = Long.valueOf(state);
|
|
|
- jiaoYangCallbackService.replaceTokenInfo(promoterId, appId, appSecret, signSecret, accessToken, refreshToken);
|
|
|
- openPhotoListService.insertKuaishouOpenPhotoListByPromoter(promoterId);
|
|
|
+ JSONObject json = jiaoYangCallbackService.getDataByOpenId(openId);
|
|
|
+ if (Check.isNull(json)) {
|
|
|
+ jiaoYangCallbackService.replaceTokenInfo(promoterId, openId, appId, appSecret, signSecret, accessToken, refreshToken);
|
|
|
+ executorService.submit(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ try {
|
|
|
+ openPhotoListService.insertKuaishouOpenPhotoListByPromoter(promoterId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ Long oldPromoterId = json.getLong("promoterId");
|
|
|
+ if (promoterId.equals(oldPromoterId)) {
|
|
|
+ jiaoYangCallbackService.replaceTokenInfo(promoterId, openId, appId, appSecret, signSecret, accessToken, refreshToken);
|
|
|
+ } else {
|
|
|
+ jiaoYangCallbackService.updateToken(openId, accessToken, refreshToken);
|
|
|
+ return "授权失败,授权账号与当前登录账户不不一致";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
return "授权失败,请联系技术解决";
|
|
|
}
|