using Furion.DynamicApiController; using Mapster; using Microsoft.AspNetCore.Mvc; using Nirvana.Common; using Nirvana.Common.ApiBase; using System.Threading.Tasks; using YBDevice.Body.BodyFatHelper; namespace YBDevice.NApi.Application.ThirdOpen { /// /// 对外开放接口 /// [ApiDescriptionSettings("ThirdOpen")] public class ThirdAppService : IDynamicApiController { private readonly IBodyFatHelperService _bodyService; public ThirdAppService(IBodyFatHelperService bodyService) { _bodyService = bodyService; } /// /// 计算结果值 /// /// /// //[ThirdAuthorizeFilter] public ResultInfo Body24(BodyCalcC2SDto data) { var returndata = _bodyService.CalcBodyFat(data.Weight.ToDouble(), data.Height.ToDouble(), data.Age, data.adc , data.sex); var resdata = returndata.Adapt(); if (resdata.standardWeight.ToDouble() <= 0) { return new ResultInfo(ResultState.FAIL, "暂不支持疑似小孩的计算", null); } else { return new ResultInfo(ResultState.SUCCESS, "success", resdata); } } /// /// 八电极计算结果值 /// /// /// public async Task Body120(Body120CalcC2SDto input) { var returndata = await _bodyService.CalcBody120FatAsync(input.Weight, input.Height, input.Age, input.sex, input.lefthand, input.righthand, input.leftfoot, input.rightfoot, input.body); var data = returndata.Adapt(); return new ResultInfo(ResultState.SUCCESS, "success", data); } /// /// 品传算法计算结果值 /// /// /// public ResultInfo PCBody24(BodyCalcC2SDto data) { var returndata = _bodyService.PCCalcBodyFat(data.Weight.ToDouble(), data.Height.ToDouble(), data.Age, data.adc , data.sex); var resdata = returndata.Adapt(); return new ResultInfo(ResultState.SUCCESS, "success", resdata); } /// /// 接受转发的数据测试样例 /// /// /// public string Post(BodyPostBodyS2SDto data) { return "success"; } } }