MeiRiYiCheng_1_old/YBDevice.NApi.Application/ThirdClient/Dtos/ThirdDto.cs

317 lines
9.2 KiB
C#

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