router.go 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670
  1. package router
  2. import (
  3. "github.com/gin-gonic/gin"
  4. device "iot_manager_service/app/device/controller"
  5. "iot_manager_service/app/middleware"
  6. multimedia "iot_manager_service/app/multimedia/controller"
  7. operation "iot_manager_service/app/operation/controller"
  8. record "iot_manager_service/app/record/controller"
  9. security "iot_manager_service/app/security/controller"
  10. system "iot_manager_service/app/system/controller"
  11. warn "iot_manager_service/app/warn/controller"
  12. "iot_manager_service/config"
  13. "iot_manager_service/util/logger"
  14. )
  15. func InitRouter(engine *gin.Engine) {
  16. // 跨域处理
  17. engine.Use(middleware.Cors())
  18. // 校验权限
  19. engine.Use(middleware.CheckAuth())
  20. engine.Use(gin.Recovery())
  21. if config.Instance().Logger.Switch == 1 {
  22. engine.Use(logger.LogToFile())
  23. }
  24. engine.Use(logger.Recover)
  25. // 操作历史记录
  26. handleHistory := engine.Group("/api/longchi/handlehistory")
  27. {
  28. handleHistory.GET("/list", system.HandleHistory.List)
  29. }
  30. // 设备管理
  31. deviceMgr := engine.Group("/api/longchi/device/")
  32. //设备模型
  33. vendor := deviceMgr.Group("vender")
  34. {
  35. vendor.GET("/getModelList", device.Util.GetModelList)
  36. vendor.GET("/getTypeList", device.Util.GetModelList)
  37. vendor.GET("/list", device.Util.GetVenderList)
  38. vendor.GET("/detail", device.Util.GetVenderDetail)
  39. vendor.GET("/remove", device.Util.GetVenderRemove)
  40. vendor.GET("/submit", device.Util.GetVenderSubmit)
  41. }
  42. //公共方法
  43. share := engine.Group("/api/longchi/share")
  44. {
  45. share.GET("/tenantcode/getTenantCode", device.Util.GetTenantCode)
  46. }
  47. //桥梁
  48. bridge := deviceMgr.Group("bridge")
  49. {
  50. bridge.GET("/detail", device.Bridge.Detail)
  51. bridge.GET("/list", device.Bridge.List)
  52. bridge.POST("/submit", device.Bridge.CreateOrUpdate)
  53. bridge.POST("/remove", device.Bridge.Remove)
  54. bridge.GET("/dropdown", device.Bridge.GetList)
  55. bridge.POST("/import-excel", device.Bridge.ImportExcel)
  56. bridge.GET("/export-excel", device.Bridge.ExportExcel)
  57. bridge.GET("/export-template", device.Bridge.ExportTemplate)
  58. }
  59. //桥梁传感器 控制器
  60. bridgeSensor := deviceMgr.Group("bridgesensor")
  61. {
  62. bridgeSensor.GET("/detail", device.BridgeSensor.Detail)
  63. bridgeSensor.GET("/list", device.BridgeSensor.List)
  64. bridgeSensor.POST("/submit", device.BridgeSensor.CreateOrUpdate)
  65. bridgeSensor.POST("/remove", device.BridgeSensor.Remove)
  66. bridgeSensor.GET("/dropdown", device.BridgeSensor.GetList)
  67. bridgeSensor.POST("/enable-disable", device.BridgeSensor.Enable)
  68. bridgeSensor.POST("/import-excel", device.BridgeSensor.ImportExcel)
  69. bridgeSensor.GET("/export-excel", device.BridgeSensor.ExportExcel)
  70. bridgeSensor.GET("/export-template", device.BridgeSensor.ExportTemplate)
  71. }
  72. //摄像头
  73. camera := deviceMgr.Group("/camera")
  74. {
  75. camera.GET("/detail", device.Camera.Detail)
  76. camera.GET("/list", device.Camera.List)
  77. camera.POST("/submit", device.Camera.CreateOrUpdate)
  78. camera.POST("/remove", device.Camera.Remove)
  79. camera.POST("/import-excel", device.Camera.ImportExcel)
  80. camera.GET("/export-excel", device.Camera.ExportExcel)
  81. camera.GET("/export-template", device.Camera.ExportTemplate)
  82. camera.POST("/enable-disable", device.Camera.Enable)
  83. camera.GET("/getList", device.Camera.GetList)
  84. }
  85. //抓拍单元+卡口 控制器
  86. captureUnit := deviceMgr.Group("captureunit")
  87. {
  88. captureUnit.GET("/detail", device.CaptureUint.Detail)
  89. captureUnit.GET("/capture-list", device.CaptureUint.CaptureList)
  90. captureUnit.POST("/capture-submit", device.CaptureUint.CaptureSubmit)
  91. captureUnit.GET("/capture-pull-down-list", device.CaptureUint.CaptureGetList)
  92. captureUnit.GET("/point-list", device.CaptureUint.PointList)
  93. captureUnit.POST("/point-submit", device.CaptureUint.PointSubmit)
  94. captureUnit.GET("/point-pull-down-list", device.CaptureUint.PointGetList)
  95. captureUnit.POST("/remove", device.CaptureUint.Remove)
  96. }
  97. //垃圾桶台账 控制器
  98. garbage := deviceMgr.Group("garbage")
  99. {
  100. garbage.GET("/detail", device.Garbage.Detail)
  101. garbage.GET("/list", device.Garbage.List)
  102. garbage.POST("/submit", device.Garbage.CreateOrUpdate)
  103. garbage.POST("/remove", device.Garbage.Remove)
  104. garbage.GET("/dropdown", device.Garbage.GetList)
  105. garbage.POST("/import-excel", device.Garbage.ImportExcel)
  106. garbage.GET("/export-excel", device.Garbage.ExportExcel)
  107. garbage.GET("/export-template", device.Garbage.ExportTemplate)
  108. }
  109. //垃圾桶道路分组管理 控制器
  110. garbageWayGroup := deviceMgr.Group("garbage-way-group")
  111. {
  112. garbageWayGroup.GET("/detail", device.GarbageWay.Detail)
  113. garbageWayGroup.GET("/list", device.GarbageWay.List)
  114. garbageWayGroup.POST("/submit", device.GarbageWay.CreateOrUpdate)
  115. garbageWayGroup.POST("/remove", device.GarbageWay.Remove)
  116. garbageWayGroup.GET("/getList", device.GarbageWay.GetList)
  117. }
  118. //信息屏基本信息 控制器
  119. infoBoard := deviceMgr.Group("infoboard")
  120. {
  121. infoBoard.GET("/detail", device.InfoBoard.Detail)
  122. infoBoard.GET("/list", device.InfoBoard.List)
  123. infoBoard.POST("/submit", device.InfoBoard.CreateOrUpdate)
  124. infoBoard.POST("/remove", device.InfoBoard.Remove)
  125. infoBoard.POST("/import-excel", device.InfoBoard.ImportExcel)
  126. infoBoard.GET("/export-excel", device.InfoBoard.ExportExcel)
  127. infoBoard.GET("/export-template", device.InfoBoard.ExportTemplate)
  128. infoBoard.POST("/system-operation", device.InfoBoard.EdgeCmd)
  129. infoBoard.POST("/enable-disable", device.InfoBoard.Enable)
  130. infoBoard.POST("/show-setting", device.InfoBoard.ShowSetting)
  131. }
  132. //IP广播基本信息 控制器
  133. ipBroadCast := deviceMgr.Group("ipbroadcast")
  134. {
  135. ipBroadCast.GET("/detail", device.IpBroadcast.Detail)
  136. ipBroadCast.GET("/list", device.IpBroadcast.List)
  137. ipBroadCast.POST("/submit", device.IpBroadcast.CreateOrUpdate)
  138. ipBroadCast.POST("/remove", device.IpBroadcast.Remove)
  139. ipBroadCast.POST("/import-excel", device.IpBroadcast.ImportExcel)
  140. ipBroadCast.GET("/export-excel", device.IpBroadcast.ExportExcel)
  141. ipBroadCast.GET("/export-template", device.IpBroadcast.ExportTemplate)
  142. ipBroadCast.POST("/setting-volume", device.IpBroadcast.SettingVolume)
  143. ipBroadCast.POST("/setting-ipcast", device.IpBroadcast.SettingIpCast)
  144. }
  145. //一键报警服务表 控制器
  146. Alarm := deviceMgr.Group("akeyalarmserve")
  147. {
  148. Alarm.GET("/detail", device.Alarm.Detail)
  149. Alarm.GET("/list", device.Alarm.List)
  150. Alarm.POST("/submit", device.Alarm.CreateOrUpdate)
  151. Alarm.POST("/remove", device.Alarm.Remove)
  152. Alarm.GET("/getList", device.Alarm.GetList)
  153. Alarm.POST("/import-excel", device.Alarm.ImportExcel)
  154. Alarm.GET("/export-excel", device.Alarm.ExportExcel)
  155. Alarm.GET("/export-template", device.Alarm.ExportTemplate)
  156. }
  157. //一键报警终端表 控制器
  158. AlarmTerminal := deviceMgr.Group("akeyalarmterminal")
  159. {
  160. AlarmTerminal.GET("/detail", device.AlarmTerminal.Detail)
  161. AlarmTerminal.GET("/list", device.AlarmTerminal.List)
  162. AlarmTerminal.POST("/submit", device.AlarmTerminal.CreateOrUpdate)
  163. AlarmTerminal.POST("/remove", device.AlarmTerminal.Remove)
  164. AlarmTerminal.POST("/import-excel", device.AlarmTerminal.ImportExcel)
  165. AlarmTerminal.GET("/export-excel", device.AlarmTerminal.ExportExcel)
  166. AlarmTerminal.GET("/export-template", device.AlarmTerminal.ExportTemplate)
  167. }
  168. //灯杆基本信息 控制器
  169. lampPole := deviceMgr.Group("lamppole")
  170. {
  171. lampPole.GET("/detail", device.LampPole.Detail)
  172. lampPole.GET("/getRelevanceDetail", device.LampPole.GetRelevanceDetail)
  173. lampPole.GET("/list", device.LampPole.List)
  174. lampPole.POST("/submit", device.LampPole.CreateOrUpdate)
  175. lampPole.POST("/remove", device.LampPole.Remove)
  176. lampPole.GET("/getList", device.LampPole.GetList)
  177. lampPole.POST("/import-excel", device.LampPole.ImportExcel)
  178. lampPole.GET("/export-excel", device.LampPole.ExportExcel)
  179. lampPole.GET("/export-template", device.LampPole.ExportTemplate)
  180. }
  181. //灯杆分组
  182. lampPoleGroup := deviceMgr.Group("/lamppolegroup")
  183. {
  184. lampPoleGroup.GET("/detail", device.LampPoleGroup.Detail)
  185. lampPoleGroup.GET("/list", device.LampPoleGroup.List)
  186. lampPoleGroup.POST("/submit", device.LampPoleGroup.CreateOrUpdate)
  187. lampPoleGroup.POST("/remove", device.LampPoleGroup.Remove)
  188. lampPoleGroup.GET("/getList", device.LampPoleGroup.GetList)
  189. lampPoleGroup.GET("/filtration-list", device.LampPoleGroup.FiltrationList)
  190. lampPoleGroup.GET("/getTree", device.LampPoleGroup.GetTree)
  191. }
  192. //灯控基本信息 控制器
  193. lightControl := deviceMgr.Group("lightcontrol")
  194. {
  195. lightControl.GET("/detail", device.Light.Detail)
  196. lightControl.GET("/list", device.Light.List)
  197. lightControl.POST("/submit", device.Light.CreateOrUpdate)
  198. lightControl.POST("/remove", device.Light.Remove)
  199. lightControl.GET("/getLampPoleList", device.Light.GetList)
  200. lightControl.POST("/import-excel", device.Light.ImportExcel)
  201. lightControl.GET("/export-excel", device.Light.ExportExcel)
  202. lightControl.GET("/export-template", device.Light.ExportTemplate)
  203. lightControl.POST("/enable-disable", device.Light.Enable)
  204. lightControl.POST("/off-one", device.Light.Switch) //todo 在strategy中
  205. }
  206. manholeCover := deviceMgr.Group("manholecover")
  207. {
  208. manholeCover.GET("/detail", device.ManholeCover.Detail)
  209. manholeCover.GET("/list", device.ManholeCover.List)
  210. manholeCover.POST("/submit", device.ManholeCover.CreateOrUpdate)
  211. manholeCover.POST("/remove", device.ManholeCover.Remove)
  212. manholeCover.POST("/setting", device.ManholeCover.Setting)
  213. manholeCover.GET("/getList", device.ManholeCover.GetList)
  214. manholeCover.POST("/import-excel", device.ManholeCover.ImportExcel)
  215. manholeCover.GET("/export-excel", device.ManholeCover.ExportExcel)
  216. manholeCover.GET("/export-template", device.ManholeCover.ExportExcel)
  217. manholeCover.GET("/all-list", device.ManholeCover.AllList)
  218. }
  219. //灯随车走分组 控制器
  220. onDemandGroup := deviceMgr.Group("on-demand-group")
  221. {
  222. onDemandGroup.GET("/detail", device.OnDemandGroup.Detail)
  223. onDemandGroup.GET("/list", device.OnDemandGroup.List)
  224. onDemandGroup.POST("/submit", device.OnDemandGroup.CreateOrUpdate)
  225. onDemandGroup.POST("/remove", device.OnDemandGroup.Remove)
  226. onDemandGroup.GET("/getList", device.OnDemandGroup.GetList)
  227. onDemandGroup.GET("/group-number", device.OnDemandGroup.GroupNumber)
  228. }
  229. //灯随车走传感器 控制器
  230. onDemandSensor := deviceMgr.Group("on-demand-sensor")
  231. {
  232. onDemandSensor.GET("/detail", device.OnDemandSensor.Detail)
  233. onDemandSensor.GET("/list", device.OnDemandSensor.List)
  234. onDemandSensor.POST("/submit", device.OnDemandSensor.CreateOrUpdate)
  235. onDemandSensor.POST("/remove", device.OnDemandSensor.Remove)
  236. onDemandSensor.POST("/import-excel", device.OnDemandSensor.ImportExcel)
  237. onDemandSensor.GET("/export-excel", device.OnDemandSensor.ExportExcel)
  238. onDemandSensor.GET("/export-template", device.OnDemandSensor.ExportTemplate)
  239. }
  240. //环境传感器 控制器
  241. optoSensor := deviceMgr.Group("optosensor")
  242. {
  243. optoSensor.GET("/detail", device.OptoSensor.Detail)
  244. optoSensor.GET("/list", device.OptoSensor.List)
  245. optoSensor.POST("/submit", device.OptoSensor.CreateOrUpdate)
  246. optoSensor.POST("/remove", device.OptoSensor.Remove)
  247. optoSensor.GET("/getList", device.OptoSensor.GetList)
  248. optoSensor.POST("/set-default", device.OptoSensor.SetDefault)
  249. optoSensor.POST("/import-excel", device.OptoSensor.ImportExcel)
  250. optoSensor.GET("/export-excel", device.OptoSensor.ExportExcel)
  251. optoSensor.GET("/export-template", device.OptoSensor.ExportTemplate)
  252. }
  253. //配电箱基本信息 控制器
  254. switchBox := deviceMgr.Group("switchbox")
  255. {
  256. switchBox.GET("/detail", device.SwitchBox.Detail)
  257. switchBox.GET("/list", device.SwitchBox.List)
  258. switchBox.POST("/submit", device.SwitchBox.CreateOrUpdate)
  259. switchBox.POST("/remove", device.SwitchBox.Remove)
  260. switchBox.GET("/getList", device.SwitchBox.GetList)
  261. switchBox.POST("/import-excel", device.SwitchBox.ImportExcel)
  262. switchBox.GET("/export-excel", device.SwitchBox.ExportExcel)
  263. switchBox.GET("/export-template", device.SwitchBox.ExportTemplate)
  264. }
  265. //变压器基本信息 控制器
  266. transformer := deviceMgr.Group("transformer")
  267. {
  268. transformer.GET("/detail", device.Transformer.Detail)
  269. transformer.GET("/list", device.Transformer.List)
  270. transformer.POST("/submit", device.Transformer.CreateOrUpdate)
  271. transformer.POST("/remove", device.Transformer.Remove)
  272. transformer.GET("/getList", device.Transformer.GetList)
  273. }
  274. //智慧网关基本信息 控制器
  275. wisdomGateway := deviceMgr.Group("wisdomgateway")
  276. {
  277. wisdomGateway.GET("/detail", device.Gateway.Detail)
  278. wisdomGateway.GET("/list", device.Gateway.List)
  279. wisdomGateway.POST("/submit", device.Gateway.CreateOrUpdate)
  280. wisdomGateway.POST("/remove", device.Gateway.Remove)
  281. wisdomGateway.GET("/getList", device.Gateway.GetList)
  282. wisdomGateway.GET("/getRelevanceDetail", device.Gateway.GetRelevanceDetail)
  283. wisdomGateway.POST("/import-excel", device.Gateway.ImportExcel)
  284. wisdomGateway.GET("/export-excel", device.Gateway.ExportExcel)
  285. wisdomGateway.GET("/export-template", device.Gateway.ExportTemplate)
  286. }
  287. //zigBee网关 控制器
  288. zigbee := deviceMgr.Group("zigbee")
  289. {
  290. zigbee.GET("/detail", device.Zigbee.Detail)
  291. zigbee.GET("/list", device.Zigbee.List)
  292. zigbee.POST("/submit", device.Zigbee.CreateOrUpdate)
  293. zigbee.POST("/remove", device.Zigbee.Remove)
  294. zigbee.GET("/getList", device.Zigbee.GetList)
  295. zigbee.POST("/import-excel", device.Zigbee.ImportExcel)
  296. zigbee.GET("/export-excel", device.Zigbee.ExportExcel)
  297. zigbee.GET("/export-template", device.Zigbee.ExportTemplate)
  298. }
  299. // 设备控制相关
  300. strategy := engine.Group("/api/longchi/strategy")
  301. ////智能照明(灯杆分组/灯控树) 控制器
  302. //intelligentLighting := strategy.Group("IntelligentLighting")
  303. //{
  304. // intelligentLighting.GET("/detail", device.IntelligentLighting.Detail)
  305. // intelligentLighting.GET("/list", device.IntelligentLighting.List)
  306. // intelligentLighting.POST("/relationList", device.IntelligentLighting.RelationList)
  307. // intelligentLighting.POST("/relation", device.IntelligentLighting.Relation)
  308. // intelligentLighting.POST("/remove", device.IntelligentLighting.Remove)
  309. // intelligentLighting.POST("/changHandSwitch", device.IntelligentLighting.ChangeHandSwitch)
  310. // intelligentLighting.POST("/get_status", device.IntelligentLighting.GetStatus)
  311. //}
  312. //照明策略 控制器
  313. lightStrategy := strategy.Group("light")
  314. {
  315. lightStrategy.GET("/detail", device.LightStrategy.Detail)
  316. lightStrategy.GET("/list", device.LightStrategy.List)
  317. lightStrategy.POST("/submit", device.LightStrategy.CreateOrUpdate)
  318. lightStrategy.POST("/remove", device.LightStrategy.Remove)
  319. }
  320. //照明策略略关联(灯杆分组/灯控树形态) 控制器
  321. lightRelation := strategy.Group("lightrelation")
  322. {
  323. lightRelation.GET("/detail", device.IntelligentLighting.Detail)
  324. lightRelation.GET("/list", device.IntelligentLighting.List)
  325. lightRelation.POST("/remove", device.IntelligentLighting.Recovery)
  326. lightRelation.POST("/relationList", device.IntelligentLighting.RelationList)
  327. lightRelation.POST("/relation", device.IntelligentLighting.Relation)
  328. lightRelation.POST("/changeHandSwitch", device.IntelligentLighting.ChangeHandSwitch)
  329. }
  330. //灯随车走照明控制 控制器
  331. onDemandLightingControl := strategy.Group("onDemandLightingControl")
  332. {
  333. onDemandLightingControl.GET("/detail", device.OnDemandLightingControl.Detail)
  334. onDemandLightingControl.GET("/list", device.OnDemandLightingControl.List)
  335. onDemandLightingControl.POST("/relation", device.OnDemandLightingControl.Relation)
  336. onDemandLightingControl.POST("/changHandSwitch", device.OnDemandLightingControl.ChangeHandSwitch)
  337. }
  338. //登录校验相关
  339. auth := engine.Group("/api/blade-auth/oauth")
  340. {
  341. auth.POST("/token", system.Auth.Token)
  342. auth.GET("/logout", system.Auth.Logout)
  343. auth.GET("/captcha", system.Auth.Captcha)
  344. auth.GET("/clear-cache", system.Auth.Clear)
  345. }
  346. login := engine.Group("/api/login")
  347. {
  348. login.GET("", system.Auth.Login)
  349. }
  350. //用户
  351. user := engine.Group("/api/blade-user")
  352. {
  353. user.GET("/detail", system.User.GetDetail)
  354. user.GET("/page", system.User.List)
  355. user.POST("/submit", system.User.Submit)
  356. user.POST("/update", system.User.Update)
  357. user.POST("/remove", system.User.Remove)
  358. user.POST("/reset-password", system.User.ResetPwd)
  359. user.POST("/user-list", system.User.GetList)
  360. user.POST("/grant", system.User.Grant)
  361. //todo 添加/info 路由
  362. user.GET("/info", system.User.Info)
  363. }
  364. //租户
  365. tenant := engine.Group("/api/blade-system/tenant")
  366. {
  367. tenant.GET("/info", system.Tenant.GetInfo)
  368. tenant.GET("/detail", system.Tenant.GetDetail)
  369. tenant.GET("/page", system.Tenant.List)
  370. tenant.POST("/submit", system.Tenant.Submit)
  371. tenant.POST("/remove", system.Tenant.Remove)
  372. tenant.GET("/select", system.Tenant.GetList)
  373. tenant.GET("/list", system.Tenant.List)
  374. }
  375. //角色
  376. role := engine.Group("/api/blade-system/role")
  377. {
  378. role.GET("/detail", system.Role.GetDetail)
  379. role.GET("/list", system.Role.List)
  380. role.GET("/tree", system.Role.Tree)
  381. role.POST("/submit", system.Role.Submit)
  382. role.POST("/remove", system.Role.Remove)
  383. role.POST("/grant", system.Role.Grant)
  384. }
  385. //菜单
  386. menu := engine.Group("/api/blade-system/menu")
  387. {
  388. menu.GET("/detail", system.Menu.GetDetail)
  389. menu.GET("list", system.Menu.List)
  390. menu.GET("lazy-list", system.Menu.LazyList)
  391. menu.GET("menuList", system.Menu.MenuList)
  392. menu.GET("lazyMenuList", system.Menu.LazyMenuList)
  393. menu.POST("submit", system.Menu.Submit)
  394. menu.POST("remove", system.Menu.Remove)
  395. menu.GET("routes", system.Menu.Routes)
  396. menu.GET("routesExt", system.Menu.RoutesExt)
  397. menu.GET("buttons", system.Menu.Buttons)
  398. menu.GET("tree", system.Menu.Tree)
  399. menu.GET("grantTree", system.Menu.GrantTree)
  400. menu.GET("role-tree-keys", system.Menu.RoleTreeKeys)
  401. menu.GET("grantTopTree", system.Menu.GrantTopTree)
  402. menu.GET("topTreeKeys", system.Menu.GrantTopTree)
  403. menu.GET("top-menu", system.Menu.TopMenu)
  404. menu.GET("authRoutes", system.Menu.Routes)
  405. }
  406. //字典
  407. dict := engine.Group("/api/blade-system/dict")
  408. {
  409. dict.GET("/dictionary", system.Dict.Dictionary)
  410. }
  411. //工作台
  412. workbench := engine.Group("/api/longchi/report/workbench/")
  413. {
  414. workbench.POST("countdevice", device.Workbench.CountDevice)
  415. workbench.POST("countalarm", device.Workbench.CountAlarm)
  416. workbench.POST("aqi", device.Workbench.Aqi)
  417. workbench.POST("countjobtodo", device.Workbench.CountJobTodo)
  418. workbench.POST("notification", device.Workbench.Notification)
  419. workbench.GET("light-pandect", device.Workbench.LightRate)
  420. }
  421. //记录
  422. recordGroup := engine.Group("/api/longchi/record")
  423. {
  424. //灯控
  425. lightRecord := recordGroup.Group("/lighting/lightingrecordhis")
  426. {
  427. lightRecord.GET("/list", record.LightRecord.List)
  428. lightRecord.GET("/detail", record.LightRecord.Detail)
  429. }
  430. akeyalarmRecord := recordGroup.Group("/akeyalarm/keyalarmrecondhis")
  431. {
  432. akeyalarmRecord.GET("/list", record.AKeyAlarmRecord.List)
  433. akeyalarmRecord.GET("/detail", record.AKeyAlarmRecord.Detail)
  434. akeyalarmRecord.GET("/refresh", record.AKeyAlarmRecord.Refresh)
  435. akeyalarmRecord.POST("/dispose", record.AKeyAlarmRecord.Dispose)
  436. }
  437. }
  438. //安防
  439. securityGroup := engine.Group("/api/longchi/security")
  440. {
  441. securityGroup.GET("/getCameraLiveList", security.Security.GetCameraLiveList)
  442. securityGroup.GET("/operate", security.Security.Operate)
  443. securityGroup.POST("/ptzhome", security.Security.Ptzhome)
  444. securityMultiscreenGroup := securityGroup.Group("/multiscreen")
  445. {
  446. securityMultiscreenGroup.GET("list", security.Multiscreen.List)
  447. securityMultiscreenGroup.GET("cameraList", security.Security.GetCameraLiveList)
  448. securityMultiscreenGroup.POST("submit", security.Multiscreen.Submit)
  449. }
  450. securityRewindGroup := securityGroup.Group("/rewind")
  451. {
  452. securityRewindGroup.GET("getCameraLiveList", security.Security.GetCameraLiveList)
  453. securityRewindGroup.POST("rewind-text", security.Rewind.RewindText)
  454. }
  455. }
  456. //租户用户oss
  457. personalOSS := engine.Group("/api/blade-resource/oss/endpoint")
  458. {
  459. personalOSS.POST("/put-file", system.User.PutFile)
  460. }
  461. // 媒体素材
  462. multimediaGroup := engine.Group("/api/longchi/multimedia/library")
  463. {
  464. multimediaGroup.GET("/list", multimedia.Library.List)
  465. multimediaGroup.GET("/detail", multimedia.Library.Detail)
  466. multimediaGroup.POST("/remove", multimedia.Library.Remove)
  467. multimediaGroup.GET("/getList", multimedia.Library.GetList)
  468. multimediaGroup.POST("/putFile", multimedia.Library.UploadFile)
  469. multimediaGroup.POST("/putMp3File", multimedia.Library.UploadFile)
  470. multimediaGroup.POST("/submit", multimedia.Library.Submit)
  471. }
  472. //上传设备图
  473. systemGroup := engine.Group("/api/longchi/system/public")
  474. {
  475. systemGroup.POST("/putFile", multimedia.Library.UploadFile)
  476. }
  477. // 媒体节目
  478. programGroup := engine.Group("/api/longchi/multimedia/programlibraries")
  479. {
  480. programGroup.GET("/list", multimedia.Program.List)
  481. programGroup.GET("/detail", multimedia.Program.Detail)
  482. programGroup.POST("/remove", multimedia.Program.Remove)
  483. programGroup.GET("/getList", multimedia.Program.GetList)
  484. programGroup.POST("/submit", multimedia.Program.Submit)
  485. programGroup.POST("/getLibraryList", multimedia.Program.GetLibraryList)
  486. programGroup.POST("/relationDeviceList", multimedia.Program.RelationDeviceList)
  487. //todo 前端需要和relationDeviceList合并,使用一个接口
  488. programGroup.POST("/ip-broadcast-relation-list", multimedia.Program.RelationIpBroadcastList)
  489. programGroup.POST("/audit", multimedia.Program.Audit)
  490. }
  491. //节目播放
  492. publishLibraries := engine.Group("/api/longchi/multimedia/publishlibraries")
  493. {
  494. publishLibraries.GET("/list", multimedia.PublishLibraries.List)
  495. publishLibraries.POST("/getLibraryList", multimedia.PublishLibraries.GetLibraryList)
  496. publishLibraries.GET("/affiliate-equipment", multimedia.PublishLibraries.AffiliateEquipment)
  497. publishLibraries.POST("/updateStatus", multimedia.PublishLibraries.UpdateStatus)
  498. publishLibraries.POST("/remove", multimedia.PublishLibraries.Remove)
  499. }
  500. operationGroup := engine.Group("/api/longchi/operation")
  501. environment := operationGroup.Group("/em/environmentMonitor")
  502. {
  503. environment.GET("/getNewList", operation.Environment.EnvironmentList)
  504. environment.GET("/getNewMeteorologicalData", operation.Environment.GetData)
  505. environment.GET("/query-environment", operation.Environment.GetHistoryData)
  506. environment.GET("/getScopeList", operation.Environment.GetScopeList)
  507. }
  508. garbageGroup := operationGroup.Group("/garbage")
  509. {
  510. garbageGroup.GET("/query-way-realtime", operation.Garbage.GarbageList)
  511. garbageGroup.GET("/count-list", operation.Garbage.CountList)
  512. }
  513. bridgeGroup := operationGroup.Group("/bridge")
  514. {
  515. bridgeGroup.GET("/data/environmental/environmental-list", operation.Bridge.EnvironmentList)
  516. bridgeGroup.GET("/data/sensor/list", operation.Bridge.SensorList)
  517. bridgeGroup.GET("/data/sensor/realtime-data", operation.Bridge.LiveData)
  518. bridgeGroup.GET("/data/pandect/detail", operation.Bridge.Summary)
  519. bridgeGroup.GET("/data/pandect/health-indicators", operation.Bridge.HealthIndicators)
  520. bridgeGroup.GET("/data/pandect/list", operation.Bridge.SummaryList)
  521. bridgeGroup.GET("/data/pandect/camera-list", operation.Bridge.CameraList)
  522. }
  523. manholeGroup := operationGroup.Group("/manhole")
  524. {
  525. manholeGroup.GET("/now", operation.Manhole.LiveData)
  526. manholeGroup.GET("/history-list", operation.Manhole.HistoryList)
  527. }
  528. //运营统计-设备
  529. operationDeviceGroup := operationGroup.Group("/device")
  530. {
  531. operationDeviceGroup.POST("count-device", operation.Device.CountDevice)
  532. operationDeviceGroup.POST("list", operation.Device.MonthList)
  533. operationDeviceGroup.POST("year-list", operation.Device.YearList)
  534. }
  535. //运营统计-灯控能耗统计
  536. operationGroup.POST("/energy/list", operation.LightingRate.List)
  537. //运营统计-告警统计
  538. operationGroup.POST("/alarm/list", operation.Alarm.List)
  539. //告警管理
  540. warnGroup := engine.Group("/api/longchi/alarm")
  541. {
  542. //告警设置
  543. noticeGroup := warnGroup.Group("notice")
  544. {
  545. noticeGroup.GET("/list", warn.NoticeSet.List)
  546. noticeGroup.POST("/update", warn.NoticeSet.Update)
  547. noticeGroup.POST("/remove", warn.NoticeSet.Remove)
  548. noticeGroup.GET("/detail", warn.NoticeSet.Detail)
  549. noticeGroup.GET("/getUserList", warn.NoticeSet.GetUserList)
  550. }
  551. //发送记录
  552. sendrecordGroup := warnGroup.Group("sendrecord")
  553. {
  554. sendrecordGroup.GET("/list", warn.NoticeRecord.List)
  555. }
  556. //运维告警记录
  557. alarmGroup := warnGroup.Group("alarm")
  558. {
  559. alarmGroup.GET("/list", warn.PlatformAlarm.List)
  560. alarmGroup.GET("/detail", warn.PlatformAlarm.Detail)
  561. alarmGroup.GET("/refresh", warn.PlatformAlarm.Refresh)
  562. alarmGroup.POST("/changeHandleType", warn.PlatformAlarm.HandleAlert)
  563. }
  564. //业务告警记录
  565. warnGroup.GET("/alarmrecords/list", warn.NoticeRecord.List)
  566. // 业务 策略 告警
  567. businesstacticsGroup := warnGroup.Group("businesstactics")
  568. {
  569. businesstacticsGroup.GET("/list", warn.BusinessTactics.List)
  570. businesstacticsGroup.GET("/detail", warn.BusinessTactics.Detail)
  571. businesstacticsGroup.POST("/submit", warn.BusinessTactics.SaveOrUpdate)
  572. businesstacticsGroup.POST("/remove", warn.BusinessTactics.Remove)
  573. businesstacticsGroup.POST("/enable-disable", warn.BusinessTactics.Enable)
  574. }
  575. }
  576. //智慧交通
  577. captureGroup := operationGroup.Group("/capture")
  578. {
  579. //车流汇总
  580. captureGroup.GET("affiliation/count-list", operation.Capture.CountList)
  581. captureGroup.POST("speed/getSuggestSpeed", operation.Capture.SuggestSpeed)
  582. //归属地统计
  583. captureGroup.GET("affiliation/list", operation.Capture.AreaList)
  584. captureGroup.GET("affiliation/type-list", operation.Capture.AreaTypeList)
  585. //车型统计
  586. captureGroup.GET("model/list", operation.Capture.VehicleTypeEx)
  587. captureGroup.GET("model/type-list", operation.Capture.VehicleTypeList)
  588. //车速统计
  589. captureGroup.GET("speed/list", operation.Capture.SpeedList)
  590. captureGroup.GET("speed/over-speed-record", operation.Capture.OverSpeedRecord)
  591. captureGroup.GET("speed/over-speed-record-sync", operation.Capture.OverSpeedRecordSync)
  592. //时段统计
  593. captureGroup.GET("periods/list", operation.Capture.PeriodsList)
  594. //货车统计
  595. captureGroup.GET("carrecord/count", operation.Capture.CarrecordCount)
  596. //报表统计
  597. captureGroup.GET("report/list", operation.Capture.ReportList)
  598. }
  599. logGroup := engine.Group("/api/ctwing/aep")
  600. {
  601. logGroup.POST("/callback", operation.AepCallback.Save)
  602. }
  603. //数据大屏
  604. bigScreen := engine.Group("/api/longchi/largescreen")
  605. {
  606. bigScreen.GET("/mapclieck/device-num", device.BigScreen.DeviceNum)
  607. bigScreen.GET("/overview/lamppole-status", device.BigScreen.LampPoleStatus)
  608. bigScreen.GET("/overview/device-status", device.BigScreen.DevicesStatus)
  609. bigScreen.GET("/overview/energy-consumption", device.BigScreen.Energy)
  610. bigScreen.GET("/overview/lighting-rate", device.BigScreen.LightRate)
  611. bigScreen.GET("/overview/alarm-information", device.BigScreen.AlarmInfo)
  612. bigScreen.GET("/overview/alarm-device-count", device.BigScreen.AlarmStatistics)
  613. bigScreen.GET("/overview/flow-information", device.BigScreen.FlowInfo)
  614. bigScreen.GET("/overview/weather-now", device.BigScreen.Environment)
  615. bigScreen.GET("/popup/play-programs-list", device.BigScreen.InfoBoard)
  616. bigScreen.GET("/overview/play-programs", device.BigScreen.Program)
  617. bigScreen.GET("/popup/bridge-sensor-pull-down-list", device.BigScreen.BridgeSensor)
  618. bigScreen.GET("/setting/query-large-screen", device.BigScreen.QueryOverView)
  619. bigScreen.POST("/setting/submit", device.BigScreen.SubmitOverView)
  620. }
  621. }