diff --git a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml
index 37c8e46e0..c27321ab5 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml
@@ -397,7 +397,7 @@
and eu.active = true
-- and sr.source = 'create'
- and (sr.position_type = #{positionType} or sr.id in (180000000,120000000,40000000))
+ and (sr.position_type = #{positionType} or sr.id in (180000000,120000000,40000000,1762761165005))
and eu.user_status = '1'
diff --git a/coolstore-partner-dao/src/main/resources/mapper/UserAuthMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/UserAuthMappingMapper.xml
index fb58d5e5a..c9feb2c04 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/UserAuthMappingMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/UserAuthMappingMapper.xml
@@ -55,7 +55,7 @@
- and (b.position_type =#{positionType} or b.id in (180000000,120000000,40000000) )
+ and (b.position_type =#{positionType} or b.id in (180000000,120000000,40000000,1762761165005))
and b.role_auth !=#{notRoleAuth}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/xinfa/XinFaDeviceService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/xinfa/XinFaDeviceService.java
index fd1eb065e..144b447d1 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/xinfa/XinFaDeviceService.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/xinfa/XinFaDeviceService.java
@@ -327,33 +327,66 @@ public class XinFaDeviceService {
private String sendPostRequest(String requestBody, String requestUrl) {
log.info("开始发送请求,url:{},requestBody:{}", requestUrl, requestBody);
-
- int maxRetries = 3;
- for (int i = 0; i < maxRetries; i++) {
- try {
- Request request = new Request.Builder()
- .url(requestUrl)
- .post(RequestBody.create(MediaType.parse("application/json"), requestBody))
- .build();
-
- return sendPost(requestUrl, request);
- } catch (Exception e) {
- log.warn("请求失败,第{}次重试,错误: {}", i + 1, e.getMessage());
- if (i == maxRetries - 1) {
- throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, "请求重试失败: " + e.getMessage());
- }
- // 重试前等待
- try {
- Thread.sleep(1000 * (i + 1));
- } catch (InterruptedException ie) {
- Thread.currentThread().interrupt();
- throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, "重试被中断");
- }
- }
- }
- throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, "请求重试失败");
+ Request request = new Request.Builder()
+ .url(requestUrl)
+ .post(RequestBody.create(MediaType.parse("application/json"), requestBody))
+ .build();
+ return sendPost(requestUrl, request);
}
+
+ /**
+ * 不重试 请求接口
+ * @param requestBody
+ * @param requestUrl
+ * @param token
+ * @return
+ */
+ private String sendPostRequestNoRetryByToken(String requestBody, String requestUrl, String token) {
+ log.info("开始发送请求,url:{},requestBody:{}", requestUrl, requestBody);
+
+ try {
+ Request request = new Request.Builder()
+ .url(requestUrl)
+ .post(RequestBody.create(MediaType.parse("application/json"), requestBody))
+ .addHeader("token", token)
+ .build();
+
+ String result = sendPost(requestUrl, request);
+
+ // 检查是否token失效
+ if (isTokenExpired(result)) {
+ log.warn("Token已失效,清除缓存并重新获取token");
+ // 清除对应账号的token缓存并获取新token
+ String newToken = clearAccountTokenCacheForToken(token);
+
+ if (newToken != null) {
+ // 使用新token重新发起一次请求
+ Request newRequest = new Request.Builder()
+ .url(requestUrl)
+ .post(RequestBody.create(MediaType.parse("application/json"), requestBody))
+ .addHeader("token", newToken)
+ .build();
+
+ result = sendPost(requestUrl, newRequest);
+ } else {
+ throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, "Token失效且无法获取新token");
+ }
+ }
+ return result;
+ } catch (Exception e) {
+ log.error("请求异常,错误: {}", e.getMessage());
+ throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR, "请求失败: " + e.getMessage());
+ }
+ }
+
+ /**
+ * 包含重试 适用于批量拉取数据 ,正常页面接口无需重试
+ * @param requestBody
+ * @param requestUrl
+ * @param token
+ * @return
+ */
private String sendPostRequestByToken(String requestBody, String requestUrl, String token) {
log.info("开始发送请求,url:{},requestBody:{}", requestUrl, requestBody);