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] =?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