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

com.dahuatech.icc.electricity.model.v202208.SDK.DevicesOperatorSDK Maven / Gradle / Ivy

There is a newer version: 1.0.13.10
Show 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.detection.DevicesOperatorRequest;
import com.dahuatech.icc.electricity.model.v202208.detection.DevicesOperatorResponse;
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-23 15:58
 * @Description: 批量开启/关闭、单个设备开启/关闭
 */
public class DevicesOperatorSDK {
    private static final Log logger = LogFactory.get();
    /**
     * 批量开启/关闭、单个设备开启/关闭
     **/
    public static DevicesOperatorResponse DevicesOperator(DevicesOperatorRequest request) throws ClientException {

        DevicesOperatorResponse response = null;

        try {
            //基本校验
            request.valid();
            //业务校验
            request.businessValid();
            request.setUrl(new DevicesOperatorRequest(request.getOauthConfigBaseInfo().getHttpConfigInfo(), ElectricityConstant.DEVICES_OPERATOR, request.getMethod()).getUrl());
            //业务逻辑处理
            response = new IccClient(request.getOauthConfigBaseInfo()).doAction(request, request.getResponseClass());
        } catch (BusinessException businessException) {
            logger.error("DevicesOperatorSDK,DevicesOperator,errorMessage:{},errorArgs:{},errorCode:{}", businessException.getErrorMsg(), businessException.getArgs(), businessException.getCode());
            response = new DevicesOperatorResponse();
            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;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy