Merge #16 into master from cc_20250916_new
大屏Iot获取token接口
* cc_20250916_new: (6 commits squashed)
- feat:第三方Iot接口对接
- Merge branch 'refs/heads/master' into cc_20250916_new
# Conflicts:
#	coolstore-partner-web/src/main/resources/application-local.properties
- fix
- fix:修改http请求工具
- Merge branch 'refs/heads/master' into cc_20250916_new
# Conflicts:
#	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
#	coolstore-partner-web/src/main/resources/application-ab.properties
#	coolstore-partner-web/src/main/resources/application-local.properties
#	coolstore-partner-web/src/main/resources/application-online.properties
#	coolstore-partner-web/src/main/resources/application-test.properties
- fix:短信签名修改
Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Reviewed-by: 苏竹红 <570057076@qq.com>
Merged-by: 苏竹红 <570057076@qq.com>
CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/16
This commit is contained in:
@@ -133,7 +133,7 @@ public class CommonService {
|
||||
return;
|
||||
}
|
||||
List<String> signNameList = new ArrayList<>();
|
||||
signNameList.add("酷店掌");
|
||||
signNameList.add("杭州好多店智能科技");
|
||||
AsyncClient client = null;
|
||||
try {
|
||||
StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.cool.store.service.iot;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 第三方Iot
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2025/10/20
|
||||
*/
|
||||
public interface ThirdIotService {
|
||||
|
||||
/**
|
||||
* 获取token
|
||||
*/
|
||||
Map<String, Object> getToken();
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.cool.store.service.iot.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.mq.util.HttpRestTemplateService;
|
||||
import com.cool.store.service.iot.ThirdIotService;
|
||||
import com.cool.store.utils.Md5Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 第三方Iot 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wangff
|
||||
* @since 2025/10/20
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
public class ThirdIotServiceImpl implements ThirdIotService {
|
||||
private final HttpRestTemplateService restTemplateService;
|
||||
|
||||
@Value("${zx.iot.appId}")
|
||||
private String appId;
|
||||
@Value("${zx.iot.appSecret}")
|
||||
private String appSecret;
|
||||
|
||||
public static final String BASE_URL = "https://zhengxin.ks.osvlabs.com:31310/api";
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getToken() {
|
||||
String url = BASE_URL + "/system/third-party/auth?timestamp={0}&appId={1}&sign={2}";
|
||||
Long timestamp = System.currentTimeMillis() / 1000;
|
||||
HashMap<String, Object> params = new HashMap<>();
|
||||
params.put("appId", appId);
|
||||
params.put("timestamp", timestamp);
|
||||
String sign = sign(params, appSecret);
|
||||
log.info("send request");
|
||||
Map result = restTemplateService.postForObject(MessageFormat.format(url, String.valueOf(timestamp), appId, sign), null, Map.class);
|
||||
log.info("response:{}", JSONObject.toJSONString(result));
|
||||
return result;
|
||||
}
|
||||
|
||||
private static String sign(Map<String, Object> param, String appSecret) {
|
||||
String paramStr = param.entrySet().stream()
|
||||
.sorted(Map.Entry.comparingByKey())
|
||||
.map(entry -> entry.getKey() + "=" + entry.getValue())
|
||||
.collect(Collectors.joining("&"));
|
||||
return Md5Utils.md5(paramStr + appSecret).toUpperCase();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user