package cd.casic.module.terminal.service;


import cd.casic.module.terminal.dal.dataobject.TerminalConnectLogDO;
import cd.casic.module.terminal.enums.TerminalConnectTypeEnum;
import cd.casic.module.terminal.host.terminal.enums.TerminalConnectStatusEnum;
import cd.casic.module.terminal.host.terminal.model.request.host.TerminalConnectLogCreateRequest;
import java.util.List;
import java.util.Map;

/**
 * 终端连接日志 服务类
 *
 * @author Jiahang Li
 * @version 1.0.0
 * @since 2023-12-26 22:09
 */
public interface TerminalConnectLogService {

    /**
     * 创建终端连接日志
     *
     * @param type    type
     * @param request request
     * @return record
     */
    TerminalConnectLogDO create(TerminalConnectTypeEnum type, TerminalConnectLogCreateRequest request);


    /**
     * 更新连接状态
     *
     * @param id     id
     * @param status status
     * @param extra  extra
     * @return effect
     */
    Integer updateStatusById(Long id, TerminalConnectStatusEnum status, Map<String, Object> extra);



    /**
     * 删除终端连接日志
     *
     * @param idList idList
     * @return effect
     */
    Integer deleteTerminalConnectLog(List<Long> idList);


}
