package com.skr.mdm.service;

import com.skr.mdm.dto.LoginAdminDTO;
import com.skr.mdm.result.ResponseResult;

import java.util.List;

/**
 * @author nfq
 * @date 2021/2/19 11:55
 */
public interface ClientAdminService {

    ResponseResult listPermission(Integer adminId);

    /**
     * 管理员客户端设备列表
     * @param pageNum
     * @param pageSize
     * @param searchType
     * @param searchValue
     * @param loginAdminDTO
     * @return
     */
    ResponseResult listEquipment(Integer pageNum, Integer pageSize, Integer searchType, String searchValue, LoginAdminDTO loginAdminDTO);

    /**
     * 管理员客户端发送锁屏
     * @param lockPassword
     * @param userIdList
     * @param loginAdminDTO
     * @return
     */
    ResponseResult lockCmd(String lockPassword, List<Integer> userIdList, LoginAdminDTO loginAdminDTO);

    /**
     * 管理员客户端发送通知
     * @param inform
     * @param userIdList
     * @param loginAdminDTO
     * @return
     */
    ResponseResult informCmd(String inform, List<Integer> userIdList, LoginAdminDTO loginAdminDTO);

    /**
     * 点名
     * @param userIdList
     * @param loginAdminDTO
     * @return
     */
    ResponseResult rollCall(List<Integer> userIdList, LoginAdminDTO loginAdminDTO);

    /**
     * 响铃
     * @param userIdList
     * @param loginAdminDTO
     * @return
     */
    ResponseResult bell(List<Integer> userIdList, LoginAdminDTO loginAdminDTO);

    /**
     * 解锁
     * @param userIdList
     * @param loginAdminDTO
     * @return
     */
    ResponseResult unlockCmd(List<Integer> userIdList, LoginAdminDTO loginAdminDTO);

    /**
     * 拍照
     * @param userIdList
     * @param loginAdminDTO
     * @return
     */
    ResponseResult takePhotos(List<Integer> userIdList, LoginAdminDTO loginAdminDTO);

    /**
     * 截屏
     * @param userIdList
     * @param loginAdminDTO
     * @return
     */
    ResponseResult screenShot(List<Integer> userIdList, LoginAdminDTO loginAdminDTO);

    /**
     * 管理员客户端锁屏列表
     * @param pageNum
     * @param pageSize
     * @param searchType
     * @param searchValue
     * @param loginAdminDTO
     * @return
     */
    ResponseResult listLockCmd(Integer pageNum, Integer pageSize, Integer searchType, String searchValue, LoginAdminDTO loginAdminDTO);

    /**
     * 管理员客户端锁屏作用人列表
     * @param messageId
     * @param pageNum
     * @param pageSize
     * @param searchType
     * @param searchValue
     * @param loginAdminDTO
     * @return
     */
    ResponseResult listUserLockCmd(String messageId, Integer pageNum, Integer pageSize, Integer searchType, String searchValue, LoginAdminDTO loginAdminDTO);

}
