From 8b6553700e08daa92ea4cf9b090cc524b45edef1 Mon Sep 17 00:00:00 2001 From: xiaolipro <2357729423@qq.com> Date: Tue, 3 Sep 2024 17:17:08 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=20=20=20=201.=20=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E9=A1=B5=E9=9D=A2=E7=9A=84=E6=94=B9=E5=8A=A8?= =?UTF-8?q?=EF=BC=9A=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=86=85=E5=AE=B9=E5=BC=B9=E7=AA=97=E5=92=8C=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=86=85=E5=AE=B9=E5=88=97=E8=A1=A8=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E6=98=AF=E5=90=A6=E5=AF=B9=E5=A4=96=EF=BC=88=E7=A7=BB?= =?UTF-8?q?=E5=88=B0=E8=BD=A8=E8=BF=B9=E5=86=85=E5=AE=B9=EF=BC=89=EF=BC=8C?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=8F=AF=E5=88=A0=EF=BC=88=E7=A7=BB=E5=88=B0?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E7=8A=B6=E6=80=81=EF=BC=89=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E3=80=82=E6=96=B0=E5=A2=9E=E7=BC=96=E8=BE=91=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=AF=B9=E5=A4=96=E6=98=BE=E7=A4=BA=E6=BA=90?= =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E3=80=82=E3=80=91=20https://www.tapd.cn/6086?= =?UTF-8?q?3849/prong/tasks/view/1160863849001027876?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProvideServices/GetOrderDetailsInput.cs | 20 +-- .../Dtos/ProvideServices/GetTrackInput.cs | 4 +- .../TrackContents/EditTrackContentInput.cs | 5 + .../EditTrackTemplateContentInput.cs | 10 -- .../ProvideServices/TrackService.Query.cs | 39 +----- .../Services/ProvideServices/TrackService.cs | 40 +++--- .../TrackContents/TrackContentService.cs | 31 ++--- .../Services/TrackOrders/TrackOrderService.cs | 120 ++++++++---------- ...EditTrackTemplateContentInputValidation.cs | 6 - .../ITrackContentRepository.cs | 4 - .../TrackContentEntity.cs | 6 + .../TrackDetailsIndex.cs | 20 ++- .../TrackStatusAggregate/TrackStatusEntity.cs | 24 ++-- .../TrackTemplateContentEntity.cs | 12 -- .../TrackTemplateEntity.cs | 6 - ...GetTemplateContentAttributeValueInputVO.cs | 57 --------- .../Queries/IProvideQueries.cs | 24 ---- .../Queries/ProvideQueries.cs | 53 +------- .../Repositories/TrackContentRepository.cs | 30 ----- .../Repositories/TrackTemplateRepository.cs | 13 +- 20 files changed, 136 insertions(+), 388 deletions(-) delete mode 100644 src/SJZY.Track.Domain/Dtos/TrackTemplate/GetTemplateContentAttributeValueInputVO.cs diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs index 0060f442..45b0af3f 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetOrderDetailsInput.cs @@ -1,23 +1,5 @@ namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; -public class GetOrderDetailsInput -{ - /// - /// 轨迹订单id - /// - public int OrderId { get; set; } - - /// - /// 子系统id - /// - public int SubSystemId { get; set; } - - /// - /// 轨迹模板Id - /// - public List? TrackTemplateIds { get; set; } = new List(); -} - public class TrackOrderDetailDto { /// @@ -43,7 +25,7 @@ public class TrackOrderDetailDto /// /// 轨迹代码 /// - public string? Code { get; set; } + public string Code { get; set; } /// /// 轨迹内容 diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackInput.cs index f1eec9c9..fbfeef37 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetTrackInput.cs @@ -4,12 +4,12 @@ namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; public class GetTrackInput : OrderNosInfo { + private float? _timeZone; + /// /// 时区 +8 +8.25 -8.5 -9 /// 不传默认+8 /// - private float? _timeZone; - public float? TimeZone { get => _timeZone ?? 8; diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs index d8b4f995..02a883f3 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs @@ -41,6 +41,11 @@ public class EditTrackContentInput /// 轨迹标记id /// public int TrackFlagId { get; set; } + + /// + /// 是否对外 + /// + public bool IsExternal { get; set; } } public class GetTrackContentDetailDto diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/EditTrackTemplateContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/EditTrackTemplateContentInput.cs index e354acf2..e990ce39 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/EditTrackTemplateContentInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackTemplates/EditTrackTemplateContentInput.cs @@ -11,16 +11,6 @@ public class EditTrackTemplateContentInput /// public int? Id { get; set; } - /// - /// 是否可删 - /// - public bool? IsCanDelete { get; set; } - - /// - /// 是否对外 - /// - public bool? IsExternal { get; set; } - /// /// 轨迹内容id /// diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs index 620c9af5..e5bb28c6 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.Query.cs @@ -54,36 +54,13 @@ public partial class TrackService res.Add(item); } - await TrackDetailSort(res, input); + TracksOrdered(res, input); return new UnifyResultDto>(true, res, "操作成功"); } - private async Task TrackDetailSort(List list, GetTrackInput input) + private void TracksOrdered(List list, GetTrackInput input) { - var orderTemplates = await _provideQueries - .GetOrderTemplateLinksAsync(input.OrderType, input.OrderNos); - var distinctTemplateIds = orderTemplates.Select(x => x.TemplateId).Distinct().ToList(); - var templateContent = await _provideQueries.GetOrderedTrackCodesAsync(distinctTemplateIds); - - list.ForEach(item => - { - var codes = new List(); - // 多模板拼接显示 - foreach (var orderTemplate in orderTemplates.Where(x => x.OrderNo == item.OrderNo)) - { - codes.AddRange(templateContent - .Where(t => t.TemplateId == orderTemplate.TemplateId) // 按模板 - .Where(t => t.IsExternal) // 过滤不对外的 - .Select(t => t.Code)); - } - - item.TrackDetails = item.TrackDetails - .Where(x => codes.Contains(x.Code)) // 剔除不在模板内容中的元素 - .OrderBy(x => codes.IndexOf(x.Code)) // 按照在模板内容的位置排序 - .ToList(); - }); - switch (input.SortMethod) { case SortMethod.ByTrackTime: @@ -98,17 +75,5 @@ public partial class TrackService default: throw new ArgumentOutOfRangeException(nameof(input.SortMethod), input.SortMethod, "不支持的排序方式"); } - - // 显示原轨迹 - list.ForEach(item => - { - item.TrackDetails.ForEach(track => - { - if (templateContent.First(x => x.Code == track.Code).ShowOrigin) - { - track.Content = track.OriginContent; - } - }); - }); } } diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs index 3b9183a0..3edb1e64 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs @@ -107,10 +107,9 @@ public partial class TrackService : ApplicationService, ITrackService throw new BusinessException(message: $"订单:{input.OrderNo}不存在"); } - var codes = await _provideQueries.GetCanDeleteTrackCodesAsync(new List - { - order.Id - }, input.TrackCodes); + // todo:判断是否可以删除取决于这条轨迹的创建人是否是系统,这里要改 + // todo:这里重构吧,加入一个追踪id,然后根据追踪id删除,既可以防止误删,又可以减少查询 + var codes = input.TrackCodes; if (codes.Count == 0) { @@ -130,7 +129,7 @@ public partial class TrackService : ApplicationService, ITrackService var @event = new TrackDeleteEvent { OrderIds = new[] { order.Id }, - TrackCodes = codes.Select(x => x.TrackCode).ToList(), + TrackCodes = codes, SubSystemId = order.SubSystemId, OperationMan = name }; @@ -157,9 +156,8 @@ public partial class TrackService : ApplicationService, ITrackService } ); - var codes = await _provideQueries.GetCanDeleteTrackCodesAsync( - orders.Select(x => x.Id).ToList(), input.TrackCodes - ); + // todo:判断是否可以删除取决于这条轨迹的创建人是否是系统,这里要改 + var codes = input.TrackCodes; if (codes.Count == 0) { @@ -175,18 +173,20 @@ public partial class TrackService : ApplicationService, ITrackService var name = userInfo.Data.UserName; - // 删除轨迹 - foreach (var group in codes.GroupBy(x => x.OrderId)) - { - var @event = new TrackDeleteEvent - { - OrderIds = group.Select(x => x.OrderId).ToArray(), - TrackCodes = input.TrackCodes, - SubSystemId = orders.First(x => x.Id == group.Key).SubSystemId, - OperationMan = name - }; - await _capPublisher.PublishAsync(GlobalConst.TrackDeleteSubscribe, @event); - } + // todo:重构 + + // // 删除轨迹 + // foreach (var group in codes.GroupBy(x => x.OrderId)) + // { + // var @event = new TrackDeleteEvent + // { + // OrderIds = group.Select(x => x.OrderId).ToArray(), + // TrackCodes = input.TrackCodes, + // SubSystemId = orders.First(x => x.Id == group.Key).SubSystemId, + // OperationMan = name + // }; + // await _capPublisher.PublishAsync(GlobalConst.TrackDeleteSubscribe, @event); + // } return new UnifyResultDto(true, true); } diff --git a/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs b/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs index b2b5905a..bec1a467 100644 --- a/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs +++ b/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs @@ -166,7 +166,6 @@ public class TrackContentService : ApplicationService a.Content == input.Content || a.EnContent == input.EnContent)); if (trackContentEntitys.Any()) { - //throw new BusinessException(message: _stringLocalizer["TrackContentExist"]); var codes = trackContentEntitys.FirstOrDefault(a => a.Code == input.Code); if (codes != null) { @@ -184,7 +183,6 @@ public class TrackContentService : ApplicationService { throw new BusinessException(message: "该子系统下轨迹内容英文已存在"); } - //throw new BusinessException(message: "当前子系统下,轨迹代码或轨迹内容或轨迹内容英文存在"); } #endregion 业务逻辑校验 @@ -199,26 +197,24 @@ public class TrackContentService : ApplicationService { #region 业务逻辑校验 - var trackContentEntitys = await _trackContentRepository.GetListAsync(a => a.Id != input.Id && - a.SubSystemId == input.SubSystemId && (a.Code == input.Code || - a.Content == input.Content || a.EnContent == input.EnContent)); - if (trackContentEntitys.Any()) + var trackContentEntities = await _trackContentRepository.GetListAsync( + a => a.Id != input.Id && a.SubSystemId == input.SubSystemId && + (a.Code == input.Code || a.Content == input.Content || a.EnContent == input.EnContent)); + if (trackContentEntities.Any()) { - //throw new BusinessException(message: _stringLocalizer["TrackContentExist"]); - //throw new BusinessException(message: "当前子系统下,轨迹代码或轨迹内容或轨迹内容英文存在"); - var codes = trackContentEntitys.FirstOrDefault(a => a.Code == input.Code); + var codes = trackContentEntities.FirstOrDefault(a => a.Code == input.Code); if (codes != null) { throw new BusinessException(message: "该子系统下轨迹代码已存在"); } - var contents = trackContentEntitys.FirstOrDefault(a => a.Content == input.Content); + var contents = trackContentEntities.FirstOrDefault(a => a.Content == input.Content); if (contents != null) { throw new BusinessException(message: "该子系统下轨迹内容已存在"); } - var contentEns = trackContentEntitys.FirstOrDefault(a => a.EnContent == input.EnContent); + var contentEns = trackContentEntities.FirstOrDefault(a => a.EnContent == input.EnContent); if (contentEns != null) { throw new BusinessException(message: "该子系统下轨迹内容英文已存在"); @@ -228,14 +224,19 @@ public class TrackContentService : ApplicationService #endregion 业务逻辑校验 //更新的时候需要覆盖内容映射轨迹代码 - var templateEntity = await _trackContentRepository.GetFirstAsync(a => a.Id == input.Id); + var trackContent = await _trackContentRepository.GetFirstAsync(a => a.Id == input.Id); + + if (trackContent == null) + { + throw new BusinessException(message: "轨迹内容不存在"); + } bool isTrue; using (var ts = TransactionScopeHelper.Create()) { // 如果轨迹内容的子系统和code发生变化,同步到轨迹映射表 - if (templateEntity.SubSystemId != input.SubSystemId || templateEntity.Code != input.Code) + if (trackContent.SubSystemId != input.SubSystemId || trackContent.Code != input.Code) { await _trackContentRepository.UpdateMapAsync( x => new TrackContentMapEntity @@ -253,9 +254,9 @@ public class TrackContentService : ApplicationService }, x => x.MapTrackContentId == input.Id); } - ObjectMapper.Map(input, templateEntity); + ObjectMapper.Map(input, trackContent); - isTrue = await _trackContentRepository.UpdateAsync(templateEntity); + isTrue = await _trackContentRepository.UpdateAsync(trackContent); ts.Complete(); } diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index d3c42d60..0c38b766 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -1,4 +1,3 @@ -using System.Diagnostics; using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Application.Contract.Dtos.TrackOrder; using SJZY.Track.Domain.Aggregates.OrderAggregate; @@ -7,7 +6,6 @@ using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Aggregates.TrackPushAggregate; using SJZY.Track.Domain.Consts; using SJZY.Track.Domain.Dtos.Order; -using SJZY.Track.Domain.Dtos.TrackTemplate; using SJZY.Track.Domain.Enums; using SJZY.Track.Domain.Queries; @@ -112,75 +110,69 @@ public class TrackOrderService : ApplicationService return res; } - #region 轨迹订单明细 - /// - /// 根据轨迹订单id获取轨迹订单明细列表 + /// 根据订单id获取轨迹明细列表 /// - /// + /// /// [HttpPost("GetDetails")] - public async Task> GetOrderDetails(GetOrderDetailsInput input) + public async Task> GetTracksAsync(int orderId) { - var trackDetails = await _trackDetailsRepository.GetListAsync(input.OrderId); - if (!trackDetails.IsNullOrEmpty()) + var subSystemId = await _orderRepository.GetFirstAsync(x => x.Id == orderId, x => x.SubSystemId); + if (subSystemId == default) { - var list = ObjectMapper.Map, List>(trackDetails); - var trackCodes = list.Where(a => !a.Code.IsNullOrWhiteSpace()).Select(a => a.Code).Distinct().ToList(); - - var trackContents = await _trackContentRepository.GetTrackContentAttributeValue( - new GetTemplateContentAttributeValueInputVO - { - SubSystemId = input.SubSystemId, - TrackTemplateIds = input.TrackTemplateIds, - TrackCodes = trackCodes - }); - Debug.Assert(input.TrackTemplateIds != null, "input.TrackTemplateIds != null"); - input.TrackTemplateIds = input.TrackTemplateIds.Where(a => a > 0).ToList(); - list.ForEach(a => - { - var trackContentsOfTemplates = trackContents.Where(b => - b.SubSystemId == input.SubSystemId && b.TrackCode == a.Code && - input.TrackTemplateIds.Contains(b.TrackTemplateId)) - .ToList(); - GetTemplateContentAttributeValueVO? trackContent = null; - var insertData = input.TrackTemplateIds - .Intersect(trackContentsOfTemplates.Select(aa => aa.TrackTemplateId)).ToList(); - if (!insertData.IsNullOrEmpty()) - { - trackContent = - trackContentsOfTemplates.FirstOrDefault(it => - it.TrackTemplateId == insertData.FirstOrDefault()); - } - - if (trackContent != null) - { - a.IsExternal = trackContent.IsExternal; - } - - if (a.TrackTimeZoneValue == 0f) - { - a.TrackTimeZone = "GTM +00:00"; - } - else if (Math.Abs(a.TrackTimeZoneValue - GlobalConst.NoneTrackTimeZone) < 1) - { - a.TrackTimeZone = "--"; - } - 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; + throw new BusinessException(message: "订单不存在"); } - return new List(); + var trackDetails = await _trackDetailsRepository.GetListAsync(orderId); + if (trackDetails.IsNullOrEmpty()) + { + return new List(); + } + + var list = ObjectMapper.Map, List>(trackDetails); + + var trackCodes = list.Select(x => x.Code) + .Where(x => x != GlobalConst.EmptyString) + .Distinct() + .ToList(); + + // 是否对外 + if (!trackCodes.IsNullOrEmpty()) + { + var trackContents = await _trackContentRepository.GetListAsync(x => + x.SubSystemId == subSystemId && trackCodes.Contains(x.Code), x => new + { + x.Code, + x.IsExternal + }); + + list.ForEach(x => x.IsExternal = trackContents.FirstOrDefault(y => y.Code == x.Code)?.IsExternal ?? false); + } + + // 计算时区 + list.ForEach(a => + { + if (a.TrackTimeZoneValue == 0f) + { + a.TrackTimeZone = "GTM +00:00"; + } + else if (Math.Abs(a.TrackTimeZoneValue - GlobalConst.NoneTrackTimeZone) < 1) + { + a.TrackTimeZone = "--"; + } + else + { + // 将小数形式的小时转换为时区偏移量 + var hours = (int) a.TrackTimeZoneValue; // 提取整数部分作为小时 + var minutes = (int) ((a.TrackTimeZoneValue - hours) * 60); // 将小数部分乘以 60 转换为分钟 + var offset = new TimeSpan(hours, minutes, 0); + var timeZoneStr = offset.ToString(); + var flag = a.TrackTimeZoneValue > 0f ? "+" : ""; + a.TrackTimeZone = $"GTM {flag}{timeZoneStr.RemovePostFix(":00")}"; + } + }); + return list; } /// @@ -202,6 +194,4 @@ public class TrackOrderService : ApplicationService await _trackDetailsRepository.DeleteTrackByIdAsync(trackId, track.IndexName); return true; } - - #endregion } diff --git a/src/SJZY.Track.Application/Validations/TrackTemplates/EditTrackTemplateContentInputValidation.cs b/src/SJZY.Track.Application/Validations/TrackTemplates/EditTrackTemplateContentInputValidation.cs index 273362fe..5fdf076c 100644 --- a/src/SJZY.Track.Application/Validations/TrackTemplates/EditTrackTemplateContentInputValidation.cs +++ b/src/SJZY.Track.Application/Validations/TrackTemplates/EditTrackTemplateContentInputValidation.cs @@ -32,12 +32,6 @@ public class EditTrackTemplateContentInputValidation : AbstractValidator x.Options != OptionTypeNoNull.删除, () => { - RuleFor(x => x.IsCanDelete).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, - nameof(EditTrackTemplateContentInput.IsCanDelete)]); - - RuleFor(x => x.IsExternal).NotNull().WithMessage(stringLocalizer[SjzyBasicLocalization.Validation_NotNull, - nameof(EditTrackTemplateContentInput.IsExternal)]); - RuleFor(x => x.TrackContentId).NotNull().WithMessage(stringLocalizer[ SjzyBasicLocalization.Validation_NotNull, nameof(EditTrackTemplateContentInput.TrackContentId)]); diff --git a/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs index 7ebad5f1..000dbe3b 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs @@ -1,5 +1,4 @@ using SJZY.Track.Domain.Dtos.TrackContents; -using SJZY.Track.Domain.Dtos.TrackTemplate; namespace SJZY.Track.Domain.Aggregates.TrackContentAggregate; @@ -27,7 +26,4 @@ public interface ITrackContentRepository : IBasicRepository Expression> whereExpression); Task GetTemplateIsExist(int trackContentId); - - Task> GetTrackContentAttributeValue( - GetTemplateContentAttributeValueInputVO input); } diff --git a/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/TrackContentEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/TrackContentEntity.cs index 324888ec..b021473d 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/TrackContentEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/TrackContentEntity.cs @@ -47,4 +47,10 @@ public class TrackContentEntity : IFullAuditedBasicEntitys, IAggregateRoot /// [SugarColumn(ColumnName = "TrackStatusId")] public int TrackStatusId { get; set; } + + /// + /// 是否对外 + /// + [SugarColumn(ColumnName = "IsExternal")] + public bool IsExternal { get; set; } } diff --git a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs index 8db3675a..0e3311c7 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs @@ -82,18 +82,28 @@ public class TrackDetailsIndex : IdBaseIndex /// public DateTime ZeroTrackTime { get; set; } - /// 是否可删 + /// + /// 是否可删 + /// public bool IsCanDelete { get; set; } - /// 创建人 + /// + /// 创建人 + /// public string? CreateUser { get; set; } - /// 创建时间 + /// + /// 创建时间 + /// public DateTime CreateTime { get; set; } - /// 修改人 + /// + /// 修改人 + /// public string? UpdateUser { get; set; } - /// 修改时间 + /// + /// 修改时间 + /// public DateTime? UpdateTime { get; set; } } diff --git a/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/TrackStatusEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/TrackStatusEntity.cs index fee02514..67088e76 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/TrackStatusEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackStatusAggregate/TrackStatusEntity.cs @@ -13,16 +13,10 @@ public class TrackStatusEntity : IFullAuditedBasicEntitys, IAggregateRoot public int Id { get; set; } /// - /// 轨迹状态代码 + /// 子系统id /// - [SugarColumn(ColumnName = "Code")] - public string Code { get; set; } = null!; - - /// - /// 轨迹状态英文 - /// - [SugarColumn(ColumnName = "EnStatus")] - public string EnStatus { get; set; } = null!; + [SugarColumn(ColumnName = "SubSystemId")] + public int SubSystemId { get; set; } /// /// 所属节点(来自表 t_track_node) 之前是枚举,后续调整为表 @@ -30,6 +24,12 @@ public class TrackStatusEntity : IFullAuditedBasicEntitys, IAggregateRoot [SugarColumn(ColumnName = "Node")] public int Node { get; set; } + /// + /// 轨迹状态代码 + /// + [SugarColumn(ColumnName = "Code")] + public string Code { get; set; } = null!; + /// /// 轨迹状态 /// @@ -37,8 +37,8 @@ public class TrackStatusEntity : IFullAuditedBasicEntitys, IAggregateRoot public string Status { get; set; } = null!; /// - /// 子系统id + /// 轨迹状态英文 /// - [SugarColumn(ColumnName = "SubSystemId")] - public int SubSystemId { get; set; } + [SugarColumn(ColumnName = "EnStatus")] + public string EnStatus { get; set; } = null!; } diff --git a/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateContentEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateContentEntity.cs index 46f8806b..f8874401 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateContentEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateContentEntity.cs @@ -12,18 +12,6 @@ public class TrackTemplateContentEntity : IFullAuditedBasicEntitys, IEntity [SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)] public int Id { get; set; } - /// - /// 是否可删 - /// - [SugarColumn(ColumnName = "IsCanDelete")] - public bool IsCanDelete { get; set; } - - /// - /// 是否对外 - /// - [SugarColumn(ColumnName = "IsExternal")] - public bool IsExternal { get; set; } - /// /// 排序 /// diff --git a/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateEntity.cs b/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateEntity.cs index 93b68c16..e1236990 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackTemplateAggregate/TrackTemplateEntity.cs @@ -29,10 +29,4 @@ public class TrackTemplateEntity : IFullAuditedBasicEntitys, IAggregateRoot /// [SugarColumn(ColumnName = "SubSystemId")] public int SubSystemId { get; set; } - - /// - /// 显示原轨迹 - /// - [SugarColumn(ColumnName = "ShowOrigin")] - public bool ShowOrigin { get; set; } } diff --git a/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetTemplateContentAttributeValueInputVO.cs b/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetTemplateContentAttributeValueInputVO.cs deleted file mode 100644 index b9d80fcb..00000000 --- a/src/SJZY.Track.Domain/Dtos/TrackTemplate/GetTemplateContentAttributeValueInputVO.cs +++ /dev/null @@ -1,57 +0,0 @@ -namespace SJZY.Track.Domain.Dtos.TrackTemplate; - -public class GetTemplateContentAttributeValueInputVO -{ - /// - /// 子系统id - /// - public int SubSystemId { get; set; } - - /// - /// 轨迹代码 - /// - public List? TrackCodes { get; set; } - - /// - /// 轨迹模板Id - /// - public List? TrackTemplateIds { 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.Domain/Queries/IProvideQueries.cs b/src/SJZY.Track.Domain/Queries/IProvideQueries.cs index 14c5b80c..92d5f54b 100644 --- a/src/SJZY.Track.Domain/Queries/IProvideQueries.cs +++ b/src/SJZY.Track.Domain/Queries/IProvideQueries.cs @@ -1,7 +1,6 @@ using SJZY.Track.Domain.Dtos.Order; using SJZY.Track.Domain.Dtos.TrackContents; using SJZY.Track.Domain.Dtos.TrackDetails; -using SJZY.Track.Domain.Dtos.TrackTemplate; namespace SJZY.Track.Domain.Queries; @@ -10,21 +9,6 @@ namespace SJZY.Track.Domain.Queries; /// public interface IProvideQueries { - /// - /// 根据订单号,获取订单模板 - /// - /// 订单类型 - /// 订单号 - /// - Task> GetOrderTemplateLinksAsync(int orderType, List orderNumbers); - - /// - /// 根据订单模板,获取有序的轨迹code - /// - /// 模板id - /// - Task> GetOrderedTrackCodesAsync(List templateIds); - /// /// 根据订单id找到订单模板,匹配模板命中的轨迹内容 /// @@ -33,14 +17,6 @@ public interface IProvideQueries /// Task> MatchTrackContentAsync(int[] orderIds, string code); - /// - /// 获取可删除的订单轨迹代码 - /// - /// - /// - /// - Task> GetCanDeleteTrackCodesAsync(List orderIds, List trackCodes); - /// /// 根据子系统内容映射,得到映射后的轨迹code /// diff --git a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs index dad52683..76d227b7 100644 --- a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs +++ b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs @@ -5,7 +5,6 @@ using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate; using SJZY.Track.Domain.Dtos.Order; using SJZY.Track.Domain.Dtos.TrackContents; using SJZY.Track.Domain.Dtos.TrackDetails; -using SJZY.Track.Domain.Dtos.TrackTemplate; using SJZY.Track.Domain.Queries; using SJZY.Track.Domain.VEntities; @@ -25,38 +24,6 @@ public class ProvideQueries : ISugarRepository, IProvideQueries, Context = SqlsugarScopeBasic.GetContextSafely("default"); } - /// - public async Task> GetOrderTemplateLinksAsync(int orderType, List orderNumbers) - { - return await Context.Queryable() - .LeftJoin((a, b) => a.Id == b.OrderId) - .Where(a => a.OrderType == orderType && orderNumbers.Contains(a.OrderNo)) - .Select((a, b) => new OrderTemplateLinkDto - { - OrderNo = a.OrderNo, - TemplateId = b.TrackTemplateId - }) - .ToListAsync(); - } - - /// - public async Task> GetOrderedTrackCodesAsync(List templateIds) - { - return await Context.Queryable() - .LeftJoin((a, b) => a.Id == b.TrackTemplateId) - .LeftJoin((a, b, c) => b.TrackContentId == c.Id) - .Where(a => templateIds.Contains(a.Id)) - .OrderBy((a, b) => b.Sort) - .Select((a, b, c) => new OrderedTrackCodeDto - { - TemplateId = a.Id, - ShowOrigin = a.ShowOrigin, - Code = c.Code, - IsExternal = b.IsExternal - }) - .ToListAsync(); - } - /// public async Task> MatchTrackContentAsync(int[] orderIds, string code) { @@ -72,25 +39,7 @@ public class ProvideQueries : ISugarRepository, IProvideQueries, TrackCode = b.Code, Content = b.Content, EnContent = b.EnContent, - Status = c.Status, - IsCanDelete = a.IsCanDelete - }) - .ToListAsync(); - } - - /// - public async Task> GetCanDeleteTrackCodesAsync(List orderIds, - List trackCodes) - { - return await Context.Queryable() - .LeftJoin((x, a) => x.TrackTemplateId == a.TrackTemplateId && a.IsCanDelete) - .LeftJoin((x, a, b) => a.TrackContentId == b.Id) - .Where((x, a, b) => orderIds.Contains(x.OrderId) - && trackCodes.Contains(b.Code) && a.IsCanDelete) - .Select((x, a, b) => new CanDeleteTrackCodeVO - { - OrderId = x.OrderId, - TrackCode = b.Code + Status = c.Status }) .ToListAsync(); } diff --git a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs index a0d8ca0d..3e885233 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs @@ -4,7 +4,6 @@ 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; namespace SJZY.Track.Repository.Repositories; @@ -90,35 +89,6 @@ 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) - .WhereIF(!input.TrackTemplateIds.IsNullOrEmpty(), (a, b, c) => input.TrackTemplateIds!.Contains(c.Id)) - .Where((a, b, c) => c.Id > 0) - //.OrderByIF(!input.TrackTemplateIds.IsNullOrEmpty(), (a, b, c) => SqlFunc.IIF(input.TrackTemplateIds.Contains(a.Id), SqlFunc.DateAdd(SqlFunc.GetDate(), 1), c.CreateTime), OrderByType.Desc) - .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; - } - /// /// 获取轨迹模版是否存在 /// diff --git a/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs index 7250b1e2..60302e81 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackTemplateRepository.cs @@ -28,8 +28,7 @@ public class TrackTemplateRepository : BasicRepository, ITr Code = a.Code, Name = a.Name, SubSystemId = a.SubSystemId, - SubSystem = b.CnName, - ShowOrigin = a.ShowOrigin + SubSystem = b.CnName }).FirstAsync(); return detail; @@ -181,14 +180,4 @@ public class TrackTemplateRepository : BasicRepository, ITr return await Context.Updateable().SetColumns(columns).Where(whereExpression) .ExecuteCommandHasChangeAsync(); } - - /// - /// 获取轨迹内容属性值 - /// - /// - public async Task GetTrackContentAttributeValue( - GetTemplateContentAttributeValueInputVO input) - { - return null; - } }