package org.jeecg.pm.hikvision.sdk.request.vss.playback;

import com.chanjx.utils.HttpMethod;
import org.apache.http.entity.ContentType;
import org.jeecg.pm.hikvision.sdk.entity.body.HikvisionBodyModel;
import org.jeecg.pm.hikvision.sdk.entity.body.vss.playback.HikvisionGetRecordPlansByCameraUuids;
import org.jeecg.pm.hikvision.sdk.request.HikvisionAbstractRequest;
import org.jeecg.pm.hikvision.sdk.response.vss.playback.HikvisionGetRecordPlansByCameraUuidsResponse;
import org.jeecg.pm.hikvision.sdk.result.vss.playback.HikvisionGetRecordPlansByCameraUuidsResult;

/**
 * <p>
 *
 * </p>
 *
 * @author 陈俊雄
 * @since 2022/3/24
 */
public class HikvisionGetRecordPlansByCameraUuidsRequest extends HikvisionAbstractRequest<HikvisionGetRecordPlansByCameraUuidsResponse, HikvisionGetRecordPlansByCameraUuidsResult> {

    private HikvisionGetRecordPlansByCameraUuids hikvisionGetRecordPlansByCameraUuids;

    public HikvisionGetRecordPlansByCameraUuidsRequest(HikvisionGetRecordPlansByCameraUuids hikvisionGetRecordPlansByCameraUuids) {
        this.hikvisionGetRecordPlansByCameraUuids = hikvisionGetRecordPlansByCameraUuids;
    }

    @Override
    public ContentType getContentType() {
        return ContentType.APPLICATION_JSON;
    }

    @Override
    public Class<HikvisionGetRecordPlansByCameraUuidsResponse> getResponseClazz() {
        return HikvisionGetRecordPlansByCameraUuidsResponse.class;
    }

    @Override
    public Class<HikvisionGetRecordPlansByCameraUuidsResult> getResultClazz() {
        return HikvisionGetRecordPlansByCameraUuidsResult.class;
    }

    @Override
    public HttpMethod getHttpMethod() {
        return HttpMethod.POST;
    }

    @Override
    public String getReqPath() {
        return "/openapi/service/vss/playback/getRecordPlansByCameraUuids";
    }

    @Override
    public HikvisionBodyModel getModel() {
        return hikvisionGetRecordPlansByCameraUuids;
    }

    @Override
    public void setModel(HikvisionBodyModel model) {
        this.hikvisionGetRecordPlansByCameraUuids = (HikvisionGetRecordPlansByCameraUuids) model;
    }
}
