From c5212f53f0f7d9bc65f5a9c92ab3426a29a13816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Mon, 8 Apr 2024 19:11:24 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E9=80=9Av7.1.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SJZY.Track.Application/SJZY.Track.Application.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SJZY.Track.Application/SJZY.Track.Application.csproj b/src/SJZY.Track.Application/SJZY.Track.Application.csproj index 172e83f5..99912fb3 100644 --- a/src/SJZY.Track.Application/SJZY.Track.Application.csproj +++ b/src/SJZY.Track.Application/SJZY.Track.Application.csproj @@ -12,7 +12,7 @@ - + From 4fbbbd0566546255d0fc1a831aef63afe5194531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Mon, 8 Apr 2024 19:37:35 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix=EF=BC=9A=E3=80=90=E3=80=90=E8=BD=A8?= =?UTF-8?q?=E8=BF=B9=E8=AE=A2=E5=8D=95-=E6=8E=A8=E9=80=81=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E3=80=91=E8=BD=A8=E8=BF=B9=E5=8F=91=E7=94=9F=E6=97=B6?= =?UTF-8?q?=E5=8C=BA=E9=9C=80=E8=B0=83=E6=95=B4=E4=B8=BA=E6=A0=BC=E6=9E=97?= =?UTF-8?q?=E5=B0=BC=E6=B2=BB=E6=A0=87=E5=87=86=E6=97=B6=E9=97=B4=EF=BC=88?= =?UTF-8?q?GTM=EF=BC=89=E3=80=91https://www.tapd.cn/60863849/bugtrace/bugs?= =?UTF-8?q?/view=3Fbug=5Fid=3D1160863849001032649?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dtos/TrackOrder/TrackPushRecordOutput.cs | 75 +++++++++++++++++++ .../AutoMapper/OrderAutoMapperProfile.cs | 4 + .../Services/TrackOrders/TrackOrderService.cs | 16 +++- 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 src/SJZY.Track.Application.Contract/Dtos/TrackOrder/TrackPushRecordOutput.cs diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackOrder/TrackPushRecordOutput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackOrder/TrackPushRecordOutput.cs new file mode 100644 index 00000000..bc136ca0 --- /dev/null +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackOrder/TrackPushRecordOutput.cs @@ -0,0 +1,75 @@ +namespace SJZY.Track.Application.Contract.Dtos.TrackOrder; + +public class TrackPushRecordOutput +{ + /// + /// 订单Id + /// + public int OrderId { get; set; } + + /// + /// 接口通请求Id + /// + public Guid RequestId { get; set; } + + /// + /// 信息 + /// + public string Message { get; set; } = null!; + + /// + /// 操作类型 + /// + public string OptionType { get; set; } = null!; + + /// + /// 轨迹状态 + /// + public string TrackStatus { get; set; } = null!; + + /// + /// 轨迹内容代码 + /// + public string TrackCode { get; set; } = null!; + + /// + /// 轨迹内容 + /// + public string TrackContent { get; set; } = null!; + + /// + /// 轨迹发生地 + /// + public string TrackPlace { get; set; } = null!; + + /// + /// 轨迹发生时间 + /// + public DateTime TrackTime { get; set; } + + /// + /// 轨迹发生时区 + /// + public float TrackTimeZone { get; set; } + + /// + /// 轨迹发生时区 + /// + public string TrackGTMTimeZone { get; set; } = null!; + + /// + /// 是否成功 + /// + public bool IsSuccess { get; set; } + + /// + /// 推送内容(json) + /// + public string PushContent { get; set; } = null!; + + /// 创建人 + public string? CreateUser { get; set; } + + /// 创建时间 + public DateTime CreateTime { get; set; } +} \ No newline at end of file diff --git a/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs b/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs index 8befae94..dbe6b8f6 100644 --- a/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs +++ b/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs @@ -1,8 +1,10 @@ using AutoMapper; using SJZY.Expand.ABP.Core.PublicMethords; using SJZY.Track.Application.Contract.Dtos.ProvideServices; +using SJZY.Track.Application.Contract.Dtos.TrackOrder; using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; +using SJZY.Track.Domain.Aggregates.TrackPushAggregate; using SJZY.Track.Domain.Dtos.Order; using SJZY.Track.Domain.Enums; using Volo.Abp.AutoMapper; @@ -34,6 +36,8 @@ public class OrderAutoMapperProfile : Profile .ForMember(dest => dest.Content, opt => opt.MapFrom(m => m.TrackContent)) .ForMember(dest => dest.EnContent, opt => opt.MapFrom(m => m.TrackEnContent)) .ForMember(dest => dest.TrackTimeZoneValue, opt => opt.MapFrom(m => m.TrackTimeZone)); + + CreateMap(MemberList.None); } /// diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 5f3c1179..477456cb 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -160,8 +160,20 @@ public class TrackOrderService : ApplicationService /// /// 订单id [HttpGet("GetTrackPushRecords")] - public async Task> GetTrackPushRecordsAsync(int orderId) + public async Task> GetTrackPushRecordsAsync(int orderId) { - return await _trackPushRecordsRepository.GetTrackPushRecordsAsync(orderId); + var records = await _trackPushRecordsRepository.GetTrackPushRecordsAsync(orderId); + + var res = ObjectMapper.Map, List>(records); + + res.ForEach(x => + { + int hours = (int)x.TrackTimeZone; // 提取整数部分作为小时 + int minutes = (int)((x.TrackTimeZone - hours) * 60); // 将小数部分乘以 60 转换为分钟 + x.TrackGTMTimeZone = + $"GTM {(x.TrackTimeZone >= 0 ? "+" : "-")}{new TimeSpan(hours, minutes, 0).ToString().RemovePostFix(":00")}"; + }); + + return res; } } \ No newline at end of file From d7cfd153b259b2cc07dac80a2d93a592125a0676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Tue, 9 Apr 2024 14:33:40 +0800 Subject: [PATCH 3/6] =?UTF-8?q?opt=EF=BC=9A=E4=BC=98=E5=8C=96null=20?= =?UTF-8?q?=E7=BC=93=E5=AD=985s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TrackPush/TrackPushCacheService.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs index bf365f28..eb4c2504 100644 --- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs +++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs @@ -35,9 +35,11 @@ public class TrackPushCacheService : ITrackPushCacheService, ITransientDependenc { // maybe is null var data = await DoGetPushContentConfigsAsync(subSystemId, customId); + var ttl = 3 * 24 * 60 * 60; + if (data == null) ttl = 5; // ttl 3days await RedisHelper.Client.SetAsync(TrackPushContentKey(subSystemId, customId), - data, 3 * 24 * 60 * 60); + data, ttl); return data; } From 9ddba4f5619c4ca2ac3b7647e99713a6ddeecfc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Tue, 9 Apr 2024 14:38:26 +0800 Subject: [PATCH 4/6] =?UTF-8?q?fix=EF=BC=9A=E6=89=8B=E5=8A=A8=20=E5=85=A8?= =?UTF-8?q?=E9=87=8F=20=E6=8E=A8=E9=80=81=20=E6=A0=A1=E9=AA=8Cbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventHandlers/TrackPushEventHandler.cs | 4 ++++ .../Services/TrackPush/TrackPushCacheService.cs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/SJZY.Track.Application/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackPushEventHandler.cs index 9ebea1f6..a9a207e9 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackPushEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackPushEventHandler.cs @@ -70,6 +70,10 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe // 推送新增,需要根据上一次的推送 推断 本次推送 是否可行 config = await _trackPushCacheService.IsValidPushAsync(order.SubSystemId, order.CustomId, order.LatestPushTrackCode, @event.TrackCode); + if (config is not { IsAutoPush: true }) + { + config = null; + } } } else diff --git a/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs b/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs index eb4c2504..e5d413f4 100644 --- a/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs +++ b/src/SJZY.Track.Application/Services/TrackPush/TrackPushCacheService.cs @@ -68,7 +68,7 @@ public class TrackPushCacheService : ITrackPushCacheService, ITransientDependenc // find swap cache.FirstOrDefault(x => x.TrackCode == cache[idx + 1].SwapTrackCode); - return matched != null && matched.TrackCode == trackCode && matched.IsAutoPush ? matched : default; + return matched != null && matched.TrackCode == trackCode ? matched : default; } private async Task?> DoGetPushContentConfigsAsync(int subSystemId, int customId) From dc44378f454b23aceaf2224870391b24b891e81a Mon Sep 17 00:00:00 2001 From: dingenwen <543338760@qq.com> Date: Wed, 10 Apr 2024 17:40:09 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SJZY.Track.Api/appsettings.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/SJZY.Track.Api/appsettings.json b/src/SJZY.Track.Api/appsettings.json index b88d44ad..676973d6 100644 --- a/src/SJZY.Track.Api/appsettings.json +++ b/src/SJZY.Track.Api/appsettings.json @@ -7,9 +7,7 @@ "Env": "DEV", "Namespace": "Dev", "MetaServer": "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080", - "ConfigServer": [ - "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080" - ] + "ConfigServer": [ "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080" ] } }, "Kestrel": { From e32e2c15c4ea4cc6c11d1031eb987be510c2fdee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Tue, 25 Jun 2024 17:43:17 +0800 Subject: [PATCH 6/6] =?UTF-8?q?1.=E5=8D=87=E7=BA=A7=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E5=8C=85=202.=E5=8A=A0=E5=85=A5otlp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SJZY.Track.Api/Program.cs | 2 ++ src/SJZY.Track.Application/SJZY.Track.Application.csproj | 2 +- .../Aggregates/OrderAggregate/OrderFlightEntity.cs | 2 +- .../Aggregates/OrderAggregate/OrderLinkEntity.cs | 2 +- .../Aggregates/OrderAggregate/OrderTemplateEntity.cs | 2 +- src/SJZY.Track.Domain/SJZY.Track.Domain.csproj | 2 +- src/SJZY.Track.Repository/SJZY.Track.Repository.csproj | 3 ++- 7 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/SJZY.Track.Api/Program.cs b/src/SJZY.Track.Api/Program.cs index db266046..b1ac2cbf 100644 --- a/src/SJZY.Track.Api/Program.cs +++ b/src/SJZY.Track.Api/Program.cs @@ -10,6 +10,7 @@ try .AddConfigurationContainer() .AddOptionsFromConfiguration() .UseSerilogDefault() + .AddOTel() //注入OTel .Host.AddAppSettingsSecretsJson() .UseAutofac(); @@ -17,6 +18,7 @@ try var app = builder.Build(); await app.InitializeApplicationAsync(); + app.UseOTel(); //启动WebApi的请求管道配置 await app.RunAsync(); } catch (Exception ex) diff --git a/src/SJZY.Track.Application/SJZY.Track.Application.csproj b/src/SJZY.Track.Application/SJZY.Track.Application.csproj index 99912fb3..7d3d8cee 100644 --- a/src/SJZY.Track.Application/SJZY.Track.Application.csproj +++ b/src/SJZY.Track.Application/SJZY.Track.Application.csproj @@ -15,7 +15,7 @@ - + diff --git a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderFlightEntity.cs b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderFlightEntity.cs index 4e5f2017..1ba0393a 100644 --- a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderFlightEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderFlightEntity.cs @@ -40,7 +40,7 @@ public class OrderFlightEntity : ICreateBaicEntity, ISoftDeleteBasicEntity, IEnt /// 创建时间 /// [SugarColumn(ColumnName = "CreateTime")] - public DateTime? CreateTime { get; set; } + public DateTime CreateTime { get; set; } /// /// 是否删除 diff --git a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderLinkEntity.cs b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderLinkEntity.cs index 71231e99..612cdae2 100644 --- a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderLinkEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderLinkEntity.cs @@ -59,7 +59,7 @@ public class OrderLinkEntity : ICreateBaicEntity, ISoftDeleteBasicEntity, IEntit /// 创建时间 /// [SugarColumn(ColumnName = "CreateTime")] - public DateTime? CreateTime { get; set; } + public DateTime CreateTime { get; set; } /// /// 是否删除 diff --git a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderTemplateEntity.cs b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderTemplateEntity.cs index 88559ae6..7dee5516 100644 --- a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderTemplateEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderTemplateEntity.cs @@ -40,7 +40,7 @@ public class OrderTemplateEntity : ICreateBaicEntity, ISoftDeleteBasicEntity, IE /// 创建时间 /// [SugarColumn(ColumnName = "CreateTime")] - public DateTime? CreateTime { get; set; } + public DateTime CreateTime { get; set; } /// /// 是否删除 diff --git a/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj b/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj index cb0a715f..d086d460 100644 --- a/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj +++ b/src/SJZY.Track.Domain/SJZY.Track.Domain.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/SJZY.Track.Repository/SJZY.Track.Repository.csproj b/src/SJZY.Track.Repository/SJZY.Track.Repository.csproj index b2285e0b..5fb248b6 100644 --- a/src/SJZY.Track.Repository/SJZY.Track.Repository.csproj +++ b/src/SJZY.Track.Repository/SJZY.Track.Repository.csproj @@ -8,8 +8,9 @@ + - +