From 44805ec454757e7d8cf1a067abcc94013b5209e9 Mon Sep 17 00:00:00 2001 From: wanghaomei Date: Tue, 8 Nov 2022 11:00:03 +0800 Subject: [PATCH] =?UTF-8?q?edi=E5=8F=82=E6=95=B0=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EDI/Yard/XiahuozhiHelpler.cs | 18 ++--- .../Myshipping.Application.csproj | 5 ++ .../Myshipping.Application.xml | 75 ------------------- Myshipping.Core/Const/CommonConst.cs | 5 ++ Myshipping.Core/Myshipping.Core.xml | 36 +++++++++ .../Service/Cache/ISysCacheService.cs | 11 +++ .../Service/Cache/SysCacheService.cs | 17 +++++ .../DjyEdiSetting/DjyEdiSettingService.cs | 21 +++++- .../DjyEdiSetting/IDjyEdiSettingService.cs | 2 + Myshipping.Web.Core/Startup.cs | 3 + 10 files changed, 108 insertions(+), 85 deletions(-) diff --git a/Myshipping.Application/EDI/Yard/XiahuozhiHelpler.cs b/Myshipping.Application/EDI/Yard/XiahuozhiHelpler.cs index 6c765c38..9a2743f3 100644 --- a/Myshipping.Application/EDI/Yard/XiahuozhiHelpler.cs +++ b/Myshipping.Application/EDI/Yard/XiahuozhiHelpler.cs @@ -21,17 +21,17 @@ namespace Myshipping.Application.EDI.Yard public static class XiahuozhiHelpler { public static bool Send( - SqlSugarRepository repOrder, - SqlSugarRepository repCtn, - SqlSugarRepository repDictType, - SqlSugarRepository repDictData, - SqlSugarRepository repBookingFile, - SqlSugarRepository repEdiSetting, + //SqlSugarRepository repOrder, + //SqlSugarRepository repCtn, + //SqlSugarRepository repDictType, + //SqlSugarRepository repDictData, + //SqlSugarRepository repBookingFile, + //SqlSugarRepository repEdiSetting, long bookingId, string filerole, out string msg, string attShowName = "系统") { var sugerClient = App.GetService(); - var order = repOrder.FirstOrDefault(o => o.Id == bookingId); + var order = sugerClient.Queryable().First(o => o.Id == bookingId); if (order == null) { msg = "订舱信息未找到"; @@ -132,7 +132,7 @@ namespace Myshipping.Application.EDI.Yard var ctnCodes = GetAllCodeCtn().Result.Select(x => new { x.Code, x.Size }).ToList(); var ctnEdiList = GetAllMappingCtn().Result.AsQueryable().Where(x => x.Module == "XHZ_GLJ" && x.CarrierCode == order.CARRIERID).ToList(); - var ctns = repCtn.Where(c => c.BILLID == bookingId).ToList(); + var ctns = sugerClient.Queryable().Where(c => c.BILLID == bookingId).ToList(); foreach (var ctn in ctns) { var ctnFind = ctnCodes.FirstOrDefault(c => c.Code == ctn.CTNCODE); @@ -174,7 +174,7 @@ namespace Myshipping.Application.EDI.Yard attFile.TypeCode = "xiahuozhi"; attFile.TypeName = "下货纸"; attFile.TenantName = order.TenantName; - repBookingFile.Insert(attFile); + sugerClient.Insertable(attFile).ExecuteCommand(); msg = "已发送"; return true; diff --git a/Myshipping.Application/Myshipping.Application.csproj b/Myshipping.Application/Myshipping.Application.csproj index a22ccd2b..55cdecab 100644 --- a/Myshipping.Application/Myshipping.Application.csproj +++ b/Myshipping.Application/Myshipping.Application.csproj @@ -13,6 +13,7 @@ + @@ -34,4 +35,8 @@ + + + + diff --git a/Myshipping.Application/Myshipping.Application.xml b/Myshipping.Application/Myshipping.Application.xml index d99c5756..c08d43e2 100644 --- a/Myshipping.Application/Myshipping.Application.xml +++ b/Myshipping.Application/Myshipping.Application.xml @@ -34,81 +34,6 @@ 订舱附件文件配置 - - - 下货纸辅助类 - - - - - 各种文本转义字符(东胜7移植) - - 文件类型(例如:txt、xml) - 文本字符串 - - - - - 获取箱型的EDI代码 - - - - - - - - 获取所有箱型(使用缓存) - - - - - - 获取所有船司(使用缓存) - - - - - - 获取所有箱型映射(使用缓存) - - - - - - 获取所有船司映射(使用缓存) - - - - - - 获取所有付费方式(使用缓存) - - - - - - 获取所有付费方式映射(使用缓存) - - - - - - 获取所有公司参数(使用缓存) - - - - - - 获取所有船名(使用缓存) - - - - - - 获取所有船名映射(使用缓存) - - - diff --git a/Myshipping.Core/Const/CommonConst.cs b/Myshipping.Core/Const/CommonConst.cs index eb1643ff..72babeed 100644 --- a/Myshipping.Core/Const/CommonConst.cs +++ b/Myshipping.Core/Const/CommonConst.cs @@ -115,6 +115,11 @@ public class CommonConst /// public const string CACHE_KEY_COMMON_DB_MAPPING_VESSEL = "CommonDbMappingVessel"; + + /// + /// 船名映射 + /// + public const string CACHE_KEY_DJY_EDI_SETTING = "DjyEdiSetting"; #endregion diff --git a/Myshipping.Core/Myshipping.Core.xml b/Myshipping.Core/Myshipping.Core.xml index fd2500f6..bd806fe0 100644 --- a/Myshipping.Core/Myshipping.Core.xml +++ b/Myshipping.Core/Myshipping.Core.xml @@ -647,6 +647,11 @@ 船名映射 + + + 船名映射 + + 程序集 @@ -5411,6 +5416,18 @@ + + + 获取EDI参数 + + + + + + 设置EDI参数 + + + 系统缓存服务 @@ -5767,6 +5784,18 @@ + + + 获取EDI参数 + + + + + + 设置EDI参数 + + + 代码生成详细配置服务 @@ -7746,6 +7775,13 @@ + + + 缓存数据 + + + + 租户参数 diff --git a/Myshipping.Core/Service/Cache/ISysCacheService.cs b/Myshipping.Core/Service/Cache/ISysCacheService.cs index 4d0f4292..9e52bf29 100644 --- a/Myshipping.Core/Service/Cache/ISysCacheService.cs +++ b/Myshipping.Core/Service/Cache/ISysCacheService.cs @@ -218,5 +218,16 @@ public interface ISysCacheService /// Task SetAllTenantParam(List list); + /// + /// 获取EDI参数 + /// + /// + Task> GetAllEdiSetting(); + + /// + /// 设置EDI参数 + /// + /// + Task SetAllEdiSetting(List list); #endregion } diff --git a/Myshipping.Core/Service/Cache/SysCacheService.cs b/Myshipping.Core/Service/Cache/SysCacheService.cs index 35781fd9..25599bd1 100644 --- a/Myshipping.Core/Service/Cache/SysCacheService.cs +++ b/Myshipping.Core/Service/Cache/SysCacheService.cs @@ -568,5 +568,22 @@ public class SysCacheService : ISysCacheService, IDynamicApiController, ISinglet return _cache.SetAsync(CommonConst.CACHE_KEY_COMMON_DB_TENANT_PARAM_VALUE, list, TimeSpan.FromMinutes(5)); } + /// + /// 获取EDI参数 + /// + /// + public Task> GetAllEdiSetting() + { + return _cache.GetAsync>(CommonConst.CACHE_KEY_DJY_EDI_SETTING); + } + + /// + /// 设置EDI参数 + /// + /// + public Task SetAllEdiSetting(List list) + { + return _cache.SetAsync(CommonConst.CACHE_KEY_DJY_EDI_SETTING, list); + } #endregion } diff --git a/Myshipping.Core/Service/DjyEdiSetting/DjyEdiSettingService.cs b/Myshipping.Core/Service/DjyEdiSetting/DjyEdiSettingService.cs index 782e1c45..6c9c4e82 100644 --- a/Myshipping.Core/Service/DjyEdiSetting/DjyEdiSettingService.cs +++ b/Myshipping.Core/Service/DjyEdiSetting/DjyEdiSettingService.cs @@ -19,12 +19,14 @@ namespace Myshipping.Core.Service public class DjyEdiSettingService : IDjyEdiSettingService, IDynamicApiController, ITransient { private readonly SqlSugarRepository _rep; + private readonly ISysCacheService _cacheService; private readonly ILogger _logger; - public DjyEdiSettingService(SqlSugarRepository rep, ILogger logger) + public DjyEdiSettingService(SqlSugarRepository rep, ILogger logger, ISysCacheService cacheService) { _rep = rep; _logger = logger; + _cacheService = cacheService; } /// @@ -86,6 +88,7 @@ namespace Myshipping.Core.Service entity = input.Adapt(entity); await _rep.UpdateAsync(entity); } + await CacheData(); } /// @@ -98,6 +101,7 @@ namespace Myshipping.Core.Service { var entity = input.Adapt(); await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + await CacheData(); } /// @@ -110,6 +114,7 @@ namespace Myshipping.Core.Service { var entity = await _rep.FirstOrDefaultAsync(u => u.Id == input.Id); await _rep.DeleteAsync(entity); + await CacheData(); } /// @@ -123,6 +128,20 @@ namespace Myshipping.Core.Service return await _rep.FirstOrDefaultAsync(u => u.Id == input.Id); } + /// + /// 缓存数据 + /// + /// + /// + [NonAction] + public async Task CacheData() + { + _logger.LogInformation($"准备缓存EDI参数……"); + var list = _rep.AsQueryable().Filter(null, true).ToList(); + await _cacheService.SetAllEdiSetting(list); + _logger.LogInformation($"缓存EDI参数完成"); + } + ///// ///// 获取EDI参数设置列表 ///// diff --git a/Myshipping.Core/Service/DjyEdiSetting/IDjyEdiSettingService.cs b/Myshipping.Core/Service/DjyEdiSetting/IDjyEdiSettingService.cs index c1f19b9c..ac875884 100644 --- a/Myshipping.Core/Service/DjyEdiSetting/IDjyEdiSettingService.cs +++ b/Myshipping.Core/Service/DjyEdiSetting/IDjyEdiSettingService.cs @@ -13,5 +13,7 @@ namespace Myshipping.Core.Service Task Delete(GetDjyEdiSettingInput input); Task Get([FromQuery] GetDjyEdiSettingInput input); //Task List([FromQuery] QueryDjyEdiSettingInput input); + + Task CacheData(); } } \ No newline at end of file diff --git a/Myshipping.Web.Core/Startup.cs b/Myshipping.Web.Core/Startup.cs index 1a73f546..d94c9728 100644 --- a/Myshipping.Web.Core/Startup.cs +++ b/Myshipping.Web.Core/Startup.cs @@ -110,6 +110,9 @@ public class Startup : AppStartup // 注册 Log 日志订阅者 builder.AddSubscriber(); }); + + //缓存EDI数据 + App.GetService().CacheData(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env)