You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

87 lines
2.6 KiB

using Znyc.CloudCar.Model.ViewModels.ReportsCallBack;
namespace Znyc.CloudCar.IServices.Currency
{
/// <summary>
/// 用户云币服务
/// </summary>
public interface ICurrencyService
{
/// <summary>
/// 总云币
/// </summary>
/// <returns></returns>
Task<ResponseOutput> GetAsync();
/// <summary>
/// 云币账单
/// </summary>
/// <param name="currencyType">0全部/1收入/2支出</param>
/// <param name="currentPage"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
Task<ResponseOutput> PageAsync(int currencyType, int currentPage, int pageSize);
/// <summary>
/// 首次登录加云币
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task AddCurrencyForFirstLogin(long userId);
/// <summary>
/// 充值加云币
/// </summary>
/// <param name="userId"></param>
/// <param name="orderId"></param>
/// <param name="credits"></param>
/// <returns></returns>
Task AddCurrencyByCharge(long userId, long orderId, int credits);
/// <summary>
/// 邀请新用户加云币
/// </summary>
/// <param name="userId"></param>
/// <param name="receiveUserId"></param>
/// <returns></returns>
Task AddCurrencyForNewUsers(long userId, long receiveUserId);
#region 设备
/// <summary>
/// 刷新扣除云币
/// </summary>
/// <param name="equipmentId"></param>
/// <returns></returns>
Task<ResponseOutput> RefreshDeduct(long equipmentId);
/// <summary>
/// 置顶扣除云币
/// </summary>
/// <param name="equipmentId"></param>
/// <returns></returns>
Task<ResponseOutput> TopDeduct(long equipmentId);
/// <summary>
/// 获取电话扣除云币
/// </summary>
/// <param name="equipmentId"></param>
/// <returns></returns>
Task<ResponseOutput> GetPhoneDeduct(long equipmentId, int sellingPrice);
#endregion
/// <summary>
/// 购买优惠卡赠送云币
/// </summary>
/// <param name="userId"></param>
/// <param name="orderId"></param>
/// <param name="credits"></param>
/// <returns></returns>
Task AddCurrencyByBuyCard(long userId, long orderId, int credits);
Task<ResponseOutput> ShareAsync(string shareType, long userId);
}
}