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.TemplateInstanceDataPageReqVO;
import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDataDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 实例字段值 Mapper
 *
 * @author 后台管理
 */
@Mapper
public interface TemplateInstanceDataMapper extends BaseMapperX<TemplateInstanceDataDO> {

    default PageResult<TemplateInstanceDataDO> selectPage(TemplateInstanceDataPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<TemplateInstanceDataDO>()
                .eqIfPresent(TemplateInstanceDataDO::getInscId, reqVO.getInscId())
                .eqIfPresent(TemplateInstanceDataDO::getFldKy, reqVO.getFldKy())
                .eqIfPresent(TemplateInstanceDataDO::getFldVal, reqVO.getFldVal())
                .betweenIfPresent(TemplateInstanceDataDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(TemplateInstanceDataDO::getId));
    }
   int deleteByTemplateInstanceIds(@Param("templateInstanceIds") List<Long> templateInstanceIds);

    int updateFldValById(@Param("inscId") String inscId, @Param("fldVal") String fldVal, @Param("fldKy") String fldKy);

}
