using MoYu.FriendlyException; using MoYu.RemoteRequest.Extensions; using Newtonsoft.Json.Linq; using SafeCampus.Application.Manager.DeepelephManager; using SafeCampus.Application.Services.Business.ClassTeacherService; namespace SafeCampus.Web.Core.Controllers.Application.Business; /// /// 人员底库管理接口 /// [Route("/business/[controller]")] [ApiDescriptionSettings(ApiGroupConsts.SYSTEM_Business, Order = 99,Tag = "人员底库管理")] public class DfieldApi : IDynamicApiController { private readonly IDeepelephManager _deepelephManager; private readonly IClassTeacherService _classTeacherService; public DfieldApi(IDeepelephManager deepelephManager, IClassTeacherService classTeacherService) { _deepelephManager = deepelephManager; _classTeacherService = classTeacherService; } /// /// 创建底库 /// /// public async Task CreateDfieldA(ControllersNameInput input) { var appSettings = App.GetOptionsMonitor(); var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/person/set/create" .SetBody(new { token = _deepelephManager.GetToken(), tenantCode = appSettings.TenantCode, poiId = appSettings.PoiId, personSetId=Guid.NewGuid().ToString("N"), personSetName = input.Name, }) .SetContentType("application/json") .PostAsAsync(); var model = JsonConvert.DeserializeObject(str); if ((bool)model["success"]) { return model["data"]; } throw Oops.Oh(model["message"].ToString()); } /// /// 查询底库列表 /// /// public async Task QueryAll() { var appSettings = App.GetOptionsMonitor(); var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/person/set/queryAll" .SetBody(new { token = _deepelephManager.GetToken(), tenantCode = appSettings.TenantCode, poiId = appSettings.PoiId, }) .SetContentType("application/json") .PostAsAsync(); var model = JsonConvert.DeserializeObject(str); if ((bool)model["success"]) { var list = model["data"]; for (int i = 0; i < list.Count(); i++) { var models = await _classTeacherService.GetInfo(list[i]["personSetId"].ToString()); if (models!=null) { list[i]["userId"]= models.UserId; list[i]["userName"]= models.Name; list[i]["id"]= models.Id; } else { list[i]["userId"] = null; list[i]["userName"] =null; } } return list; } throw Oops.Oh(model["message"].ToString()); } /// /// 删除底库 /// /// 底库id /// public async Task DeleteDfieldD(string id) { var appSettings = App.GetOptionsMonitor(); var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/person/set/delete" .SetBody(new { token = _deepelephManager.GetToken(), tenantCode = appSettings.TenantCode, poiId = appSettings.PoiId, personSetId= id }) .SetContentType("application/json") .PostAsAsync(); var model = JsonConvert.DeserializeObject(str); if ((bool)model["success"]) { return model["data"].ToString()==id; } throw Oops.Oh(model["message"].ToString()); } /// /// 更新底库 /// /// /// public async Task UpdateDfieldU(DfieldInput input) { var appSettings = App.GetOptionsMonitor(); var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/person/set/update" .SetBody(new { token = _deepelephManager.GetToken(), tenantCode = appSettings.TenantCode, poiId = appSettings.PoiId, personSetId=input.Id, personSetName=input.Name }) .SetContentType("application/json") .PostAsAsync(); var model = JsonConvert.DeserializeObject(str); if ((bool)model["success"]) { return model["data"].ToString()==input.Id; } throw Oops.Oh(model["message"].ToString()); } }