httpmodels.go 8.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. package models
  2. import "time"
  3. type Time time.Time
  4. const (
  5. timeFormart = "2006-01-02 15:04:05"
  6. )
  7. func (t *Time) UnmarshalJSON(data []byte) (err error) {
  8. now, err := time.ParseInLocation(`"`+timeFormart+`"`, string(data), time.Local)
  9. *t = Time(now)
  10. return
  11. }
  12. func (t *Time) Parse(date string) (now time.Time, err error) {
  13. now, err = time.ParseInLocation(timeFormart, date, time.Local)
  14. *t = Time(now)
  15. return
  16. }
  17. func (t Time) MarshalJSON() ([]byte, error) {
  18. b := make([]byte, 0, len(timeFormart)+2)
  19. b = append(b, '"')
  20. b = time.Time(t).AppendFormat(b, timeFormart)
  21. b = append(b, '"')
  22. return b, nil
  23. }
  24. func (t Time) String() string {
  25. return time.Time(t).Format(timeFormart)
  26. }
  27. type WxXcxLoginReq struct {
  28. Code string `json:"code"`
  29. }
  30. type WxXcxLoginResp struct {
  31. Token string `json:"token"`
  32. OpenId string `json:"openid"`
  33. PatientId int64 ` json:"patient_id"`
  34. UserOrgId int64 ` json:"user_org_id"`
  35. }
  36. type SaveUserInfoReq struct {
  37. Phone string `json:"phone" description:"手机号码"`
  38. Email string `json:"email" description:"邮件"`
  39. //UnionId string `json:"union_id" description:"unionid"`
  40. NickName string `json:"nick_name" description:"昵称"`
  41. Avatar string `json:"avatar" description:"头像"`
  42. //PrivacyProtocolVersions int `json:"privacy_protocol_versions" description:"隐私政策版本"`
  43. RealName string `json:"real_name" description:"真实姓名"`
  44. IdCard string `json:"id_card" description:"身份证号"`
  45. InpatientRegPhone string `json:"inpatient_reg_phone" description:"住院登记手机号"`
  46. }
  47. type UserInfoResp struct {
  48. Id uint64 `json:"id" description:"Primary Key ID"`
  49. Phone string `json:"phone" description:"手机号码"`
  50. Email string `json:"email" description:"邮件"`
  51. OpenId string `json:"open_id" description:"OpenID"`
  52. UnionId string `json:"union_id" description:"unionid"`
  53. NickName string `json:"nick_name" description:"昵称"`
  54. Avatar string `json:"avatar" description:"头像"`
  55. Status int `json:"status" description:"状态(1:有效0:无效)"`
  56. Source string `json:"source" description:"用户来源"`
  57. PrivacyProtocolVersions int `json:"privacy_protocol_versions" description:"隐私政策版本"`
  58. RealName string `json:"real_name" description:"真实姓名"`
  59. IdCard string `json:"id_card" description:"身份证号"`
  60. InpatientRegPhone string `json:"inpatient_reg_phone" description:"住院登记手机号"`
  61. PatientId int64 ` json:"patient_id"`
  62. UserOrgId int64 ` json:"user_org_id"`
  63. Ctime Time `json:"ctime" description:"创建时间"`
  64. Mtime Time `json:"mtime" description:"更新时间 "`
  65. }
  66. type SaveHealthProfileReq struct {
  67. Gender int `json:"gender" description:"性别(0:未知 1:男 2:女)"`
  68. Height int `json:"height" description:"身高"`
  69. Weight int `json:"weight" description:"体重"`
  70. BloodType string `json:"blood_type" description:"血型"`
  71. Birthday string `json:"birthday" description:"生日 yyyy-MM-dd HH:mm:ss"`
  72. IllnessState string `json:"illness_state" description:"病情"`
  73. RenalFunctionStatus int `json:"renal_function_status" description:"肾功能情况(0:未透析,1: 血液透析,2:腹膜透析,3:肾脏移植)"`
  74. Creatinine int `json:"creatinine" description:"血肌酐"`
  75. CreatinineUnit string `json:"creatinine_unit" description:"肌酐单位(umol/L,mg/dl)"`
  76. CreatineTime string `json:"creatine_time" description:"肌酐检测时间 yyyy-MM-dd HH:mm:ss"`
  77. UrineProtein24hUnit string `json:"urine_protein_24h_unit" description:"24小时尿蛋白单位(g/24h,mg/24h)"`
  78. UrineProtein24h int `json:"urine_protein_24h" description:"24小时尿蛋白"`
  79. UrineProtein24hTime string `json:"urine_protein_24h_time" description:"24小时尿蛋白检测时间 yyyy-MM-dd HH:mm:ss"`
  80. UrineProtein int `json:"urine_protein" description:"尿蛋白"`
  81. UrineProteinUnit string `json:"urine_protein_unit" description:"尿蛋白单位(g,mg)"`
  82. UrineProteinTime string `json:"urine_protein_time" description:"尿蛋白检测时间 yyyy-MM-dd HH:mm:ss"`
  83. }
  84. type HealthProfileResp struct {
  85. Id uint64 `json:"id" description:"Primary Key ID"`
  86. //UserId int64 `json:"user_id" description:"用户ID"`
  87. //RealName string `json:"real_name" description:"真实姓名"`
  88. //IdCard string `json:"id_card" description:"身份证号"`
  89. //InpatientRegPhone string `json:"inpatient_reg_phone" description:"住院登记手机号"`
  90. Gender int `json:"gender" description:"性别(0:未知 1:男 2:女)"`
  91. Height int `json:"height" description:"身高"`
  92. Weight int `json:"weight" description:"体重"`
  93. BloodType string `json:"blood_type" description:"血型"`
  94. Birthday Time `json:"birthday" description:"生日"`
  95. IllnessState string `json:"illness_state" description:"病情"`
  96. RenalFunctionStatus int `json:"renal_function_status" description:"肾功能情况(0:未透析,1: 血液透析,2:腹膜透析,3:肾脏移植)"`
  97. Creatinine int `json:"creatinine" description:"血肌酐"`
  98. CreatinineUnit string `json:"creatinine_unit" description:"肌酐单位(umol/L,mg/dl)"`
  99. CreatineTime Time `json:"creatine_time" description:"肌酐检测时间"`
  100. UrineProtein24hUnit string `json:"urine_protein_24h_unit" description:"24小时尿蛋白单位(g/24h,mg/24h)"`
  101. UrineProtein24h int `json:"urine_protein_24h" description:"24小时尿蛋白"`
  102. UrineProtein24hTime Time `json:"urine_protein_24h_time" description:"24小时尿蛋白检测时间"`
  103. UrineProtein int `json:"urine_protein" description:"尿蛋白"`
  104. UrineProteinUnit string `json:"urine_protein_unit" description:"尿蛋白单位(g,mg)"`
  105. UrineProteinTime Time `json:"urine_protein_time" description:"尿蛋白检测时间"`
  106. Status int `json:"status" description:"状态(1:有效 0:无效 )"`
  107. Ctime Time `json:"ctime" description:"创建时间"`
  108. Mtime Time `json:"mtime" description:"更新时间 "`
  109. }
  110. type DicResp struct {
  111. Type string `json:"type"`
  112. Name string `json:"name" description:"字典名称"`
  113. Value int `json:"value" description:"字典值"`
  114. }
  115. type OpenEmqMsgReqVO struct {
  116. UserName string `json:"username" description:"用户名"`
  117. Topic string `json:"topic" description:"主题"`
  118. PeerHost string `json:"peerhost" description:"主机"`
  119. Payload string `json:"payload" description:"负载"`
  120. Id string `json:"id"`
  121. ProductKey string `json:"productKey" description:"产品key"`
  122. DeviceName string `json:"deviceName" description:"设备名称"`
  123. Acc int `json:"acc"`
  124. Type int `json:"type"`
  125. Count int `json:"count"`
  126. DataType int `json:"datatype"`
  127. VerifyCode string `json:"verifycode"`
  128. Data string `json:"data"`
  129. Origin string `json:"origin"`
  130. Len int `json:"len"`
  131. }
  132. type OpenEmqPayloadReqVO struct {
  133. ProductKey string `json:"productKey"` // 产品密钥
  134. DeviceName string `json:"deviceName"` // 设备名称
  135. Acc int `json:"acc"` // 准确度
  136. Type int `json:"type"` // 类型
  137. Count int `json:"count"` // 计数
  138. Datatype int `json:"datatype"` // 数据类型
  139. Verifycode int `json:"verifycode"` // 验证码
  140. Data string `json:"data"` // 数据
  141. Origin string `json:"origin"` // 来源
  142. Len int `json:"len"` // 长度
  143. }
  144. type CheckItemScopeVO struct {
  145. Index int `json:"index"`
  146. Type int `json:"type"`
  147. Value string `json:"value"`
  148. Num string `json:"num"`
  149. }
  150. type AppCheckRecordVO struct {
  151. // AlertCount is the number of alerts.
  152. AlertCount int `json:"alert_count" description:"异常数量"`
  153. // NormalCount is the number of normal items.
  154. NormalCount int `json:"normal_count" description:"正常数量"`
  155. // Describe is the description of the record.
  156. Describe string `json:"describe" description:"描述"`
  157. // CheckDate is the date when the check was performed.
  158. CheckDate Time `json:"check_date" description:"检测日期"`
  159. // CheckRecordID is the ID of the check record.
  160. CheckRecordId int64 `json:"check_record_id" description:"检测记录id"`
  161. // UserID is the user ID, defaulting to the user's own ID.
  162. UserId uint64 `json:"user_id" description:"绑定用户id 默认自己"`
  163. // AlertGrade is the risk level: 1 for low, 2 for medium, 3 for high.
  164. //AlertGrade int `json:"alert_grade" description:"风险等级 1 低 2 中 3 高"`
  165. // View indicates whether the record has been viewed.
  166. View int `json:"view" description:"是否查看 1 已查看 0 未查看"`
  167. // Bind indicates whether the user is bound.
  168. Bind int `json:"bind" description:"0 未绑定用户 1 绑定"`
  169. // AlertItems is a list of alert items.
  170. AlertItems []string `json:"alert_items" description:"异常项"`
  171. }