fix 调试问题

This commit is contained in:
2024-06-27 21:35:22 +08:00
parent 051a19aa66
commit 87d3e9d2da
13 changed files with 129 additions and 134 deletions

View File

@@ -21,39 +21,42 @@ public class MiddleService : IMiddleService
public async Task<OrderResultResponse> MiddleUploadAsync(BalanceRecordEntity entity)
{
entity.Id = 0;
await _dbContext.InsertAsync(entity);
await CommonHelper.RetryAsync(async () =>
if (!await _dbContext.Queryable<BalanceRecordEntity>().AnyAsync(x => x.No == entity.No))
{
var mealUser = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserCode == entity.UserCode).FirstAsync();
if (mealUser == null)
await _dbContext.InsertAsync(entity);
await CommonHelper.RetryAsync(async () =>
{
mealUser = new GainfoMealEntity
var mealUser = await _dbContext.Queryable<GainfoMealEntity>().Where(x => x.UserCode == entity.UserCode).FirstAsync();
if (mealUser == null)
{
UserNo = entity.No,
UserCode = entity.UserCode,
Balance = 0,
BalanceOfRecharge = 0,
BalanceOfSubsidies = 0,
Version = 0
};
mealUser = new GainfoMealEntity
{
UserNo = entity.No,
UserCode = entity.UserCode,
Balance = 0,
BalanceOfRecharge = 0,
BalanceOfSubsidies = 0,
Version = 0
};
await _dbContext.InsertAsync(mealUser);
}
await _dbContext.InsertAsync(mealUser);
}
//重新核算
var balance = await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.UserCode == entity.UserCode)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.SumAsync(x => x.Amount);
//重新核算
var balance = await _dbContext.Queryable<BalanceRecordEntity>()
.Where(x => x.UserCode == entity.UserCode)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.SumAsync(x => x.Amount);
await _dbContext.Updateable<GainfoMealEntity>()
.SetColumns(x => x.Version == x.Version + 1)
.SetColumns(x => x.Balance == balance)
.SetColumns(x => x.ModifiedTime == DateTime.Now)
.Where(x => x.UserCode == mealUser.UserCode && x.Version == mealUser.Version)
.ExecuteCommandThrowVersionAsync();
}, 5);
await _dbContext.Updateable<GainfoMealEntity>()
.SetColumns(x => x.Version == x.Version + 1)
.SetColumns(x => x.Balance == balance)
.SetColumns(x => x.ModifiedTime == DateTime.Now)
.Where(x => x.UserCode == mealUser.UserCode && x.Version == mealUser.Version)
.ExecuteCommandThrowVersionAsync();
}, 5);
}
//获取人员余额
return await _dbContext.Queryable<GainfoMealEntity>()