package com.jwipc.sys.logic.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jwipc.page.PageUtil;
import com.jwipc.page.PageView;
import com.jwipc.sys.convert.SapLogConvert;
import com.jwipc.sys.dto.SapLogInfoDTO;
import com.jwipc.sys.entity.SapLogInfo;
import com.jwipc.sys.entity.UserLogin;
import com.jwipc.sys.logic.SapLogLogic;
import com.jwipc.sys.model.po.SapLogInfoPO;
import com.jwipc.sys.model.po.UserLoginPO;
import com.jwipc.sys.model.query.LoginLogQuery;
import com.jwipc.sys.model.query.SapLogQuery;
import com.jwipc.sys.service.ISapLogInfoService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author shenyang.ou
 * @date 2024/1/30 11:53
 * @desc sap日志
 */
@Service
@RequiredArgsConstructor
public class SapLogLogicImpl implements SapLogLogic {
    private final ISapLogInfoService sapLogInfoService;
    private final SapLogConvert sapLogConvert;
    @Override
    public PageView findByPage(SapLogQuery query) {
        final Page<UserLogin> dbPage = PageUtil.toPage(query);
        List<SapLogInfoPO> sapLogInfoPOS = sapLogInfoService.findPageByQuery(dbPage, query);
        return PageUtil.getPV(sapLogConvert.po2DTOList(sapLogInfoPOS), dbPage.getTotal());
    }

    @Override
    public SapLogInfoDTO getById(String id) {
        SapLogInfo sapLogInfo = sapLogInfoService.getById(id);
        return sapLogConvert.entity2DTO(sapLogInfo);
    }
}
