package com.yida.data.device.camera.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yida.data.common.core.entity.camera.EduCameraStrategyTheme;
import com.yida.data.device.dto.camera.ThemeSaveDTO;
import com.yida.data.device.vo.camera.ThemeListVO;
import com.yida.data.device.vo.camera.ThemeTagVO;
import com.yida.data.device.vo.camera.ThemeVO;

import java.util.List;

/**
 * @author ccl
 */
public interface EduCameraStrategyThemeService extends IService<EduCameraStrategyTheme> {

    /**
     * 主题标签返回类
     *
     * @param deptId 学校id
     * @return java.util.List<com.yida.data.device.vo.camera.ThemeTagVO>
     * @author ZYJ
     * @date 2022/4/29 16:08
     */
    List<ThemeTagVO> listThemeTag(Long deptId);

    /**
     * 查询主题详情
     *
     * @param themeId 主题id
     * @return com.yida.data.device.vo.camera.ThemeVO
     * @author ZYJ
     * @date 2022/4/29 16:14
     */
    ThemeVO getThemeInfo(Integer themeId);

    /**
     * 查询主题列表
     *
     * @param deptId 学校id
     * @return java.util.List<com.yida.data.device.vo.camera.ThemeListVO>
     * @author ZYJ
     * @date 2022/4/28 16:36
     */
    List<ThemeListVO> listTheme(Long deptId);

    /**
     * 新增或者修改主题配置
     *
     * @param deptId 学校id
     * @param dto    主题信息
     * @author ZYJ
     * @date 2022/4/29 10:25
     */
    Long saveOrUpdateTheme(Long deptId, ThemeSaveDTO dto);

    /**
     * 删除主题
     *
     * @param themeId  主题id
     * @author ZYJ
     * @date 2022/4/29 16:24
     */
    void deleteTheme(Integer themeId);
}
