优化接口
This commit is contained in:
@@ -23,6 +23,8 @@ using WMS.Web.Domain.Options;
|
||||
using Microsoft.Extensions.Options;
|
||||
using WMS.Web.Domain.Values;
|
||||
using WMS.Web.Core.Dto.Erp;
|
||||
using Microsoft.Extensions.Caching.Memory;
|
||||
using System.Reflection;
|
||||
|
||||
namespace WMS.Web.Api.Controllers
|
||||
{
|
||||
@@ -48,12 +50,14 @@ namespace WMS.Web.Api.Controllers
|
||||
private readonly AppOptions _options;
|
||||
private readonly ISendMessageService _sendMessageService;
|
||||
private readonly IMaterialService _materialService;
|
||||
private readonly IMemoryCache _memoryCache;
|
||||
public TestController(IErpService erpService, IInStockTaskService inStockTaskService, IBoxInventoryRepositories boxInventoryRepositories,
|
||||
IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService, IBasicsRepositories basicsRepositories,
|
||||
IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService, IBasicsRepositories basicsRepositories, IMemoryCache memoryCache,
|
||||
IOutStockTaskRepositories outStockTaskRepositories, IOutStockTaskService outStockTaskService, IOptions<AppOptions> options, ILoginService loginService, ISendMessageService sendMessageService,
|
||||
ITakeStockService takeStockService, ITakeStockRepositories takeStockRepositories, IOutStockService outStockService, IInStockTaskRepositories inStockTaskRepositories,
|
||||
IWebHostEnvironment env, IMaterialService materialService)
|
||||
{
|
||||
_memoryCache = memoryCache;
|
||||
_materialService = materialService;
|
||||
_loginService = loginService;
|
||||
_sendMessageService = sendMessageService;
|
||||
@@ -354,5 +358,21 @@ namespace WMS.Web.Api.Controllers
|
||||
{
|
||||
return await _materialService.SyncNewMaterials();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 清空缓存
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[Route("ClearCache")]
|
||||
public Result ClearCache()
|
||||
{
|
||||
//通过反射调用清空缓存方法
|
||||
PropertyInfo prop = _memoryCache.GetType().GetProperty("EntriesCollection", BindingFlags.Instance | BindingFlags.GetProperty | BindingFlags.NonPublic | BindingFlags.Public);
|
||||
object innerCache = prop.GetValue(_memoryCache);
|
||||
MethodInfo clearMethod = innerCache.GetType().GetMethod("Clear", BindingFlags.Instance | BindingFlags.Public);
|
||||
clearMethod.Invoke(innerCache, null);
|
||||
return Result.ReSuccess();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user