MeiRiYiCheng_1_old/YBDevice.NApi/Application/MeasureInfo/IBodyFatHelperService.cs

151 lines
5.5 KiB
C#
Raw Normal View History

2025-07-16 17:14:38 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using YBDevice.Entity;
using YBDevice.NApi.Application.UserInfo;
namespace YBDevice.NApi
{
/// <summary>
/// 体脂计算算法
/// </summary>
public interface IBodyFatHelperService
{
/// <summary>
/// 结果计算
/// </summary>
/// <param name="model">已计算的结果</param>
/// <returns></returns>
UserMeasureModel CalcBodyFat(MeasureCalcDto model);
/// <summary>
/// 计算体脂
/// </summary>
/// <param name="weight">体重,单位为kg</param>
/// <param name="height">身高,单位为米</param>
/// <param name="age">年龄</param>
/// <param name="adc">阻抗</param>
/// <param name="sex">性别,1-男2-女,0-未知</param>
/// <returns></returns>
UserMeasureModel CalcBodyFat(double weight, double height, int age, int adc, int sex);
/// <summary>
/// 八电极计算体脂
/// </summary>
/// <param name="weight">体重,单位为kg</param>
/// <param name="height">身高,单位为米</param>
/// <param name="age">年龄</param>
/// <param name="sex">性别,1-男2-女,0-未知</param>
/// <param name="body">全身阻抗</param>
/// <param name="leftfoot">左脚阻抗</param>
/// <param name="lefthand">左手阻抗</param>
/// <param name="rightfoot">右脚阻抗</param>
/// <param name="righthand">右手阻抗</param>
Task<UserMeasureDto> CalcBody120FatAsync(decimal weight, decimal height, int age, int sex, decimal lefthand, decimal righthand, decimal leftfoot, decimal rightfoot, decimal body);
/// <summary>
/// bmi范围标准
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <returns></returns>
List<MeasureInfoItemValue> bmi_value(int sex, int age);
/// <summary>
/// 脂肪率/体脂率范围标准
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <returns></returns>
List<MeasureInfoItemValue> fa_r_value(int sex, int age);
/// <summary>
/// 脂肪重量标准范围
/// </summary>
/// <param name="sex">性别</param>
/// <param name="age">年龄</param>
/// <param name="weight">重量,kg</param>
/// <returns></returns>
List<MeasureInfoItemValue> fat_w_value(int sex, int age, decimal weight);
/// <summary>
/// 肌肉率范围
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <returns></returns>
List<MeasureInfoItemValue> muscle_value(int sex, int age);
/// <summary>
/// 肌肉重量标准范围
/// </summary>
/// <param name="sex">性别</param>
/// <param name="age">年龄</param>
/// <param name="weight">重量,kg</param>
/// <returns></returns>
List<MeasureInfoItemValue> muscleval_value(int sex, int age, decimal weight);
/// <summary>
/// 水份范围
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <returns></returns>
List<MeasureInfoItemValue> water_value(int sex, int age);
/// <summary>
/// 骨量范围
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <param name="weight">体重</param>
/// <returns></returns>
List<MeasureInfoItemValue> bone_value(int sex, int age, decimal weight);
/// <summary>
/// 基础代谢范围
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <param name="weight"></param>
/// <returns></returns>
List<MeasureInfoItemValue> kcal_value(int sex, int age, decimal weight);
/// <summary>
/// 内脂范围
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <returns></returns>
List<MeasureInfoItemValue> visceral_value(int sex, int age);
/// <summary>
/// 蛋白质范围
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <returns></returns>
List<MeasureInfoItemValue> protein_value(int sex, int age);
/// <summary>
/// 蛋白量标准范围
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <param name="weight"></param>
/// <returns></returns>
List<MeasureInfoItemValue> proteinval_value(int sex, int age, decimal weight);
/// <summary>
/// 皮下脂肪范围
/// </summary>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <returns></returns>
List<MeasureInfoItemValue> sfr_value(int sex, int age);
/// <summary>
/// 肥胖等级
/// </summary>
/// <param name="level">level=(体重-标准体重)/标准体重</param>
/// <returns></returns>
string fatlevel(double level);
/// <summary>
/// 标准体重
/// </summary>
/// <param name="height"></param>
/// <param name="sex"></param>
/// <returns></returns>
double standweight(int height, int sex);
}
}