Merge branch 'S01-轨迹中台' of http://192.168.80.50:3000/Dotnet/SJZY.Track.Api into S01-轨迹中台
This commit is contained in:
commit
6d03e3b786
@ -22,11 +22,26 @@ public class UpsertTrackInput : OrderNoInfo
|
||||
/// 轨迹发生时间
|
||||
/// </summary>
|
||||
[Required]
|
||||
public DateTime TrackTime { get; set; }
|
||||
public DateTime? TrackTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹发生时区
|
||||
/// </summary>
|
||||
[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;
|
||||
}
|
||||
}
|
||||
@ -23,10 +23,10 @@ public class OrderAutoMapperProfile : Profile
|
||||
CreateMap<TrackOrderVO, TrackOrderDto>(MemberList.None);
|
||||
CreateMap<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(MemberList.None);
|
||||
CreateMap<TrackDetailsIndex, TrackOrderDetailDto>(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));
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
});
|
||||
|
||||
// 根据订单关联关系异步向下刷
|
||||
|
||||
@ -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();
|
||||
|
||||
|
||||
@ -1,13 +0,0 @@
|
||||
using FluentValidation;
|
||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||
|
||||
namespace SJZY.Track.Application.Validations.ProviderService;
|
||||
|
||||
public class UpsertTrackInputValidation : AbstractValidator<UpsertTrackInput>, IValidationEnabled
|
||||
{
|
||||
public UpsertTrackInputValidation()
|
||||
{
|
||||
RuleFor(x => x.TrackTime).NotNull();
|
||||
RuleFor(x => x.TraceTimeZone).NotNull();
|
||||
}
|
||||
}
|
||||
@ -74,7 +74,7 @@ public class TrackDetailsIndex : IdBaseIndex
|
||||
/// <summary>
|
||||
/// 轨迹发生时区
|
||||
/// </summary>
|
||||
public float TraceTimeZone { get; set; }
|
||||
public float TrackTimeZone { get; set; }
|
||||
|
||||
/// <summary>删除标记 0正常 1 已删除</summary>
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
@ -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<TrackDetail
|
||||
var r = await Context.UpdateAsync<TrackDetailsIndex>(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<TrackDetail
|
||||
.Field(f => 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<TrackDetail
|
||||
public async Task<List<TrackDetailsIndex>?> GetListAsync(int orderId)
|
||||
{
|
||||
var data = await Context.SearchAsync<TrackDetailsIndex>(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<TrackDetail
|
||||
|
||||
public async Task<List<TrackDetailsIndex>?> GetListAsync(List<int> orderIds)
|
||||
{
|
||||
var data = await Context.SearchAsync<TrackDetailsIndex>(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<TrackDetailsIndex>(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();
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user