From 0d08600ef4869898c791d396fa350ce215357f73 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 24 Jun 2024 17:45:23 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E8=AE=BE=E5=A4=87=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E7=9B=B8=E5=85=B3image=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Order/Request/ConsumeRequest.cs | 7 +++++-- .../Order/Request/OrderAddRequest.cs | 3 +++ .../Order/Services/Implements/OrderService.cs | 21 +++++++++++++------ Src/Dlhis.Entity/Device/ImageRecordEntity.cs | 14 +++++++++++++ 4 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 Src/Dlhis.Entity/Device/ImageRecordEntity.cs 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