diff --git a/Models/CloudProduct/CloudProductModule.cs b/Models/CloudProduct/CloudProductModule.cs index f71a3c3..2983fd5 100644 --- a/Models/CloudProduct/CloudProductModule.cs +++ b/Models/CloudProduct/CloudProductModule.cs @@ -9,7 +9,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using MySql.Data.MySqlClient; using Store.Modules.CloudProduct.Services; -using Microsoft.Extensions.Configuration; namespace Store.Modules.CloudProduct { diff --git a/Models/CloudProduct/Controllers/GoodsController.cs b/Models/CloudProduct/Controllers/GoodsController.cs index 456babe..7565708 100644 --- a/Models/CloudProduct/Controllers/GoodsController.cs +++ b/Models/CloudProduct/Controllers/GoodsController.cs @@ -19,12 +19,14 @@ namespace Store.Modules.CloudProduct.Controllers private readonly IGoodsService _goodsService; private readonly IOpenSearchService _searchService; private readonly IRawDataStorage _rawDataStorage; + private readonly GoodsIndexJob _goodsIndexJob; - public GoodsController(IGoodsService goodsService, IOpenSearchService searchService, IRawDataStorage rawDataStorage) + public GoodsController(IGoodsService goodsService, IOpenSearchService searchService, IRawDataStorage rawDataStorage, GoodsIndexJob goodsIndexJob) { _goodsService = goodsService; _searchService = searchService; _rawDataStorage = rawDataStorage; + _goodsIndexJob = goodsIndexJob; } [HttpGet] @@ -32,7 +34,11 @@ namespace Store.Modules.CloudProduct.Controllers { return DateTime.Now.ToLongDateString(); } - + [HttpGet] + public async Task Job() + { + await _goodsIndexJob.ProcessPendingAsync(); + } /// /// 搜索 /// diff --git a/Models/CloudProduct/Repositorys/GoodsRepository.cs b/Models/CloudProduct/Repositorys/GoodsRepository.cs index 4b275df..7d94b08 100644 --- a/Models/CloudProduct/Repositorys/GoodsRepository.cs +++ b/Models/CloudProduct/Repositorys/GoodsRepository.cs @@ -1,5 +1,6 @@ using FreeSql; using MAX.Core.DependencyInjection; +using Microsoft.Extensions.DependencyInjection; using Store.Modules.CloudProduct.Entities; namespace Store.Modules.CloudProduct.Repositorys @@ -9,7 +10,7 @@ namespace Store.Modules.CloudProduct.Repositorys /// public class GoodsRepository : BaseRepository, IScopedDependency { - public GoodsRepository(IFreeSql fsql) : base(fsql) + public GoodsRepository([FromKeyedServices("CloudProductConnection")] IFreeSql fsql) : base(fsql) { } } diff --git a/Models/CloudProduct/Startup.cs b/Models/CloudProduct/Startup.cs index 383d4dd..4697336 100644 --- a/Models/CloudProduct/Startup.cs +++ b/Models/CloudProduct/Startup.cs @@ -19,6 +19,23 @@ namespace Store.Modules.CloudProduct public void Register(IServiceRegistrar registrar) { + + + + Func KJDFsqlFactory = r => + { + var config = r.GetRequiredService(); + var connection = config.GetValue("CloudProductConnection"); + IFreeSql fsql = new FreeSql.FreeSqlBuilder() + .UseConnectionString(FreeSql.DataType.MySql, connection) + .UseAdoConnectionPool(true) + .Build(); + return fsql; + }; + registrar.RegisterSingleton("CloudProductConnection", (s, k) => + { + return KJDFsqlFactory(s); + }); } public async void Start(IServiceProvider serviceProvider) diff --git a/Models/CloudProduct/Store.Modules.CloudProduct.csproj b/Models/CloudProduct/Store.Modules.CloudProduct.csproj index 9e875dc..c8632f9 100644 --- a/Models/CloudProduct/Store.Modules.CloudProduct.csproj +++ b/Models/CloudProduct/Store.Modules.CloudProduct.csproj @@ -1,7 +1,6 @@ - net10.0 enable enable diff --git a/Models/CloudProduct/appsettings.json b/Models/CloudProduct/appsettings.json index 733f8f3..2109cc1 100644 --- a/Models/CloudProduct/appsettings.json +++ b/Models/CloudProduct/appsettings.json @@ -1,4 +1,5 @@ { + "CloudProductConnection": "Server=192.168.0.200;Port=3306;Database=goods_center;Uid=root;Pwd=123456;Allow User Variables=true", "Search": { "Url": "http://192.168.0.200:9200", "IndexName": "goods_search"