com.dahuatech.icc.cirs.model.v202209.SDK.DeviceCodeSDK Maven / Gradle / Ivy
package com.dahuatech.icc.cirs.model.v202209.SDK;
import com.dahuatech.hutool.log.Log;
import com.dahuatech.hutool.log.LogFactory;
import com.dahuatech.icc.cirs.constant.CirsConstant;
import com.dahuatech.icc.cirs.model.v202209.device.DeviceCodeRequest;
import com.dahuatech.icc.cirs.model.v202209.device.DeviceCodeResponse;
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-09-05 10:26
* @Description: 根据deviceCode查询设备信息
*/
public class DeviceCodeSDK {
private static final Log logger = LogFactory.get();
/**
* 根据deviceCode查询设备信息
**/
public static DeviceCodeResponse DeviceCode(DeviceCodeRequest request) {
DeviceCodeResponse response = null;
try {
//基本校验
request.valid();
//业务校验
request.businessValid();
String url=CirsConstant.DEVICE_CODE+'/'+request.getId();
request.setUrl(new DeviceCodeRequest(request.getOauthConfigBaseInfo().getHttpConfigInfo(), url, request.getMethod()).getUrl());
//业务逻辑处理
response = new IccClient(request.getOauthConfigBaseInfo()).doAction(request, request.getResponseClass());
} catch (BusinessException businessException) {
logger.error("DeviceCodeSDK,DeviceCode,errorMessage:{},errorArgs:{},errorCode:{}", businessException.getErrorMsg(), businessException.getArgs(), businessException.getCode());
response = new DeviceCodeResponse();
response.setCode(businessException.getCode());
response.setErrMsg(businessException.getErrorMsg());
response.setArgs(businessException.getArgs());
response.setSuccess(false);
} catch (Exception e) {
logger.error("根据deviceCode查询设备信息:{}", e, e.getMessage());
response = new DeviceCodeResponse();
response.setErrMsg(OauthParamConstant.SYSTEME_RROR.getErrMsg());
response.setCode(OauthParamConstant.SYSTEME_RROR.getCode());
response.setSuccess(false);
}
return response;
}
}