feat: 对接银行模块接口,即将上线功能
This commit is contained in:
@@ -1,20 +1,51 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Volo.Abp.Application.Services;
|
||||
using Yi.Framework.Bbs.Application.Contracts.Dtos.Bank;
|
||||
using Yi.Framework.Bbs.Domain.Entities.Bank;
|
||||
using Yi.Framework.Bbs.Domain.Managers;
|
||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||
|
||||
namespace Yi.Framework.Bbs.Application.Services.Bank
|
||||
{
|
||||
public class BankService : ApplicationService
|
||||
{
|
||||
private BankManager _bankManager;
|
||||
public BankService(BankManager bankManager)
|
||||
private BbsUserManager _bbsUserManager;
|
||||
private ISqlSugarRepository<BankCardEntity, Guid> _repository;
|
||||
private ISqlSugarRepository<InterestRecordsEntity, Guid> _interestRepository;
|
||||
public BankService(BankManager bankManager, BbsUserManager userManager, ISqlSugarRepository<BankCardEntity, Guid> repository, ISqlSugarRepository<InterestRecordsEntity, Guid> interestRepository)
|
||||
{
|
||||
_bankManager = bankManager;
|
||||
_bbsUserManager = userManager;
|
||||
_repository = repository;
|
||||
_interestRepository = interestRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取最近24小时汇率记录
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("bank/interest")]
|
||||
public async Task<List<InterestRecordsDto>> GetInterestRecordsAsync()
|
||||
{
|
||||
var entities = await _interestRepository._DbQueryable.OrderByDescending(x => x.CreationTime).ToPageListAsync(1, 24);
|
||||
var output = entities.Adapt<List<InterestRecordsDto>>();
|
||||
return output;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取登录用户全部银行卡信息
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Authorize]
|
||||
[HttpGet("bank")]
|
||||
public async Task<List<BankCardDto>> GetBankCardListAsync()
|
||||
{
|
||||
var entities = await _repository.GetListAsync(x => x.UserId == CurrentUser.Id);
|
||||
var output = entities.Adapt<List<BankCardDto>>();
|
||||
return output;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -22,9 +53,21 @@ namespace Yi.Framework.Bbs.Application.Services.Bank
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[Authorize]
|
||||
public Task ApplyingBankCardAsync()
|
||||
[HttpPost("bank/applying")]
|
||||
public async Task ApplyingBankCardAsync()
|
||||
{
|
||||
return _bankManager.ApplyingBankCardAsync(CurrentUser.Id.Value);
|
||||
var userInfo = await _bbsUserManager.GetBbsUserInfoAsync(CurrentUser.Id!.Value);
|
||||
var banCardNum = await _repository.CountAsync(x => x.UserId == CurrentUser.Id!.Value);
|
||||
|
||||
var diffNum = userInfo.Level - banCardNum;
|
||||
if (diffNum <= 0)
|
||||
{
|
||||
throw new UserFriendlyException($"申请失败,当前等级-【{userInfo.Level}】,最多可申领-【{userInfo.Level}】张银行卡,目前已拥有-【{banCardNum}】,请提升你的等级信誉,行长会考虑的");
|
||||
}
|
||||
else
|
||||
{
|
||||
await _bankManager.ApplyingBankCardAsync(CurrentUser.Id.Value, diffNum);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -33,6 +76,7 @@ namespace Yi.Framework.Bbs.Application.Services.Bank
|
||||
/// <param name="cardId"></param>
|
||||
/// <returns></returns>
|
||||
[Authorize]
|
||||
[HttpPut("bank/draw/{cardId}")]
|
||||
public Task DrawMoneyAsync(Guid cardId)
|
||||
{
|
||||
return _bankManager.DrawMoneyAsync(cardId);
|
||||
@@ -40,12 +84,24 @@ namespace Yi.Framework.Bbs.Application.Services.Bank
|
||||
/// <summary>
|
||||
/// 给银行卡存款
|
||||
/// </summary>
|
||||
/// <param name="CardId"></param>
|
||||
/// <param name="cardId"></param>
|
||||
/// <param name="moneyNum"></param>
|
||||
/// <returns></returns>
|
||||
public Task DepositAsync(Guid CardId, decimal moneyNum)
|
||||
[Authorize]
|
||||
[HttpPut("bank/deposit/{cardId}/{moneyNum}")]
|
||||
public async Task DepositAsync(Guid cardId, decimal moneyNum)
|
||||
{
|
||||
return _bankManager.DepositAsync(CardId, moneyNum);
|
||||
if (moneyNum < 50)
|
||||
{
|
||||
throw new UserFriendlyException("存款金额不能小于50");
|
||||
}
|
||||
var userInfo = await _bbsUserManager.GetBbsUserInfoAsync(CurrentUser.Id!.Value);
|
||||
if (userInfo.Money < moneyNum)
|
||||
{
|
||||
throw new UserFriendlyException("存钱失败!你的钱钱不足,再存进去,就负数啦~");
|
||||
}
|
||||
|
||||
await _bankManager.DepositAsync(cardId, moneyNum);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user