add:为所有对外接口加上子系统参数
This commit is contained in:
parent
42bae65d38
commit
8bf76305fe
@ -8,5 +8,6 @@ public class BatchDeleteTrackInput : OrderNosInfo
|
||||
/// 轨迹code,必填
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MaxLength(500)]
|
||||
public List<string> TrackCodes { get; set; } = new();
|
||||
}
|
||||
|
||||
@ -27,12 +27,12 @@ public class BatchUpsertTrackInput : OrderNosInfo
|
||||
/// 轨迹发生时间
|
||||
/// </summary>
|
||||
[Required]
|
||||
public DateTime? TrackTime { get; set; }
|
||||
public DateTime TrackTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轨迹发生时区
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Range(-12, 12)]
|
||||
public float? TrackTimeZone { get; set; }
|
||||
public float TrackTimeZone { get; set; }
|
||||
}
|
||||
|
||||
@ -4,6 +4,13 @@ namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||
|
||||
public class LinkOrderInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 子系统id
|
||||
/// </summary>
|
||||
[Required]
|
||||
[Range(1, int.MaxValue)]
|
||||
public int SubSystemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// false解绑,true关联
|
||||
/// </summary>
|
||||
|
||||
@ -49,5 +49,6 @@ public class OrderNosInfo
|
||||
/// 订单号
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MaxLength(500)]
|
||||
public List<string> OrderNos { get; set; } = new();
|
||||
}
|
||||
|
||||
@ -3,7 +3,6 @@ using SJZY.Expand.ABP.Core;
|
||||
using SJZY.Expand.ABP.Core.Logger;
|
||||
using SJZY.Expand.ABP.Core.PublicMethords;
|
||||
using SJZY.Track.Application.Helpers;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
|
||||
namespace SJZY.Track.Application.CAP;
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@ using Microsoft.Extensions.Logging;
|
||||
using SJZY.Expand.ABP.Core;
|
||||
using SJZY.Track.Application.Contract.Events;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
namespace SJZY.Track.Application.CAP.EventHandlers;
|
||||
|
||||
@ -3,7 +3,6 @@ using SJZY.Track.Application.Contract.Dtos.Forewarning;
|
||||
using SJZY.Track.Application.Contract.Events;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@ using SJZY.Expand.ABP.Core.PublicMethords;
|
||||
using SJZY.Track.Application.Contract.Events;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
@ -29,16 +28,16 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
||||
[CapSubscribe(GlobalConst.TrackDeleteSubscribe, Group = GlobalConst.TrackDeleteSubscribe)]
|
||||
public async Task ConsumerAsync(TrackDeleteEvent @event)
|
||||
{
|
||||
var dup = @event.Visited.Intersect(@event.OrderIds).ToArray();
|
||||
if (dup.Any())
|
||||
{
|
||||
LogHelper.Warn($"删除轨迹时,发现循环依赖:{dup.JoinAsString(",")}", true);
|
||||
return;
|
||||
}
|
||||
if (!CanDelete(@event)) return;
|
||||
|
||||
await DeleteTrackAsync(@event);
|
||||
|
||||
// 根据订单关联关系异步向下刷(异步)
|
||||
await DownByOrderLink(@event);
|
||||
}
|
||||
|
||||
private async Task DownByOrderLink(TrackDeleteEvent @event)
|
||||
{
|
||||
var linkedOrders = await _orderRepository.GetLinkedOrdersAsync(@event.OrderIds);
|
||||
foreach (var orderId in @event.OrderIds)
|
||||
{
|
||||
@ -82,6 +81,26 @@ public class TrackDeleteEventHandler : ITransientDependency, ICapSubscribe
|
||||
}
|
||||
}
|
||||
|
||||
private bool CanDelete(TrackDeleteEvent @event)
|
||||
{
|
||||
// 系统创建的轨迹不允许删除
|
||||
if (@event.Visited.IsNullOrEmpty() && @event.OperationMan == GlobalConst.SystemUser)
|
||||
{
|
||||
LogHelper.Warn($"系统创建的轨迹不允许被删除:{@event}", true);
|
||||
return false;
|
||||
}
|
||||
|
||||
// 订单循环关联检测
|
||||
var dup = @event.Visited.Intersect(@event.OrderIds).ToArray();
|
||||
if (!dup.Any())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
LogHelper.Warn($"删除轨迹时,发现循环依赖:{dup.JoinAsString(",")}", true);
|
||||
return false;
|
||||
}
|
||||
|
||||
private async Task DeleteTrackAsync(TrackDeleteEvent @event)
|
||||
{
|
||||
// 删除轨迹(删的是同子系统下的单,所以code是统一的)
|
||||
|
||||
@ -5,7 +5,6 @@ using SJZY.Track.Application.Contract.Dtos.TrackPush;
|
||||
using SJZY.Track.Application.Helpers;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Enums;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
|
||||
@ -9,7 +9,6 @@ using SJZY.Track.Application.Helpers;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Enums;
|
||||
using SJZY.Track.Share.Enums;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
@ -4,7 +4,6 @@ using SJZY.Expand.ABP.Core.PublicMethords;
|
||||
using SJZY.Track.Application.Contract.Events;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
using OrderIdentifier = SJZY.Track.Application.Contract.Events.OrderIdentifier;
|
||||
@ -134,6 +133,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
{
|
||||
track = new TrackDetailsIndex
|
||||
{
|
||||
SubSystemId = @event.SubSystemId,
|
||||
OrderId = order.OrderId,
|
||||
OrderNo = order.OrderNo,
|
||||
OrderType = order.OrderType,
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
global using SJZY.Track.Domain.Consts;
|
||||
global using Microsoft.AspNetCore.Mvc;
|
||||
global using Microsoft.Extensions.DependencyInjection;
|
||||
global using SJZY.Expand.ABP.Common.Enums;
|
||||
@ -1,7 +1,6 @@
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using SJZY.Expand.ABP.Core;
|
||||
using SJZY.Track.Domain.Aggregates.ForewarningAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Dtos.Forewarning;
|
||||
|
||||
namespace SJZY.Track.Application.HostServices;
|
||||
|
||||
@ -16,7 +16,6 @@ using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Application.Helpers;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Enums;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
@ -306,6 +305,7 @@ public class TrackRefreshEventHandler : ITransientDependency, IRabbitHandler
|
||||
var track = new TrackDetailsIndex
|
||||
{
|
||||
IndexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}",
|
||||
SubSystemId = context.SubSystemId,
|
||||
OrderId = context.OrderId,
|
||||
OrderType = context.OrderType,
|
||||
OrderNo = context.OrderNo,
|
||||
|
||||
@ -3,7 +3,6 @@ using SJZY.Expand.ABP.Core;
|
||||
using SJZY.Expand.ABP.Core.PublicMethords;
|
||||
using SJZY.Track.Domain.Aggregates.ForewarningAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.KPIAreaAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Dtos.Forewarning;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
@ -4,7 +4,6 @@ using SJZY.Expand.ABP.Core;
|
||||
using SJZY.Track.Application.Contract.Dtos.Forewarning;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Domain.Aggregates.ForewarningAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Dtos.Forewarning;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Domain.Aggregates.KPIAreaAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
namespace SJZY.Track.Application.Services.ForewarningServices;
|
||||
|
||||
@ -3,7 +3,6 @@ using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||
using SJZY.Track.Application.Contract.Events;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
|
||||
namespace SJZY.Track.Application.Services.ProvideServices;
|
||||
@ -26,19 +25,15 @@ public partial class OrderService
|
||||
[HttpPost("Order/Link")]
|
||||
public async Task<UnifyResultDto> LinkOrderAsync(LinkOrderInput input)
|
||||
{
|
||||
var order = await _orderRepository.GetFirstAsync(x =>
|
||||
x.OrderType == input.OrderType && x.OrderNo == input.OrderNo,
|
||||
x => new
|
||||
{
|
||||
x.Id,
|
||||
x.SubSystemId
|
||||
});
|
||||
if (order == default)
|
||||
var orderId = await _orderRepository.GetFirstAsync(x =>
|
||||
x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType && x.OrderNo == input.OrderNo,
|
||||
x => x.Id);
|
||||
if (orderId == default)
|
||||
{
|
||||
throw new BusinessException(message: $"订单:{input.OrderNo}不存在");
|
||||
}
|
||||
|
||||
//tips:循环关联问题再消费时解决
|
||||
// tips:循环关联问题再消费时解决
|
||||
if (input.OrderType == input.LinkOrderType)
|
||||
{
|
||||
throw new BusinessException(message: "不能同级关联");
|
||||
@ -51,11 +46,16 @@ public partial class OrderService
|
||||
.Where(x => !x.IsNullOrWhiteSpace() && x != input.OrderNo)
|
||||
.Distinct().ToList();
|
||||
|
||||
// 解绑
|
||||
if (!input.IsLink) return await UnLinkOrderAsync(input);
|
||||
|
||||
// 关联订单
|
||||
await DoLinkOrderAsync(input, order.Id);
|
||||
if (!input.IsLink)
|
||||
{
|
||||
// 解绑
|
||||
await UnLinkOrderAsync(input);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 关联订单
|
||||
await DoLinkOrderAsync(input, orderId);
|
||||
}
|
||||
|
||||
return new UnifyResultDto(true, true);
|
||||
}
|
||||
@ -101,7 +101,7 @@ public partial class OrderService
|
||||
|
||||
var tracks = await _trackDetailsRepository.GetListAsync(orderId);
|
||||
|
||||
// 补轨迹
|
||||
// 补轨迹(按子系统、按客户分,同样是为了方便轨迹upsert和push)
|
||||
foreach (var group in existedOrders.GroupBy(x => new
|
||||
{
|
||||
x.SubSystemId,
|
||||
@ -127,7 +127,7 @@ public partial class OrderService
|
||||
TrackPlace = track.TrackPlace,
|
||||
TrackTime = track.TrackTime,
|
||||
TrackTimeZone = track.TrackTimeZone,
|
||||
IsAdd = true
|
||||
IsAdd = true // 存在则不新增
|
||||
};
|
||||
|
||||
await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, fillTrackEvent);
|
||||
@ -135,7 +135,7 @@ public partial class OrderService
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> UnLinkOrderAsync(LinkOrderInput input)
|
||||
private async Task UnLinkOrderAsync(LinkOrderInput input)
|
||||
{
|
||||
var unLinkIds = await _orderLinkQuery.GetListAsync(x =>
|
||||
x.OrderType == input.OrderType && x.OrderNo == input.OrderNo &&
|
||||
@ -144,7 +144,5 @@ public partial class OrderService
|
||||
|
||||
// real del
|
||||
await _orderRepository.UnLinkByIdsAsync(unLinkIds);
|
||||
|
||||
return new UnifyResultDto(true, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,7 +4,6 @@ using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using SJZY.UserCenter.HttpApi.Services;
|
||||
|
||||
@ -39,11 +38,9 @@ public partial class OrderService : ApplicationService, IOrderService
|
||||
[HttpPost("Order/Upsert")]
|
||||
public async Task<UnifyResultDto<IdBaseDto>> UpsertAsync(UpsertOrderInput input)
|
||||
{
|
||||
var subSystemId = input.SubSystemId;
|
||||
|
||||
// 校验订单是否已存在,存在则更新
|
||||
var order = await _orderRepository.GetFirstAsync(x =>
|
||||
x.SubSystemId == subSystemId && x.OrderType == input.OrderType && x.OrderNo == input.OrderNo);
|
||||
x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType && x.OrderNo == input.OrderNo);
|
||||
if (order != default)
|
||||
{
|
||||
// 订单已存在则视为更新
|
||||
@ -66,7 +63,7 @@ public partial class OrderService : ApplicationService, IOrderService
|
||||
}
|
||||
|
||||
order = ObjectMapper.Map<UpsertOrderInput, OrderEntity>(input);
|
||||
order.SubSystemId = subSystemId;
|
||||
order.SubSystemId = input.SubSystemId;
|
||||
order.OrderFlights = ObjectMapper.Map<List<OrderFlightInfo>, List<OrderFlightEntity>>(input.FlightInfos);
|
||||
order.OrderPullStatus = BuiltOrderPullStatus(input.PullConfigInfos);
|
||||
|
||||
@ -100,9 +97,9 @@ public partial class OrderService : ApplicationService, IOrderService
|
||||
[HttpPost("Order/Delete")]
|
||||
public async Task<UnifyResultDto<IdBaseDto>> DeleteOrderAsync(DeleteOrderInput input)
|
||||
{
|
||||
var susSystemId = input.SubSystemId;
|
||||
var orderId = await _orderRepository.GetFirstAsync(x =>
|
||||
x.SubSystemId == susSystemId && x.OrderType == input.OrderType && x.OrderNo == input.OrderNo, x => x.Id);
|
||||
x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType && x.OrderNo == input.OrderNo,
|
||||
x => x.Id);
|
||||
if (orderId == default)
|
||||
{
|
||||
throw new BusinessException(message: $"订单:{input.OrderNo}不存在");
|
||||
|
||||
@ -8,7 +8,6 @@ using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Application.Helpers;
|
||||
using SJZY.Track.Application.Rabbit;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Queries;
|
||||
using Volo.Abp.Http.Client.DynamicProxying;
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@ using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||
using SJZY.Track.Application.Contract.Events;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.UserCenter.HttpApi.Services;
|
||||
using Volo.Abp.Http.Client.DynamicProxying;
|
||||
|
||||
@ -44,11 +43,11 @@ public class TrackPushService : ApplicationService
|
||||
input.OrderNos = input.OrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList(); // 单号去重、去空
|
||||
|
||||
var orders = await _orderRepository.GetArrayAsync(x =>
|
||||
x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo),
|
||||
x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType &&
|
||||
input.OrderNos.Contains(x.OrderNo),
|
||||
x => new
|
||||
{
|
||||
x.Id,
|
||||
x.SubSystemId,
|
||||
x.CustomId
|
||||
});
|
||||
|
||||
@ -58,25 +57,20 @@ public class TrackPushService : ApplicationService
|
||||
}
|
||||
|
||||
var userInfo = await _requestCurrentUserService.Service.GetCurrentUserBasicInfoAsync();
|
||||
if (userInfo.Code != "200" || userInfo.Data is null)
|
||||
if (userInfo.Code != GlobalConst.SuccessCode || userInfo.Data is null)
|
||||
{
|
||||
//TODO: log || ex
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo?.Msg}");
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo.Msg}");
|
||||
}
|
||||
|
||||
var name = userInfo.Data.UserName;
|
||||
|
||||
foreach (var group in orders.GroupBy(x => new
|
||||
{
|
||||
x.SubSystemId,
|
||||
x.CustomId
|
||||
}))
|
||||
foreach (var group in orders.GroupBy(x => x.CustomId))
|
||||
{
|
||||
var trackPushEvent = new TrackPushEvent
|
||||
{
|
||||
OptionType = OptionType.新增,
|
||||
SubSystemId = group.Key.SubSystemId,
|
||||
CustomId = group.Key.CustomId,
|
||||
SubSystemId = input.SubSystemId,
|
||||
CustomId = group.Key,
|
||||
OrderIds = group.Select(x => x.Id).ToArray(),
|
||||
TrackCode = input.TrackCode,
|
||||
OperationMan = name,
|
||||
@ -114,7 +108,8 @@ public class TrackPushService : ApplicationService
|
||||
public async Task<List<TrackPushRecordIndex>> GetTrackPushRecordsAsync(OrderNoInfo input)
|
||||
{
|
||||
var orderId = await _orderRepository.GetFirstAsync(x =>
|
||||
x.OrderType == input.OrderType && input.OrderNo == x.OrderNo, x => x.Id);
|
||||
x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType && input.OrderNo == x.OrderNo,
|
||||
x => x.Id);
|
||||
if (orderId == default)
|
||||
{
|
||||
throw new BusinessException(message: "订单不存在");
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
|
||||
namespace SJZY.Track.Application.Services.ProvideServices;
|
||||
|
||||
@ -20,17 +19,10 @@ public partial class TrackService
|
||||
[HttpPost("Track/Query")]
|
||||
public async Task<UnifyResultDto<List<GetTrackOutput>>> QueryAsync(GetTrackInput input)
|
||||
{
|
||||
if (input.OrderNos.Count > 500)
|
||||
{
|
||||
throw new BusinessException(message: "最多只能查询500单");
|
||||
}
|
||||
|
||||
var subSystemId = input.SubSystemId;
|
||||
|
||||
var res = new List<GetTrackOutput>();
|
||||
input.OrderNos = input.OrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList(); // 单号去重、去空
|
||||
|
||||
var details = await _trackDetailsRepository.GetListAsync(input.OrderType, input.OrderNos);
|
||||
var details = await _trackDetailsRepository.GetListAsync(input.SubSystemId, input.OrderType, input.OrderNos);
|
||||
|
||||
// 是否对外
|
||||
var trackCodes = details.Select(x => x.TrackCode)
|
||||
@ -42,7 +34,7 @@ public partial class TrackService
|
||||
if (!trackCodes.IsNullOrEmpty())
|
||||
{
|
||||
var trackContents = await _trackContentRepository.GetListAsync(x =>
|
||||
x.SubSystemId == subSystemId && trackCodes.Contains(x.Code),
|
||||
x.SubSystemId == input.SubSystemId && trackCodes.Contains(x.Code),
|
||||
x => new
|
||||
{
|
||||
x.Code,
|
||||
|
||||
@ -5,7 +5,6 @@ using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.UserCenter.HttpApi.Services;
|
||||
using Volo.Abp.Http.Client.DynamicProxying;
|
||||
|
||||
@ -44,13 +43,10 @@ public partial class TrackService : ApplicationService, ITrackService
|
||||
public async Task<UnifyResultDto> UpsertTrackAsync(UpsertTrackInput input)
|
||||
{
|
||||
var order = await _orderRepository.GetFirstAsync(x =>
|
||||
x.OrderType == input.OrderType && x.OrderNo == input.OrderNo,
|
||||
x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType && x.OrderNo == input.OrderNo,
|
||||
x => new
|
||||
{
|
||||
x.Id,
|
||||
x.SubSystemId,
|
||||
x.OrderNo,
|
||||
x.OrderType,
|
||||
x.CustomId
|
||||
});
|
||||
if (order == default)
|
||||
@ -59,25 +55,25 @@ public partial class TrackService : ApplicationService, ITrackService
|
||||
}
|
||||
|
||||
var userInfo = await _requestCurrentUserService.Service.GetCurrentUserBasicInfoAsync();
|
||||
if (userInfo.Code != "200" || userInfo.Data is null)
|
||||
if (userInfo.Code != GlobalConst.SuccessCode || userInfo.Data is null)
|
||||
{
|
||||
//TODO: log || ex
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo?.Msg}");
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo.Msg}");
|
||||
}
|
||||
|
||||
var name = userInfo.Data.UserName;
|
||||
|
||||
// 新增/更新轨迹
|
||||
var @event = ObjectMapper.Map<UpsertTrackInput, TrackUpsertEvent>(input);
|
||||
@event.SubSystemId = order.SubSystemId;
|
||||
@event.SubSystemId = input.SubSystemId;
|
||||
@event.CustomId = order.CustomId;
|
||||
@event.OrderIdentifiers = new[]
|
||||
{
|
||||
new OrderIdentifier
|
||||
{
|
||||
OrderId = order.Id,
|
||||
OrderNo = order.OrderNo,
|
||||
OrderType = order.OrderType,
|
||||
OrderNo = input.OrderNo,
|
||||
OrderType = input.OrderType,
|
||||
}
|
||||
};
|
||||
@event.OperationMan = name;
|
||||
@ -94,32 +90,19 @@ public partial class TrackService : ApplicationService, ITrackService
|
||||
[HttpPost("Track/Delete")]
|
||||
public async Task<UnifyResultDto> DeleteTrackAsync(DeleteTrackInput input)
|
||||
{
|
||||
var order = await _orderRepository.GetFirstAsync(
|
||||
x => x.OrderType == input.OrderType && x.OrderNo == input.OrderNo,
|
||||
x => new
|
||||
{
|
||||
x.Id,
|
||||
x.SubSystemId
|
||||
});
|
||||
if (order == default)
|
||||
var orderId = await _orderRepository.GetFirstAsync(
|
||||
x => x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType && x.OrderNo == input.OrderNo,
|
||||
x => x.Id);
|
||||
if (orderId == default)
|
||||
{
|
||||
throw new BusinessException(message: $"订单:{input.OrderNo}不存在");
|
||||
}
|
||||
|
||||
// todo:判断是否可以删除取决于这条轨迹的创建人是否是系统,这里要改
|
||||
// todo:这里重构吧,加入一个追踪id,然后根据追踪id删除,既可以防止误删,又可以减少查询
|
||||
var codes = input.TrackCodes;
|
||||
|
||||
if (codes.Count == 0)
|
||||
{
|
||||
throw new BusinessException(message: "没有一个轨迹代码是可删的");
|
||||
}
|
||||
|
||||
var userInfo = await _requestCurrentUserService.Service.GetCurrentUserBasicInfoAsync();
|
||||
if (userInfo.Code != "200" || userInfo.Data is null)
|
||||
if (userInfo.Code != GlobalConst.SuccessCode || userInfo.Data is null)
|
||||
{
|
||||
//TODO: log || ex
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo?.Msg}");
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo.Msg}");
|
||||
}
|
||||
|
||||
var name = userInfo.Data.UserName;
|
||||
@ -127,9 +110,9 @@ public partial class TrackService : ApplicationService, ITrackService
|
||||
// 删除轨迹
|
||||
var @event = new TrackDeleteEvent
|
||||
{
|
||||
OrderIds = new[] { order.Id },
|
||||
TrackCodes = codes,
|
||||
SubSystemId = order.SubSystemId,
|
||||
OrderIds = new[] { orderId },
|
||||
TrackCodes = input.TrackCodes,
|
||||
SubSystemId = input.SubSystemId,
|
||||
OperationMan = name
|
||||
};
|
||||
await _capPublisher.PublishAsync(GlobalConst.TrackDeleteSubscribe, @event);
|
||||
@ -146,46 +129,33 @@ public partial class TrackService : ApplicationService, ITrackService
|
||||
[HttpPost("Track/BatchDelete")]
|
||||
public async Task<UnifyResultDto> BatchDeleteTrackAsync(BatchDeleteTrackInput input)
|
||||
{
|
||||
var orders = await _orderRepository.GetListAsync(x =>
|
||||
x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo)
|
||||
, x => new
|
||||
{
|
||||
x.Id,
|
||||
x.SubSystemId
|
||||
}
|
||||
);
|
||||
input.OrderNos = input.OrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList(); // 单号去重、去空
|
||||
var orderIds = await _orderRepository.GetListAsync(x =>
|
||||
x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType &&
|
||||
input.OrderNos.Contains(x.OrderNo)
|
||||
, x => x.Id);
|
||||
|
||||
// todo:判断是否可以删除取决于这条轨迹的创建人是否是系统,这里要改
|
||||
var codes = input.TrackCodes;
|
||||
|
||||
if (codes.Count == 0)
|
||||
if (orderIds.Count == 0)
|
||||
{
|
||||
throw new BusinessException(message: "没有一个轨迹代码是可删的");
|
||||
throw new BusinessException(message: "订单一个都不存在");
|
||||
}
|
||||
|
||||
// 获取用户name
|
||||
var userInfo = await _requestCurrentUserService.Service.GetCurrentUserBasicInfoAsync();
|
||||
if (userInfo.Code != "200" || userInfo.Data is null)
|
||||
if (userInfo.Code != GlobalConst.SuccessCode || userInfo.Data is null)
|
||||
{
|
||||
//TODO: log || ex
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo?.Msg}");
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo.Msg}");
|
||||
}
|
||||
|
||||
var name = userInfo.Data.UserName;
|
||||
|
||||
// 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);
|
||||
// }
|
||||
// 删除轨迹
|
||||
var @event = new TrackDeleteEvent
|
||||
{
|
||||
OrderIds = orderIds.ToArray(),
|
||||
TrackCodes = input.TrackCodes,
|
||||
SubSystemId = input.SubSystemId,
|
||||
OperationMan = userInfo.Data.UserName
|
||||
};
|
||||
await _capPublisher.PublishAsync(GlobalConst.TrackDeleteSubscribe, @event);
|
||||
|
||||
return new UnifyResultDto(true, true);
|
||||
}
|
||||
@ -200,59 +170,51 @@ public partial class TrackService : ApplicationService, ITrackService
|
||||
public async Task<UnifyResultDto> BatchUpsertTrackAsync(BatchUpsertTrackInput input)
|
||||
{
|
||||
input.OrderNos = input.OrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList(); // 单号去重、去空
|
||||
if (input.OrderNos.Count == 0)
|
||||
{
|
||||
throw new BusinessException(message: "订单一个都不存在");
|
||||
}
|
||||
|
||||
var orders = await _orderRepository.GetListAsync(x =>
|
||||
x.OrderType == input.OrderType && input.OrderNos.Contains(x.OrderNo),
|
||||
x.SubSystemId == input.SubSystemId && x.OrderType == input.OrderType &&
|
||||
input.OrderNos.Contains(x.OrderNo),
|
||||
x => new
|
||||
{
|
||||
x.Id,
|
||||
x.OrderNo,
|
||||
x.SubSystemId,
|
||||
x.CustomId
|
||||
});
|
||||
|
||||
var userInfo = await _requestCurrentUserService.Service.GetCurrentUserBasicInfoAsync();
|
||||
if (userInfo.Code != "200" || userInfo.Data is null)
|
||||
if (orders.Count == 0)
|
||||
{
|
||||
//TODO: log || ex
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo?.Msg}");
|
||||
throw new BusinessException(message: "订单一个都不存在");
|
||||
}
|
||||
|
||||
var name = userInfo.Data.UserName;
|
||||
// 获取用户name
|
||||
var userInfo = await _requestCurrentUserService.Service.GetCurrentUserBasicInfoAsync();
|
||||
if (userInfo.Code != GlobalConst.SuccessCode || userInfo.Data is null)
|
||||
{
|
||||
throw new BusinessException(message: $"调用用户中心,获取用户信息失败:{userInfo.Msg}");
|
||||
}
|
||||
|
||||
foreach (var group in orders.GroupBy(x => new
|
||||
// 按客户新增/更新轨迹(为了推送轨迹时方便)
|
||||
foreach (var group in orders.GroupBy(x => x.CustomId))
|
||||
{
|
||||
x.SubSystemId,
|
||||
x.CustomId
|
||||
}))
|
||||
{
|
||||
// 新增/更新轨迹
|
||||
var @event = new TrackUpsertEvent
|
||||
{
|
||||
SubSystemId = group.Key.SubSystemId,
|
||||
CustomId = group.Key.CustomId,
|
||||
OrderIdentifiers =
|
||||
group.Select(order => new OrderIdentifier
|
||||
{
|
||||
OrderId = order.Id,
|
||||
OrderNo = order.OrderNo,
|
||||
OrderType = input.OrderType,
|
||||
}).ToArray(),
|
||||
SubSystemId = input.SubSystemId,
|
||||
CustomId = group.Key,
|
||||
OrderIdentifiers = group.Select(order => new OrderIdentifier
|
||||
{
|
||||
OrderId = order.Id,
|
||||
OrderNo = order.OrderNo,
|
||||
OrderType = input.OrderType,
|
||||
}).ToArray(),
|
||||
IsAdd = input.IsAdd,
|
||||
TrackCode = input.TrackCode,
|
||||
TrackPlace = input.TrackPlace,
|
||||
TrackTime = input.TrackTime!.Value,
|
||||
TrackTimeZone = input.TrackTimeZone!.Value,
|
||||
OperationMan = name
|
||||
TrackTime = input.TrackTime,
|
||||
TrackTimeZone = input.TrackTimeZone,
|
||||
OperationMan = userInfo.Data.UserName
|
||||
};
|
||||
await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event);
|
||||
}
|
||||
|
||||
|
||||
return new UnifyResultDto(true, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ public class TrackContentService : ApplicationService
|
||||
var dto = ObjectMapper.Map<GetTrackContentDetailVO, GetTrackContentDetailDto>(detailInfo);
|
||||
|
||||
if (dto.TrackFlagId == 0) dto.TrackFlagId = null;
|
||||
return new UnifyResultDto<GetTrackContentDetailDto>("200", "", dto);
|
||||
return new UnifyResultDto<GetTrackContentDetailDto>(GlobalConst.SuccessCode, "", dto);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -190,7 +190,7 @@ public class TrackContentService : ApplicationService
|
||||
var entity = ObjectMapper.Map<EditTrackContentInput, TrackContentEntity>(input);
|
||||
var isTrue = await _trackContentRepository.InsertAsync(entity);
|
||||
|
||||
return new UnifyResultDto("200", "新增成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "新增成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> UpdateAsync(EditTrackContentInput input)
|
||||
@ -261,7 +261,7 @@ public class TrackContentService : ApplicationService
|
||||
ts.Complete();
|
||||
}
|
||||
|
||||
return new UnifyResultDto("200", "修改成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "修改成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> DeleteAsync(EditTrackContentInput input)
|
||||
@ -291,7 +291,7 @@ public class TrackContentService : ApplicationService
|
||||
|
||||
var isTrue = await _trackContentRepository.SoftDeleteAsync(x => x.Id == input.Id);
|
||||
|
||||
return new UnifyResultDto("200", "删除成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "删除成功", isTrue);
|
||||
}
|
||||
|
||||
#endregion 私有方法
|
||||
|
||||
@ -61,7 +61,7 @@ public class TrackFlagService : ApplicationService, ITransientDependency
|
||||
}
|
||||
|
||||
var dto = ObjectMapper.Map<GetTrackFlagDetailVO, GetTrackFlagDetailDto>(detailInfo);
|
||||
return new UnifyResultDto<GetTrackFlagDetailDto>("200", "", dto);
|
||||
return new UnifyResultDto<GetTrackFlagDetailDto>(GlobalConst.SuccessCode, "", dto);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -111,7 +111,7 @@ public class TrackFlagService : ApplicationService, ITransientDependency
|
||||
var entity = ObjectMapper.Map<EditTrackFlagInput, TrackFlagEntity>(input);
|
||||
var isTrue = await _trackFlagRepository.InsertAsync(entity);
|
||||
|
||||
return new UnifyResultDto("200", "新增成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "新增成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> UpdateAsync(EditTrackFlagInput input)
|
||||
@ -145,7 +145,7 @@ public class TrackFlagService : ApplicationService, ITransientDependency
|
||||
ObjectMapper.Map(input, templateEntity);
|
||||
var isTrue = await _trackFlagRepository.UpdateAsync(templateEntity);
|
||||
|
||||
return new UnifyResultDto("200", "修改成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "修改成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> DeleteAsync(EditTrackFlagInput input)
|
||||
@ -163,7 +163,7 @@ public class TrackFlagService : ApplicationService, ITransientDependency
|
||||
|
||||
var isTrue = await _trackFlagRepository.SoftDeleteAsync(x => x.Id == input.Id);
|
||||
|
||||
return new UnifyResultDto("200", "删除成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "删除成功", isTrue);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -88,7 +88,7 @@ public class TrackNodeService : ApplicationService, ITransientDependency
|
||||
if (string.IsNullOrEmpty(input.NodeName) || string.IsNullOrEmpty(input.NodeEnName) ||
|
||||
!input.SubSystemId.HasValue)
|
||||
{
|
||||
return new UnifyResultDto("200", "NodeName,NodeEnName,SubSystemId 必填", false);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "NodeName,NodeEnName,SubSystemId 必填", false);
|
||||
}
|
||||
|
||||
var trackNodesEntitys = await _trackNodeRepository.GetListAsync(a =>
|
||||
@ -113,13 +113,13 @@ public class TrackNodeService : ApplicationService, ITransientDependency
|
||||
|
||||
if (!StringHelper.IsValidEnglishString(input.NodeEnName))
|
||||
{
|
||||
return new UnifyResultDto("200", "节点英文名称必须是英文和常用英文符号", false);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "节点英文名称必须是英文和常用英文符号", false);
|
||||
}
|
||||
|
||||
var entity = ObjectMapper.Map<EditTrackNodeInput, TrackNodeEntity>(input);
|
||||
var isTrue = await _trackNodeRepository.InsertAsync(entity);
|
||||
|
||||
return new UnifyResultDto("200", "新增成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "新增成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> UpdateAsync(EditTrackNodeInput input)
|
||||
@ -128,13 +128,13 @@ public class TrackNodeService : ApplicationService, ITransientDependency
|
||||
|
||||
if (string.IsNullOrEmpty(input.NodeName) || string.IsNullOrEmpty(input.NodeEnName))
|
||||
{
|
||||
return new UnifyResultDto("200", "NodeName,NodeEnName 必填", false);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "NodeName,NodeEnName 必填", false);
|
||||
}
|
||||
|
||||
var trackNodesEntitys = await _trackNodeRepository.GetFirstAsync(a => a.Id == input.Id);
|
||||
if (trackNodesEntitys == null)
|
||||
{
|
||||
return new UnifyResultDto("200", "没有找到数据,更新失败", false);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "没有找到数据,更新失败", false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@ -143,14 +143,14 @@ public class TrackNodeService : ApplicationService, ITransientDependency
|
||||
trackNodesEntitys.NodeName = input.NodeName;
|
||||
var isTrue = await _trackNodeRepository.UpdateAsync(trackNodesEntitys);
|
||||
|
||||
return new UnifyResultDto("200", "修改成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "修改成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> DeleteAsync(EditTrackNodeInput input)
|
||||
{
|
||||
if (input.Id <= 0 || !input.SubSystemId.HasValue)
|
||||
{
|
||||
return new UnifyResultDto("200", "SubSystemId 必填", false);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "SubSystemId 必填", false);
|
||||
}
|
||||
|
||||
var trackStatus =
|
||||
@ -158,11 +158,11 @@ public class TrackNodeService : ApplicationService, ITransientDependency
|
||||
val.Node == input.Id && val.SubSystemId == input.SubSystemId);
|
||||
if (trackStatus != null)
|
||||
{
|
||||
return new UnifyResultDto("200", "删除失败,该节点已被使用", false);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "删除失败,该节点已被使用", false);
|
||||
}
|
||||
|
||||
var rows = await _trackNodeRepository.DeleteById(input.Id);
|
||||
return new UnifyResultDto("200", "删除成功", rows > 0);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "删除成功", rows > 0);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -4,7 +4,6 @@ using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Dtos.Order;
|
||||
|
||||
namespace SJZY.Track.Application.Services.TrackOrders;
|
||||
@ -183,8 +182,6 @@ public class TrackOrderService : ApplicationService
|
||||
[HttpGet("GetOrderOperationsById")]
|
||||
public async Task<List<OrderOperationRecordIndex>> GetOrderOperationsByIdAsync(int orderId)
|
||||
{
|
||||
// todo:分页?dto?
|
||||
return await _orderOperationRecordRepository.GetOrderOperationsByIdAsync(orderId);
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,7 +3,6 @@ using SJZY.Expand.ABP.Core;
|
||||
using SJZY.Track.Application.Contract.Dtos.TrackPull;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.Track.Domain.Dtos.TrackPull;
|
||||
|
||||
namespace SJZY.Track.Application.Services.TrackPull;
|
||||
|
||||
@ -2,7 +2,6 @@ using SJZY.Expand.ABP.Core;
|
||||
using SJZY.Track.Application.Contract.Dtos.TrackPush;
|
||||
using SJZY.Track.Application.Contract.Services;
|
||||
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using Volo.Abp.DependencyInjection;
|
||||
|
||||
namespace SJZY.Track.Application.Services.TrackPush;
|
||||
|
||||
@ -61,7 +61,7 @@ public class TrackStatusService : ApplicationService, ITransientDependency
|
||||
}
|
||||
|
||||
var dto = ObjectMapper.Map<GetTrackStatusDetailVO, GetTrackStatusDetailDto>(detailInfo);
|
||||
return new UnifyResultDto<GetTrackStatusDetailDto>("200", "", dto);
|
||||
return new UnifyResultDto<GetTrackStatusDetailDto>(GlobalConst.SuccessCode, "", dto);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -118,7 +118,7 @@ public class TrackStatusService : ApplicationService, ITransientDependency
|
||||
var entity = ObjectMapper.Map<EditTrackStatusInput, TrackStatusEntity>(input);
|
||||
var isTrue = await _trackStatusRepository.InsertAsync(entity);
|
||||
|
||||
return new UnifyResultDto("200", "新增成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "新增成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> UpdateAsync(EditTrackStatusInput input)
|
||||
@ -157,7 +157,7 @@ public class TrackStatusService : ApplicationService, ITransientDependency
|
||||
ObjectMapper.Map(input, templateEntity);
|
||||
var isTrue = await _trackStatusRepository.UpdateAsync(templateEntity);
|
||||
|
||||
return new UnifyResultDto("200", "修改成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "修改成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> DeleteAsync(EditTrackStatusInput input)
|
||||
@ -175,7 +175,7 @@ public class TrackStatusService : ApplicationService, ITransientDependency
|
||||
|
||||
var isTrue = await _trackStatusRepository.SoftDeleteAsync(x => x.Id == input.Id);
|
||||
|
||||
return new UnifyResultDto("200", "删除成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "删除成功", isTrue);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@ -60,7 +60,7 @@ public class TrackTemplateService : ApplicationService
|
||||
}
|
||||
|
||||
var dto = ObjectMapper.Map<GetTrackTemplateDetailVO, GetTrackTemplateDetailDto>(detailInfo);
|
||||
return new UnifyResultDto<GetTrackTemplateDetailDto>("200", "", dto);
|
||||
return new UnifyResultDto<GetTrackTemplateDetailDto>(GlobalConst.SuccessCode, "", dto);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -228,7 +228,7 @@ public class TrackTemplateService : ApplicationService
|
||||
var entity = ObjectMapper.Map<EditTrackTemplateInput, TrackTemplateEntity>(input);
|
||||
var isTrue = await _trackTemplateRepository.InsertAsync(entity);
|
||||
|
||||
return new UnifyResultDto("200", "新增成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "新增成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> UpdateAsync(EditTrackTemplateInput input)
|
||||
@ -259,14 +259,14 @@ public class TrackTemplateService : ApplicationService
|
||||
ObjectMapper.Map(input, templateEntity);
|
||||
var isTrue = await _trackTemplateRepository.UpdateAsync(templateEntity);
|
||||
|
||||
return new UnifyResultDto("200", "修改成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "修改成功", isTrue);
|
||||
}
|
||||
|
||||
private async Task<UnifyResultDto> DeleteAsync(EditTrackTemplateInput input)
|
||||
{
|
||||
var isTrue = await _trackTemplateRepository.SoftDeleteAsync(x => x.Id == input.Id);
|
||||
|
||||
return new UnifyResultDto("200", "删除成功", isTrue);
|
||||
return new UnifyResultDto(GlobalConst.SuccessCode, "删除成功", isTrue);
|
||||
}
|
||||
|
||||
#endregion 私有方法
|
||||
|
||||
@ -11,7 +11,6 @@ using SJZY.InterfaceRelay.Application.Contracts;
|
||||
using SJZY.Track.Application.CAP;
|
||||
using SJZY.Track.Application.Contract;
|
||||
using SJZY.Track.Application.Localization;
|
||||
using SJZY.Track.Domain.Consts;
|
||||
using SJZY.UserCenter.Contracts;
|
||||
using SJZY.UserCenter.SharedModel;
|
||||
using SJZY.UserCenter.SharedModel.Pub;
|
||||
|
||||
@ -8,7 +8,7 @@ public interface ITrackDetailsRepository : IElasticsearchClientService<TrackDeta
|
||||
|
||||
Task<List<TrackDetailsIndex>> GetLatestListAsync(int[] eventOrderIds, List<string> trackCodes);
|
||||
|
||||
Task<List<TrackDetailsIndex>> GetListAsync(int orderType, List<string> orderNos);
|
||||
Task<List<TrackDetailsIndex>> GetListAsync(int subSystemId, int orderType, List<string> orderNos);
|
||||
|
||||
Task<bool> AnyAsync(int orderId, string originTrackDataHash);
|
||||
|
||||
|
||||
@ -7,6 +7,11 @@ namespace SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
[ElasticsearchType(RelationName = GlobalConst.TrackIndex)]
|
||||
public class TrackDetailsIndex : IdBaseIndex
|
||||
{
|
||||
/// <summary>
|
||||
/// 子系统
|
||||
/// </summary>
|
||||
public int SubSystemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单Id
|
||||
/// </summary>
|
||||
|
||||
@ -9,4 +9,6 @@ public partial class GlobalConst
|
||||
public const int NormalLimit = 10000;
|
||||
|
||||
public const float NoneTrackTimeZone = 99999;
|
||||
|
||||
public const string SuccessCode = "200";
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ public class InterfaceRelayConst
|
||||
/// <summary>
|
||||
/// 接口通成功代码
|
||||
/// </summary>
|
||||
public const string SuccessCode = "200";
|
||||
public const string SuccessCode = GlobalConst.SuccessCode;
|
||||
|
||||
/// <summary>
|
||||
/// 获取轨迹接口代码
|
||||
|
||||
@ -104,9 +104,9 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
||||
// 软删订单主表
|
||||
await SoftDeleteAsync(x => x.Id == orderId);
|
||||
|
||||
// 软删订单模板
|
||||
// 软删订单航班
|
||||
// 软删订单关联关系
|
||||
// 软删订单拉取状态
|
||||
|
||||
tran.Complete();
|
||||
}
|
||||
|
||||
@ -178,7 +178,7 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<List<TrackDetailsIndex>> GetListAsync(int orderType, List<string> orderNos)
|
||||
public async Task<List<TrackDetailsIndex>> GetListAsync(int subSystemId, int orderType, List<string> orderNos)
|
||||
{
|
||||
if (orderNos.Count < 1) return new List<TrackDetailsIndex>();
|
||||
|
||||
@ -195,7 +195,9 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
|
||||
))
|
||||
.Query(q =>
|
||||
q.Bool(b => b
|
||||
.Must(mu => mu
|
||||
.Must(
|
||||
mu => mu.Term(f => f.SubSystemId, subSystemId),
|
||||
mu => mu
|
||||
.Terms(t => t
|
||||
.Field(f => f.OrderNo.Suffix("keyword"))
|
||||
.Terms(orderNos)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user