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) });
}
}
}
}