package beilv.vipCardLog.service;


import beilv.common.core.domain.AjaxResult;
import beilv.stadium.domain.Stadium;
import beilv.vipCard.domain.VipCard;
import beilv.vipCardAmountLog.domain.VipCardAmountLog;
import beilv.vipCardLog.domain.VipCardLog;

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

/**
 * 充值记录Service接口
 *
 * @author LG
 * @date 2025-11-12
 */
public interface IVipCardLogService {
    /**
     * 查询充值记录
     *
     * @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 ids 需要删除的充值记录主键集合
     * @return 结果
     */
    public int deleteVipCardLogByIds(String ids);

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

    int updateVipCardLogByOrderId(VipCardLog vipCardLog);

    int getRegistrantsNumber(VipCardLog vipCardLog);

    AjaxResult refundById(VipCardLog vipCardLog, boolean isOnline, boolean executeUpdate);

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

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

    void insertAmountLog(VipCardAmountLog vipCardAmountLog);

}
