package com.simuwang.base.mapper;

import com.simuwang.base.pojo.dos.DeletionInfoDO;
import com.simuwang.base.pojo.dos.FundDeletionInfoDO;
import com.simuwang.base.pojo.dto.query.DeletionPageQuery;
import com.simuwang.base.pojo.dto.query.FundDeletionPageQuery;
import com.simuwang.base.pojo.vo.FundDeletionInfoVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * FileName: DeletionInfoMapper
 * Author:   chenjianhua
 * Date:     2024/9/17 18:59
 * Description: ${DESCRIPTION}
 */
@Mapper
public interface DeletionInfoMapper {
    List<DeletionInfoDO> searchDeletionList(DeletionPageQuery deletionPageQuery);

    long countDeletion(DeletionPageQuery deletionPageQuery);

    String getLastDeletionDateByFundId(@Param("fundId") String fundId,@Param("deletionType") Integer deletionType);

    List<FundDeletionInfoDO> searchFundDeletionList(FundDeletionPageQuery fundDeletionPageQuery);

    long countFundDeletionList(FundDeletionPageQuery fundDeletionPageQuery);

    void update(FundDeletionInfoDO infoDO);

    void batchUpdate(@Param("itemDoList") List<FundDeletionInfoVO> fundDeletionInfoVOList);

    void updateRemark(@Param("fundId") String fundId, @Param("deletionType") Integer deletionType,@Param("deletionDate") String deletionDate, @Param("remark")String remark);

    List<FundDeletionInfoDO> selectFundDeletionInfoVOList(@Param("fundIdList") List<String> fundIdList);

    DeletionInfoDO getDeletionInfoDO(DeletionInfoDO deletionInfoDO);

    void saveDeletionInfoDO(DeletionInfoDO deletionInfoDO);
}
