feat: management && notify
This commit is contained in:
156
models/management.go
Normal file
156
models/management.go
Normal file
@@ -0,0 +1,156 @@
|
||||
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"`
|
||||
}
|
||||
Reference in New Issue
Block a user