Files
nCovTrack-Backend/models/management.go
2022-05-04 20:06:21 +08:00

157 lines
8.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package models
import (
"fmt"
"time"
)
type BackObservation struct {
ID int `gorm:"primaryKey;column:id" json:"id"` // ID
Name string `gorm:"column:name" json:"name"` // 姓名
Age int `gorm:"column:age" json:"age"` // 年龄
Sex int `gorm:"column:sex" json:"sex"` // 性别
Phone string `gorm:"column:phone" json:"phone"` // 手机号码
Identification string `gorm:"column:identification" json:"identification"` // 身份证号
ContactPerson int `gorm:"column:contact_person" json:"contactPerson"` // 接触者id
Region string `gorm:"column:region" json:"region"` // 受观察者所在区域
Address string `gorm:"column:address" json:"address"` // 受观察者所在具体地点
HealthSituation int `gorm:"column:health_situation" json:"healthSituation"` // 被观察者的疫情状况0- 其他1-患者2-密接3-次密接
HealthChangeTime time.Time `gorm:"column:health_change_time" json:"healthChangeTime"` // 患者健康状况转化时间
MeasureSituation int `gorm:"column:measure_situation" json:"measureSituation"` // 受观察者被采取措施状况 0-未采取措施1-解除风险2-正在治疗3-集中隔离4-居家隔离
Trajectory string `gorm:"column:trajectory" json:"trajectory"` // 行程轨迹
CreateUser int `gorm:"column:create_user" json:"createUser"` // 创建者
CreateTime time.Time `gorm:"column:create_time" json:"createTime"` // 创建时间
ModifyUser int `gorm:"column:modify_user" json:"modifyUser"` // 修改者
ModifyTime time.Time `gorm:"column:modify_time" json:"modifyTime"` // 修改时间
IsDelete int `gorm:"column:is_delete" json:"isDelete"` // 删除标志
}
type BackLocation struct {
ID int `gorm:"primaryKey;column:id" json:"id"` // ID
Name string `gorm:"column:name" json:"name"` // 地点名
Region string `gorm:"column:region" json:"region"` // 地点所在地区
Address string `gorm:"column:address" json:"address"` // 地点的精确地址
PrincipalName string `gorm:"column:principal_name" json:"principalName"` // 负责人姓名
PrincipalPhone string `gorm:"column:principal_phone" json:"principalPhone"` // 负责人电话
CreateUser int `gorm:"column:create_user" json:"createUser"` // 创建者
CreateTime time.Time `gorm:"column:create_time" json:"createTime"` // 创建时间
ModifyUser int `gorm:"column:modify_user" json:"modifyUser"` // 修改者
ModifyTime time.Time `gorm:"column:modify_time" json:"modifyTime"` // 修改时间
IsDelete int `gorm:"column:is_delete" json:"isDelete"` // 删除标志
}
type BackPcr struct {
ID int `gorm:"primaryKey;column:id" json:"id"` // ID
Observation int `gorm:"column:observation" json:"observation"` // 观察对象ID
DetectTime time.Time `gorm:"column:detect_time" json:"detectTime"` // 核酸检测时间
DetectResult int `gorm:"column:detect_result" json:"detectResult"` // 核酸检测结果0-未检测1-阴性2-阳性
CreateUser int `gorm:"column:create_user" json:"createUser"` // 创建者
CreateTime time.Time `gorm:"column:create_time" json:"createTime"` // 创建时间
ModifyUser int `gorm:"column:modify_user" json:"modifyUser"` // 修改者
ModifyTime time.Time `gorm:"column:modify_time" json:"modifyTime"` // 修改时间
IsDelete int `gorm:"column:is_delete" json:"isDelete"` // 删除标志
}
type BackSituationRecord struct {
ID int `gorm:"primaryKey;column:id" json:"id"` // ID
Observation int `gorm:"column:observation" json:"observation"` // 观察对象
Record string `gorm:"column:record" json:"record"` // 状态转化记录
CreateUser int `gorm:"column:create_user" json:"createUser"` // 创建者
CreateTime time.Time `gorm:"column:create_time" json:"createTime"` // 创建时间
ModifyUser int `gorm:"column:modify_user" json:"modifyUser"` // 修改者
ModifyTime time.Time `gorm:"column:modify_time" json:"modifyTime"` // 修改时间
IsDelete int `gorm:"column:is_delete" json:"isDelete"` // 删除标志
}
type ListObeservation struct {
ID int `json:"id"`
Name string `json:"name"` // 姓名
Age int `json:"age"` // 年龄
Sex int `json:"sex"` // 性别
Phone string `json:"phone"` // 手机号码
Identification string `json:"identification"` // 身份证号
ContactPerson int `json:"contactPerson"` // 接触者id
Region string `json:"region"` // 受观察者所在区域
Address string `json:"address"` // 受观察者所在具体地点
HealthSituation int `json:"healthSituation"` // 被观察者的疫情状况0- 其他1-患者2-密接3-次密接
HealthChangeTime time.Time `json:"healthChangeTime"` // 患者健康状况转化时间
MeasureSituation int `json:"measureSituation"` // 受观察者被采取措施状况 0-未采取措施1-解除风险2-正在治疗3-集中隔离4-居家隔离
Trajectory string `json:"trajectory"` // 行程轨迹
CreateUser int `json:"createUser"` // 创建者
CreateTime time.Time `json:"createTime"` // 创建时间
ModifyUser int `json:"modifyUser"` // 修改者
ModifyTime time.Time `json:"modifyTime"` // 修改时间
PcrTime time.Time `json:"pcrTime"` //核酸时间
PcrResult int `json:"pcrResult"` //核酸结果
RecordTime time.Time `json:"recordTime"` //状态转换时间
Record string `json:"record"` //状态转换内容
}
type QueryObservation struct {
BackObservation
PcrRecord []BackPcr `json:"pcrRecord"`
SituationRecord []BackSituationRecord `json:"situationRecord"`
}
func init() {
initJcMap[BackObservation]()
initJcMap[BackLocation]()
initJcMap[BackPcr]()
initJcMap[BackSituationRecord]()
}
type FakerDate time.Time
const (
timeFormat = "2006-01-02"
)
func (t *FakerDate) UnmarshalJSON(data []byte) (err error) {
newTime, err := time.ParseInLocation(`"`+timeFormat+`"`, string(data), time.Local)
*t = FakerDate(newTime)
return
}
func (t FakerDate) MarshalJSON() ([]byte, error) {
timeStr := fmt.Sprintf("\"%s\"", time.Time(t).Format(timeFormat))
return []byte(timeStr), nil
}
func (t FakerDate) String() string {
return time.Time(t).Format(timeFormat)
}
type HotelContactRequest struct {
Name string `json:"name"`
Age int `json:"age,string"`
Sex int `json:"sex,string"`
Phone string `json:"phone"`
Address string `json:"address"`
HotelCode string `json:"hotel_code"`
HotelName string `json:"hotel_name"`
LocateCityId string `json:"locate_city_id"`
Identification string `json:"identification"`
InData FakerDate `json:"in_data"`
OutData FakerDate `json:"out_data"`
}
type RailwayContactRequest struct {
Name string `json:"name"`
Age int `json:"age,string"`
Sex int `json:"sex,string"`
Phone string `json:"phone"`
Address string `json:"address"`
Train string `json:"train"`
Launch FakerDate `json:"launch"`
Identification string `json:"identification"`
}
type PatientRequest struct {
Name string `json:"name"`
Age int `json:"age,string"`
Sex int `json:"sex,string"`
Phone string `json:"phone"`
Address string `json:"address"`
Identification string `json:"identification"`
}