|
|
@@ -2,6 +2,7 @@
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
using NPOI.SS.Formula.Functions;
|
|
|
+using NPOI.Util;
|
|
|
using OASystem.API.OAMethodLib.DeepSeekAPI;
|
|
|
using OASystem.API.OAMethodLib.GenericSearch;
|
|
|
using OASystem.Domain.AesEncryption;
|
|
|
@@ -9,9 +10,9 @@ using OASystem.Domain.Entities.Customer;
|
|
|
using OASystem.Domain.Entities.Financial;
|
|
|
using OASystem.Domain.Entities.Groups;
|
|
|
using OASystem.Domain.ViewModels.Search;
|
|
|
+using OASystem.Infrastructure.Repositories.CRM;
|
|
|
using OASystem.Infrastructure.Repositories.System;
|
|
|
using static iTextSharp.text.pdf.AcroFields;
|
|
|
-using OASystem.Infrastructure.Repositories.CRM;
|
|
|
|
|
|
namespace OASystem.API.Controllers
|
|
|
{
|
|
|
@@ -317,7 +318,6 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/// <summary>
|
|
|
/// 团组、会务流程 关键字输入提示(智能版)
|
|
|
/// </summary>
|
|
|
@@ -388,5 +388,83 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(JsonView(true, $"搜索服务暂时不可用!"));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 团组会务成本 关键字输入提示(智能版)
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="keyword">关键字</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("ConferenceAffairsKeywordSearch/{keyword}")]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public async Task<IActionResult> ConferenceAffairsKeywordSearch(string keyword)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ // 验证请求参数
|
|
|
+ if (string.IsNullOrEmpty(keyword))
|
|
|
+ {
|
|
|
+ return Ok(JsonView(true, $"暂无数据!"));
|
|
|
+ }
|
|
|
+ var hwIds = _sqlSugar.Queryable<Sys_SetData>()
|
|
|
+ .Where(x => x.IsDel == 0 && x.STid == 10 && x.Name.Contains("会务活动"))
|
|
|
+ .Select(x => x.Id)
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var object_hwIds = hwIds.ConvertAll<object>(x => x);
|
|
|
+
|
|
|
+ var searchRequest = new DynamicSearchRequest
|
|
|
+ {
|
|
|
+ Keyword = keyword,
|
|
|
+ RequireAllSingleChars = true,
|
|
|
+ PageIndex = 1,
|
|
|
+ PageSize = 999999,
|
|
|
+ FieldWeights = new Dictionary<string, int>
|
|
|
+ {
|
|
|
+ { "TeamName", 10 }
|
|
|
+ },
|
|
|
+ Filters = new List<SearchFilter>()
|
|
|
+ {
|
|
|
+ new(){Field = "IsDel",Operator="eq",Value="0" },
|
|
|
+ new(){Field = "TeamDid",Operator="in",Values=object_hwIds }
|
|
|
+ },
|
|
|
+ OrderBy = "VisitDate",
|
|
|
+ ReturnFields = new List<string>() { "TeamName" }
|
|
|
+ };
|
|
|
+
|
|
|
+ // 验证字段配置
|
|
|
+ var validation = _groupSearchService.ValidateFieldConfig(
|
|
|
+ searchRequest.FieldWeights,
|
|
|
+ searchRequest.ReturnFields);
|
|
|
+
|
|
|
+ if (!validation.IsValid)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(true, $"暂无数据!{validation.Message}"));
|
|
|
+ }
|
|
|
+
|
|
|
+ var result = await _groupSearchService.SearchAsync(searchRequest);
|
|
|
+
|
|
|
+ if (result.Success)
|
|
|
+ {
|
|
|
+ var data = new List<dynamic>();
|
|
|
+
|
|
|
+ foreach (var item in result.Items)
|
|
|
+ {
|
|
|
+ data.Add(new
|
|
|
+ {
|
|
|
+ item.Data.Id,
|
|
|
+ item.Data.TeamName,
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(JsonView(true, result.Message, data, data.Count));
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(JsonView(true, result.Message));
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return Ok(JsonView(true, $"搜索服务暂时不可用!"));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|