|
- using MoYu.FriendlyException;
- using MoYu.RemoteRequest.Extensions;
- using Newtonsoft.Json.Linq;
- using SafeCampus.Application.Manager.DeepelephManager;
- using SafeCampus.Web.Core.Controllers.Application.Business.Dto;
-
- namespace SafeCampus.Web.Core.Controllers.Application.Business;
- /// <summary>
- /// 考勤事件管理接口
- /// </summary>
- [Route("/business/[controller]")]
- [ApiDescriptionSettings(ApiGroupConsts.SYSTEM_Business, Order = 94)]
- public class AttendanceApi : IDynamicApiController
- {
- private readonly IDeepelephManager _deepelephManager;
-
- public AttendanceApi(IDeepelephManager deepelephManager)
- {
- _deepelephManager = deepelephManager;
- }
-
- /// <summary>
- /// 考勤查询
- /// </summary>
- /// <param name="search">查询参数</param>
- /// <returns></returns>
- public async Task<dynamic> GetPassengerFlow(ClassRoomCallSearch search)
- {
- var appSettings = App.GetOptionsMonitor<AppInfoOptions>();
- var str = await $"{appSettings.SXAPIURL}/dfield-api/ecology/attendance/data/query"
- .SetBody(new
- {
- token = _deepelephManager.GetToken(),
- tenantCode = appSettings.TenantCode,
- poiId = appSettings.PoiId,
- startTime = new DateTimeOffset(search.startTime).ToUnixTimeMilliseconds(),
- endTime = new DateTimeOffset(search.endTime).ToUnixTimeMilliseconds(),
- cameraId = search.cameraId,
- pageIndex = search.PageNum,
- pageSize = search.PageSize,
- })
- .SetContentType("application/json")
- .PostAsAsync<string>();
- var model = JsonConvert.DeserializeObject<JObject>(str);
- if (!(bool)model["success"]) throw Oops.Oh(model["message"].ToString());
- if (model["data"] != null)
- {
- return new
- {
- pageNum = search.PageNum,
- pageSize = model["data"]["size"],
- total = model["data"]["total"],
- pages = model["data"]["pages"],
- list = model["data"]["items"]
- };
- }
- return new
- {
- pageNum = search.PageNum,
- pageSize = 0,
- total = 0,
- pages = 0,
- list = new List<string>()
- };
- }
- }
|