using Apimanager_backend.Data; using Apimanager_backend.Exceptions; using Apimanager_backend.Models; using AutoMapper; using Microsoft.EntityFrameworkCore; namespace Apimanager_backend.Services { public class PaymentConfigService : IPaymentConfigService { private ApiContext _context; private ILogger _logger; private IMapper _mapper; public PaymentConfigService(ApiContext context,ILogger logger,IMapper mapper) { _context = context; _logger = logger; _mapper = mapper; } public async Task> GetAllPaymentAsync() { var data = await _context.paymentConfigs.Where(x => x.IsEnabled).ToListAsync(); return _mapper.Map>(data); } public async Task GetPaymentConfigInfoByTypeAsync(string payType) { if(!Enum.TryParse(payType, true, out PaymentType parsedPayType)) { throw new BaseException(4001, "未配置该支付方式的通道"); } var data = await _context.paymentConfigs.SingleOrDefaultAsync(x => x.Method == parsedPayType); if(data == null) { throw new BaseException(4001, "未配置该支付方式的通道"); } return data; } } }