From 5f60f1ee06880e4a7a7def0cd508936dc3fbf3d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=96=87=E7=BF=94?= <878130837@qq.com> Date: Tue, 5 Mar 2024 19:01:59 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TrackPull/TrackPullService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs index df09c551..34998b29 100644 --- a/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs +++ b/src/SJZY.Track.Application/Services/TrackPull/TrackPullService.cs @@ -222,7 +222,7 @@ public class TrackPullService : ApplicationService, ITransientDependency throw new BusinessException(message: _stringLocalizer["IsTrackPullContentValueAny"]); else if (!input.TrackKeywords.IsNullOrEmpty()) { - Expression> trackKeywordExp = _ => true; + Expression> trackKeywordExp = _ => false; input.TrackKeywords!.ForEach(item => { trackKeywordExp = trackKeywordExp.Or(x => SqlFunc.SplitIn(x.TrackKeyword, item)); }); if (await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(trackKeywordExp))) From 3be84b4a403c01e175402f6e5f21d4fe59d74e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=96=87=E7=BF=94?= <878130837@qq.com> Date: Tue, 5 Mar 2024 19:13:23 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AutoMapper/TrackPullAutoMapperProfile.cs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs b/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs index dbd0f338..d8dad310 100644 --- a/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs +++ b/src/SJZY.Track.Application/AutoMapper/TrackPullAutoMapperProfile.cs @@ -13,15 +13,7 @@ public class TrackPullAutoMapperProfile : Profile CreateMap(MemberList.None).Ignore(dest => dest.Id) .ForMember(dest => dest.IsPush, opt => opt.MapFrom(source => false)); CreateMap(MemberList.None) - .ForMember(dest => dest.TrackKeyword, opt => - { - opt.Condition(src => !src.TrackKeywords.IsNullOrEmpty()); - opt.MapFrom(src => string.Join(',', src.TrackKeywords)); - }) - .ForMember(dest => dest.TrackKeywordReverse, opt => - { - opt.Condition(src => !src.TrackKeywordReverses.IsNullOrEmpty()); - opt.MapFrom(src => string.Join(',', src.TrackKeywordReverses)); - }); + .ForMember(dest => dest.TrackKeyword, opt => opt.MapFrom(src => string.Join(',', src.TrackKeywords))) + .ForMember(dest => dest.TrackKeywordReverse, opt => opt.MapFrom(src => string.Join(',', src.TrackKeywordReverses))); } } \ No newline at end of file From d76e7c29a167482badc9d075f2645d969345af60 Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Tue, 5 Mar 2024 20:06:09 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SJZY.Track.Api/appsettings.json | 2 +- .../ProvideServices/GetOrderDetailsInput.cs | 20 +++++++ .../Services/TrackOrders/TrackOrderService.cs | 39 +++++++++++- .../ITrackContentRepository.cs | 2 + ...GetTemplateContentAttributeValueInputVO.cs | 59 +++++++++++++++++++ .../Repositories/TrackContentRepository.cs | 28 +++++++++ .../Repositories/TrackDetailsRepository.cs | 6 +- .../Repositories/TrackTemplateRepository.cs | 11 ++++ 8 files changed, 161 insertions(+), 6 deletions(-) create mode 100644 src/SJZY.Track.Domain/Dtos/TrackTemplate/GetTemplateContentAttributeValueInputVO.cs diff --git a/src/SJZY.Track.Api/appsettings.json b/src/SJZY.Track.Api/appsettings.json index d69cb0c1..676973d6 100644 --- a/src/SJZY.Track.Api/appsettings.json +++ b/src/SJZY.Track.Api/appsettings.json @@ -5,7 +5,7 @@ "Apollo": { "AppId": "SJZY.Track.Configuration", "Env": "DEV", - "Namespace": "Test", + "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" ] } diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs index 50572e48..ca1e5ee8 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs @@ -6,6 +6,11 @@ /// 轨迹订单id /// public int OrderId { get; set; } + + /// + /// 子系统id + /// + public int SubSystemId { get; set; } } public class TrackOrderDetailDto @@ -49,5 +54,20 @@ /// 轨迹发生时区 /// public string? TrackTimeZone { get; set; } + + /// + /// 时区的值 + /// + public float TrackTimeZoneValue { get; set; } + + /// + /// 是否可删 + /// + public bool IsCanDelete { get; set; } + + /// + /// 是否对外 + /// + public bool IsExternal { get; set; } } } \ No newline at end of file diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index b0c86ec2..9c6457fe 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -1,7 +1,9 @@ using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Domain.Aggregates.OrderAggregate; +using SJZY.Track.Domain.Aggregates.TrackContentAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Dtos.Order; +using SJZY.Track.Domain.Dtos.TrackTemplate; using System; using System.Collections.Generic; using System.Linq; @@ -17,19 +19,20 @@ namespace SJZY.Track.Application.Services.TrackOrders { private readonly IOrderRepository _orderRepository; private readonly ITrackDetailsRepository _trackDetailsRepository; + private readonly ITrackContentRepository _trackContentRepository; public TrackOrderService( IOrderRepository orderRepository, - ITrackDetailsRepository trackDetailsRepository + ITrackDetailsRepository trackDetailsRepository, + ITrackContentRepository trackContentRepository ) { this._orderRepository=orderRepository; this._trackDetailsRepository=trackDetailsRepository; - + this._trackContentRepository=trackContentRepository; } #region 轨迹订单明细 - /// /// 根据轨迹订单id获取轨迹订单明细列表 /// @@ -42,10 +45,40 @@ namespace SJZY.Track.Application.Services.TrackOrders if (!trackDetails.IsNullOrEmpty()) { var list = ObjectMapper.Map, List>(trackDetails); + var trackCodes = list.Where(a => !a.Code.IsNullOrWhiteSpace()).Select(a => a.Code).ToList(); + + var trackContents = await _trackContentRepository.GetTrackContentAttributeValue(new GetTemplateContentAttributeValueInputVO + { + SubSystemId =input.SubSystemId, + TrackCodes=trackCodes + }); + int id = 1; list.ForEach(a => { a.Id = id++; + var trackContent = trackContents.FirstOrDefault(a => a.SubSystemId==input.SubSystemId&& a.TrackCode==a.TrackCode); + if (trackContent!=null) + { + a.IsCanDelete=trackContent.IsCanDelete; + a.IsExternal = trackContent.IsExternal; + } + a.TrackTimeZoneValue=8f; + if (a.TrackTimeZoneValue==0) + { + a.TrackTimeZone=$"GTM{" "}+00:00"; + } + else + { + + // 将小数形式的小时转换为时区偏移量 + int hours = (int)a.TrackTimeZoneValue; // 提取整数部分作为小时 + int minutes = (int)((a.TrackTimeZoneValue - hours) * 60); // 将小数部分乘以 60 转换为分钟 + TimeSpan offset = new TimeSpan(hours, minutes, 0); + string timeZoneStr = offset.ToString(); + string flag = a.TrackTimeZoneValue>0f ? "+" : ""; + a.TrackTimeZone = $"GTM{" "}{flag}{timeZoneStr.RemovePostFix(":00")}"; + } }); return list; } diff --git a/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs index 511d4feb..400b7363 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs @@ -1,4 +1,5 @@ using SJZY.Track.Domain.Dtos.TrackContents; +using SJZY.Track.Domain.Dtos.TrackTemplate; namespace SJZY.Track.Domain.Aggregates.TrackContentAggregate; @@ -24,4 +25,5 @@ public interface ITrackContentRepository : IBasicRepository Task UpdateMapAsync(Expression> columns, Expression> whereExpression); Task GetTemplateIsExist(int trackContentId); + Task> GetTrackContentAttributeValue(GetTemplateContentAttributeValueInputVO input); } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetTemplateContentAttributeValueInputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetTemplateContentAttributeValueInputVO.cs new file mode 100644 index 00000000..1ba46bf4 --- /dev/null +++ b/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetTemplateContentAttributeValueInputVO.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SJZY.Track.Domain.Dtos.TrackTemplate +{ + public class GetTemplateContentAttributeValueInputVO + { + /// + /// 子系统id + /// + public int SubSystemId { get; set; } + + /// + /// 轨迹代码 + /// + public List? TrackCodes { get; set; } + + ///// + ///// 订单id + ///// + //public int OrderId { get; set; } + } + + public class GetTemplateContentAttributeValueVO + { + /// + /// 轨迹内容id + /// + public int TrackContenId { get; set; } + + /// + /// 模版id + /// + public int TrackTemplateId { get; set; } + + /// + /// 轨迹内容代码 + /// + public string TrackCode { get; set; } + + /// + /// 子系统id + /// + public int SubSystemId { get; set; } + + /// + /// 是否可删 + /// + public bool IsCanDelete { get; set; } + + /// + /// 是否对外 + /// + public bool IsExternal { get; set; } + } +} diff --git a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs index b1a0cda0..5d4db71f 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs @@ -3,6 +3,7 @@ using SJZY.Track.Domain.Aggregates.TrackFlagAggregate; using SJZY.Track.Domain.Aggregates.TrackStatusAggregate; using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate; using SJZY.Track.Domain.Dtos.TrackContents; +using SJZY.Track.Domain.Dtos.TrackTemplate; using SJZY.Track.Domain.VEntities; using System.Linq; using System.Linq.Expressions; @@ -89,6 +90,31 @@ public class TrackContentRepository : BasicRepository, ITrac return pagedList; } + /// + /// 获取轨迹内容属性值 + /// + /// + public async Task> GetTrackContentAttributeValue(GetTemplateContentAttributeValueInputVO input) + { + var list = await Context.Queryable() + .LeftJoin((a, b) => a.Id==b.TrackContentId&& b.TrackTemplateId>0 && b.IsDeleted==false) + .LeftJoin((a, b, c) => b.TrackTemplateId==c.Id&& c.IsDeleted==false) + .WhereIF(!input.TrackCodes.IsNullOrEmpty(), (a, b, c) => input.TrackCodes.Contains(a.Code)) + .WhereIF(input.SubSystemId>0, (a, b, c) => a.SubSystemId==input.SubSystemId) + .Where((a, b, c) => c.Id>0) + .Select((a, b, c) => new GetTemplateContentAttributeValueVO + { + IsCanDelete=b.IsCanDelete, + IsExternal=b.IsExternal, + SubSystemId= a.SubSystemId, + TrackCode= a.Code, + TrackContenId= a.Id, + TrackTemplateId=c.Id + }).ToListAsync(); + + return list; + } + /// /// 获取轨迹模版是否存在 /// @@ -115,6 +141,8 @@ public class TrackContentRepository : BasicRepository, ITrac return false; } + + public async Task> GetMapPageAsync(GetTrackContentMapPageInputVO input) { return await Context.Queryable() diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs index cf78c66f..31d9fc36 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs @@ -52,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) @@ -90,7 +90,9 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract?> GetListAsync(int orderId) { - var data = await Context.SearchAsync(x => x.Query(q => q.Term(t => t.OrderId, 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)) + ) .Size(1000) .Sort(s => s.Field(f => f.TrackTime, SortOrder.Descending))); diff --git a/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs index 3bb1cfd9..21b72d53 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs @@ -65,6 +65,17 @@ public class TrackTemplateRepository : BasicRepository, ITr return pagedList; } + /// + /// 获取轨迹内容属性值 + /// + /// + public async Task GetTrackContentAttributeValue(GetTemplateContentAttributeValueInputVO input) + { + + + return null; + } + /// public async Task> GetContentPageAsync( GetTrackTemplateContentPageInputVO input) From 140ba7465a2f19cdde5cdb94d5347c9ffb8ab0c0 Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Tue, 5 Mar 2024 20:11:49 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AutoMapper/OrderAutoMapperProfile.cs | 5 +++-- .../Services/TrackOrders/TrackOrderService.cs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs b/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs index dc814b49..5ae0e71d 100644 --- a/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs +++ b/src/SJZY.Track.Application/AutoMapper/OrderAutoMapperProfile.cs @@ -3,6 +3,7 @@ using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Dtos.Order; +using Volo.Abp.AutoMapper; namespace SJZY.Track.Application.AutoMapper; @@ -21,11 +22,11 @@ public class OrderAutoMapperProfile : Profile CreateMap(MemberList.None); CreateMap(MemberList.None); CreateMap, UnifyPageResultDto>(MemberList.None); - CreateMap(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.TrackTimeZone, opt => opt.MapFrom(m => m.TraceTimeZone.ToString())); + .ForMember(dest => dest.TrackTimeZoneValue, opt => opt.MapFrom(m => m.TraceTimeZone)); } } \ No newline at end of file diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 9c6457fe..670fb853 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -63,7 +63,7 @@ namespace SJZY.Track.Application.Services.TrackOrders a.IsCanDelete=trackContent.IsCanDelete; a.IsExternal = trackContent.IsExternal; } - a.TrackTimeZoneValue=8f; + //a.TrackTimeZoneValue=8f; if (a.TrackTimeZoneValue==0) { a.TrackTimeZone=$"GTM{" "}+00:00"; From 25e3172275fe0156bb375b45425f397d87e6efdd Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Tue, 5 Mar 2024 20:12:39 +0800 Subject: [PATCH 05/10] 1 --- .../Services/TrackOrders/TrackOrderService.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 670fb853..2f04bb41 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -70,7 +70,6 @@ namespace SJZY.Track.Application.Services.TrackOrders } else { - // 将小数形式的小时转换为时区偏移量 int hours = (int)a.TrackTimeZoneValue; // 提取整数部分作为小时 int minutes = (int)((a.TrackTimeZoneValue - hours) * 60); // 将小数部分乘以 60 转换为分钟 From 317d59861a0ad99126798552b414c4ea42ebccb4 Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Tue, 5 Mar 2024 20:46:00 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E8=BD=A8=E8=BF=B9=E9=9C=80=E8=A6=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ITrackDetailsRepository.cs | 1 + .../Dtos/Order/GetPageTrackOrderInputVO.cs | 5 ++ .../Repositories/OrderRepository.cs | 50 ++++++++++++++++++- .../Repositories/TrackDetailsRepository.cs | 12 +++++ 4 files changed, 67 insertions(+), 1 deletion(-) diff --git a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/ITrackDetailsRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/ITrackDetailsRepository.cs index d79c78df..f6578023 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/ITrackDetailsRepository.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/ITrackDetailsRepository.cs @@ -20,4 +20,5 @@ public interface ITrackDetailsRepository /// /// Task DeleteTrackAsync(int orderId, List trackCodes); + Task?> GetListAsync(List orderIds); } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs b/src/SJZY.Track.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs index b32b1327..b596a5e1 100644 --- a/src/SJZY.Track.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs +++ b/src/SJZY.Track.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs @@ -114,5 +114,10 @@ namespace SJZY.Track.Domain.Dtos.Order /// 子系统 /// public string SubSystem { get; set; } + + /// + /// 子系统id + /// + public int SubSystemId { get; set; } } } diff --git a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs index b1bb6476..3910ce84 100644 --- a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs @@ -1,5 +1,6 @@ using SJZY.Track.Domain; using SJZY.Track.Domain.Aggregates.OrderAggregate; +using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate; using SJZY.Track.Domain.Dtos.Order; using SJZY.Track.Domain.VEntities; @@ -9,6 +10,15 @@ namespace SJZY.Track.Repository.Repositories; public class OrderRepository : BasicRepository, IOrderRepository, ITransientDependency { + private readonly ITrackDetailsRepository _trackDetailsRepository; + + public OrderRepository( + ITrackDetailsRepository trackDetailsRepository + ) + { + this._trackDetailsRepository=trackDetailsRepository; + } + public async Task CreateOrderAsync(OrderEntity order) { using var tran = TransactionHelper.GetReadCommitted(); @@ -147,10 +157,48 @@ public class OrderRepository : BasicRepository, IOrderRepository, I NewestTrackTime = a.LatestTrackTime, IsFinish = a.IsCompleted, CreateTime = a.CreateTime, - SubSystem = c.CnName + SubSystem = c.CnName, + SubSystemId = c.Id }) .ToPagedListAsync(input.PageIndex, input.PageSize); + if (pageList.List.Any()) + { + //查询也需要最新的轨迹 + var orderIds = pageList.List.Select(a => a.Id).ToList(); + var esTrackDetails = await _trackDetailsRepository.GetListAsync(orderIds); + if (!esTrackDetails.IsNullOrEmpty()) + { + pageList.List.ForEach(a => + { + var esDetails = esTrackDetails.Where(a => a.OrderId== a.OrderId).OrderByDescending(a => a.TrackTime); + var trackDetail = esDetails.FirstOrDefault(); + if (trackDetail!=null) + { + if (trackDetail.TrackContent!=a.NewestTrackContent) + { + a.NewestTrackContent=trackDetail.TrackContent; + } + if (trackDetail.TrackEnContent!=a.NewestTrackEnContent) + { + a.NewestTrackContent=trackDetail.TrackEnContent; + } + if (trackDetail.TrackPlace!=a.NewestTrackPlace) + { + a.NewestTrackPlace=trackDetail.TrackPlace; + } + if (trackDetail.TrackTime!= trackDetail.TrackTime) + { + a.NewestTrackTime=trackDetail.TrackTime; + } + } + }); + } + } + + + + #region 暂时注释 //if (pageList.List.Any()) diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs index 31d9fc36..136020cc 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs @@ -3,6 +3,7 @@ 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; @@ -99,6 +100,17 @@ 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(g => g.IsDeleted).Value(false)) + ) + .Size(100000) + .Sort(s => s.Field(f => f.TrackTime, SortOrder.Descending))); + + return data?.Documents?.ToList(); + } + public async Task DeleteTrackAsync(int orderId, List trackCodes) { var r = await Context.UpdateByQueryAsync(x => x From 78f6edbbeb9b8cd92c54e23f08dacdb6dba6040e Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Tue, 5 Mar 2024 21:04:30 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/TrackDetailsRepository.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs index 136020cc..191de929 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs @@ -103,11 +103,11 @@ 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(g => g.IsDeleted).Value(false)) - ) - .Size(100000) - .Sort(s => s.Field(f => f.TrackTime, SortOrder.Descending))); - + && 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(); } From 8f96886eda4427b47ce9b5378b952b9a4d2fb06e Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Tue, 5 Mar 2024 21:16:07 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8=E6=B7=BB=E5=8A=A0=E5=AD=90?= =?UTF-8?q?=E7=B3=BB=E7=BB=9Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SJZY.Track.Api/appsettings.json | 2 +- .../Dtos/ProvideServices/GetPageTrackOrderInput.cs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/SJZY.Track.Api/appsettings.json b/src/SJZY.Track.Api/appsettings.json index 676973d6..d69cb0c1 100644 --- a/src/SJZY.Track.Api/appsettings.json +++ b/src/SJZY.Track.Api/appsettings.json @@ -5,7 +5,7 @@ "Apollo": { "AppId": "SJZY.Track.Configuration", "Env": "DEV", - "Namespace": "Dev", + "Namespace": "Test", "MetaServer": "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080", "ConfigServer": [ "http://apollo-service-test-apollo-configservice.apollo.svc.cluster.local:8080" ] } diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetPageTrackOrderInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetPageTrackOrderInput.cs index ee323b86..5b2220d2 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetPageTrackOrderInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetPageTrackOrderInput.cs @@ -107,4 +107,6 @@ public class TrackOrderDto /// 子系统 /// public string SubSystem { get; set; } + + public int SubSystemId { get;set; } } \ No newline at end of file From 369eb3708b5a38b1bd83be1d91604e527a8a69ef Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Wed, 6 Mar 2024 09:01:32 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E6=B7=BB=E5=8A=A0=E5=88=9B=E5=BB=BA=E4=BA=BA?= =?UTF-8?q?=E5=92=8C=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dtos/ProvideServices/GetOrderDetailsInput.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs index ca1e5ee8..d16e10fe 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs @@ -69,5 +69,15 @@ /// 是否对外 /// public bool IsExternal { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } + + /// + /// 创建人 + /// + public string? CreateUser { get; set; } } } \ No newline at end of file From d9905878ae93852e3e9f266161cfd80b20618eef Mon Sep 17 00:00:00 2001 From: moyongzhen <2534173414@qq.com> Date: Wed, 6 Mar 2024 10:02:05 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/SJZY.Track.Repository/Repositories/OrderRepository.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs index 3910ce84..aa55ea33 100644 --- a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs @@ -171,7 +171,7 @@ public class OrderRepository : BasicRepository, IOrderRepository, I { pageList.List.ForEach(a => { - var esDetails = esTrackDetails.Where(a => a.OrderId== a.OrderId).OrderByDescending(a => a.TrackTime); + var esDetails = esTrackDetails.Where(b => b.OrderId== a.Id).OrderByDescending(a => a.TrackTime); var trackDetail = esDetails.FirstOrDefault(); if (trackDetail!=null) {