change:修改订单拉取信息变更(对外接口)

This commit is contained in:
xiaolipro 2024-09-19 15:37:17 +08:00
parent c7a1d91753
commit 13a4c31770
6 changed files with 18 additions and 24 deletions

View File

@ -1,18 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices; namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
public class UpdateServiceProviderPullConfigsInput : PullConfigInfo public class UpdateOrderPullConfigsInput : OrderNosInfo
{ {
/// <summary> public PullConfigInfo Config { get; set; }
/// 子系统id
/// </summary>
[Required]
public int SubSystemId { get; set; }
/// <summary>
/// 业务唯一key
/// </summary>
[Required]
public string Key { get; set; }
} }

View File

@ -31,5 +31,5 @@ public interface IOrderService : IRemoteService
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
public Task<UnifyResultDto> UpdateServiceProviderPullConfigsAsync(UpdateServiceProviderPullConfigsInput input); public Task<UnifyResultDto> UpdateOrderPullConfigsAsync(UpdateOrderPullConfigsInput input);
} }

View File

@ -9,18 +9,19 @@ namespace SJZY.Track.Application.Services.ProvideServices;
public partial class OrderService public partial class OrderService
{ {
/// <summary> /// <summary>
/// 修改服务商拉取信息(轻易勿动) /// 修改订单拉取信息(轻易勿动)
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost("Order/UpdateServiceProviderPullConfigs")] [HttpPost("Order/UpdateOrderPullConfigs")]
public async Task<UnifyResultDto> UpdateServiceProviderPullConfigsAsync(UpdateServiceProviderPullConfigsInput input) public async Task<UnifyResultDto> UpdateOrderPullConfigsAsync(UpdateOrderPullConfigsInput input)
{ {
var orderIds = await _orderRepository.GetArrayAsync( 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); x => x.Id);
var inputVo = ObjectMapper var inputVo = ObjectMapper
.Map<UpdateServiceProviderPullConfigsInput, UpdateOrderPullConfigForServiceProviderInputVo>(input); .Map<PullConfigInfo, UpdateOrderPullConfigsInputVo>(input.Config);
inputVo.OrderIds = orderIds; inputVo.OrderIds = orderIds;
var cnt = await _orderRepository.UpdateOrderPullConfigForServiceProviderAsync(inputVo); var cnt = await _orderRepository.UpdateOrderPullConfigForServiceProviderAsync(inputVo);

View File

@ -128,7 +128,7 @@ public interface IOrderRepository : IBasicRepository<OrderEntity>
/// </summary> /// </summary>
/// <param name="inputVo"></param> /// <param name="inputVo"></param>
/// <returns></returns> /// <returns></returns>
Task<int> UpdateOrderPullConfigForServiceProviderAsync(UpdateOrderPullConfigForServiceProviderInputVo inputVo); Task<int> UpdateOrderPullConfigForServiceProviderAsync(UpdateOrderPullConfigsInputVo inputVo);
#endregion #endregion
} }

View File

@ -1,6 +1,6 @@
namespace SJZY.Track.Domain.Dtos.Order; namespace SJZY.Track.Domain.Dtos.Order;
public class UpdateOrderPullConfigForServiceProviderInputVo public class UpdateOrderPullConfigsInputVo
{ {
/// <summary> /// <summary>
/// 订单id /// 订单id

View File

@ -1,6 +1,7 @@
using SJZY.Expand.ABP.Core.Logger; using SJZY.Expand.ABP.Core.Logger;
using SJZY.Track.Domain; using SJZY.Track.Domain;
using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.OrderAggregate;
using SJZY.Track.Domain.Consts;
using SJZY.Track.Domain.Dtos.Order; using SJZY.Track.Domain.Dtos.Order;
using SJZY.Track.Domain.Enums; using SJZY.Track.Domain.Enums;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
@ -304,15 +305,19 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
} }
public async Task<int> UpdateOrderPullConfigForServiceProviderAsync( public async Task<int> UpdateOrderPullConfigForServiceProviderAsync(
UpdateOrderPullConfigForServiceProviderInputVo inputVo) UpdateOrderPullConfigsInputVo inputVo)
{ {
// todo:如此更新,影响范围是否可控?状态是否正确? // tips:如此更新,影响范围是否可控?状态是否正确?
return await Context.Updateable<OrderPullStatusEntity>() return await Context.Updateable<OrderPullStatusEntity>()
.SetColumns(x => x.ServiceProviderCode == inputVo.ServiceCode) .SetColumns(x => x.ServiceProviderCode == inputVo.ServiceCode)
.SetColumns(x => x.StartTrackCode == inputVo.StartCode) .SetColumns(x => x.StartTrackCode == inputVo.StartCode)
.SetColumns(x => x.EndTrackCode == inputVo.EndCode) .SetColumns(x => x.EndTrackCode == inputVo.EndCode)
.SetColumns(x => x.SilenceBeforeStart == inputVo.SilenceTime) .SetColumns(x => x.SilenceBeforeStart == inputVo.SilenceTime)
.SetColumns(x => x.SilenceAfterEnd == inputVo.StopTime) .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)) .Where(x => inputVo.OrderIds.Contains(x.OrderId))
.ExecuteCommandAsync(); .ExecuteCommandAsync();
} }