Merge branch 'S01-轨迹中台' of http://192.168.80.50:3000/Dotnet/SJZY.Track.Api into S01-轨迹中台
This commit is contained in:
commit
64963d2f42
@ -37,6 +37,7 @@ namespace SJZY.Track.Api
|
|||||||
var environment = context.Services.GetHostingEnvironment();
|
var environment = context.Services.GetHostingEnvironment();
|
||||||
var configuration = context.Services.GetConfiguration();
|
var configuration = context.Services.GetConfiguration();
|
||||||
context.Services.AddSwagger();
|
context.Services.AddSwagger();
|
||||||
|
|
||||||
//过滤器相关配置
|
//过滤器相关配置
|
||||||
context.Services.AddMvc(options =>
|
context.Services.AddMvc(options =>
|
||||||
{
|
{
|
||||||
@ -60,7 +61,6 @@ namespace SJZY.Track.Api
|
|||||||
Configure<AbpJsonOptions>(options => options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss");
|
Configure<AbpJsonOptions>(options => options.OutputDateTimeFormat = "yyyy-MM-dd HH:mm:ss");
|
||||||
Configure<AbpAuditingOptions>(options => { options.IsEnabled = false; });
|
Configure<AbpAuditingOptions>(options => { options.IsEnabled = false; });
|
||||||
|
|
||||||
|
|
||||||
context.Services.AddRedis();
|
context.Services.AddRedis();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,6 @@
|
|||||||
|
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||||
|
|
||||||
|
public class TrackUpsertEvent
|
||||||
|
{
|
||||||
|
public int Order { get; set; }
|
||||||
|
}
|
||||||
@ -5,5 +5,5 @@ namespace SJZY.Track.Application.Services.ProvideServices;
|
|||||||
|
|
||||||
public class TrackCustomer : ITransientDependency, ICapSubscribe
|
public class TrackCustomer : ITransientDependency, ICapSubscribe
|
||||||
{
|
{
|
||||||
public const string CapSubscribe = "SJZY.FMC.VoucherRedundantCalc";
|
public const string CapSubscribe = "SJZY.Track.Upsert";
|
||||||
}
|
}
|
||||||
@ -81,6 +81,7 @@ public class TrackService : ApplicationService
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 根据订单关联关系向下刷,不同子系统还需要做内容映射
|
// 根据订单关联关系向下刷,不同子系统还需要做内容映射
|
||||||
|
var links = await _orderRepository.GetLinkedOrderIdsAsync(orderId);
|
||||||
|
|
||||||
// 推送
|
// 推送
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@ -20,6 +20,30 @@ public interface IOrderRepository : IBasicRepository<OrderEntity>
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<UnifyPageResultDto<TrackOrderVO>> GetPageTrackOrder(GetPageTrackOrderInputVO input);
|
Task<UnifyPageResultDto<TrackOrderVO>> GetPageTrackOrder(GetPageTrackOrderInputVO input);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新订单
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="order"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task UpdateOrderAsync(OrderEntity order);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 删除订单
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="orderId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task DeleteOrderAsync(int orderId);
|
||||||
|
|
||||||
|
|
||||||
|
#region 订单关联
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 根据订单id,获取关联的订单id集合
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="orderId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<List<int>> GetLinkedOrderIdsAsync(int orderId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 关联订单
|
/// 关联订单
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -34,17 +58,5 @@ public interface IOrderRepository : IBasicRepository<OrderEntity>
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task UnLinkByIdsAsync(List<int> linkIds);
|
Task UnLinkByIdsAsync(List<int> linkIds);
|
||||||
|
|
||||||
/// <summary>
|
#endregion
|
||||||
/// 更新订单
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="order"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task UpdateOrderAsync(OrderEntity order);
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 删除订单
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="orderId"></param>
|
|
||||||
/// <returns></returns>
|
|
||||||
Task DeleteOrderAsync(int orderId);
|
|
||||||
}
|
}
|
||||||
@ -12,6 +12,18 @@ public class OrderLinkEntity : ICreateBaicEntity, ISoftDeleteBasicEntity, IEntit
|
|||||||
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
|
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单id
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "OrderId")]
|
||||||
|
public int OrderId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 关联的订单id
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "LinkOrderId")]
|
||||||
|
public int LinkOrderId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 订单类型
|
/// 订单类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -24,6 +36,7 @@ public class OrderLinkEntity : ICreateBaicEntity, ISoftDeleteBasicEntity, IEntit
|
|||||||
[SugarColumn(ColumnName = "OrderNo")]
|
[SugarColumn(ColumnName = "OrderNo")]
|
||||||
public string OrderNo { get; set; } = null!;
|
public string OrderNo { get; set; } = null!;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 关联的订单类型
|
/// 关联的订单类型
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -10,7 +10,7 @@ public class KeywordsInputVO : PageInfoInput
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 关键字
|
/// 关键字
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Keywords { get; set; }
|
public string? Keywords { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 选中项
|
/// 选中项
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
using Nest;
|
using SJZY.Track.Domain;
|
||||||
using SJZY.Track.Domain;
|
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||||
using SJZY.Track.Domain.Dtos.Order;
|
using SJZY.Track.Domain.Dtos.Order;
|
||||||
@ -18,16 +17,6 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
|||||||
.ExecuteCommandAsync();
|
.ExecuteCommandAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task LinkOrderAsync(List<OrderLinkEntity> orderLinkEntities)
|
|
||||||
{
|
|
||||||
await Context.Insertable(orderLinkEntities).ExecuteCommandAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task UnLinkByIdsAsync(List<int> linkIds)
|
|
||||||
{
|
|
||||||
await Context.Deleteable(linkIds).ExecuteCommandAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task UpdateOrderAsync(OrderEntity order)
|
public async Task UpdateOrderAsync(OrderEntity order)
|
||||||
{
|
{
|
||||||
using var tran = TransactionHelper.GetReadCommitted();
|
using var tran = TransactionHelper.GetReadCommitted();
|
||||||
@ -62,6 +51,29 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
|||||||
tran.Complete();
|
tran.Complete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region 订单关联
|
||||||
|
|
||||||
|
public async Task<List<int>> GetLinkedOrderIdsAsync(int orderId)
|
||||||
|
{
|
||||||
|
return await Context.Queryable<OrderEntity>()
|
||||||
|
.LeftJoin<OrderLinkEntity>((a, b) => a.Id == b.OrderId)
|
||||||
|
.Where(a => a.Id == orderId)
|
||||||
|
.Select((a, b) => b.LinkOrderId)
|
||||||
|
.ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task LinkOrderAsync(List<OrderLinkEntity> orderLinkEntities)
|
||||||
|
{
|
||||||
|
await Context.Insertable(orderLinkEntities).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task UnLinkByIdsAsync(List<int> linkIds)
|
||||||
|
{
|
||||||
|
await Context.Deleteable(linkIds).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region 轨迹订单明细
|
#region 轨迹订单明细
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -86,31 +98,37 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
|||||||
public async Task<UnifyPageResultDto<TrackOrderVO>> GetPageTrackOrder(GetPageTrackOrderInputVO input)
|
public async Task<UnifyPageResultDto<TrackOrderVO>> GetPageTrackOrder(GetPageTrackOrderInputVO input)
|
||||||
{
|
{
|
||||||
var pageList = await Context.Queryable<OrderEntity>()
|
var pageList = await Context.Queryable<OrderEntity>()
|
||||||
.LeftJoin<VExternalSubjectEntity>((a, b) => a.CustomId==b.Id)
|
.LeftJoin<VExternalSubjectEntity>((a, b) => a.CustomId == b.Id)
|
||||||
.LeftJoin<VSystemEntity>((a, b, c) => a.SubSystemId==c.Id)
|
.LeftJoin<VSystemEntity>((a, b, c) => a.SubSystemId == c.Id)
|
||||||
.WhereIF(input.SubSystemId > 0, (a, b, c) => a.SubSystemId == input.SubSystemId)
|
.WhereIF(input.SubSystemId > 0, (a, b, c) => a.SubSystemId == input.SubSystemId)
|
||||||
.WhereIF(!input.OrderNos.IsNullOrEmpty(), (a, b, c) => input.OrderNos.Contains(a.OrderNo))
|
.WhereIF(!input.OrderNos.IsNullOrEmpty(), (a, b, c) => input.OrderNos.Contains(a.OrderNo))
|
||||||
.WhereIF(input.CreateTimeStart.HasValue&& input.CreateTimeEnd.HasValue, (a, b, c) => a.CreateTime>= input.CreateTimeStart && a.CreateTime<= input.CreateTimeEnd)
|
.WhereIF(input.CreateTimeStart.HasValue && input.CreateTimeEnd.HasValue,
|
||||||
.WhereIF(input.CreateTimeStart.HasValue&& (!input.CreateTimeEnd.HasValue), (a, b, c) => a.CreateTime>= input.CreateTimeStart)
|
(a, b, c) => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd)
|
||||||
.WhereIF((!input.CreateTimeStart.HasValue)&& input.CreateTimeEnd.HasValue, (a, b, c) => a.CreateTime<= input.CreateTimeEnd)
|
.WhereIF(input.CreateTimeStart.HasValue && (!input.CreateTimeEnd.HasValue),
|
||||||
.Select((a, b, c) => new TrackOrderVO
|
(a, b, c) => a.CreateTime >= input.CreateTimeStart)
|
||||||
{
|
.WhereIF((!input.CreateTimeStart.HasValue) && input.CreateTimeEnd.HasValue,
|
||||||
Id = a.Id,
|
(a, b, c) => a.CreateTime <= input.CreateTimeEnd)
|
||||||
OrderNumber= a.OrderNo,
|
.Select((a, b, c) => new TrackOrderVO
|
||||||
OrderType = a.OrderType,
|
{
|
||||||
CustomerShortName= b.Abbreviation,
|
Id = a.Id,
|
||||||
CustomerCode= b.Code,
|
OrderNumber = a.OrderNo,
|
||||||
TrackTemplateNames = SqlFunc.Subqueryable<OrderTemplateEntity>().LeftJoin<TrackTemplateEntity>((aa, bb) => aa.TrackTemplateId==bb.Id)
|
OrderType = a.OrderType,
|
||||||
.Where((aa, bb) => a.Id==aa.OrderId).SelectStringJoin((aa, bb) => bb.Name, ","),
|
CustomerShortName = b.Abbreviation,
|
||||||
NewestTrackContent= a.LatestTrackContent,
|
CustomerCode = b.Code,
|
||||||
NewestTrackEnContent= a.LatestTrackEnContent,
|
TrackTemplateNames = SqlFunc.Subqueryable<OrderTemplateEntity>()
|
||||||
NewestTrackPlace= a.LatestTrackPlace,
|
.LeftJoin<TrackTemplateEntity>((aa, bb) => aa.TrackTemplateId == bb.Id)
|
||||||
IsFinish=a.IsCompleted,
|
.Where((aa, bb) => a.Id == aa.OrderId).SelectStringJoin((aa, bb) => bb.Name, ","),
|
||||||
CreateTime=a.CreateTime,
|
NewestTrackContent = a.LatestTrackContent,
|
||||||
SubSystem= c.CnName
|
NewestTrackEnContent = a.LatestTrackEnContent,
|
||||||
})
|
NewestTrackPlace = a.LatestTrackPlace,
|
||||||
.ToPagedListAsync(input.PageIndex, input.PageSize);
|
IsFinish = a.IsCompleted,
|
||||||
|
CreateTime = a.CreateTime,
|
||||||
|
SubSystem = c.CnName
|
||||||
|
})
|
||||||
|
.ToPagedListAsync(input.PageIndex, input.PageSize);
|
||||||
|
|
||||||
#region 暂时注释
|
#region 暂时注释
|
||||||
|
|
||||||
//if (pageList.List.Any())
|
//if (pageList.List.Any())
|
||||||
//{
|
//{
|
||||||
// var orderIds = pageList.List.Select(a => a.Id);
|
// var orderIds = pageList.List.Select(a => a.Id);
|
||||||
@ -129,7 +147,9 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
|||||||
// a.TrackTemplateNames = templateListOfOrderId.Select(c => c.Name).JoinAsString(",");
|
// a.TrackTemplateNames = templateListOfOrderId.Select(c => c.Name).JoinAsString(",");
|
||||||
// });
|
// });
|
||||||
//}
|
//}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
return pageList;
|
return pageList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
<TargetFramework>net7.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
<GenerateDocumentationFile>True</GenerateDocumentationFile>
|
||||||
<LangVersion>preview</LangVersion>
|
<LangVersion>preview</LangVersion>
|
||||||
|
<AssemblyName>SJZY.Track.Repository</AssemblyName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user