using Znyc.CloudCar.IRepository.Recharge;
using Znyc.CloudCar.IServices.CaChe;
using Znyc.CloudCar.IServices.Recharge;
using Znyc.CloudCar.Model.Dtos.Recharge;
using Znyc.CloudCar.Model.ViewModels.ReportsCallBack;
using Znyc.CloudCar.Utility.Extensions;
namespace Znyc.CloudCar.Services.Recharge
{
///
/// 充值活动服务
///
public class RechargeService : IRechargeService
{
private readonly IRechargeRepository _rechargeRepository;
private readonly IRechargeIntroRepository _rechargeIntroRepository;
private readonly ICacheService _cacheService;
public RechargeService(
IRechargeRepository rechargeRepository,
IRechargeIntroRepository rechargeIntroRepository,
ICacheService cacheService
)
{
_rechargeRepository = rechargeRepository;
_rechargeIntroRepository = rechargeIntroRepository;
_cacheService = cacheService;
}
///
/// 查询充值活动详情
///
///
public async Task GetAsync()
{
RechargeOutput Rrecharge = await _cacheService.GetRechargeAsync();
if (Rrecharge.IsNull())
{
Rrecharge = await _rechargeRepository.Select.Where(x => x.State == 1).FirstAsync();
Rrecharge.introOutputs = await _rechargeIntroRepository.Select.Where(x => x.ParentId == Rrecharge.Id)
.ToListAsync();
await _cacheService.SetRechargeAsync(Rrecharge);
}
return new ResponseOutput()
{
Data = Rrecharge,
Successed = true,
Code = 1
};
}
}
}