package beilv.vipCardLog.mapper;

import beilv.vipCardLog.domain.VipCardLog;
import org.apache.ibatis.annotations.Param;

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

/**
 * 充值记录Mapper接口
 *
 * @author LG
 * @date 2025-11-12
 */
public interface VipCardLogMapper {
    /**
     * 查询充值记录
     *
     * @param id 充值记录主键
     * @return 充值记录
     */
    public VipCardLog selectVipCardLogById(String id);

    /**
     * 查询充值记录列表
     *
     * @param vipCardLog 充值记录
     * @return 充值记录集合
     */
    public List<VipCardLog> selectVipCardLogList(VipCardLog vipCardLog);

    /**
     * 新增充值记录
     *
     * @param vipCardLog 充值记录
     * @return 结果
     */
    public int insertVipCardLog(VipCardLog vipCardLog);

    /**
     * 修改充值记录
     *
     * @param vipCardLog 充值记录
     * @return 结果
     */
    public int updateVipCardLog(VipCardLog vipCardLog);

    /**
     * 删除充值记录
     *
     * @param id 充值记录主键
     * @return 结果
     */
    public int deleteVipCardLogById(String id);

    /**
     * 批量删除充值记录
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVipCardLogByIds(String[] ids);


    int getRegistrantsNumber(VipCardLog vipCardLog);

    List<Map<String, Object>> selectYueQiuList(VipCardLog vipCardLog);

    List<Map<String, Object>> selectCanSaiList(VipCardLog vipCardLog);

    void updateVipCardLogByBusId(VipCardLog vipCardLog);

    List<VipCardLog> selectVipCardLogByBusId(@Param("busId") String busId,@Param("orderType") String orderType);

    boolean hasOrderHavePaid(@Param("orderId") String id);
}
