|
@@ -1,4 +1,4 @@
|
|
|
-package com.coffee.aliyun;
|
|
|
|
|
|
|
+package com.coffee.aliyun.sdk;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.aliyuncs.DefaultAcsClient;
|
|
import com.aliyuncs.DefaultAcsClient;
|
|
@@ -6,7 +6,12 @@ import com.aliyuncs.exceptions.ClientException;
|
|
|
import com.aliyuncs.iot.model.v20180120.*;
|
|
import com.aliyuncs.iot.model.v20180120.*;
|
|
|
import com.aliyuncs.profile.DefaultProfile;
|
|
import com.aliyuncs.profile.DefaultProfile;
|
|
|
import com.aliyuncs.profile.IClientProfile;
|
|
import com.aliyuncs.profile.IClientProfile;
|
|
|
|
|
+import com.coffee.aliyun.PlatformAccount;
|
|
|
import lombok.Data;
|
|
import lombok.Data;
|
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
|
|
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
@@ -16,29 +21,26 @@ import java.util.Map;
|
|
|
//import com.tuoren.common.utils.StringUtils;
|
|
//import com.tuoren.common.utils.StringUtils;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * @Author XX
|
|
|
|
|
|
|
+ * @Author 龙三郎
|
|
|
* @Date 2021-06-11 08:10:58
|
|
* @Date 2021-06-11 08:10:58
|
|
|
* @Version 1.0
|
|
* @Version 1.0
|
|
|
* @Description XXX
|
|
* @Description XXX
|
|
|
*/
|
|
*/
|
|
|
-@Data
|
|
|
|
|
|
|
+@Configuration
|
|
|
|
|
+@EnableConfigurationProperties(PlatformAccount.class)
|
|
|
|
|
+@Slf4j
|
|
|
public class AliyunIotSdk {
|
|
public class AliyunIotSdk {
|
|
|
- private static final String ACCESSKEY = "accessKey";
|
|
|
|
|
- private static final String ACCESSSECRET = "accessSecret";
|
|
|
|
|
- private static final String REFIONID = "regionId";
|
|
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${aliyun.product.productKey:a1ALlsBa2ZK}")
|
|
|
|
|
+ private String productKey;
|
|
|
|
|
|
|
|
private String accessKey;
|
|
private String accessKey;
|
|
|
private String accessSecret;
|
|
private String accessSecret;
|
|
|
private String regionId;
|
|
private String regionId;
|
|
|
// client
|
|
// client
|
|
|
private DefaultAcsClient client;
|
|
private DefaultAcsClient client;
|
|
|
- public AliyunIotSdk(String accessKey, String accessSecret, String regionId) {
|
|
|
|
|
- this.accessKey = accessKey;
|
|
|
|
|
- this.accessSecret = accessSecret;
|
|
|
|
|
- this.regionId = regionId;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public AliyunIotSdk(PlatformAccount platformAccount) {
|
|
|
|
|
|
|
+ public AliyunIotSdk(PlatformAccount platformAccount){
|
|
|
this.accessKey = platformAccount.getAccessKey();
|
|
this.accessKey = platformAccount.getAccessKey();
|
|
|
this.accessSecret = platformAccount.getAccessSecret();
|
|
this.accessSecret = platformAccount.getAccessSecret();
|
|
|
this.regionId = platformAccount.getRegionId();
|
|
this.regionId = platformAccount.getRegionId();
|
|
@@ -105,6 +107,9 @@ public class AliyunIotSdk {
|
|
|
|
|
|
|
|
// 获取阿里云SDK客户端
|
|
// 获取阿里云SDK客户端
|
|
|
DefaultAcsClient client = this.getAliyuniotClient();
|
|
DefaultAcsClient client = this.getAliyuniotClient();
|
|
|
|
|
+ List<QueryDeviceResponse.DeviceInfo> list = new ArrayList<>();
|
|
|
|
|
+ Integer pageSize = 100,currentPage = 1;
|
|
|
|
|
+
|
|
|
RegisterDeviceRequest request = new RegisterDeviceRequest();
|
|
RegisterDeviceRequest request = new RegisterDeviceRequest();
|
|
|
// 产品key,必需
|
|
// 产品key,必需
|
|
|
request.setProductKey(productKey);
|
|
request.setProductKey(productKey);
|
|
@@ -113,7 +118,7 @@ public class AliyunIotSdk {
|
|
|
try {
|
|
try {
|
|
|
RegisterDeviceResponse response = client.getAcsResponse(request);
|
|
RegisterDeviceResponse response = client.getAcsResponse(request);
|
|
|
System.out.println(response.getSuccess());
|
|
System.out.println(response.getSuccess());
|
|
|
- // 获取失败直接跳出
|
|
|
|
|
|
|
+ // 获取失败直接跳出循环
|
|
|
if (!response.getSuccess()){
|
|
if (!response.getSuccess()){
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
@@ -151,10 +156,9 @@ public class AliyunIotSdk {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取设备
|
|
* 获取设备
|
|
|
- * @param productKey
|
|
|
|
|
* @return
|
|
* @return
|
|
|
*/
|
|
*/
|
|
|
- public List<QueryDeviceResponse.DeviceInfo> queryDevice(String productKey){
|
|
|
|
|
|
|
+ public List<QueryDeviceResponse.DeviceInfo> queryDevice(){
|
|
|
|
|
|
|
|
// 获取阿里云SDK客户端
|
|
// 获取阿里云SDK客户端
|
|
|
DefaultAcsClient client = this.getAliyuniotClient();
|
|
DefaultAcsClient client = this.getAliyuniotClient();
|
|
@@ -292,23 +296,23 @@ public class AliyunIotSdk {
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 获取设备的详细信息
|
|
* 获取设备的详细信息
|
|
|
- * @param iotId
|
|
|
|
|
|
|
+ * @param deviceName
|
|
|
*/
|
|
*/
|
|
|
- public QueryDeviceDetailResponse.Data queryDeviceDetail(String iotId){
|
|
|
|
|
|
|
+ public QueryDeviceDetailResponse queryDeviceDetail(String deviceName){
|
|
|
// 获取阿里云SDK客户端
|
|
// 获取阿里云SDK客户端
|
|
|
DefaultAcsClient client = this.getAliyuniotClient();
|
|
DefaultAcsClient client = this.getAliyuniotClient();
|
|
|
|
|
|
|
|
QueryDeviceDetailRequest _request = new QueryDeviceDetailRequest();
|
|
QueryDeviceDetailRequest _request = new QueryDeviceDetailRequest();
|
|
|
- _request.setIotId(iotId);
|
|
|
|
|
|
|
+ _request.setProductKey(productKey);
|
|
|
|
|
+ _request.setDeviceName(deviceName);
|
|
|
|
|
|
|
|
- QueryDeviceDetailResponse.Data data = null;
|
|
|
|
|
|
|
+ QueryDeviceDetailResponse acsResponse = null;
|
|
|
try {
|
|
try {
|
|
|
- QueryDeviceDetailResponse acsResponse = client.getAcsResponse(_request);
|
|
|
|
|
- data = acsResponse.getData();
|
|
|
|
|
|
|
+ acsResponse = client.getAcsResponse(_request);
|
|
|
} catch (ClientException e) {
|
|
} catch (ClientException e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|
|
|
- return data;
|
|
|
|
|
|
|
+ return acsResponse;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|