package com.zt.plat.module.base.dal.mysql.tmpltp;

import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceItemPageReqVO;
import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceItemDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 实例条款值 Mapper
 *
 * @author 后台管理
 */
@Mapper
public interface TemplateInstanceItemMapper extends BaseMapperX<TemplateInstanceItemDO> {

    default PageResult<TemplateInstanceItemDO> selectPage(TemplateInstanceItemPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<TemplateInstanceItemDO>()
                .eqIfPresent(TemplateInstanceItemDO::getInscId, reqVO.getInscId())
                .eqIfPresent(TemplateInstanceItemDO::getItmId, reqVO.getItmId())
                .eqIfPresent(TemplateInstanceItemDO::getVal, reqVO.getVal())
                .betweenIfPresent(TemplateInstanceItemDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(TemplateInstanceItemDO::getId));
    }

    int deleteByTemplateInstanceIds(@Param("templateInstanceIds") List<Long> templateInstanceIds);
}
