zhangzengfei
2024-09-05 da38fef02e9d37703bc1f68ffbe2c4efd434df86
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
package db
 
import (
    "time"
)
 
type PersonnelStatusRule struct {
    ID                  int    `gorm:"column:id"`
    Name                string `gorm:"column:name"`
    DetectionCountStart int    `gorm:"column:detectionCountStart"`
    DetectionCountEnd   int    `gorm:"column:detectionCountEnd"`
    DetectionDaysStart  int    `gorm:"column:detectionDaysStart"`
    DetectionDaysEnd    int    `gorm:"column:detectionDaysEnd"`
    Status              string `gorm:"column:status"`
}
 
type AlarmRule struct {
    RuleId     string `json:"ruleId"`
    RuleText   string `json:"ruleText"`
    AlarmLevel string `json:"alarmLevel"`
}
 
type TaskPerson struct {
    Id             string `json:"id"`
    CameraId       string `json:"cameraId"`
    CommunityId    string `json:"communityId"`
    PicDate        string `json:"picDate"`
    DocumentNumber string `json:"documentNumber"`
    TargetType     string `json:"targetType"`
    Floor          string `json:"floor"`
}
 
type BuildingType int
 
const (
    BuildingTypeResidential    BuildingType = 1 //住宅楼
    BuildingTypeMixedUse       BuildingType = 2 //商住楼
    BuildingTypePublicRental   BuildingType = 3 //公租房
    BuildingTypeLowIncome      BuildingType = 4 //廉租房
    BuildingTypeOldResidential BuildingType = 5 //老旧小区
    BuildingTypeOffice         BuildingType = 6 //写字楼
)
 
type Device struct {
    DeviceCode       string       `gorm:"column:deviceCode" json:"deviceCode" example:"J83762"`                                 //设备编码
    AreaID           string       `json:"areaID" gorm:"index;column:communityID;type:varchar(299);"`                            //常住小区 domain unit ID
    BuildingType     BuildingType `gorm:"column:building_type;type:tinyint(1);not null;default:0" json:"buildingType"`          //楼宇类型
    MaxBuildingFloor int          `gorm:"column:max_building_floor;type:tinyint(1);not null;default:0" json:"maxBuildingFloor"` //最高楼层号
}
 
type Task struct {
    Id   int    `gorm:"column:id"`
    Name string `gorm:"name"`
}
 
func (Task) TableName() string {
    return "task"
}
 
type MoveInout struct {
    //RecordId       int        `gorm:"column:record_id"`
    DocumentNumber string     `gorm:"column:document_number"`
    CommunityID    string     `gorm:"column:community_id"`
    MoveInDate     time.Time  `gorm:"column:move_in_date"`
    MoveOutDate    *time.Time `gorm:"column:move_out_date"`
    Status         string     `gorm:"column:status"`
    MoveType       string     `gorm:"column:move_type"`
}
 
func (MoveInout) TableName() string {
    return "move_inout"
}
 
type Resident struct {
    CommunityId        string `gorm:"column:community_id"`
    DocumentNumber     string `gorm:"column:document_number"`
    LastAppearanceTime int64  `gorm:"column:last_appearance_time"`
    CreateAt           string `gorm:"column:create_at"`
}
 
type PersonStatus struct {
    Id                       uint   `gorm:"column:id;primary_key;auto_increment;not null;"`
    OrgId                    string `gorm:"column:org_id;type:varchar(299);not null;default:''"`                                                                                            // 派出所id
    CommunityID              string `gorm:"uniqueIndex:idx_document_number_community_id;index:community_id_last_appearance_time;column:community_id;type:varchar(299);not null;default:''"` // 小区id
    DocumentNumber           string `gorm:"uniqueIndex:idx_document_number_community_id;column:document_number;type:varchar(299);not null;default:''"`                                      // 档案编号
    DaysAppeared             int    `gorm:"column:days_appeared;type:int(11);not null;default:0" json:"daysAppeared"`                                                                       // 出现天数
    Count                    int    `gorm:"column:count;type:int;not null;default:0"`                                                                                                       // 抓拍次数
    Status                   string `gorm:"column:status;type:varchar(255);not null;default:''"`                                                                                            //标签
    LastAppearanceTime       int64  `gorm:"index:community_id_last_appearance_time;column:last_appearance_time;type:int;not null;default:0" json:"lastAppearanceTime"`                      //最后出现时间
    LastAppearanceStatusTime int64  `gorm:"column:last_appearance_status_time"`
    LastLocation             string `gorm:"column:last_location;type:varchar(255);not null;default:''" json:"lastLocation"`       //最后出现地点
    FrequentAddress          string `gorm:"column:frequent_address;type:varchar(255);not null;default:''" json:"frequentAddress"` //常出现地点
    CreatedAt                time.Time
    UpdatedAt                time.Time
    ////OrgId           string `gorm:"column:org_id"`
    //CommunityID     string `gorm:"column:communityID"`
    //DocumentNumber  string `gorm:"column:documentNumber"`
    //Status          string `gorm:"column:status"`
    //FrequentAddress string `gorm:"column:frequentAddress"`
}
 
func (PersonStatus) TableName() string {
    return "snapshot_count_summary"
}
 
type LabelManage struct {
    Id        int    `gorm:"id"`
    Name      string `gorm:"name"`
    ValidDays int    `gorm:"valid_days"`
}
 
func (LabelManage) TableName() string {
    return "label_manage"
}
 
type Identity struct {
    CreatedAt      time.Time
    UpdatedAt      time.Time
    CommunityID    string `gorm:"column:community_id"`
    DocumentNumber string `gorm:"column:dbtablepersons_id"`
    LabelId        int    `gorm:"column:label_id"`
    ExpireTime     int64  `gorm:"column:expire_time"`
}
 
func (Identity) TableName() string {
    return "dbtablepersons_label"
}
 
//
//type ModelMatix struct {
//    CommunityID     string
//    DocumentNumber  string
//    CaptureDate     string
//    Status          string
//    FrequentAddress string
//}
 
type StatusPersonMapping struct {
    Status string
    IDs    []string
}
 
type CaptureInfo struct {
    DocumentNumber  string          `json:"documentNumber"`
    CaptureDays     int             `json:"captureDays"`     //抓拍天数
    OvernightStays  int             `json:"overnightStays"`  //过夜天数
    Status          string          `json:"status"`          //状态
    FrequentAddress string          `json:"frequentAddress"` //常用地址
    Age             int             `json:"age"`             //年龄
    CaptureDetail   []CaptureDetail `json:"captureDetail"`
}
 
type CaptureDetail struct {
    CaptureDate    string `json:"captureDate"`
    CaptureAddress string `json:"captureAddress"`
    Direction      string `json:"direction"`
}
 
type PublicHouse struct {
    ID              int    `gorm:"primaryKey;autoIncrement" json:"id"`                        // 主键ID
    CommunityID     string `gorm:"column:community_id;type:varchar(255)" json:"community_id"` // 小区ID
    Applicant       string `gorm:"column:applicant;type:varchar(255)" json:"applicant"`       // 申请人
    IdCard          string `gorm:"column:id_card;type:varchar(50)" json:"id_card"`            // 证件编号
    PhoneNumber     string `gorm:"column:phone_number;type:varchar(20)" json:"phone_number"`  // 联系电话
    Address         string `gorm:"column:address;type:varchar(255)" json:"address"`           // 房屋地址
    ApplicationTime string `gorm:"column:application_time" json:"application_time"`           // 申请时间
    EndTime         string `gorm:"column:end_time" json:"end_time"`                           // 结束时间
}
 
func (PublicHouse) TableName() string {
    return "public_house"
}