package com.game.business.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.game.business.domain.AppUserAgent;
import com.game.business.dto.AppAgentTeamDto;
import com.game.business.vo.AppAgentTeamVo;
import org.apache.ibatis.annotations.Param;

/**
 * 用户代理表Mapper接口
 *
 * @author game
 * @date 2024-06-25
 */
public interface AppUserAgentMapper extends BaseMapper<AppUserAgent> {
    /**
     * 查询用户代理表
     *
     * @param id 用户代理表主键
     * @return 用户代理表
     */
    public AppUserAgent selectAppUserAgentById(Long id);

    /**
     * 查询用户代理表列表
     *
     * @param appUserAgent 用户代理表
     * @return 用户代理表集合
     */
    public List<AppUserAgent> selectAppUserAgentList(AppUserAgent appUserAgent);

    /**
     * 新增用户代理表
     *
     * @param appUserAgent 用户代理表
     * @return 结果
     */
    public int insertAppUserAgent(AppUserAgent appUserAgent);

    /**
     * 修改用户代理表
     *
     * @param appUserAgent 用户代理表
     * @return 结果
     */
    public int updateAppUserAgent(AppUserAgent appUserAgent);

    /**
     * 删除用户代理表
     *
     * @param id 用户代理表主键
     * @return 结果
     */
    public int deleteAppUserAgentById(Long id);

    /**
     * 批量删除用户代理表
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAppUserAgentByIds(Long[] ids);

    /**
     * 根据日期统计投资金额
     *
     */
    public Double sumBetting(@Param("beginTime") String beginTime, @Param("endTime") String endTime,@Param("pid") Long pid);

    /**
     * 查询团队列表
     *
     */
    public List<AppAgentTeamVo> teamList(@Param("teamDto") AppAgentTeamDto teamDto);

    /**
     * 查询团队列表（新）
     *
     */
    public List<AppAgentTeamVo> teamListNew(@Param("teamDto") AppAgentTeamDto teamDto);

    /**
     * 查询所有下级团队列表（递归）
     *
     */
    public List<AppUserAgent> selectAllAgentList(@Param("pid") Long pid, @Param("userId") Long userId,@Param("beginTime") String beginTime, @Param("endTime") String endTime);
}