diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpdateServiceProviderPullConfigsInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpdateServiceProviderPullConfigsInput.cs index 0b4069ed..fd0dca43 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpdateServiceProviderPullConfigsInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpdateServiceProviderPullConfigsInput.cs @@ -1,18 +1,6 @@ -using System.ComponentModel.DataAnnotations; - namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; -public class UpdateServiceProviderPullConfigsInput : PullConfigInfo +public class UpdateOrderPullConfigsInput : OrderNosInfo { - /// - /// 子系统id - /// - [Required] - public int SubSystemId { get; set; } - - /// - /// 业务唯一key - /// - [Required] - public string Key { get; set; } + public PullConfigInfo Config { get; set; } } diff --git a/src/SJZY.Track.Application.Contract/Services/ProvideServices/IOrderService.cs b/src/SJZY.Track.Application.Contract/Services/ProvideServices/IOrderService.cs index 6caf7487..8f469cde 100644 --- a/src/SJZY.Track.Application.Contract/Services/ProvideServices/IOrderService.cs +++ b/src/SJZY.Track.Application.Contract/Services/ProvideServices/IOrderService.cs @@ -31,5 +31,5 @@ public interface IOrderService : IRemoteService /// /// /// - public Task UpdateServiceProviderPullConfigsAsync(UpdateServiceProviderPullConfigsInput input); + public Task UpdateOrderPullConfigsAsync(UpdateOrderPullConfigsInput input); } diff --git a/src/SJZY.Track.Application/Services/ProvideServices/OrderService.PullConfigs.cs b/src/SJZY.Track.Application/Services/ProvideServices/OrderService.PullConfigs.cs index df25b1a5..332d0624 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/OrderService.PullConfigs.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/OrderService.PullConfigs.cs @@ -9,18 +9,19 @@ namespace SJZY.Track.Application.Services.ProvideServices; public partial class OrderService { /// - /// 修改服务商拉取信息(轻易勿动) + /// 修改订单拉取信息(轻易勿动) /// /// /// - [HttpPost("Order/UpdateServiceProviderPullConfigs")] - public async Task UpdateServiceProviderPullConfigsAsync(UpdateServiceProviderPullConfigsInput input) + [HttpPost("Order/UpdateOrderPullConfigs")] + public async Task UpdateOrderPullConfigsAsync(UpdateOrderPullConfigsInput input) { var orderIds = await _orderRepository.GetArrayAsync( - x => x.SubSystemId == input.SubSystemId && x.BusinessKey == input.Key, + x => x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType && + input.OrderNos.Contains(x.OrderNo), x => x.Id); var inputVo = ObjectMapper - .Map(input); + .Map(input.Config); inputVo.OrderIds = orderIds; var cnt = await _orderRepository.UpdateOrderPullConfigForServiceProviderAsync(inputVo); diff --git a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/IOrderRepository.cs b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/IOrderRepository.cs index 1f48970f..7cbae557 100644 --- a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/IOrderRepository.cs +++ b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/IOrderRepository.cs @@ -128,7 +128,7 @@ public interface IOrderRepository : IBasicRepository /// /// /// - Task UpdateOrderPullConfigForServiceProviderAsync(UpdateOrderPullConfigForServiceProviderInputVo inputVo); + Task UpdateOrderPullConfigForServiceProviderAsync(UpdateOrderPullConfigsInputVo inputVo); #endregion } diff --git a/src/SJZY.Track.Domain/Dtos/Order/UpdateOrderPullConfigForServiceProviderInputVo.cs b/src/SJZY.Track.Domain/Dtos/Order/UpdateOrderPullConfigForServiceProviderInputVo.cs index cc601f12..73c1943d 100644 --- a/src/SJZY.Track.Domain/Dtos/Order/UpdateOrderPullConfigForServiceProviderInputVo.cs +++ b/src/SJZY.Track.Domain/Dtos/Order/UpdateOrderPullConfigForServiceProviderInputVo.cs @@ -1,6 +1,6 @@ namespace SJZY.Track.Domain.Dtos.Order; -public class UpdateOrderPullConfigForServiceProviderInputVo +public class UpdateOrderPullConfigsInputVo { /// /// 订单id diff --git a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs index 671a0025..e99287a3 100644 --- a/src/SJZY.Track.Repository/Repositories/OrderRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/OrderRepository.cs @@ -1,6 +1,7 @@ using SJZY.Expand.ABP.Core.Logger; using SJZY.Track.Domain; using SJZY.Track.Domain.Aggregates.OrderAggregate; +using SJZY.Track.Domain.Consts; using SJZY.Track.Domain.Dtos.Order; using SJZY.Track.Domain.Enums; using SJZY.Track.Domain.VEntities; @@ -304,15 +305,19 @@ public class OrderRepository : BasicRepository, IOrderRepository, I } public async Task UpdateOrderPullConfigForServiceProviderAsync( - UpdateOrderPullConfigForServiceProviderInputVo inputVo) + UpdateOrderPullConfigsInputVo inputVo) { - // todo:如此更新,影响范围是否可控?状态是否正确? + // tips:如此更新,影响范围是否可控?状态是否正确? return await Context.Updateable() .SetColumns(x => x.ServiceProviderCode == inputVo.ServiceCode) .SetColumns(x => x.StartTrackCode == inputVo.StartCode) .SetColumns(x => x.EndTrackCode == inputVo.EndCode) .SetColumns(x => x.SilenceBeforeStart == inputVo.SilenceTime) .SetColumns(x => x.SilenceAfterEnd == inputVo.StopTime) + // 直接将订单拉取状态更新为拉取中,不再考虑性能 + .SetColumns(x => x.StartTime == DateTime.Now) + .SetColumns(x => x.EndTime == GlobalConst.MaxDateTime) + .SetColumns(x => x.PullStatus == TrackPullStatus.Pulling) .Where(x => inputVo.OrderIds.Contains(x.OrderId)) .ExecuteCommandAsync(); }