using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using YBDevice.Entity; namespace YBDevice.NApi.Application.ThirdClient { /// /// 基础信息 /// public class BaseInfo { /// /// 身高,单位厘米 /// [Range(30, 300, ErrorMessage = "身高只能在30-300厘米之间")] public decimal Height { get; set; } /// /// 体重,kg /// [Range(1, 300, ErrorMessage = "体重只能在1-300公斤之间")] public decimal Weight { get; set; } } /// /// 计算BMI /// public class BmiInfoC2SDto: BaseInfo,IValidatableObject { /// /// 性别,1-男,2-女 /// public GenderType Sex { get; set; } /// /// 出生年月 /// public DateTime Birthday { get; set; } public IEnumerable Validate(ValidationContext validationContext) { if (Birthday > DateTime.Now.Date) { yield return new ValidationResult("请选择正确的出生年月", new[] { nameof(Birthday) }); } if (Birthday < DateTime.Now.Date.AddYears(-100)) { yield return new ValidationResult("请选择正确的出生年月", new[] { nameof(Birthday) }); } } } /// /// 身高预测 /// public class HeightInfoC2SDto:IValidatableObject { /// /// 爸爸身高 /// [Range(10, 300, ErrorMessage = "身高只能在30-300厘米之间")] public decimal DadHeight { get; set; } /// /// 妈妈身高 /// [Range(10, 300, ErrorMessage = "身高只能在10-300厘米之间")] public decimal MomHeight { get; set; } /// /// 生日 /// public DateTime Birthday { get; set; } /// /// 性别,1-男,2-女 /// public GenderType sex { get; set; } public IEnumerable Validate(ValidationContext validationContext) { if (Birthday > DateTime.Now.Date) { yield return new ValidationResult("请选择正确的出生年月", new[] { nameof(Birthday) }); } if (Birthday < DateTime.Now.Date.AddYears(-100)) { yield return new ValidationResult("请选择正确的出生年月", new[] { nameof(Birthday) }); } } } /// /// code2session接口参数 /// public class TouTiaoLoginC2SDto : LoginClientS2SDto { /// /// login 接口返回的登录凭证 /// [Required(ErrorMessage ="code值不可为空")] public string code { get; set; } /// /// login 接口返回的匿名登录凭证 /// public string anonymous_code { get; set; } = ""; } /// /// 用户注册信息 /// public class SubmitUserInfoC2SDto : LoginClientS2SDto { /// /// 唯一id,作为换取登录信息的凭据 /// [Required(ErrorMessage = "sessionid不可为空")] public string sessionId { get; set; } /// /// 头像 /// public string avatarUrl { get; set; } /// /// 昵称 /// public string nickName { get; set; } } /// /// 小程序解密信息 /// public class DecryptUserInfoC2SDto : LoginClientS2SDto { /// /// 唯一id,作为换取登录信息的凭据 /// [Required(ErrorMessage ="sessionid不可为空")] public string sessionId { get; set; } /// /// 加密数据 /// [Required(ErrorMessage = "数据不可为空")] public string encryptedData { get; set; } /// /// 向量 /// [Required(ErrorMessage = "向量不可为空")] public string iv { get; set; } } /// /// 登录客户端类型 /// public class LoginClientS2SDto { /// /// 客户端类型,1-微信小程序,2-字节小程序 /// public int UA { get; set; } } /// /// 添加测量记录 /// public class InsertResultC2SDto: BaseInfo { /// /// 记录时间 /// public DateTime? CreateTime { get; set; } /// /// 家庭成员ID /// public Guid FamilyId { get; set; } } /// /// 测量记录信息 /// public class ResultListS2CDto { /// /// 身高值,CM /// public decimal Height { get; set; } /// /// 体重,CM /// public decimal Weight { get; set; } /// /// BMI值 /// public decimal BMI { get; set; } /// /// 记录时间 /// public string CreateTime { get; set; } } /// /// 用户资料 /// public class UserInfoS2CDto { /// /// 用户昵称 /// public string Name { get; set; } /// /// 头像 /// public string HeadImg { get; set; } /// /// 身高值,CM /// public decimal Height { get; set; } /// /// 体重,CM /// public decimal Weight { get; set; } /// /// BMI值 /// public decimal BMI { get; set; } /// /// 性别,1-男,2-女 /// public GenderType Sex { get; set; } /// /// 出生年月 /// public DateTime? Birthday { get; set; } /// /// 最近记录时间 /// public DateTime? LastResultTime { get; set; } /// /// 年龄,小于16岁的显示几岁几个月,其他只显示整岁 /// public string Age { get; set; } /// /// 家庭成员ID /// public Guid FamilyId { get; set; } /// /// BMI等级 /// public string BMILevel { get; set; } /// /// 身高等级 /// public string HeightLevel { get; set; } /// /// 体重等级 /// public string WeightLevel { get; set; } /// /// BMI等级颜色 /// public string BMILevelColor { get; set; } /// /// 身高等级颜色 /// public string HeightLevelColor { get; set; } /// /// 体重等级颜色 /// public string WeightLevelColor { get; set; } /// /// 头围等级颜色 /// public string HeadLevelColor { get; set; } /// /// BMI分级列表 /// public List BMILevelList { get; set; } /// /// 身高分级列表 /// public List HeightLevelList { get; set; } /// /// 体重分级列表 /// public List WeightLevelList { get; set; } } /// /// 用户资料修改 /// public class SumitUserInfoC2SDto : BaseInfo,IValidatableObject { /// /// 性别,1-男,2-女 /// public int Sex { get; set; } /// /// 出生年月 /// public DateTime Birthday { get; set; } /// /// 家庭成员ID /// public Guid FamilyId { get; set; } public IEnumerable Validate(ValidationContext validationContext) { if (Sex != 1 && Sex != 2) { yield return new ValidationResult("请先选择性别", new[] { nameof(Sex) }); } if (Birthday > DateTime.Now.Date) { yield return new ValidationResult("请选择正确的出生年月", new[] { nameof(Birthday) }); } if (Birthday < DateTime.Now.Date.AddYears(-100)) { yield return new ValidationResult("请选择正确的出生年月", new[] { nameof(Birthday) }); } } } }