From 2f406c840f02fd5fb4474c18664aba7342e7c61b Mon Sep 17 00:00:00 2001 From: chfei Date: Thu, 24 Sep 2026 16:41:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=91=E6=95=B0=E6=8D=AE=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Models/CloudProduct/CloudProductModule.cs | 1 - .../CloudProduct/Controllers/GoodsController.cs | 10 ++++++++-- .../CloudProduct/Repositorys/GoodsRepository.cs | 3 ++- Models/CloudProduct/Startup.cs | 17 +++++++++++++++++ .../Store.Modules.CloudProduct.csproj | 1 - Models/CloudProduct/appsettings.json | 1 + 6 files changed, 28 insertions(+), 5 deletions(-) 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"