Merge pull request 'S01-轨迹中台' (#4) from S01-轨迹中台 into dev

Reviewed-on: http://192.168.80.50:3000/Dotnet/SJZY.Track.Api/pulls/4
This commit is contained in:
liuwenxiang 2024-03-01 15:27:47 +08:00
commit 5effee08e4
33 changed files with 102 additions and 79 deletions

View File

@ -10,7 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{DAC93270-5A2
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0E2537C3-6EF3-4085-9BD2-CF923E53F82A}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0E2537C3-6EF3-4085-9BD2-CF923E53F82A}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SJZY.Track.Infrastructure", "src\SJZY.Track.Infrastructure\SJZY.Track.Infrastructure.csproj", "{D9CF5706-1972-414F-821E-AA32C13B8570}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SJZY.Track.Repository", "src\SJZY.Track.Repository\SJZY.Track.Repository.csproj", "{D9CF5706-1972-414F-821E-AA32C13B8570}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SJZY.Track.Application.Contract", "src\SJZY.Track.Application.Contract\SJZY.Track.Application.Contract.csproj", "{390A44FB-0DB5-4B66-86AB-7712DC3030F5}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SJZY.Track.Application.Contract", "src\SJZY.Track.Application.Contract\SJZY.Track.Application.Contract.csproj", "{390A44FB-0DB5-4B66-86AB-7712DC3030F5}"
EndProject EndProject

View File

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk.Web"> <Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project="../../common.props"/> <Import Project="../../common.props" />
<PropertyGroup> <PropertyGroup>
<TargetFramework>net7.0</TargetFramework> <TargetFramework>net7.0</TargetFramework>
@ -10,16 +10,16 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="FluentValidation.AspNetCore" Version="11.2.2"/> <PackageReference Include="FluentValidation.AspNetCore" Version="11.2.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.2"/> <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.2" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0"/> <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.17.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0"/> <PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageReference Include="Volo.Abp.Autofac" Version="7.0.2"/> <PackageReference Include="Volo.Abp.Autofac" Version="7.0.2" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\SJZY.Track.Application\SJZY.Track.Application.csproj"/> <ProjectReference Include="..\SJZY.Track.Application\SJZY.Track.Application.csproj" />
<ProjectReference Include="..\SJZY.Track.Infrastructure\SJZY.Track.Infrastructure.csproj"/> <ProjectReference Include="..\SJZY.Track.Repository\SJZY.Track.Repository.csproj" />
</ItemGroup> </ItemGroup>

View File

@ -9,7 +9,7 @@ using SJZY.Expand.ABP.Core.Prometheus;
using SJZY.Expand.ABP.Core.Redis; using SJZY.Expand.ABP.Core.Redis;
using SJZY.Expand.ABP.Core.Swagger; using SJZY.Expand.ABP.Core.Swagger;
using SJZY.Track.Application; using SJZY.Track.Application;
using SJZY.Track.Infrastructure; using SJZY.Track.Repository;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Serilog; using Volo.Abp.AspNetCore.Serilog;
@ -28,7 +28,7 @@ namespace SJZY.Track.Api
typeof(AbpAspNetCoreMvcModule), typeof(AbpAspNetCoreMvcModule),
typeof(AbpAspNetCoreSerilogModule), typeof(AbpAspNetCoreSerilogModule),
typeof(SjzyTrackApplicationModule), typeof(SjzyTrackApplicationModule),
typeof(SjzyTrackInfrastructureModule) typeof(SjzyTrackRepositoryModule)
)] )]
public class SjzyTrackApiModule : AbpModule public class SjzyTrackApiModule : AbpModule
{ {

View File

@ -0,0 +1,6 @@
namespace SJZY.Track.Application.Contract.Events;
public class TrackUpsertEvent
{
public int OrderId { get; set; }
}

View File

@ -1,6 +1,8 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Application.Contract.Dtos.ProvideServices;
using SJZY.Track.Domain.Aggregates.OrderAggregate; using SJZY.Track.Domain.Aggregates.OrderAggregate;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Dtos.Order; using SJZY.Track.Domain.Dtos.Order;
using Volo.Abp.ObjectMapping;
namespace SJZY.Track.Application.Services.ProvideServices; namespace SJZY.Track.Application.Services.ProvideServices;
@ -11,10 +13,14 @@ namespace SJZY.Track.Application.Services.ProvideServices;
public class OrderService : ApplicationService public class OrderService : ApplicationService
{ {
private readonly IOrderRepository _orderRepository; private readonly IOrderRepository _orderRepository;
private readonly ITrackDetailsRepository _trackDetailsRepository;
public OrderService(IOrderRepository orderRepository) public OrderService(IOrderRepository orderRepository,
ITrackDetailsRepository trackDetailsRepository
)
{ {
_orderRepository = orderRepository; _orderRepository = orderRepository;
this._trackDetailsRepository=trackDetailsRepository;
} }
/// <summary> /// <summary>
@ -75,7 +81,14 @@ public class OrderService : ApplicationService
[HttpPost("/Order/GetDetails")] [HttpPost("/Order/GetDetails")]
public async Task<List<TrackOrderDetailDto>> GetOrderDetails(GetOrderDetailsInput input) public async Task<List<TrackOrderDetailDto>> GetOrderDetails(GetOrderDetailsInput input)
{ {
return null; var trackDetails = await _trackDetailsRepository.GetListAsync(input.OrderId);
if (!trackDetails.IsNullOrEmpty())
{
var list = ObjectMapper.Map<List<TrackDetailsIndex>, List<TrackOrderDetailDto>>(trackDetails);
return list;
}
return new List<TrackOrderDetailDto>();
} }
#endregion #endregion

View File

@ -81,7 +81,12 @@ public class TrackService : ApplicationService
} }
// 根据订单关联关系向下刷,不同子系统还需要做内容映射 // 根据订单关联关系向下刷,不同子系统还需要做内容映射
var links = await _orderRepository.GetLinkedOrderIdsAsync(orderId); var linkedOrderIds = await _orderRepository.GetLinkedOrderIdsAsync(orderId);
if (linkedOrderIds.Count > 0)
{
await _capPublisher.PublishAsync(TrackCustomer.CapSubscribe, new TrackUpsertEvent { });
}
// 推送 // 推送
return true; return true;

View File

@ -1,8 +0,0 @@
using SJZY.Track.Infrastructure.TrackPushRecord.Entitys;
namespace SJZY.Track.Infrastructure.TrackPushRecord.Services
{
public interface ITrackPushRecordRepository : ISimpleClient<TrackPushRecordEntity>
{
}
}

View File

@ -1,10 +0,0 @@
using SJZY.Track.Infrastructure.Repositories;
using SJZY.Track.Infrastructure.TrackPushRecord.Entitys;
namespace SJZY.Track.Infrastructure.TrackPushRecord.Services
{
public class TrackPushRecordRepository : BasicRepository<TrackPushRecordEntity>, ITrackPushRecordRepository, IScopedDependency
{
}
}

View File

@ -1,8 +0,0 @@
using SJZY.Track.Infrastructure.TrackPushRecordDetails.Entitys;
namespace SJZY.Track.Infrastructure.TrackPushRecordDetails.Services
{
public interface ITrackPushRecordDetailsRepository : ISimpleClient<TrackPushRecordDetailsEntity>
{
}
}

View File

@ -1,10 +0,0 @@
using SJZY.Track.Infrastructure.Repositories;
using SJZY.Track.Infrastructure.TrackPushRecordDetails.Entitys;
namespace SJZY.Track.Infrastructure.TrackPushRecordDetails.Services
{
public class TrackPushRecordDetailsRepository : BasicRepository<TrackPushRecordDetailsEntity>, ITrackPushRecordDetailsRepository, IScopedDependency
{
}
}

View File

@ -2,7 +2,7 @@
#pragma warning disable 1591 #pragma warning disable 1591
namespace SJZY.Track.Infrastructure; namespace SJZY.Track.Repository;
/// <summary> /// <summary>
/// Sqlsugar 上下文对象 /// Sqlsugar 上下文对象

View File

@ -2,7 +2,7 @@
using SJZY.Track.Domain.Queries; using SJZY.Track.Domain.Queries;
using SJZY.Track.Domain.SeedWork; using SJZY.Track.Domain.SeedWork;
namespace SJZY.Track.Infrastructure.Queries; namespace SJZY.Track.Repository.Queries;
#pragma warning disable CS8613 #pragma warning disable CS8613
public class BasicQuery<T> : SimpleClient<T>, IBasicQuery<T> where T : class, IEntity, new() public class BasicQuery<T> : SimpleClient<T>, IBasicQuery<T> where T : class, IEntity, new()

View File

@ -7,7 +7,7 @@ using SJZY.Track.Domain.Dtos.TrackDetails;
using SJZY.Track.Domain.Dtos.TrackTemplate; using SJZY.Track.Domain.Dtos.TrackTemplate;
using SJZY.Track.Domain.Queries; using SJZY.Track.Domain.Queries;
namespace SJZY.Track.Infrastructure.Queries; namespace SJZY.Track.Repository.Queries;
public class TrackQueries : ISugarRepository, ITrackQueries, public class TrackQueries : ISugarRepository, ITrackQueries,
ITransientDependency ITransientDependency

View File

@ -1,10 +1,10 @@
using System.Linq.Expressions; using System.Linq.Expressions;
using SJZY.Track.Domain; using SJZY.Track.Domain;
using SJZY.Track.Domain.SeedWork; using SJZY.Track.Domain.SeedWork;
using SJZY.Track.Infrastructure.Queries; using SJZY.Track.Repository.Queries;
using Volo.Abp; using Volo.Abp;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
/// <summary> /// <summary>
/// 仓储基类实现 /// 仓储基类实现

View File

@ -2,7 +2,7 @@
using SJZY.Track.Domain.Aggregates.DemoAggregate; using SJZY.Track.Domain.Aggregates.DemoAggregate;
using SJZY.Track.Domain.Dtos.Demo; using SJZY.Track.Domain.Dtos.Demo;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
public class DemoRepository : BasicRepository<DemoEntity>, IDemoRepository, IScopedDependency public class DemoRepository : BasicRepository<DemoEntity>, IDemoRepository, IScopedDependency
{ {

View File

@ -5,7 +5,7 @@ using SJZY.Track.Domain.Dtos.Order;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
using SJZY.Track.Repository.VData.Entitys; using SJZY.Track.Repository.VData.Entitys;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, ITransientDependency public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, ITransientDependency
{ {

View File

@ -4,7 +4,7 @@ using SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
using SJZY.Track.Domain.Dtos.TrackContents; using SJZY.Track.Domain.Dtos.TrackContents;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
public class TrackContentRepository : BasicRepository<TrackContentEntity>, ITrackContentRepository, IScopedDependency public class TrackContentRepository : BasicRepository<TrackContentEntity>, ITrackContentRepository, IScopedDependency
{ {

View File

@ -3,7 +3,7 @@ using SJZY.Expand.ElasticSearch.Services;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate; using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Dtos.TrackDetails; using SJZY.Track.Domain.Dtos.TrackDetails;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetailsIndex>, ITrackDetailsRepository, internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetailsIndex>, ITrackDetailsRepository,
ITransientDependency ITransientDependency

View File

@ -2,7 +2,7 @@
using SJZY.Track.Domain.Dtos.TrackFlags; using SJZY.Track.Domain.Dtos.TrackFlags;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
public class TrackFlagRepository : BasicRepository<TrackFlagEntity>, ITrackFlagRepository, IScopedDependency public class TrackFlagRepository : BasicRepository<TrackFlagEntity>, ITrackFlagRepository, IScopedDependency
{ {

View File

@ -6,7 +6,7 @@ using SJZY.Track.Domain.Dtos.Common;
using SJZY.Track.Domain.Dtos.TrackPull; using SJZY.Track.Domain.Dtos.TrackPull;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
public class TrackPullConfigRepository : BasicRepository<TrackPullConfigEntity>, ITrackPullConfigRepository, public class TrackPullConfigRepository : BasicRepository<TrackPullConfigEntity>, ITrackPullConfigRepository,
IScopedDependency IScopedDependency

View File

@ -7,7 +7,7 @@ using SJZY.Track.Domain.Dtos.TrackPush;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
using SJZY.Track.Repository.VData.Entitys; using SJZY.Track.Repository.VData.Entitys;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
public class TrackPushConfigRepository : BasicRepository<TrackPushConfigEntity>, ITrackPushConfigRepository, public class TrackPushConfigRepository : BasicRepository<TrackPushConfigEntity>, ITrackPushConfigRepository,
IScopedDependency IScopedDependency

View File

@ -2,7 +2,7 @@ using SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
using SJZY.Track.Domain.Dtos.TrackStatus; using SJZY.Track.Domain.Dtos.TrackStatus;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
public class TrackStatusRepository : BasicRepository<TrackStatusEntity>, ITrackStatusRepository, IScopedDependency public class TrackStatusRepository : BasicRepository<TrackStatusEntity>, ITrackStatusRepository, IScopedDependency
{ {

View File

@ -8,7 +8,7 @@ using SJZY.Track.Domain.Dtos.TrackTemplate;
using SJZY.Track.Domain.Enums; using SJZY.Track.Domain.Enums;
using SJZY.Track.Domain.VEntities; using SJZY.Track.Domain.VEntities;
namespace SJZY.Track.Infrastructure.Repositories; namespace SJZY.Track.Repository.Repositories;
public class TrackTemplateRepository : BasicRepository<TrackTemplateEntity>, ITrackTemplateRepository, IScopedDependency public class TrackTemplateRepository : BasicRepository<TrackTemplateEntity>, ITrackTemplateRepository, IScopedDependency
{ {

View File

@ -1,21 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<Import Project="../../common.props"/> <Import Project="../../common.props" />
<PropertyGroup> <PropertyGroup>
<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>
<PackageReference Include="SJZY.LoggerCenter.HttpApi" Version="7.0.5"/> <PackageReference Include="SJZY.LoggerCenter.HttpApi" Version="7.0.5" />
<PackageReference Include="Volo.Abp.Autofac" Version="7.0.2"/> <PackageReference Include="Volo.Abp.Autofac" Version="7.0.2" />
<PackageReference Include="SJZY.UserCenter.HttpApi" Version="3.0.3-alpha8"/> <PackageReference Include="SJZY.UserCenter.HttpApi" Version="3.0.3-alpha8" />
<PackageReference Include="SJZY.Expand.CAP" Version="7.8.0"/> <PackageReference Include="SJZY.Expand.CAP" Version="7.8.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\SJZY.Track.Domain\SJZY.Track.Domain.csproj"/> <ProjectReference Include="..\SJZY.Track.Domain\SJZY.Track.Domain.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -4,19 +4,19 @@ using SJZY.Expand.ABP.Core.SqlSugar.Options;
using SJZY.Expand.ElasticSearch; using SJZY.Expand.ElasticSearch;
using SJZY.Track.Domain; using SJZY.Track.Domain;
using SJZY.Track.Domain.Queries; using SJZY.Track.Domain.Queries;
using SJZY.Track.Infrastructure.Queries; using SJZY.Track.Repository.Queries;
using SJZY.Track.Infrastructure.Repositories; using SJZY.Track.Repository.Repositories;
using Volo.Abp.Autofac; using Volo.Abp.Autofac;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace SJZY.Track.Infrastructure; namespace SJZY.Track.Repository;
/// <summary> /// <summary>
/// 仓储模块 /// 仓储模块
/// </summary> /// </summary>
[DependsOn(typeof(AbpAutofacModule))] [DependsOn(typeof(AbpAutofacModule))]
[DependsOn(typeof(SjzyTrackDomainModule))] [DependsOn(typeof(SjzyTrackDomainModule))]
public class SjzyTrackInfrastructureModule : AbpModule public class SjzyTrackRepositoryModule : AbpModule
{ {
public override void PreConfigureServices(ServiceConfigurationContext context) public override void PreConfigureServices(ServiceConfigurationContext context)
{ {

View File

@ -1,6 +1,6 @@
using SJZY.Track.Domain.SeedWork; using SJZY.Track.Domain.SeedWork;
namespace SJZY.Track.Infrastructure.TrackPushRecord.Entitys namespace SJZY.Track.Repository.TrackPushRecord.Entitys
{ {
/// <summary> /// <summary>
/// 轨迹推送记录 /// 轨迹推送记录

View File

@ -0,0 +1,8 @@
using SJZY.Track.Repository.TrackPushRecord.Entitys;
namespace SJZY.Track.Repository.TrackPushRecord.Services
{
public interface ITrackPushRecordRepository : ISimpleClient<TrackPushRecordEntity>
{
}
}

View File

@ -0,0 +1,10 @@
using SJZY.Track.Repository.Repositories;
using SJZY.Track.Repository.TrackPushRecord.Entitys;
namespace SJZY.Track.Repository.TrackPushRecord.Services
{
public class TrackPushRecordRepository : BasicRepository<TrackPushRecordEntity>, ITrackPushRecordRepository, IScopedDependency
{
}
}

View File

@ -1,6 +1,6 @@
using SJZY.Track.Domain.SeedWork; using SJZY.Track.Domain.SeedWork;
namespace SJZY.Track.Infrastructure.TrackPushRecordDetails.Entitys namespace SJZY.Track.Repository.TrackPushRecordDetails.Entitys
{ {
/// <summary> /// <summary>
/// 轨迹推送明细表 /// 轨迹推送明细表

View File

@ -0,0 +1,8 @@
using SJZY.Track.Repository.TrackPushRecordDetails.Entitys;
namespace SJZY.Track.Repository.TrackPushRecordDetails.Services
{
public interface ITrackPushRecordDetailsRepository : ISimpleClient<TrackPushRecordDetailsEntity>
{
}
}

View File

@ -0,0 +1,10 @@
using SJZY.Track.Repository.Repositories;
using SJZY.Track.Repository.TrackPushRecordDetails.Entitys;
namespace SJZY.Track.Repository.TrackPushRecordDetails.Services
{
public class TrackPushRecordDetailsRepository : BasicRepository<TrackPushRecordDetailsEntity>, ITrackPushRecordDetailsRepository, IScopedDependency
{
}
}

View File

@ -2,7 +2,7 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using SJZY.Track.Api; using SJZY.Track.Api;
using SJZY.Track.Application; using SJZY.Track.Application;
using SJZY.Track.Infrastructure; using SJZY.Track.Repository;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.AspNetCore.TestBase; using Volo.Abp.AspNetCore.TestBase;
using Volo.Abp.Authorization; using Volo.Abp.Authorization;
@ -20,7 +20,7 @@ namespace SJZY.Track.Test;
typeof(AbpAspNetCoreTestBaseModule), typeof(AbpAspNetCoreTestBaseModule),
typeof(AbpAutofacModule), typeof(AbpAutofacModule),
typeof(AbpAuthorizationModule), typeof(AbpAuthorizationModule),
typeof(SjzyTrackInfrastructureModule), typeof(SjzyTrackRepositoryModule),
typeof(SjzyTrackApplicationModule), typeof(SjzyTrackApplicationModule),
typeof(SjzyTrackApiModule), typeof(SjzyTrackApiModule),
typeof(AbpHttpClientModule) //添加abp的http代理模块 typeof(AbpHttpClientModule) //添加abp的http代理模块