diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
index c2c7b4c6..b62cf77b 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs
@@ -22,11 +22,26 @@ public class UpsertTrackInput : OrderNoInfo
/// 轨迹发生时间
///
[Required]
- public DateTime TrackTime { get; set; }
+ public DateTime? TrackTime { get; set; }
///
/// 轨迹发生时区
///
[Required]
- public float TraceTimeZone { get; set; }
+ [Range(-12, 12)]
+ public float? TrackTimeZone { get; set; }
+}
+
+public class NotNullAttribute : ValidationAttribute
+{
+ protected override ValidationResult IsValid(object value, ValidationContext validationContext)
+ {
+ if (value == null)
+ {
+ return new ValidationResult(ErrorMessage ?? "The field is required.",
+ new[] { validationContext.MemberName });
+ }
+
+ return ValidationResult.Success;
+ }
}
\ 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 5ae0e71d..25cb3b57 100644
--- a/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs
+++ b/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs
@@ -23,10 +23,10 @@ public class OrderAutoMapperProfile : Profile
CreateMap(MemberList.None);
CreateMap, UnifyPageResultDto>(MemberList.None);
CreateMap(MemberList.None).Ignore(dest => dest.TrackTimeZone)
- .ForMember(dest => dest.Id, opt => opt.Ignore())
- .ForMember(dest => dest.Code, opt => opt.MapFrom(m => m.TrackCode))
- .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.TraceTimeZone));
+ .ForMember(dest => dest.Id, opt => opt.Ignore())
+ .ForMember(dest => dest.Code, opt => opt.MapFrom(m => m.TrackCode))
+ .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));
}
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
index fd15e042..67eb29a5 100644
--- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
+++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs
@@ -83,8 +83,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
TrackContent = trackContent.Content,
TrackEnContent = trackContent.EnContent,
TrackPlace = @event.TrackPlace,
- TrackTime = @event.TrackTime,
- TraceTimeZone = @event.TraceTimeZone,
+ TrackTime = @event.TrackTime!.Value,
+ TrackTimeZone = @event.TrackTimeZone!.Value,
CreateUser = CurrentUserRequest.CurrentUser.Name,
CreateTime = DateTime.Now
};
@@ -98,8 +98,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
else
{
track.TrackPlace = @event.TrackPlace;
- track.TrackTime = @event.TrackTime;
- track.TraceTimeZone = @event.TraceTimeZone;
+ track.TrackTime = @event.TrackTime!.Value;
+ track.TrackTimeZone = @event.TrackTimeZone!.Value;
track.UpdateUser = CurrentUserRequest.CurrentUser.Name;
track.UpdateTime = DateTime.Now;
}
@@ -115,7 +115,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
TrackEnContent = track.TrackEnContent,
TrackPlace = track.TrackPlace,
TrackTime = track.TrackTime,
- TrackTimeZone = track.TraceTimeZone
+ TrackTimeZone = track.TrackTimeZone
});
// 根据订单关联关系异步向下刷
diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackQueryService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackQueryService.cs
index a995067c..7b53a713 100644
--- a/src/SJZY.Track.Application/Services/ProvideServices/TrackQueryService.cs
+++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackQueryService.cs
@@ -55,7 +55,7 @@ public class TrackQueryService : ApplicationService
Status = x.TrackStatus,
Content = x.TrackContent,
Location = x.TrackPlace,
- Time = x.TrackTime.AddHours(input.TimeZone!.Value - x.TraceTimeZone),
+ Time = x.TrackTime.AddHours(input.TimeZone!.Value - x.TrackTimeZone),
TimeZone = input.TimeZone!.Value
}).ToList();
diff --git a/src/SJZY.Track.Application/Validations/ProviderService/UpsertTrackInputValidation.cs b/src/SJZY.Track.Application/Validations/ProviderService/UpsertTrackInputValidation.cs
deleted file mode 100644
index ba7e6366..00000000
--- a/src/SJZY.Track.Application/Validations/ProviderService/UpsertTrackInputValidation.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using FluentValidation;
-using SJZY.Track.Application.Contract.Dtos.ProvideServices;
-
-namespace SJZY.Track.Application.Validations.ProviderService;
-
-public class UpsertTrackInputValidation : AbstractValidator, IValidationEnabled
-{
- public UpsertTrackInputValidation()
- {
- RuleFor(x => x.TrackTime).NotNull();
- RuleFor(x => x.TraceTimeZone).NotNull();
- }
-}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs
index b885e11b..8974dac3 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs
@@ -74,7 +74,7 @@ public class TrackDetailsIndex : IdBaseIndex
///
/// 轨迹发生时区
///
- public float TraceTimeZone { get; set; }
+ public float TrackTimeZone { get; set; }
/// 删除标记 0正常 1 已删除
public bool IsDeleted { get; set; }
diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs
index 191de929..25dee126 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs
@@ -3,7 +3,6 @@ using SJZY.Expand.ABP.Core.Logger;
using SJZY.Expand.ElasticSearch.Services;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Dtos.TrackDetails;
-using SJZY.UserCenter.SharedModel.Dtos.PHP.User;
namespace SJZY.Track.Repository.Repositories;
@@ -53,7 +52,7 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract(index.Id, u => u
.Index(index.IndexName)
.Doc(index)
- //.Refresh(Refresh.True) // 可选:立即刷新索引使更改立即可见
+ //.Refresh(Refresh.True) // 可选:立即刷新索引使更改立即可见
);
if (!r.IsValid)
@@ -75,7 +74,7 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract f.TrackContent)
.Field(f => f.TrackPlace)
.Field(f => f.TrackTime)
- .Field(f => f.TraceTimeZone)
+ .Field(f => f.TrackTimeZone)
))
.Query(q =>
q.Terms(t => t
@@ -92,8 +91,8 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract?> GetListAsync(int orderId)
{
var data = await Context.SearchAsync(x => x.Query(q => q.Term(t => t.OrderId, orderId)
- && q.Term(a => a.Field(g => g.IsDeleted).Value(false))
- )
+ && q.Term(a => a.Field(g => g.IsDeleted).Value(false))
+ )
.Size(1000)
.Sort(s => s.Field(f => f.TrackTime, SortOrder.Descending)));
@@ -102,11 +101,12 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract?> GetListAsync(List orderIds)
{
- var data = await Context.SearchAsync(x => x.Query(q => q.Terms(t => t.Field(g => g.OrderId).Terms(orderIds))
- && q.Term(a => a.Field(d => d.IsDeleted).Value(false))
- )
- .Size(10000)
- .Sort(s => s.Field(c => c.TrackTime, SortOrder.Descending))
+ var data = await Context.SearchAsync(x => x.Query(q =>
+ q.Terms(t => t.Field(g => g.OrderId).Terms(orderIds))
+ && q.Term(a => a.Field(d => d.IsDeleted).Value(false))
+ )
+ .Size(10000)
+ .Sort(s => s.Field(c => c.TrackTime, SortOrder.Descending))
);
return data?.Documents?.ToList();
}