All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dahuatech.icc.cirs.model.v202209.SDK.OperateDeviceSDK Maven / Gradle / Ivy

There is a newer version: 1.0.13.7
Show newest version
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.OperateDeviceRequest;
import com.dahuatech.icc.cirs.model.v202209.device.OperateDeviceResponse;
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: 下发操作设备指令
 */
public class OperateDeviceSDK {
    private static final Log logger = LogFactory.get();

    /**
     * 下发操作设备指令
     **/
    public static OperateDeviceResponse OperateDevice(OperateDeviceRequest request) {

        OperateDeviceResponse response = null;

        try {
            //基本校验
            request.valid();
            //业务校验
            request.businessValid();
            request.setUrl(new OperateDeviceRequest(request.getOauthConfigBaseInfo().getHttpConfigInfo(), CirsConstant.OPERATE_DEVICE, request.getMethod()).getUrl());
            //业务逻辑处理
            response = new IccClient(request.getOauthConfigBaseInfo()).doAction(request, request.getResponseClass());
        } catch (BusinessException businessException) {
            logger.error("OperateDeviceSDK,OperateDevice,errorMessage:{},errorArgs:{},errorCode:{}", businessException.getErrorMsg(), businessException.getArgs(), businessException.getCode());
            response = new OperateDeviceResponse();
            response.setCode(businessException.getCode());
            response.setErrMsg(businessException.getErrorMsg());
            response.setArgs(businessException.getArgs());
            response.setSuccess(false);
        } catch (Exception e) {
            logger.error("下发操作设备指令:{}", e, e.getMessage());
            response = new OperateDeviceResponse();
            response.setErrMsg(OauthParamConstant.SYSTEME_RROR.getErrMsg());
            response.setCode(OauthParamConstant.SYSTEME_RROR.getCode());
            response.setSuccess(false);
        }
        return response;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy