package cn.iocoder.yudao.server.dal.mysql;

import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
import cn.iocoder.yudao.server.dal.dataobject.OaDocDO;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface OaMapper extends BaseMapper<OaDocDO> {
//    @DS("oa")
//    @TenantIgnore
//    default List<OaDocDO> selectOaDoc(List<Integer> params) {
//        return selectList(
//                new LambdaQueryWrapper<OaDocDO>()
//                        .in(OaDocDO::getSeccategory, params)
//                        .in(OaDocDO::getDocstatus, 1, 2)
//        );
//    }
@DS("oa")
@TenantIgnore
default IPage<OaDocDO> selectOaDocPage(Page<OaDocDO> page, List<Integer> params) {
    return this.selectPage(page,
            new LambdaQueryWrapper<OaDocDO>()
                    .in(OaDocDO::getSeccategory, params)
                    .in(OaDocDO::getDocstatus, 1, 2)
                    .orderByDesc(OaDocDO::getDocvaliddate)
    );
}
}
