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;
public class UpdateServiceProviderPullConfigsInput : PullConfigInfo
public class UpdateOrderPullConfigsInput : OrderNosInfo
{
/// <summary>
/// 子系统id
/// </summary>
[Required]
public int SubSystemId { get; set; }
/// <summary>
/// 业务唯一key
/// </summary>
[Required]
public string Key { get; set; }
public PullConfigInfo Config { get; set; }
}

View File

@ -31,5 +31,5 @@ public interface IOrderService : IRemoteService
/// </summary>
/// <param name="input"></param>
/// <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
{
/// <summary>
/// 修改服务商拉取信息(轻易勿动)
/// 修改订单拉取信息(轻易勿动)
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("Order/UpdateServiceProviderPullConfigs")]
public async Task<UnifyResultDto> UpdateServiceProviderPullConfigsAsync(UpdateServiceProviderPullConfigsInput input)
[HttpPost("Order/UpdateOrderPullConfigs")]
public async Task<UnifyResultDto> 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<UpdateServiceProviderPullConfigsInput, UpdateOrderPullConfigForServiceProviderInputVo>(input);
.Map<PullConfigInfo, UpdateOrderPullConfigsInputVo>(input.Config);
inputVo.OrderIds = orderIds;
var cnt = await _orderRepository.UpdateOrderPullConfigForServiceProviderAsync(inputVo);

View File

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

View File

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

View File

@ -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<OrderEntity>, IOrderRepository, I
}
public async Task<int> UpdateOrderPullConfigForServiceProviderAsync(
UpdateOrderPullConfigForServiceProviderInputVo inputVo)
UpdateOrderPullConfigsInputVo inputVo)
{
// todo:如此更新,影响范围是否可控?状态是否正确?
// tips:如此更新,影响范围是否可控?状态是否正确?
return await Context.Updateable<OrderPullStatusEntity>()
.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();
}