From 637d1da0408919f9e4d53f9f520cc817fc871854 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 19 Aug 2024 15:08:42 +0800 Subject: [PATCH] feat X-Requested-DeviceIp --- .../Order/Services/Implements/OrderService.cs | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs index c09b1cc2..4d0b3eed 100644 --- a/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs +++ b/Src/Dlhis.Canteen/Order/Services/Implements/OrderService.cs @@ -1,4 +1,4 @@ -using Dlhis.Canteen.Order.Dto; +using Dlhis.Canteen.Order.Dto; using Dlhis.Canteen.Setting.Services; using Dlhis.Entity.Basic.Entity; using Dlhis.Entity.Canteen.Entities; @@ -23,15 +23,18 @@ namespace Dlhis.Canteen.Order.Services.Implements; public class OrderService : BaseOrderService, IOrderService { private readonly IServiceProvider _serviceProvider; + private readonly IHttpContextAccessor _httpContextAccessor; public OrderService(ICanteenSettingService canteenSettingService, IDbContext dbContext, ICurrentUser currentUser, IServiceProvider serviceProvider, + IHttpContextAccessor httpContextAccessor, ILogger logger) : base(canteenSettingService, dbContext, currentUser, logger) { _serviceProvider = serviceProvider; + _httpContextAccessor = httpContextAccessor; } /// @@ -51,6 +54,24 @@ public class OrderService : BaseOrderService, IOrderService /// public async Task AddAsync(OrderAddRequest request) { + try + { + if (_httpContextAccessor.HttpContext!.Request.Headers.TryGetValue("X-Requested-DeviceIp", out var ip)) + { + var device = await DbContext.Queryable().Where(x => x.UniqueNo == request.DeviceUniqueNo).SingleAsync(); + device.ConnectionInfo = new + { + ip = ip.ToString() + }.ToJson(); + + await DbContext.UpdateAsync(device); + } + } + catch (Exception) + { + //ignore + } + var gainfo = await GetUserAsync(request); return new OrderResultResponseWithLogs