Merge branch 'S01-轨迹中台' of http://192.168.80.50:3000/Dotnet/SJZY.Track.Api into S01-轨迹中台

This commit is contained in:
moyongzhen 2024-03-06 11:02:17 +08:00
commit 6d03e3b786
7 changed files with 39 additions and 37 deletions

View File

@ -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;
}
}

View File

@ -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));
}
}

View File

@ -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
});
// 根据订单关联关系异步向下刷

View File

@ -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();

View File

@ -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();
}
}

View File

@ -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; }

View File

@ -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();
}