diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs index bfae8d00..70393619 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/BookingOrderService.cs @@ -94,38 +94,37 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService menuDetail.ThrowIfNull("预定失败,菜品已经下架"); menuDetail.Number -= request.Number; - (menuDetail.Number < 0).ThrowIfTrue($"{menuDetail.DishesName}已售罄"); + (menuDetail.Number < 0).ThrowIfTrue($"{menuDetail.DishesName}剩余数量不足"); - //餐补 + //餐补 //todo 餐补暂不入账 if (request.Source == BalanceRecordSourceEnumType.LocalTenantSubsidies) { + //var mealInfo = await DbContext.Queryable().Where(x => x.UserNo == order.UserNo).FirstAsync(); + //if (mealInfo == null) + //{ + // await DbContext.InsertAsync(new GainfoMealEntity + // { + // Balance = 0, + // BalanceOfRecharge = 0, + // BalanceOfSubsidies = 0, + // UserCode = gainfo.Code, + // UserNo = gainfo.No, + // Version = 0, + // }); - var mealInfo = await DbContext.Queryable().Where(x => x.UserNo == order.UserNo).FirstAsync(); - if (mealInfo == null) - { - await DbContext.InsertAsync(new GainfoMealEntity - { - Balance = 0, - BalanceOfRecharge = 0, - BalanceOfSubsidies = 0, - UserCode = gainfo.Code, - UserNo = gainfo.No, - Version = 0, - }); + // (mealInfo == null).ThrowIfTrue("余额不足,无法消费"); + //} + ////金额+- + //mealInfo.Balance += order.Amount; + //(mealInfo.Balance < 0).ThrowIfTrue("余额不足,无法消费"); - (mealInfo == null).ThrowIfTrue("余额不足,无法消费"); - } - //金额+- - mealInfo.Balance += order.Amount; - (mealInfo.Balance < 0).ThrowIfTrue("余额不足,无法消费"); + //var effectMeal = await DbContext.Updateable() + // .SetColumns(x => x.Balance == mealInfo.Balance) + // .SetColumns(x => x.Version == x.Version + 1) + // .Where(x => x.UserNo == order.UserNo && x.Version == mealInfo.Version)//必须与查询时的version一致 + // .ExecuteCommandAsync(); - var effectMeal = await DbContext.Updateable() - .SetColumns(x => x.Balance == mealInfo.Balance) - .SetColumns(x => x.Version == x.Version + 1) - .Where(x => x.UserNo == order.UserNo && x.Version == mealInfo.Version)//必须与查询时的version一致 - .ExecuteCommandAsync(); - - if (effectMeal <= 0) throw new VersionExceptions("更新版本冲突"); + //if (effectMeal <= 0) throw new VersionExceptions("更新版本冲突"); } @@ -238,24 +237,24 @@ public class BookingOrderService : BaseOrderService, IBookingOrderService if (order.Source != BalanceRecordSourceEnumType.Cash) { - //尝试5次 - await ContinueUpdateAsync(async () => - { - var mealInfo = await DbContext.Queryable().Where(x => x.UserNo == order.UserNo).FirstAsync(); - var setBalance = mealInfo.Balance + Math.Abs(order.Amount); - var effect = await DbContext.Updateable() - .SetColumns(x => x.Balance == setBalance) - .SetColumns(x => x.ModifiedTime == now) - .SetColumns(x => x.ModifiedBy == userId) - .Where(x => x.Id == mealInfo.Id && x.Version == mealInfo.Version) - .ExecuteCommandAsync(); + //todo 餐补暂不入账 + //await ContinueUpdateAsync(async () => + //{ + // var mealInfo = await DbContext.Queryable().Where(x => x.UserNo == order.UserNo).FirstAsync(); + // var setBalance = mealInfo.Balance + Math.Abs(order.Amount); + // var effect = await DbContext.Updateable() + // .SetColumns(x => x.Balance == setBalance) + // .SetColumns(x => x.ModifiedTime == now) + // .SetColumns(x => x.ModifiedBy == userId) + // .Where(x => x.Id == mealInfo.Id && x.Version == mealInfo.Version) + // .ExecuteCommandAsync(); - if (effect <= 0) - { - throw new VersionExceptions("取消订单失败!"); - } + // if (effect <= 0) + // { + // throw new VersionExceptions("取消订单失败!"); + // } - }, 5); + //}, 5); } } diff --git a/Src/Dlhis.ScheduledTask/CommonJobs/MealSupplementHandlerJob.cs b/Src/Dlhis.ScheduledTask/CommonJobs/MealSupplementHandlerJob.cs index 6694948f..26972e13 100644 --- a/Src/Dlhis.ScheduledTask/CommonJobs/MealSupplementHandlerJob.cs +++ b/Src/Dlhis.ScheduledTask/CommonJobs/MealSupplementHandlerJob.cs @@ -40,6 +40,7 @@ public class MealSupplementHandlerJob //档案不存在 if (gainfo == null) { + _logger.LogWarning("档案code:{code}不存在.flowno:{flowno}", item.Code, item.UniqueId); continue; } else