package com.cico.nest.lcdp.boot.core.system.service.logger;

import com.cico.nest.lcdp.boot.api.system.logger.dto.LoginLogCreateReqDTO;
import com.cico.nest.lcdp.boot.core.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO;
import com.cico.nest.lcdp.boot.core.system.dal.dataobject.logger.LoginLogDO;
import com.cico.nest.lcdp.framework.common.pojo.PageResult;
import jakarta.validation.Valid;

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


/**
 * 登录日志 Service 接口
 */
public interface LoginLogService {

    /**
     * 获得登录日志分页
     *
     * @param pageReqVO 分页条件
     * @return 登录日志分页
     */
    PageResult<LoginLogDO> getLoginLogPage(LoginLogPageReqVO pageReqVO);

    /**
     * 创建登录日志
     *
     * @param reqDTO 日志信息
     */
    void createLoginLog(@Valid LoginLogCreateReqDTO reqDTO);

    /**
     * 获取用户的历史登录次数
     * @param userIds
     * @return
     */
    Map<Long,Long> countLoginNumsByUsers(List<Long> userIds);
}
