httpmodels.go 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  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. ValueStr string `json:"value_str" description:"字典字符串值"`
  117. }
  118. type OpenEmqMsgReqVO struct {
  119. UserName string `json:"username" description:"用户名"`
  120. Topic string `json:"topic" description:"主题"`
  121. PeerHost string `json:"peerhost" description:"主机"`
  122. Payload string `json:"payload" description:"负载"`
  123. Id string `json:"id"`
  124. ProductKey string `json:"productKey" description:"产品key"`
  125. DeviceName string `json:"deviceName" description:"设备名称"`
  126. Acc int `json:"acc"`
  127. Type int `json:"type"`
  128. Count int `json:"count"`
  129. DataType int `json:"datatype"`
  130. VerifyCode string `json:"verifycode"`
  131. Data string `json:"data"`
  132. Origin string `json:"origin"`
  133. Len int `json:"len"`
  134. }
  135. type OpenEmqPayloadReqVO struct {
  136. ProductKey string `json:"productKey"` // 产品密钥
  137. DeviceName string `json:"deviceName"` // 设备名称
  138. Acc int `json:"acc"` // 准确度
  139. Type int `json:"type"` // 类型
  140. Count int `json:"count"` // 计数
  141. Datatype int `json:"datatype"` // 数据类型
  142. Verifycode int `json:"verifycode"` // 验证码
  143. Data string `json:"data"` // 数据
  144. Origin string `json:"origin"` // 来源
  145. Len int `json:"len"` // 长度
  146. }
  147. type CheckItemScopeVO struct {
  148. Index int `json:"index"`
  149. Type int `json:"type"`
  150. Value string `json:"value"`
  151. Num string `json:"num"`
  152. }
  153. type AppCheckRecordVO struct {
  154. // AlertCount is the number of alerts.
  155. AlertCount int `json:"alert_count" description:"异常数量"`
  156. // NormalCount is the number of normal items.
  157. NormalCount int `json:"normal_count" description:"正常数量"`
  158. // Describe is the description of the record.
  159. Describe string `json:"describe" description:"描述"`
  160. // CheckDate is the date when the check was performed.
  161. CheckDate Time `json:"check_date" description:"检测日期"`
  162. // CheckRecordID is the ID of the check record.
  163. CheckRecordId int64 `json:"check_record_id" description:"检测记录id"`
  164. // UserID is the user ID, defaulting to the user's own ID.
  165. UserId uint64 `json:"user_id" description:"绑定用户id 默认自己"`
  166. // AlertGrade is the risk level: 1 for low, 2 for medium, 3 for high.
  167. //AlertGrade int `json:"alert_grade" description:"风险等级 1 低 2 中 3 高"`
  168. // View indicates whether the record has been viewed.
  169. View int `json:"view" description:"是否查看 1 已查看 0 未查看"`
  170. // Bind indicates whether the user is bound.
  171. Bind int `json:"bind" description:"0 未绑定用户 1 绑定"`
  172. // AlertItems is a list of alert items.
  173. AlertItems []string `json:"alert_items" description:"异常项"`
  174. }
  175. // AppCheckRecordItemDetailsVO 结构体表示检测记录项的详细信息
  176. type AppCheckRecordItemDetailsVO struct {
  177. NameCn string `json:"name_cn" description:"中文名字"`
  178. NameEn string `json:"name_en" description:"英文名字"`
  179. Unit string `json:"unit" description:"单位"`
  180. Value string `json:"value" description:"检测值"`
  181. ValueIndex string `json:"value_index" description:"检测值索引"`
  182. CheckItemScopes []CheckItemScopeVO `json:"check_item_scopes" description:"检测范围"`
  183. ReferenceValue string `json:"reference_value" description:"参考值"`
  184. Describe string `json:"describe" description:"描述"`
  185. Alert bool `json:"alert" description:"true:异常,false:正常"`
  186. ID int `json:"id" description:"id"`
  187. }
  188. // AppCheckRecordItemVO 结构体表示检测记录项
  189. type AppCheckRecordItemVO struct {
  190. AlertCount int `json:"alert_count" description:"异常数量"`
  191. NormalCount int `json:"normal_count" description:"正常数量"`
  192. Describe string `json:"describe" description:"描述"`
  193. CheckDate Time `json:"check_date" description:"检测日期"`
  194. CheckRecordID int64 `json:"check_record_id" description:"检测记录id"`
  195. UserID int64 `json:"user_id" description:"绑定用户id 默认自己"`
  196. AlertGrade int `json:"alert_grade" description:"风险等级 1 低 2 中 3 高"`
  197. Bind bool `json:"bind" description:"false 未绑定用户 true 绑定"`
  198. Items []AppCheckRecordItemDetailsVO `json:"items" description:"检测详情"`
  199. Status int `json:"status" description:"设备绑定状态(扫码查看结果时返回):1 未绑定 2设备为他人绑定 3设备为自己绑定"`
  200. }
  201. type AppCheckRecordItemReportVO struct {
  202. Unit string `json:"unit" description:"单位"`
  203. Value string `json:"value" description:"检测值"`
  204. CheckValueIndex int `json:"check_value_index" description:"检测值下标"`
  205. Describe string `json:"describe" description:"描述"`
  206. ID int `json:"id" description:"id"`
  207. Date Time `json:"date" description:"检测时间"`
  208. }