using System.Collections.Generic;
using System.Threading.Tasks;
using Znyc.Recruitment.Admin.Commons.Entitys;
using Znyc.Recruitment.Admin.Commons.IServices;
using Znyc.Recruitment.Admin.Commons.Pages;
using Znyc.Recruitment.Admin.Security.Dtos;
using Znyc.Recruitment.Admin.Security.Entitys;

namespace Znyc.Recruitment.Admin.Security.IServices
{
    /// <summary>
    ///     充值活动服务接口
    /// </summary>
    public interface IRechargeService : IService<RechargeEntity, RechargeOutputDto, long>
    {

        /// <summary>
        ///     分页查询
        /// </summary>
        /// <param name="search">查询的条件</param>
        /// <returns>指定对象的集合</returns>
        Task<PageResult<RechargeOutputDto>> FindWithPagerSearchAsync(SearchRechargeModel search);

        /// <summary>
        ///     异步新增充值活动详情数据
        /// </summary>
        /// <param name="input"></param>
        /// <param name="parentId"></param>
        /// <param name="userId">创建人</param>
        /// <returns></returns>
        Task<bool> InsertRechargeIntroAsync(List<RechargeIntroAddInput> input, long parentId, long userId);

        /// <summary>
        ///     异步更新数据
        /// </summary>
        /// <param name="input"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        Task<CommonResult> UpdateAsync(RechargeUpdateInput input, long userId);
    }
}