feat: 对接银行模块接口,即将上线功能

This commit is contained in:
橙子
2024-03-14 00:29:01 +08:00
parent 9dc72ef3ee
commit 069e411dc4
10 changed files with 387 additions and 66 deletions

View File

@@ -16,10 +16,28 @@ namespace Yi.Framework.Bbs.Domain.Entities.Bank
[SugarTable("BankCard")]
public class BankCardEntity : Entity<Guid>, IHasCreationTime
{
public BankCardEntity()
{
}
public BankCardEntity(Guid userId)
{
this.UserId = userId;
}
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
public override Guid Id { get; protected set; }
public DateTime CreationTime { get; set; }
/// <summary>
/// 上一次存款日期
/// </summary>
public DateTime? LastDepositTime { get; set; }
/// <summary>
/// 上一次取款日期
/// </summary>
public DateTime? LastDrawTime { get; set; }
/// <summary>
/// 用户id
/// </summary>
@@ -40,16 +58,44 @@ namespace Yi.Framework.Bbs.Domain.Entities.Bank
/// <summary>
/// 满期限时间,可空
/// </summary>
public DateTime? Fullterm { get; set; }
public DateTime? FulltermTime { get; set; }
/// <summary>
/// 银行卡状态
/// </summary>
public BankCardStateEnum BankCardState { get; set; } = BankCardStateEnum.Unused;
public bool IsStorageFull()
{
if (FulltermTime is null)
{
return false;
}
return DateTime.Now >= FulltermTime;
}
public void SetDrawMoney()
{
this.BankCardState = BankCardStateEnum.Unused;
LastDrawTime = DateTime.Now;
this.FulltermTime = null;
this.StorageMoney = 0;
}
public void SetStorageMoney(decimal storageMoney)
{
if (storageMoney > MaxStorageMoney)
{
throw new UserFriendlyException($"存款数不能大于该卡的上限-【{MaxStorageMoney}】钱钱");
}
StorageMoney = storageMoney;
LastDepositTime = DateTime.Now;
FulltermTime = LastDepositTime + TimeSpan.FromDays(3);
this.BankCardState = BankCardStateEnum.Wait;
}
}
}

View File

@@ -20,8 +20,8 @@ namespace Yi.Framework.Bbs.Domain.Entities.Bank
public InterestRecordsEntity(decimal inputValue, bool isFluctuate, decimal oldValue = 0)
{
//这里写好根据数据的值,以及是否要波动期,进行得出真是利息
//有了老值和新值我们可以根据这个变化程度去做一个涨幅或跌幅Todo
Value=inputValue;
}
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true)]
public override Guid Id { get; protected set; }