feat(erp):优化品牌商标缓存与方舟API调用逻辑

- 品牌商标缓存服务增加一天内去重保存逻辑- 方舟API调用支持TOKEN失效自动重新注册
- 增加证书验证失败重试机制
- 修复代理池API签名密钥
-优化商标检查面板完成状态计算逻辑- 更新应用配置注释格式
This commit is contained in:
2025-11-17 14:34:08 +08:00
parent 937a84bb81
commit d29d4d69da
9 changed files with 112 additions and 24 deletions

View File

@@ -21,5 +21,12 @@ public interface IMarkService {
* 登录
*/
String login();
/**
* 验证Token是否可用
* @param token 待验证的Token
* @return true=可用, false=不可用
*/
boolean validateToken(String token);
}

View File

@@ -124,5 +124,29 @@ public class MarkServiceImpl implements IMarkService {
throw new RuntimeException("MD5加密失败", e);
}
}
@Override
public boolean validateToken(String token) {
try {
String data = "{\"name\":\"\",\"page_size\":1,\"current_page\":1}";
long ts = System.currentTimeMillis();
MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
formData.add("c", "TaskPageList");
formData.add("d", data);
formData.add("t", token);
formData.add("s", md5(ts + data + API_SECRET));
formData.add("ts", String.valueOf(ts));
formData.add("website", "1");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers);
String result = restTemplate.postForObject("https://api.fangzhoujingxuan.com/Task", requestEntity, String.class);
JsonNode json = objectMapper.readTree(result);
int statusCode = json.get("S").asInt();
return statusCode == 1;
} catch (Exception e) {
return false;
}
}
}