From 911f82d6345f8314eb6247bf1326125ce08870e7 Mon Sep 17 00:00:00 2001 From: itzhang <2019326567@qq.com> Date: Tue, 10 Jun 2025 14:27:52 +0800 Subject: [PATCH] =?UTF-8?q?token=E4=BC=98=E5=8C=96=E5=92=8C=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CRMTokenController.java | 53 +++++++++++++++++++ .../magicboot/utils/CaffeineCacheUtil.java | 2 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 magic-boot/src/main/java/org/ssssssss/magicboot/controller/CRMTokenController.java diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/CRMTokenController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/CRMTokenController.java new file mode 100644 index 0000000..50ce2cc --- /dev/null +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/CRMTokenController.java @@ -0,0 +1,53 @@ +package org.ssssssss.magicboot.controller; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestClientException; +import org.springframework.web.client.RestTemplate; +import org.ssssssss.magicboot.constant.CertificateConstant; +import org.ssssssss.magicboot.constant.URLConstant; +import org.ssssssss.magicboot.utils.CaffeineCacheUtil; + +import java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("/api/crm") +@Slf4j +public class CRMTokenController { + + private RestTemplate restTemplate = new RestTemplate(); + + @PostMapping("/getToken") + public void getCRMToken() { + //封装请求 + Map tokenParams = new HashMap<>(); + tokenParams.put("appId", CertificateConstant.APP_ID); + tokenParams.put("appSecret", CertificateConstant.APP_SECRET); + tokenParams.put("permanentCode", CertificateConstant.PERMANENT_CODE); + + JSONObject tokenResponse = new JSONObject(); + + try { + tokenResponse = restTemplate.postForObject(URLConstant.GET_CORPACCESSTOKEN_URL, tokenParams, JSONObject.class); + } catch (RestClientException e) { + e.printStackTrace(); + } + + //判断是否成功 + if ("success".equals(tokenResponse.getString("errorMessage"))) { + String corpAccessToken = tokenResponse.getString("corpAccessToken"); + + //移除 + CaffeineCacheUtil.remove("corpAccessToken"); + + //存入新的 + CaffeineCacheUtil.put("corpAccessToken", corpAccessToken); + } else { + log.info("获取纷享销客token失败{}", tokenResponse); + } + } +} diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/utils/CaffeineCacheUtil.java b/magic-boot/src/main/java/org/ssssssss/magicboot/utils/CaffeineCacheUtil.java index dae8be3..2d1eec7 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/utils/CaffeineCacheUtil.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/utils/CaffeineCacheUtil.java @@ -9,7 +9,7 @@ public class CaffeineCacheUtil { private static final Cache cache = Caffeine.newBuilder() .maximumSize(100) // 最大缓存容量 - .expireAfterWrite(120, TimeUnit.MINUTES) // 120分钟后过期 + .expireAfterWrite(90, TimeUnit.MINUTES) // 120分钟后过期 .build(); /**