com.dahuatech.icc.electricity.model.v202208.SDK.DeviceInfoSDK Maven / Gradle / Ivy
The newest version!
package com.dahuatech.icc.electricity.model.v202208.SDK;
import com.dahuatech.hutool.log.Log;
import com.dahuatech.hutool.log.LogFactory;
import com.dahuatech.icc.electricity.constant.ElectricityConstant;
import com.dahuatech.icc.electricity.model.v202208.device.DeviceInfoRequest;
import com.dahuatech.icc.electricity.model.v202208.device.DeviceInfoResponse;
import com.dahuatech.icc.exception.ClientException;
import com.dahuatech.icc.oauth.exception.BusinessException;
import com.dahuatech.icc.oauth.http.IccClient;
import com.dahuatech.icc.oauth.model.v202010.oSDK.OauthParamConstant;
/**
* program:java-sdk
*
* @Author: 355079
* @Date:2022-08-22 11:10
* @Description: 获取设备能力
*/
public class DeviceInfoSDK {
private static final Log logger = LogFactory.get();
/**
* 获取设备能力
**/
public static DeviceInfoResponse DeviceInfo(DeviceInfoRequest request) throws ClientException {
DeviceInfoResponse response = null;
try {
//基本校验
request.valid();
//业务校验
request.businessValid();
request.setUrl(new DeviceInfoRequest(request.getOauthConfigBaseInfo().getHttpConfigInfo(), ElectricityConstant.DEVICE_INFO, request.getMethod()).getUrl());
//业务逻辑处理
response = new IccClient(request.getOauthConfigBaseInfo()).doAction(request, request.getResponseClass());
} catch (BusinessException businessException) {
logger.error("DeviceInfoSDK,DeviceInfo,errorMessage:{},errorArgs:{},errorCode:{}", businessException.getErrorMsg(), businessException.getArgs(), businessException.getCode());
response = new DeviceInfoResponse();
response.setCode(businessException.getCode());
response.setErrMsg(businessException.getErrorMsg());
response.setArgs(businessException.getArgs());
response.setSuccess(false);
} catch (Exception e) {
logger.error("获取设备能力:{}", e, e.getMessage());
response.setErrMsg(OauthParamConstant.SYSTEME_RROR.getErrMsg());
response.setCode(OauthParamConstant.SYSTEME_RROR.getCode());
}
return response;
}
}