liuxiaolong
2020-06-09 84c06596cae48dfca5b8c9eea206e0f540df1a8b
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
package router
 
import (
    "webserver/controllers"
    "webserver/middlewares/auth"
 
    "github.com/gin-gonic/gin"
    "github.com/swaggo/gin-swagger"
    "github.com/swaggo/gin-swagger/swaggerFiles"
    _ "webserver/docs"
)
 
func NewRouter() *gin.Engine {
    r := gin.Default()
    //r.Use(ginglog.Logger(3 * time.Second))
 
    r.Use(auth.AuthHandler()) //auth过滤器
 
    r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
 
    areaController := new(controllers.AreaController)
    cameraController := new(controllers.CameraController)
    taskController := new(controllers.TaskController)
    tableController := new(controllers.DbTableController)
    dbPersonCont := new(controllers.DbPersonController)
    ssController := new(controllers.SysSetController)
    sdkController := new(controllers.SdkController)
    esSearchController := new(controllers.EsSearchController)
    esManagementController := new(controllers.EsManagementController)
    realTimeController := new(controllers.RealTimeController)
    deleteDataController := new(controllers.DeleteDataController)
    cameraTimeRuleController := new(controllers.CameraTimeruleController)
    polygonController := new(controllers.CameraPolygonController)
    cameraTaskController := new(controllers.CameraTaskController)
    cameraTaskArgsController := new(controllers.CameraTaskArgsController)
    dicController := new(controllers.DictionaryController)
    userController := new(controllers.UserController)
    eventPushController := new(controllers.EventPushController)
    pollConfigController := new(controllers.PollConfigController)
    fileController := new(controllers.FileController)
    sysMenuController := new(controllers.SysMenuController)
    clusterController := new(controllers.ClusterController)
    sysRoleController := new(controllers.RoleController)
    ptzController := new(controllers.PanTiltZoomController)
    licenseController := new(controllers.LicenseController)
    fileAnalysisC := new(controllers.FileAnalysisController)
    fileSettingC := new(controllers.FileAnalysisSettingController)
    icController := new(controllers.InfoController)
    gb28181C := new(controllers.Gb28181Controller)
    fStackC := new(controllers.FileStackController)
 
    urlPrefix := "/data/api-v" // wp 添加 路径 前缀
 
    licenseApi := r.Group(urlPrefix + "/license")
    {
        licenseApi.POST("/getRegisterCode", licenseController.GetRegisterCode)
        licenseApi.POST("/save", licenseController.Save)
        licenseApi.GET("/show", licenseController.Show)
    }
 
    sysApi := r.Group("/data/api-u/sys")
    {
        sysApi.POST("/login", userController.Login)
        sysApi.GET("/logout", userController.Logout)
        sysApi.POST("refresh_token", userController.RefreshToken)
    }
    sysMenuApi := r.Group("/data/api-u/sysmenus")
    {
        sysMenuApi.GET("/me", sysMenuController.Me)
        sysMenuApi.GET("/tree", sysMenuController.MenuTree)
    }
    roleApi := r.Group("/data/api-v/role")
    {
        roleApi.GET("/findAll", sysRoleController.FindAll)
    }
    userApi := r.Group("/data/api-u/users")
    {
        userApi.GET("/current", userController.Current)
        userApi.GET("/findAllUser", userController.FindAllUser)
        userApi.POST("/findById", userController.FindById)
        userApi.POST("/saveAuth", userController.SaveAuth)
        userApi.POST("/updatePwd", userController.UpdatePwd)
    }
 
    //区域管理
    area := r.Group(urlPrefix + "/area")
    {
        area.GET("/localmenu", areaController.CameraTree)
        area.GET("/gb28181Tree", areaController.CameraGb28181Tree)
        area.POST("/add", areaController.AreaAdd)
        area.POST("/del", areaController.AreaDelete)
        area.POST("/update", areaController.AreaUpdate)
        area.POST("/gb28181TreeRefresh", areaController.Gb28181TreeRefresh)
        area.POST("/gb28181TreeDelete", areaController.Gb28181TreeDelete)
    }
 
    gbApi := r.Group(urlPrefix + "/gb28181")
    {
        gbApi.GET("/findAreaByParentId", gb28181C.FindAreaByParentId)
        gbApi.GET("/newGbId",gb28181C.NewGbId)
    }
 
    //摄像机管理
    camera := r.Group(urlPrefix + "/camera")
    {
        camera.POST("/add", cameraController.CameraAdd)
        camera.PUT("/update", cameraController.CameraUpdate)
        camera.DELETE("/del/:cid", cameraController.CameraDel)
        camera.GET("/show/:cid", cameraController.CameraSel)
        camera.POST("/updateCameraArea", cameraController.UpdateCameraArea)
        camera.GET("/updateSnapshotUrl/:cid", cameraController.UpdateSnapshotUrl)
 
        camera.POST("/alltask", cameraTaskController.FindTasksByCameraIds)
        camera.GET("/task/:cameraId", cameraTaskController.CameraTaskAll)
 
        camera.DELETE("/delTask/:cameraId/:taskId", cameraController.CameraDelTask)
        camera.POST("/saveTask", cameraController.CameraTaskSave)
        camera.GET("/getRulesByCameraAndTask", cameraTaskArgsController.FindByCameraAndTask)
        camera.GET("/getCamerasByRunType", cameraController.GetCamerasByRunType)
        camera.POST("/updateRunEnable", cameraController.UpdateRunEnable)
        camera.POST("/changeRunType", cameraController.ChangeRunType)
        camera.GET("/getAllCamerasByServer", cameraController.GetAllCamerasByServer)
 
        camera.POST("/ptzControl", ptzController.Move)
        camera.GET("/statisticRunInfo", cameraController.StatisticRunInfo)
        camera.POST("/pasteRules", cameraTaskController.PasteRules)
    }
 
    cameraTaskArgsApi := r.Group(urlPrefix + "/cameraTaskArgs")
    {
        cameraTaskArgsApi.GET("/deleteByGroup", cameraTaskArgsController.DeleteByGroup)
        cameraTaskArgsApi.POST("/getLinkRulesByCameraIds", cameraTaskArgsController.GetLinkRulesByCameraIds)
        cameraTaskArgsApi.POST("/saveLinkRulesByGroup", cameraTaskArgsController.SaveLinkRulesByGroup)
        cameraTaskArgsApi.POST("/updateDefenceStateByGroup", cameraTaskArgsController.UpdateDefenceStateByGroup)
 
        cameraTaskArgsApi.POST("/ruleApply2All", cameraTaskArgsController.RuleApply2All)
    }
 
    cameraTaskApi := r.Group(urlPrefix + "/cameraTask")
    {
        cameraTaskApi.POST("/saveIsDataTrans", cameraTaskController.SaveIsDataTrans)
        cameraTaskApi.POST("/saveAlarmLevelByGroup", cameraTaskController.SaveAlarmLevelByGroup)
        cameraTaskApi.POST("/updateCameraTaskStatus", cameraTaskController.UpdateCameraTaskStatus)
        cameraTaskApi.POST("/addTask", cameraTaskController.AddTask)
    }
 
    polygon := r.Group(urlPrefix + "/polygon")
    {
        polygon.POST("/save", polygonController.Save)
        polygon.GET("/findByCameraId", polygonController.FindByCameraId)
        //polygon.GET("/delete", polygonController.Delete)
        polygon.GET("/updateDefenceStateByPolygonId", polygonController.UpdateDefenceStateByPolygonId)
        polygon.GET("/updateDefenceStateByCameraId", polygonController.UpdateDefenceStateByCameraId)
    }
 
    // 任务管理
    task := r.Group(urlPrefix + "/task")
    {
        task.GET("/findAll", taskController.FindAll)
        task.GET("/aggregateTaskList", taskController.AggregateTaskList)
        task.POST("/addTask", taskController.AddTask)
        task.POST("/updateTaskStatus", taskController.UpdateTaskStatus)
        task.GET("/delete", taskController.DeleteTask)
        task.POST("/addTaskSdk", taskController.AddTaskSdk)
        task.GET("/delTaskSdk", taskController.DeleteTaskSdk)
        task.POST("/updateTaskName", taskController.UpdateTaskName)
        task.GET("/getRulesByTaskSdk", taskController.GetRulesByTaskSdk)
        task.POST("/deleteTaskSdkRule", taskController.DeleteTaskSdkRule)
        task.POST("/saveTaskSdkRule", taskController.SaveTaskSdkRule)
 
        task.GET("/statisticTaskCamera", taskController.StatisticTaskCamera)
    }
 
    // 检索 查询 节点操作
    es := r.Group(urlPrefix + "/es")
    {
        es.POST("/tagList", esSearchController.PostEsTagList)
        es.POST("/taskList", esSearchController.PostEsTaskList)
        es.POST("/esSearch", esSearchController.PostEsSearch)
        es.POST("/queryEsCompareData", controllers.PostEsCompareData)
        es.POST("/getEsClusterInfo", esManagementController.GetEsClusterInfo)
        es.POST("/addCluster", esManagementController.AddCluster)
        es.POST("/createNode", esManagementController.CreateNode)
        es.POST("/updateEsHosts", esManagementController.UpdateEsHosts)
    }
 
    //实时被调数据
    realTime := r.Group(urlPrefix + "/realTime")
    {
        realTime.POST("/capture", realTimeController.PostCapture)
        realTime.POST("/monitoring", realTimeController.PostMonitoring)
        realTime.POST("/initForCaptureData", realTimeController.InitForCaptureData)
        realTime.POST("/initForMonitoringData", realTimeController.InitForMonitoringData)
    }
    //清理数据
    deleteData := r.Group(urlPrefix + "/clearData")
    {
        deleteData.POST("/deleteEsData", deleteDataController.DeleteEsData)
    }
 
    //底库 操作
    vdbtable := r.Group(urlPrefix + "/dbtable")
    {
        vdbtable.POST("/queryDbTables/:isSync", tableController.QueryDbTables)
        vdbtable.POST("/updateDbTables", tableController.UpdateDbTables)
        vdbtable.POST("/deleteDBtablesById/:id", tableController.DeleteDbTables)
        vdbtable.PUT("/addDbTableInfo", tableController.AddDbTableInfo)
        vdbtable.POST("/updateDbTableStatus", tableController.UpdateDbTableStatus)
        vdbtable.GET("/findAllDbTablesByCurServer", tableController.FindAllDbTablesByCurServer)
    }
 
    // 底库人员 操作
    vdbperson := r.Group(urlPrefix + "/dbperson")
    {
        vdbperson.POST("/queryDbPersonsByTbId", dbPersonCont.QueryDbPersonsByTbId)
        vdbperson.POST("/queryDbPersonsByCompare", dbPersonCont.QueryDbPersonsByCompare)
        vdbperson.POST("/updateDbPerson", dbPersonCont.UpdateDbPerson)
        vdbperson.POST("/deleteDbPersonById/:uuid", dbPersonCont.DeleteDbPerson)
        vdbperson.POST("/deleteMoreDbPerson", dbPersonCont.DeleteMoreDbPerson)
        vdbperson.PUT("/addDbPerson", dbPersonCont.AddDbPerson)
 
        vdbperson.POST("/fileUploadTest", fileController.UploadPersonTest)
        vdbperson.POST("/faceExtract", fileController.FaceExtract)
        vdbperson.POST("/searchByPhoto", fileController.SearchByPhoto)
        vdbperson.POST("/updateFace", dbPersonCont.UpdateFace)
 
        vdbperson.POST("/joinDbTable", dbPersonCont.JoinDbTable)
        vdbperson.POST("/move", dbPersonCont.Move)
        vdbperson.POST("/copy", dbPersonCont.Copy)
 
        vdbperson.POST("/multiUploadCarNo", dbPersonCont.MultiUploadCarNo)
    }
 
    // 系统设置 操作
    vsset := r.Group(urlPrefix + "/sysset")
    {
        vsset.GET("/alarmServerShow", ssController.AlarmServerShow)
        vsset.POST("/alarmEdit", ssController.AlarmEdit)
        vsset.GET("/videoLenShow", ssController.VideoLenShow)
        vsset.POST("/videoLenEdit", ssController.VideoLenEdit)
        vsset.GET("/getDevInfo", ssController.GetDevInfo)
        vsset.POST("/saveDevInfo", ssController.SaveDevInfo)
        vsset.GET("/gb28181ConfigShow", ssController.Gb28181ConfigShow)
        vsset.POST("/gb28181ConfigEdit", ssController.Gb28181ConfigEdit)
        vsset.GET("/clockInfo", ssController.GetClockinfo)
        vsset.POST("/updateClock", ssController.SetSysClock)
        vsset.GET("/ntpTest", ssController.TestNTPServer)
        vsset.GET("/sysinfo", ssController.GetSysInfo)
        vsset.GET("/sysThresholds", ssController.GetSysThresholds)
 
        vsset.GET("/reboot", ssController.RebootOS)
        vsset.GET("/rebootTask", ssController.GetRebootTask)
        vsset.POST("/rebootTask", ssController.SetRebootTask)
 
        vsset.GET("/getResourceConfig", ssController.GetResourceConfig)
        vsset.POST("/saveResourceConfig", ssController.SaveResourceConfig)
        vsset.GET("/patchUpdate", ssController.PatchUpdateCheck)
        vsset.POST("/patchUpdate", ssController.PatchUpdate)
        vsset.POST("/upgrade", ssController.Upgrade)
    }
 
    ic := r.Group(urlPrefix + "/info")
    {
        ic.GET("/getServerName", icController.GetServerName)
    }
 
    //算法库操作
    sdkApi := r.Group(urlPrefix + "/sdk")
    {
        sdkApi.POST("/saveSdk", sdkController.Save)
        sdkApi.GET("/findAllSdk", sdkController.FindAllSdk)
        sdkApi.GET("/findByTaskId", sdkController.FindByTaskId)
        sdkApi.GET("/getById", sdkController.GetById)
        sdkApi.GET("/sdkDownload", sdkController.SdkDownLoad)
        sdkApi.GET("/upload", sdkController.Upload)
        sdkApi.POST("/upload", sdkController.UploadPack)
    }
 
    //算法参数
    sdkArgApi := r.Group(urlPrefix + "/sdkArg")
    {
        sdkArgApi.GET("/getSdkArgs", sdkController.GetSdkArgs)
    }
 
    cameraTimeApi := r.Group(urlPrefix + "/cameraTimerule")
    {
        cameraTimeApi.POST("/save", cameraTimeRuleController.Save)
        cameraTimeApi.GET("/delete", cameraTimeRuleController.Delete)
        cameraTimeApi.GET("/findAll", cameraTimeRuleController.FindAll)
    }
    dicApi := r.Group(urlPrefix + "/dictionary")
    {
        dicApi.GET("/findByType", dicController.FindByType)
        dicApi.GET("/findByParentId", dicController.FindByParentId)
    }
    eventPushApi := r.Group(urlPrefix + "/eventPush")
    {
        eventPushApi.POST("/save", eventPushController.Save)
        eventPushApi.GET("/findByEventTopic", eventPushController.FindByEventTopic)
        eventPushApi.GET("/findAll", eventPushController.FindAll)
        eventPushApi.GET("/getById", eventPushController.GetById)
        eventPushApi.POST("/changeStatus", eventPushController.ChangeStatus)
        eventPushApi.POST("/delete", eventPushController.Delete)
    }
    pollCApi := r.Group(urlPrefix + "/pollConfig")
    {
        pollCApi.POST("/savePollPeriod", pollConfigController.SavePollPeriod)
        pollCApi.POST("/savePollDelay", pollConfigController.SavePollDelay)
        pollCApi.GET("/getPollConfig", pollConfigController.GetPollConfig)
        pollCApi.POST("/updateEnable", pollConfigController.UpdateEnable)
        pollCApi.POST("/updateChannelCount", pollConfigController.UpdateChannelCount)
    }
    clusterApi := r.Group(urlPrefix + "/cluster")
    {
        clusterApi.GET("/findCluster", clusterController.FindCluster)
        clusterApi.GET("/randomPwd", clusterController.RandomPwd)
        clusterApi.POST("/create", clusterController.Create)
        clusterApi.POST("/search", clusterController.Search)
        clusterApi.POST("/stopSearching", clusterController.StopSearching)
        clusterApi.GET("/getSearchNodes", clusterController.GetSearchNodes)
        clusterApi.POST("/joinCluster", clusterController.JoinCluster)
        clusterApi.POST("/updateClusterName", clusterController.UpdateClusterName)
        clusterApi.POST("/leave", clusterController.Leave)
    }
    fileAnalyApi := r.Group(urlPrefix + "/fileAnalysis")
    {
        fileAnalyApi.GET("/findAllFile", fileAnalysisC.FindAllFile)
        fileAnalyApi.POST("/updateStatus", fileAnalysisC.UpdateStatus)
        fileAnalyApi.POST("/delete", fileAnalysisC.Delete)
        fileAnalyApi.POST("/sortFile", fileAnalysisC.SortFile)
        fileAnalyApi.GET("/findByStackId", fileAnalysisC.FindByStackId)
 
        fileAnalyApi.POST("/move", fileAnalysisC.Move)
        fileAnalyApi.POST("/rename", fileAnalysisC.Rename)
        fileAnalyApi.POST("/copy", fileAnalysisC.Copy)
    }
    fileSettingApi := r.Group(urlPrefix + "/fileSetting")
    {
        fileSettingApi.GET("/show", fileSettingC.Show)
        fileSettingApi.POST("/changeEnable", fileSettingC.ChangeEnable)
    }
 
    fStackApi := r.Group(urlPrefix +"/fileStack")
    {
        fStackApi.GET("/findAllByPage",fStackC.FindAllByPage)
        fStackApi.POST("/save",fStackC.Save)
        fStackApi.GET("/show/:id", fStackC.Show)
        fStackApi.POST("/changeEnable", fStackC.ChangeEnable)
        fStackApi.DELETE("/delete/:id", fStackC.Delete)
    }
 
    // 文件 上传
    r.Static("static", "./static") // 静态文件
    //外部访问swagger.json
    r.StaticFile("/swagger.json", "./docs/swagger.json")
    vdbperson.POST("/fileupload", fileController.Fileupload)
    vdbperson.POST("/moreFileUpload", fileController.MoreFileUpload)
    r.POST(urlPrefix+"/es/ImageUploadReturnPics", fileController.ImageUploadReturnPics)
    return r
}