package com.fs.his.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fs.his.domain.FsImportMember;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 导入会员Mapper接口
 * 
 * @author fs
 * @date 2026-05-25
 */
public interface FsImportMemberMapper extends BaseMapper<FsImportMember>{
    /**
     * 查询导入会员
     * 
     * @param id 导入会员主键
     * @return 导入会员
     */
    FsImportMember selectFsImportMemberById(Long id);

    /**
     * 查询导入会员列表
     * 
     * @param fsImportMember 导入会员
     * @return 导入会员集合
     */
    List<FsImportMember> selectFsImportMemberList(FsImportMember fsImportMember);

    /**
     * 新增导入会员
     * 
     * @param fsImportMember 导入会员
     * @return 结果
     */
    int insertFsImportMember(FsImportMember fsImportMember);

    /**
     * 修改导入会员
     * 
     * @param fsImportMember 导入会员
     * @return 结果
     */
    int updateFsImportMember(FsImportMember fsImportMember);

    /**
     * 删除导入会员
     * 
     * @param id 导入会员主键
     * @return 结果
     */
    int deleteFsImportMemberById(Long id);

    /**
     * 批量删除导入会员
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteFsImportMemberByIds(Long[] ids);

    /**
     * 批量插入导入会员
     * 
     * @param memberList 导入会员列表
     * @return 结果
     */
    int batchInsertFsImportMember(@Param("memberList") List<FsImportMember> memberList);

    /**
     * 批量修改导入会员状态为已生成
     * @param importMemberIds 导入会员ID集合
     * @return 修改数量
     */
    int batchUpdateCompletionStatus(@Param("importMemberIds") List<Long> importMemberIds);

    /**
     * 根据口袋助理会员ID查询导入会员
     * @param kdzlMemberId 口袋助理会员ID
     * @return 导入会员
     */
    @Select("select * from fs_import_member where kdzl_member_id = #{kdzlMemberId}")
    FsImportMember selectFsImportMemberByMemberId(@Param("kdzlMemberId") Long kdzlMemberId);
}
