package com.iailab.module.model.mcs.pre.dao;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.iailab.framework.common.pojo.PageResult;
import com.iailab.framework.mybatis.core.mapper.BaseMapperX;
import com.iailab.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.iailab.framework.tenant.core.db.dynamic.TenantDS;
import com.iailab.module.model.mcs.pre.entity.MmPredictItemEntity;
import com.iailab.module.model.mcs.pre.entity.MmPredictItemEntity;
import com.iailab.module.model.mcs.pre.entity.MmPredictItemEntity;
import com.iailab.module.model.mcs.pre.vo.DmModulePageReqVO;
import com.iailab.module.model.mcs.pre.vo.MmPredictItemPageReqVO;
import com.iailab.module.model.mcs.pre.vo.MmPredictItemRespVO;
import com.iailab.module.model.mdk.vo.ItemVO;
import com.iailab.module.model.mdk.vo.MergeItemVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

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

/**
 * @author PanZhibao
 * @date 2021年04月26日 11:35
 */
@TenantDS
@Mapper
public interface MmPredictItemDao extends BaseMapperX<MmPredictItemEntity> {

    List<ItemVO> getByModuleId(Map<String, Object> params);

    List<ItemVO> getItem(Map<String, Object> params);

    List<MergeItemVO> getMergeItemByItemId(Map<String, Object> params);

    default PageResult<MmPredictItemEntity> selectPage(MmPredictItemPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<MmPredictItemEntity>()
                .likeIfPresent(MmPredictItemEntity::getItemno, reqVO.getItemno())
                .likeIfPresent(MmPredictItemEntity::getItemname, reqVO.getItemname())
                .orderByDesc(MmPredictItemEntity::getCreateTime));
    }
}