package models

import "time"

type WxXcxLoginReq struct {
	Code string `json:"code"`
}

type WxXcxLoginResp struct {
	Token  string `json:"token"`
	OpenId string `json:"openid"`
}

type SaveUserInfoReq struct {
	Phone string `json:"phone" description:"手机号码"`
	Email string `json:"email" description:"邮件"`
	//UnionId                 string `json:"union_id" description:"unionid"`
	NickName string `json:"nick_name" description:"昵称"`
	Avatar   string `json:"avatar" description:"头像"`
	//PrivacyProtocolVersions int    `json:"privacy_protocol_versions" description:"隐私政策版本"`

	RealName          string `json:"real_name" description:"真实姓名"`
	IdCard            string `json:"id_card" description:"身份证号"`
	InpatientRegPhone string `json:"inpatient_reg_phone" description:"住院登记手机号"`
}

type UserInfoResp struct {
	Id                      uint64 `json:"id" description:"Primary Key ID"`
	Phone                   string `json:"phone" description:"手机号码"`
	Email                   string `json:"email" description:"邮件"`
	OpenId                  string `json:"open_id" description:"OpenID"`
	UnionId                 string `json:"union_id" description:"unionid"`
	NickName                string `json:"nick_name" description:"昵称"`
	Avatar                  string `json:"avatar" description:"头像"`
	Status                  int    `json:"status" description:"状态(1:有效0:无效)"`
	Source                  string `json:"source" description:"用户来源"`
	PrivacyProtocolVersions int    `json:"privacy_protocol_versions" description:"隐私政策版本"`

	RealName          string `json:"real_name" description:"真实姓名"`
	IdCard            string `json:"id_card" description:"身份证号"`
	InpatientRegPhone string `json:"inpatient_reg_phone" description:"住院登记手机号"`

	Ctime time.Time `json:"ctime" description:"创建时间"`
	Mtime time.Time `json:"mtime" description:"更新时间 "`
}

type SaveHealthProfileReq struct {
	Gender              int       `json:"gender" description:"性别(0:未知 1:男 2:女)"`
	Height              int       `json:"height" description:"身高"`
	Weight              int       `json:"weight" description:"体重"`
	BloodType           string    `json:"blood_type" description:"血型"`
	Birthday            time.Time `json:"birthday" description:"生日"`
	IllnessState        string    `json:"illness_state" description:"病情"`
	RenalFunctionStatus int       `json:"renal_function_status" description:"肾功能情况(0:未透析,1: 血液透析,2:腹膜透析,3:肾脏移植)"`
	Creatinine          int       `json:"creatinine" description:"血肌酐"`
	CreatinineUnit      string    `json:"creatinine_unit" description:"肌酐单位(umol/L,mg/dl)"`
	CreatineTime        time.Time `json:"creatine_time" description:"肌酐检测时间"`
	UrineProtein24hUnit string    `json:"urine_protein_24h_unit" description:"24小时尿蛋白单位(g/24h,mg/24h)"`
	UrineProtein24h     int       `json:"urine_protein_24h" description:"24小时尿蛋白"`
	UrineProtein24hTime time.Time `json:"urine_protein_24h_time" description:"24小时尿蛋白检测时间"`
	UrineProtein        int       `json:"urine_protein" description:"尿蛋白"`
	UrineProteinUnit    string    `json:"urine_protein_unit" description:"尿蛋白单位(g,mg)"`
	UrineProteinTime    time.Time `json:"urine_protein_time" description:"尿蛋白检测时间"`
}

type HealthProfileResp struct {
	Id uint64 `json:"id" description:"Primary Key ID"`
	//UserId              int64     `json:"user_id" description:"用户ID"`
	//RealName            string    `json:"real_name" description:"真实姓名"`
	//IdCard              string    `json:"id_card" description:"身份证号"`
	//InpatientRegPhone   string    `json:"inpatient_reg_phone" description:"住院登记手机号"`
	Gender              int       `json:"gender" description:"性别(0:未知 1:男 2:女)"`
	Height              int       `json:"height" description:"身高"`
	Weight              int       `json:"weight" description:"体重"`
	BloodType           string    `json:"blood_type" description:"血型"`
	Birthday            time.Time `json:"birthday" description:"生日"`
	IllnessState        string    `json:"illness_state" description:"病情"`
	RenalFunctionStatus int       `json:"renal_function_status" description:"肾功能情况(0:未透析,1: 血液透析,2:腹膜透析,3:肾脏移植)"`
	Creatinine          int       `json:"creatinine" description:"血肌酐"`
	CreatinineUnit      string    `json:"creatinine_unit" description:"肌酐单位(umol/L,mg/dl)"`
	CreatineTime        time.Time `json:"creatine_time" description:"肌酐检测时间"`
	UrineProtein24hUnit string    `json:"urine_protein_24h_unit" description:"24小时尿蛋白单位(g/24h,mg/24h)"`
	UrineProtein24h     int       `json:"urine_protein_24h" description:"24小时尿蛋白"`
	UrineProtein24hTime time.Time `json:"urine_protein_24h_time" description:"24小时尿蛋白检测时间"`
	UrineProtein        int       `json:"urine_protein" description:"尿蛋白"`
	UrineProteinUnit    string    `json:"urine_protein_unit" description:"尿蛋白单位(g,mg)"`
	UrineProteinTime    time.Time `json:"urine_protein_time" description:"尿蛋白检测时间"`
	Status              int       `json:"status" description:"状态(1:有效 0:无效 )"`
	Ctime               time.Time `json:"ctime" description:"创建时间"`
	Mtime               time.Time `json:"mtime" description:"更新时间 "`
}

type DicResp struct {
	Type  string `json:"type"`
	Name  string `json:"name" description:"字典名称"`
	Value int    `json:"value" description:"字典值"`
}
