feat: 添加银行功能搭建

This commit is contained in:
陈淳
2024-03-13 18:01:38 +08:00
parent 61d774817f
commit 9dc72ef3ee
5 changed files with 231 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Services;
using Yi.Framework.Bbs.Domain.Managers;
namespace Yi.Framework.Bbs.Application.Services.Bank
{
public class BankService : ApplicationService
{
private BankManager _bankManager;
public BankService(BankManager bankManager)
{
_bankManager = bankManager;
}
/// <summary>
/// 给用户申请银行卡
/// </summary>
/// <returns></returns>
[Authorize]
public Task ApplyingBankCardAsync()
{
return _bankManager.ApplyingBankCardAsync(CurrentUser.Id.Value);
}
/// <summary>
/// 给银行卡提款
/// </summary>
/// <param name="cardId"></param>
/// <returns></returns>
[Authorize]
public Task DrawMoneyAsync(Guid cardId)
{
return _bankManager.DrawMoneyAsync(cardId);
}
/// <summary>
/// 给银行卡存款
/// </summary>
/// <param name="CardId"></param>
/// <param name="moneyNum"></param>
/// <returns></returns>
public Task DepositAsync(Guid CardId, decimal moneyNum)
{
return _bankManager.DepositAsync(CardId, moneyNum);
}
}
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Yi.Framework.Bbs.Domain.Shared.Enums
{
public enum BankCardStateEnum
{
//闲置
Unused = 0,
//等待中
Wait,
//存储时间已满
Full,
}
}

View File

@@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities;
using Yi.Framework.Bbs.Domain.Shared.Enums;
namespace Yi.Framework.Bbs.Domain.Entities.Bank
{
/// <summary>
/// 银行卡
/// </summary>
[SugarTable("BankCard")]
public class BankCardEntity : Entity<Guid>, IHasCreationTime
{
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
public override Guid Id { get; protected set; }
public DateTime CreationTime { get; set; }
/// <summary>
/// 用户id
/// </summary>
public Guid UserId { get; set; }
/// <summary>
/// 当前存储的钱
/// </summary>
public decimal StorageMoney { get; set; } = 0;
/// <summary>
/// 最大可存储的钱钱
/// </summary>
public decimal MaxStorageMoney { get; set; } = 100;
/// <summary>
/// 满期限时间,可空
/// </summary>
public DateTime? Fullterm { get; set; }
/// <summary>
/// 银行卡状态
/// </summary>
public BankCardStateEnum BankCardState { get; set; } = BankCardStateEnum.Unused;
}
}

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities;
namespace Yi.Framework.Bbs.Domain.Entities.Bank
{
/// <summary>
/// 利息记录
/// </summary>
[SugarTable("InterestRecords")]
public class InterestRecordsEntity : Entity<Guid>, IHasCreationTime
{
public InterestRecordsEntity()
{ }
public InterestRecordsEntity(decimal inputValue, bool isFluctuate, decimal oldValue = 0)
{
//这里写好根据数据的值,以及是否要波动期,进行得出真是利息
}
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
public override Guid Id { get; protected set; }
public DateTime CreationTime { get; set; }
/// <summary>
/// 当前汇率值
/// </summary>
public decimal Value { get; set; }
/// <summary>
/// 是否波动期
/// </summary>
public bool IsFluctuate { get; set; }
}
}

View File

@@ -0,0 +1,61 @@
using Volo.Abp.Domain.Services;
using Yi.Framework.Bbs.Domain.Entities.Bank;
namespace Yi.Framework.Bbs.Domain.Managers
{
public class BankManager : DomainService
{
public BankManager() { }
/// <summary>
/// 获取第三方的值
/// </summary>
/// <returns></returns>
private decimal GetThirdPartyValue()
{
return 0;
}
/// <summary>
/// 创建一个记录
/// </summary>
/// <returns></returns>
public InterestRecordsEntity CreateInterestRecords()
{
return new InterestRecordsEntity();
}
/// <summary>
/// 给用户申请银行卡
/// </summary>
/// <returns></returns>
public Task ApplyingBankCardAsync(Guid userId)
{
return Task.CompletedTask;
}
/// <summary>
/// 给银行卡提款
/// </summary>
/// <param name="CardId"></param>
/// <returns></returns>
public Task DrawMoneyAsync(Guid CardId)
{
return Task.CompletedTask;
}
/// <summary>
/// 给银行卡存款
/// </summary>
/// <param name="CardId"></param>
/// <param name="moneyNum"></param>
/// <returns></returns>
public Task DepositAsync(Guid CardId, decimal moneyNum)
{
return Task.CompletedTask;
}
}
}