diff --git a/Src/Dlhis.Canteen/Order/Request/ConsumeRequest.cs b/Src/Dlhis.Canteen/Order/Request/ConsumeRequest.cs index 827f4ef7..d6f5cd12 100644 --- a/Src/Dlhis.Canteen/Order/Request/ConsumeRequest.cs +++ b/Src/Dlhis.Canteen/Order/Request/ConsumeRequest.cs @@ -1,8 +1,8 @@ using Dlhis.Entity.Canteen.Enums; -namespace Dlhis.Canteen.Dishes.Request; +namespace Dlhis.Canteen.Order.Request; -public class ConsumeRequest +public class ConsumeRequest { /// /// 是否离线数据 @@ -38,4 +38,7 @@ public class ConsumeRequest /// 产生时间 /// public DateTime CostDateTime { get; set; } + + + public string Image { get; set; } } diff --git a/Src/Dlhis.Canteen/Order/Request/OrderAddRequest.cs b/Src/Dlhis.Canteen/Order/Request/OrderAddRequest.cs index 51ff0a13..977de91e 100644 --- a/Src/Dlhis.Canteen/Order/Request/OrderAddRequest.cs +++ b/Src/Dlhis.Canteen/Order/Request/OrderAddRequest.cs @@ -45,6 +45,9 @@ public class OrderAddRequest : IValidatableObject public DateTime? CostDateTime { get; set; } + public string Image { get; set; } + + public IEnumerable Validate(ValidationContext validationContext) { //处理金额 diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs index d474a652..016a8c50 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs @@ -1,6 +1,5 @@ using System.Data; using Dlhis.Basic.Api; -using Dlhis.Canteen.Dishes.Request; using Dlhis.Canteen.Setting.Services; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Canteen.Entities; @@ -12,6 +11,7 @@ using Mapster; using SqlSugar; using Dlhis.Canteen.Order.Response; using Dlhis.Canteen.Order.Request; +using Dlhis.Entity.Device; using Kurisu.AspNetCore.Authentication.Abstractions; using Kurisu.AspNetCore.CustomClass; using Kurisu.AspNetCore.DataAccess.Dto; @@ -223,7 +223,7 @@ public class OrderService : BaseOrderService, IOrderService }; - var orderId = await DbContext.InsertReturnIdentityAsync(order); + await DbContext.InsertReturnIdentityAsync(order); var allowNoBalance = await GetSettingAsync(businessPlaceInfo.TenantId, CanteenSettingItemEnumType.AllowNoBalance); @@ -354,6 +354,15 @@ public class OrderService : BaseOrderService, IOrderService try { await GenerateConsumeRecordAsync(orderId); + if (request.Image.IsPresent()) + { + await DbContext.InsertAsync(new ImageRecordEntity + { + No = order.No, + TableName = "B", + Image = request.Image + }); + } } catch (Exception ex) { @@ -659,15 +668,15 @@ public class OrderService : BaseOrderService, IOrderService { await CommonHelper.RetryAsync(async () => { - var gainfoMeal = await DbContext.Queryable().Where(x => x.UserNo == order.UserNo).FirstAsync(); + var currentGainfoMeal = await DbContext.Queryable().Where(x => x.UserNo == order.UserNo).FirstAsync(); //金额+- - gainfoMeal.Balance += order.Amount; + currentGainfoMeal.Balance += order.Amount; await DbContext.Updateable() - .SetColumns(x => x.Balance == gainfoMeal.Balance) + .SetColumns(x => x.Balance == currentGainfoMeal.Balance) .SetColumns(x => x.Version == x.Version + 1) .SetColumns(x => x.ModifiedTime == DateTime.Now) - .Where(x => x.UserNo == order.UserNo && x.Version == gainfoMeal.Version) //必须与查询时的version一致 + .Where(x => x.UserNo == order.UserNo && x.Version == currentGainfoMeal.Version) //必须与查询时的version一致 .ExecuteCommandThrowVersionAsync(); //写入记录 var balanceRecord = order.Adapt(); diff --git a/Src/Dlhis.Entity/Device/ImageRecordEntity.cs b/Src/Dlhis.Entity/Device/ImageRecordEntity.cs new file mode 100644 index 00000000..5487f163 --- /dev/null +++ b/Src/Dlhis.Entity/Device/ImageRecordEntity.cs @@ -0,0 +1,14 @@ +using Kurisu.AspNetCore.DataAccess.SqlSugar; +using SqlSugar; + +namespace Dlhis.Entity.Device; + +[SugarTable(TableName = "ImageRecords")] +public class ImageRecordEntity : SugarBaseEntity +{ + public string No { get; set; } + + public string TableName { get; set; } + + public string Image { get; set; } +} \ No newline at end of file