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 ListObservation 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"` // 核酸结果:0-未检测,1-阴性,2-阳性 RecordTime time.Time `json:"recordTime"` // 状态转换时间 Record string `json:"record"` // 状态转换内容 } type TreeObservation 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"` // 修改时间 Children []*TreeObservation `json:"children"` // 子结点 } 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"` }