Sfoglia il codice sorgente

甄别首页查询

田爽 9 mesi fa
parent
commit
39151c7139

+ 2 - 1
src/Hotline.Api/Controllers/CommonPController.cs

@@ -179,7 +179,8 @@ namespace Hotline.Api.Controllers
             //甄别
             var screenAudit = await _orderScreenRepository.Queryable(hasHandled: false)
                 .Where(x=>x.CreationTime < DateTime.Now && x.CreationTime > DateTime.Now.AddMonths(-2))
-                .Where(d => d.Status == EScreenStatus.Apply)
+                .Where(x => (x.Status == EScreenStatus.Apply || x.Status == EScreenStatus.Approval || (x.Status == EScreenStatus.SendBack && x.SendBackApply == false)))
+                //.Where(d => d.Status == EScreenStatus.Apply)
                 .CountAsync();
             //var workTime = _timeLimitDomainService.CalcWorkTimeReduce(DateTime.Now, 5);
             var screenHandle = await _orderVisitedDetailRepository.Queryable(false, true)

+ 20 - 4
src/Hotline.Api/Controllers/TestController.cs

@@ -10,6 +10,7 @@ using Hotline.Ai.Visit;
 using Hotline.Application.ExportExcel;
 using Hotline.Application.FlowEngine;
 using Hotline.Application.JudicialManagement;
+using Hotline.Application.Orders;
 using Hotline.Application.Quality;
 using Hotline.Application.StatisticalReport;
 using Hotline.Authentications;
@@ -139,11 +140,12 @@ public class TestController : BaseController
 
     private readonly IRepository<ContingencyManagementHotspot> _contingencyManagementHotspotRepository;
     private readonly IRepository<Hotspot> _hotspotRepository;
-    //private readonly ITypedCache<List<User>> _cache;
-    //private readonly ICacheManager<User> _cache;
+    private readonly IOrderApplication _orderApplication;
+	//private readonly ITypedCache<List<User>> _cache;
+	//private readonly ICacheManager<User> _cache;
 
 
-    public TestController(
+	public TestController(
         INewRockClient client,
         ILogger<TestController> logger,
         IAuthorizeGenerator authorizeGenerator,
@@ -181,6 +183,7 @@ public class TestController : BaseController
         IEnforcementApplication enforcementApplication,
         IWorkflowDomainService workflowDomainService,
         IMapper mapper,
+        IOrderApplication orderApplication,
 
 
    IOptionsSnapshot<SendSmsConfiguration> sendSmsConfiguration,
@@ -234,7 +237,9 @@ IRepository<Hotspot> hotspotRepository
         _enforcementOrdersHandlerRepository = enforcementOrdersHandlerRepository;
         _contingencyManagementHotspotRepository = contingencyManagementHotspotRepository;
         _hotspotRepository = hotspotRepository;
-    }
+        _orderApplication = orderApplication;
+
+	}
 
 
     /// <summary>
@@ -1188,4 +1193,15 @@ IRepository<Hotspot> hotspotRepository
         _logger.LogInformation($"处理完成");
     }
 
+    /// <summary>
+    /// 处理工单流程错误数据   话务部直接归档件  没有归档节点
+    /// </summary>
+    /// <param name="StartTime"></param>
+    /// <param name="EndTime"></param>
+    /// <returns></returns>
+    [HttpGet("order_participle")]
+    [AllowAnonymous]
+    public async Task OrderParticiple() {
+		await _orderApplication.OrderParticiple("2024年6月7日,黄先生在三江新区朵唯电子厂工作,2024年7月11日,其办理了离职,被告知自离没有工资,其认为不合理。\n希望得到工资。(无合同,无单位负责人电话)", "1", DateTime.Now, HttpContext.RequestAborted);
+	}
 }

+ 1 - 0
src/Hotline.Api/Hotline.Api.csproj

@@ -11,6 +11,7 @@
   <ItemGroup>
     <PackageReference Include="FluentValidation.AspNetCore" Version="11.3.0" />
     <PackageReference Include="Fw.Utility.Client" Version="1.0.0" />
+    <PackageReference Include="JiebaAspNetCore.Segmenter" Version="1.0.1" />
     <PackageReference Include="Mapster.DependencyInjection" Version="1.0.0" />
     <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.9" />
     <PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="7.0.14" />

+ 1 - 0
src/Hotline.Application/Hotline.Application.csproj

@@ -7,6 +7,7 @@
   </PropertyGroup>
 
   <ItemGroup>
+    <PackageReference Include="JiebaAspNetCore.Segmenter" Version="1.0.1" />
     <PackageReference Include="JV.PanGu.Core" Version="1.0.1" />
     <PackageReference Include="NPOI" Version="2.7.0" />
     <PackageReference Include="XC.RSAUtil" Version="1.3.6" />

+ 29 - 22
src/Hotline.Application/Orders/OrderApplication.cs

@@ -44,7 +44,9 @@ using Hotline.Share.Enums.FlowEngine;
 using Hotline.Authentications;
 using MediatR;
 using Hotline.Share.Mq;
+using JiebaNet.Segmenter;
 using Microsoft.AspNetCore.Http;
+using WordInfo = PanGu.WordInfo;
 
 namespace Hotline.Application.Orders;
 
@@ -329,34 +331,39 @@ public class OrderApplication : IOrderApplication, IScopeDependency
             if (word is { WordType: WordType.SimplifiedChinese, Word.Length: > 1 })
                 words.Add(splitWords.ElementAt(i).Word);
         }
+        //var a = words;
         if (words.Any())
         {
             var vector = await _repositoryts.SearchAsync(orderId, cancellationToken);
             if (vector != null && vector.Any()) await _repositoryts.UpdateVectorAsync(orderId, words, cancellationToken);
             else await _repositoryts.AddVectorAsync(orderId, time, words, cancellationToken);
         }
-        //var words = await _orderWrodRepository.Queryable().Where(x => x.IsEnable == 1 && x.Classify.Contains("普通标签")).Select(x => x.Tag).ToListAsync(cancellationToken);
-        //var res = new List<string>();
-        //if (words.Any()) res = ParticipleTool.SegMMDouble(inputStr, ref words);
-        //var participles = await _orderWrodRepository.Queryable().In(x => x.Tag, res).ToListAsync(cancellationToken);
-        //if (participles.Any())
-        //{
-        //    //关键词
-        //    var tags = participles.Select(x => x.Tag).ToList();
-        //    var tagsStr = string.Join(",", tags);
-        //    await _orderRepository.Updateable().SetColumns(x => x.TagNames == tagsStr).Where(x => x.Id == orderId).ExecuteCommandAsync(cancellationToken);
-        //    List<string> synonyms = participles.Select(x => x.Synonym).ToList();
-        //    if (synonyms.Any())
-        //    {
-        //        var synonymsStr = string.Join(",", synonyms);
-        //        synonyms = synonymsStr.Split(",").Distinct().ToList();
-        //        tags.AddRange(synonyms);
-        //    }
-        //    var vector = await _orderRepository.Queryable().Where(x => x.Id == orderId).ToListAsync(cancellationToken);
-        //    if (vector.Any()) await _repositoryts.UpdateVectorAsync(orderId, tags, cancellationToken);
-        //    else await _repositoryts.AddVectorAsync(orderId, DateTime.Now, tags, cancellationToken);
-        //}
-    }
+        //var segmenter = new JiebaSegmenter();
+        //var segments1 = segmenter.Cut(inputStr, cutAll: true);
+        //var b = segments1;
+        //var c = 1;
+		//var words = await _orderWrodRepository.Queryable().Where(x => x.IsEnable == 1 && x.Classify.Contains("普通标签")).Select(x => x.Tag).ToListAsync(cancellationToken);
+		//var res = new List<string>();
+		//if (words.Any()) res = ParticipleTool.SegMMDouble(inputStr, ref words);
+		//var participles = await _orderWrodRepository.Queryable().In(x => x.Tag, res).ToListAsync(cancellationToken);
+		//if (participles.Any())
+		//{
+		//    //关键词
+		//    var tags = participles.Select(x => x.Tag).ToList();
+		//    var tagsStr = string.Join(",", tags);
+		//    await _orderRepository.Updateable().SetColumns(x => x.TagNames == tagsStr).Where(x => x.Id == orderId).ExecuteCommandAsync(cancellationToken);
+		//    List<string> synonyms = participles.Select(x => x.Synonym).ToList();
+		//    if (synonyms.Any())
+		//    {
+		//        var synonymsStr = string.Join(",", synonyms);
+		//        synonyms = synonymsStr.Split(",").Distinct().ToList();
+		//        tags.AddRange(synonyms);
+		//    }
+		//    var vector = await _orderRepository.Queryable().Where(x => x.Id == orderId).ToListAsync(cancellationToken);
+		//    if (vector.Any()) await _repositoryts.UpdateVectorAsync(orderId, tags, cancellationToken);
+		//    else await _repositoryts.AddVectorAsync(orderId, DateTime.Now, tags, cancellationToken);
+		//}
+	}
 
     public async Task OrderSensitiveParticiple(string inputStr, string orderId, CancellationToken cancellationToken)
     {