package com.bc.exam.modules.tlog.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bc.exam.core.api.dto.PagingReqDTO;
import com.bc.exam.core.utils.StringUtils;
import com.bc.exam.modules.tlog.entity.TLog;
import com.bc.exam.modules.tlog.mapper.TLogMapper;
import com.bc.exam.modules.tlog.service.TLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
 * @Description 描述:借还日志服务
 * @Author A贾宇婷034244310
 * @Date 20260615
 */
@Service
public class TLogServiceImpl extends ServiceImpl<TLogMapper, TLog> implements TLogService {

    @Override
    public IPage<TLog> paging(PagingReqDTO<TLog> reqDTO) {
        //创建分页对象
        Page<TLog> query = new Page<>(reqDTO.getCurrent(), reqDTO.getSize());
        //查询条件
        QueryWrapper<TLog> wrapper = new QueryWrapper<>();
        wrapper.eq("id", reqDTO.getUserId());
        wrapper.like(!StringUtils.isBlank(reqDTO.getParams().getBookname()),"bookname",reqDTO.getParams().getBookname());
        if(null!=reqDTO.getParams().getState()){
            wrapper.eq("state", reqDTO.getParams().getState());
        }
        if(null!=reqDTO.getParams().getCreateTime()){
            wrapper.apply("create_time >= {0}", reqDTO.getParams().getCreateTime());
        }
        if(null!=reqDTO.getParams().getUpdateTime()){
            wrapper.apply("update_time <= {0}", reqDTO.getParams().getUpdateTime());
        }

        //获得数据
        IPage<TLog> page = this.page(query, wrapper);
        return page;
    }
}
