fix 数据赋值,增加餐补数据修复处理

This commit is contained in:
2024-04-10 17:32:14 +08:00
parent c867dd2533
commit 2bc76b4ce5
13 changed files with 96 additions and 205 deletions

View File

@@ -160,6 +160,38 @@ public class BalanceService : IBalanceService
}
public async Task SupplementBalanceAsync(BalanceSupplementRequest request)
{
var balanceInfo = await _dbContext.Queryable<BalanceRecordEntity>().Where(x => x.No == request.No).SingleAsync();
(balanceInfo.Status != BalanceRecordStatusEnumType.Valid).ThrowIfTrue("消费明细状态有误");
balanceInfo.Status = BalanceRecordStatusEnumType.Obsolute;
await CommonHelper.RetryAsync(async () =>
{
var gainfoMeal = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserCode == balanceInfo.UserCode).SingleAsync();
var balance = gainfoMeal.Balance + balanceInfo.Amount + request.Amount;
await _dbContext.Updateable<GainfoMealEntity>()
.SetColumns(x => x.Balance == balance)
.SetColumns(x => x.Version == x.Version + 1)
.SetColumns(x => x.ModifiedTime == DateTime.Now)
.Where(x => x.UserCode == balanceInfo.UserCode && x.Version == gainfoMeal.Version)
.ExecuteCommandThrowVersionAsync();
});
var newBalanceRecord = balanceInfo.Adapt<BalanceRecordEntity>();
newBalanceRecord.Id = 0;
newBalanceRecord.No = SnowFlakeHelper.Instance.NextId().ToString();
newBalanceRecord.Amount = request.Amount;
newBalanceRecord.Remark = balanceInfo.No;
newBalanceRecord.Status = BalanceRecordStatusEnumType.Valid;
await _dbContext.UpdateAsync(balanceInfo);
await _dbContext.InsertAsync(newBalanceRecord);
}
/// <summary>
/// 根据成本中心
@@ -561,6 +593,7 @@ public class BalanceService : IBalanceService
await _dbContext.Updateable<GainfoMealEntity>()
.SetColumns(x => x.Balance == canteenUser.Balance)
.SetColumns(x => x.Version == x.Version + 1)
.SetColumns(x => x.ModifiedTime == DateTime.Now)
.Where(x => x.UserNo == balanceRecord.UserNo && x.Version == canteenUser.Version)
.ExecuteCommandThrowVersionAsync();