httpmodels.go 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  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. DialysisNo string `gorm:"column:dialysis_no" json:"dialysis_no" description:" 透析号"`
  64. HealthCareNo string `gorm:"column:health_care_no" json:"health_care_no" description:" 医保号"`
  65. Ctime Time `json:"ctime" description:"创建时间"`
  66. Mtime Time `json:"mtime" description:"更新时间 "`
  67. }
  68. type SaveHealthProfileReq struct {
  69. Gender int `json:"gender" description:"性别(0:未知 1:男 2:女)"`
  70. Height int `json:"height" description:"身高"`
  71. Weight int `json:"weight" description:"体重"`
  72. BloodType string `json:"blood_type" description:"血型"`
  73. Birthday string `json:"birthday" description:"生日 yyyy-MM-dd HH:mm:ss"`
  74. IllnessState string `json:"illness_state" description:"病情"`
  75. RenalFunctionStatus int `json:"renal_function_status" description:"肾功能情况(0:未透析,1: 血液透析,2:腹膜透析,3:肾脏移植)"`
  76. Creatinine int `json:"creatinine" description:"血肌酐"`
  77. CreatinineUnit string `json:"creatinine_unit" description:"肌酐单位(umol/L,mg/dl)"`
  78. CreatineTime string `json:"creatine_time" description:"肌酐检测时间 yyyy-MM-dd HH:mm:ss"`
  79. UrineProtein24hUnit string `json:"urine_protein_24h_unit" description:"24小时尿蛋白单位(g/24h,mg/24h)"`
  80. UrineProtein24h int `json:"urine_protein_24h" description:"24小时尿蛋白"`
  81. UrineProtein24hTime string `json:"urine_protein_24h_time" description:"24小时尿蛋白检测时间 yyyy-MM-dd HH:mm:ss"`
  82. UrineProtein int `json:"urine_protein" description:"尿蛋白"`
  83. UrineProteinUnit string `json:"urine_protein_unit" description:"尿蛋白单位(g,mg)"`
  84. UrineProteinTime string `json:"urine_protein_time" description:"尿蛋白检测时间 yyyy-MM-dd HH:mm:ss"`
  85. }
  86. type HealthProfileResp struct {
  87. Id uint64 `json:"id" description:"Primary Key ID"`
  88. //UserId int64 `json:"user_id" description:"用户ID"`
  89. //RealName string `json:"real_name" description:"真实姓名"`
  90. //IdCard string `json:"id_card" description:"身份证号"`
  91. //InpatientRegPhone string `json:"inpatient_reg_phone" description:"住院登记手机号"`
  92. Gender int `json:"gender" description:"性别(0:未知 1:男 2:女)"`
  93. Height int `json:"height" description:"身高"`
  94. Weight int `json:"weight" description:"体重"`
  95. BloodType string `json:"blood_type" description:"血型"`
  96. Birthday Time `json:"birthday" description:"生日"`
  97. IllnessState string `json:"illness_state" description:"病情"`
  98. RenalFunctionStatus int `json:"renal_function_status" description:"肾功能情况(0:未透析,1: 血液透析,2:腹膜透析,3:肾脏移植)"`
  99. Creatinine int `json:"creatinine" description:"血肌酐"`
  100. CreatinineUnit string `json:"creatinine_unit" description:"肌酐单位(umol/L,mg/dl)"`
  101. CreatineTime Time `json:"creatine_time" description:"肌酐检测时间"`
  102. UrineProtein24hUnit string `json:"urine_protein_24h_unit" description:"24小时尿蛋白单位(g/24h,mg/24h)"`
  103. UrineProtein24h int `json:"urine_protein_24h" description:"24小时尿蛋白"`
  104. UrineProtein24hTime Time `json:"urine_protein_24h_time" description:"24小时尿蛋白检测时间"`
  105. UrineProtein int `json:"urine_protein" description:"尿蛋白"`
  106. UrineProteinUnit string `json:"urine_protein_unit" description:"尿蛋白单位(g,mg)"`
  107. UrineProteinTime Time `json:"urine_protein_time" description:"尿蛋白检测时间"`
  108. Status int `json:"status" description:"状态(1:有效 0:无效 )"`
  109. Ctime Time `json:"ctime" description:"创建时间"`
  110. Mtime Time `json:"mtime" description:"更新时间 "`
  111. }
  112. type DicResp struct {
  113. Type string `json:"type"`
  114. Name string `json:"name" description:"字典名称"`
  115. Value int `json:"value" description:"字典值"`
  116. }
  117. type OpenEmqMsgReqVO struct {
  118. UserName string `json:"username" description:"用户名"`
  119. Topic string `json:"topic" description:"主题"`
  120. PeerHost string `json:"peerhost" description:"主机"`
  121. Payload string `json:"payload" description:"负载"`
  122. Id string `json:"id"`
  123. ProductKey string `json:"productKey" description:"产品key"`
  124. DeviceName string `json:"deviceName" description:"设备名称"`
  125. Acc int `json:"acc"`
  126. Type int `json:"type"`
  127. Count int `json:"count"`
  128. DataType int `json:"datatype"`
  129. VerifyCode string `json:"verifycode"`
  130. Data string `json:"data"`
  131. Origin string `json:"origin"`
  132. Len int `json:"len"`
  133. }
  134. type OpenEmqPayloadReqVO struct {
  135. ProductKey string `json:"productKey"` // 产品密钥
  136. DeviceName string `json:"deviceName"` // 设备名称
  137. Acc int `json:"acc"` // 准确度
  138. Type int `json:"type"` // 类型
  139. Count int `json:"count"` // 计数
  140. Datatype int `json:"datatype"` // 数据类型
  141. Verifycode int `json:"verifycode"` // 验证码
  142. Data string `json:"data"` // 数据
  143. Origin string `json:"origin"` // 来源
  144. Len int `json:"len"` // 长度
  145. }
  146. type CheckItemScopeVO struct {
  147. Index int `json:"index"`
  148. Type int `json:"type"`
  149. Value string `json:"value"`
  150. Num string `json:"num"`
  151. }
  152. type AppCheckRecordVO struct {
  153. // AlertCount is the number of alerts.
  154. AlertCount int `json:"alert_count" description:"异常数量"`
  155. // NormalCount is the number of normal items.
  156. NormalCount int `json:"normal_count" description:"正常数量"`
  157. // Describe is the description of the record.
  158. Describe string `json:"describe" description:"描述"`
  159. // CheckDate is the date when the check was performed.
  160. CheckDate Time `json:"check_date" description:"检测日期"`
  161. // CheckRecordID is the ID of the check record.
  162. CheckRecordId int64 `json:"check_record_id" description:"检测记录id"`
  163. // UserID is the user ID, defaulting to the user's own ID.
  164. UserId uint64 `json:"user_id" description:"绑定用户id 默认自己"`
  165. // AlertGrade is the risk level: 1 for low, 2 for medium, 3 for high.
  166. //AlertGrade int `json:"alert_grade" description:"风险等级 1 低 2 中 3 高"`
  167. // View indicates whether the record has been viewed.
  168. View int `json:"view" description:"是否查看 1 已查看 0 未查看"`
  169. // Bind indicates whether the user is bound.
  170. Bind int `json:"bind" description:"0 未绑定用户 1 绑定"`
  171. // AlertItems is a list of alert items.
  172. AlertItems []string `json:"alert_items" description:"异常项"`
  173. }
  174. // AppCheckRecordItemDetailsVO 结构体表示检测记录项的详细信息
  175. type AppCheckRecordItemDetailsVO struct {
  176. NameCn string `json:"name_cn" description:"中文名字"`
  177. NameEn string `json:"name_en" description:"英文名字"`
  178. Unit string `json:"unit" description:"单位"`
  179. Value string `json:"value" description:"检测值"`
  180. ValueIndex string `json:"value_index" description:"检测值索引"`
  181. CheckItemScopes []CheckItemScopeVO `json:"check_item_scopes" description:"检测范围"`
  182. ReferenceValue string `json:"reference_value" description:"参考值"`
  183. Describe string `json:"describe" description:"描述"`
  184. Alert bool `json:"alert" description:"true:异常,false:正常"`
  185. ID int `json:"id" description:"id"`
  186. }
  187. // AppCheckRecordItemVO 结构体表示检测记录项
  188. type AppCheckRecordItemVO struct {
  189. AlertCount int `json:"alert_count" description:"异常数量"`
  190. NormalCount int `json:"normal_count" description:"正常数量"`
  191. Describe string `json:"describe" description:"描述"`
  192. CheckDate Time `json:"check_date" description:"检测日期"`
  193. CheckRecordID int64 `json:"check_record_id" description:"检测记录id"`
  194. UserID int64 `json:"user_id" description:"绑定用户id 默认自己"`
  195. AlertGrade int `json:"alert_grade" description:"风险等级 1 低 2 中 3 高"`
  196. Bind bool `json:"bind" description:"false 未绑定用户 true 绑定"`
  197. Items []AppCheckRecordItemDetailsVO `json:"items" description:"检测详情"`
  198. Status int `json:"status" description:"设备绑定状态(扫码查看结果时返回):1 未绑定 2设备为他人绑定 3设备为自己绑定"`
  199. }
  200. type AppCheckRecordItemReportVO struct {
  201. Unit string `json:"unit" description:"单位"`
  202. Value string `json:"value" description:"检测值"`
  203. CheckValueIndex int `json:"check_value_index" description:"检测值下标"`
  204. Describe string `json:"describe" description:"描述"`
  205. ID int `json:"id" description:"id"`
  206. Date Time `json:"date" description:"检测时间"`
  207. }