package cn.ey.biz.module.system.service.logger;

import cn.ey.biz.common.pojo.PageResult;
import cn.ey.biz.module.system.api.logger.dto.ApiAccessLogCreateReqDTO;
import cn.ey.biz.module.system.controller.admin.logger.vo.apiaccesslog.ApiAccessLogExportReqVO;
import cn.ey.biz.module.system.controller.admin.logger.vo.apiaccesslog.ApiAccessLogPageReqVO;
import cn.ey.biz.module.system.convert.logger.ApiAccessLogConvert;
import cn.ey.biz.module.system.dal.dataobject.logger.ApiAccessLogDO;
import cn.ey.biz.module.system.dal.mapper.logger.ApiAccessLogMapper;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;

import javax.annotation.Resource;
import java.util.List;

/**
 * API 访问日志 Service 实现类
 *
 */
@Service
@Validated
public class ApiAccessLogServiceImpl implements ApiAccessLogService {

    @Resource
    private ApiAccessLogMapper apiAccessLogMapper;

    @Override
    public void createApiAccessLog(ApiAccessLogCreateReqDTO createDTO) {
        ApiAccessLogDO apiAccessLog = ApiAccessLogConvert.INSTANCE.convert(createDTO);
        apiAccessLogMapper.insert(apiAccessLog);
    }

    @Override
    public PageResult<ApiAccessLogDO> getApiAccessLogPage(ApiAccessLogPageReqVO pageReqVO) {
        return apiAccessLogMapper.selectPage(pageReqVO);
    }

    @Override
    public List<ApiAccessLogDO> getApiAccessLogList(ApiAccessLogExportReqVO exportReqVO) {
        return apiAccessLogMapper.selectList(exportReqVO);
    }

}
