package com.ozs.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ozs.common.core.domain.AjaxResult;
import com.ozs.entity.BaseCameraManagement;
import com.ozs.entity.response.BaseCameraManagementReq;
import com.ozs.entity.vo.BaseCameraManagementHomeVo;
import com.ozs.entity.vo.BaseCameraManagementVo;
import com.ozs.entity.vo.BaseCameraManagementVos;
import com.ozs.entity.vo.BaseVehicleTerminalDto;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 相机台账管理表 服务类
 * </p>
 *
 * @author ozs
 * @since 2023-02-17
 */
public interface BaseCameraManagementService extends IService<BaseCameraManagement> {
    /**
     * 相机台账管理表导入
     * @param accountManageList
     * @param updateSupport
     * @param userId
     * @return
     */
    String importBaseAccountManagement(List<BaseCameraManagementVos> accountManageList, boolean updateSupport, String userId);

    List<BaseCameraManagementHomeVo> selectCameraAll(BaseCameraManagementVo baseCameraManagementVo);
    
//    List<String> getUserIds(String userId);

    List<String> getUserIdList(String userId);

    IPage<BaseCameraManagement> queryPage(BaseCameraManagementVo baseCameraManagementVo);

    List<BaseCameraManagement> baseCameraManagementList(BaseCameraManagementVo baseCameraManagementVo);

    Map<String, Integer> getMessageStatisticsCamera();

    AjaxResult nonContactAlarmCamera(String cameraCode);

    List<BaseVehicleTerminalDto> videoCaptureUrl(BaseVehicleTerminalDto baseVehicleTerminalDto);

    List<BaseCameraManagement> cameraMangemnetList(BaseCameraManagementReq baseCameraManagementReq);
}
