| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- /*
- * Sites Monitor API List
- * /sitesMonitor/manage/nameList - GET
- * /sitesMonitor/manage/config/{name} - GET & POST & DELETE
- * /sitesMonitor/manage/pageConfig/{name} - POST
- * /sitesMonitor/manage/config - GET & POST
- * /sitesMonitor/site/infoList - POST 批量获取站点信息表
- * /sitesMonitor/site/{site}/info - GET 获取单个站点信息
- * /sitesMonitor/site/{site}/modeInfo - GET 获取站点工作模式信息
- * /sitesMonitor/site/{site}/powerFlow/{day} - GET 获取单个站点功率流
- */
- package routes
- import (
- "fmt"
- "fwh-toolbox-server/controllers"
- "time"
- "github.com/gofiber/fiber/v2"
- )
- // 在sitesMonitorControllers.go中定义
- // type SitesMonitorConfig struct {
- // Name string `json:"name"`
- // Description string `json:"description"`
- // SiteList []string `json:"siteList"`
- // }
- func SitesMonitorSetup(api fiber.Router) {
- // 获取站点监控管理名称表
- api.Get("/sitesMonitor/manage/nameList", func(c *fiber.Ctx) error {
- names, err := controllers.GetSiteMonitorNameList()
- if err != nil {
- return JSONResponseNoData(c, 500, "Database read failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", names)
- })
- // 获取单个监控配置
- api.Get("/sitesMonitor/manage/config/:name", func(c *fiber.Ctx) error {
- name := c.Params("name")
- fmt.Println(name)
- configList, err := controllers.GetOneSiteMonitorConfig(name)
- if err != nil {
- return JSONResponseNoData(c, 500, "Database read failed. (MongoDb)")
- } else if len(configList) != 1 {
- return JSONResponseNoData(c, 204, "User not found")
- }
- return JSONResponse(c, 0, "success", configList[0])
- })
- // 更新一个监控配置
- api.Post("/sitesMonitor/manage/config/:name", func(c *fiber.Ctx) error {
- name := c.Params("name")
- var body controllers.SitesMonitorConfig
- if err := c.BodyParser(&body); err != nil {
- return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
- "code": 400,
- "message": "Invalid request body",
- })
- }
- fmt.Println(body.Name, body.Description, body.SiteList)
- err := controllers.UpdateSiteMonitorConfig(name, body)
- if err != nil {
- return JSONResponseNoData(c, 500, "Database write failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", body)
- })
- // 更新一个监控页面配置
- api.Post("/sitesMonitor/manage/pageConfig/:name", func(c *fiber.Ctx) error {
- name := c.Params("name")
- var body controllers.MonitorPageConfig
- if err := c.BodyParser(&body); err != nil {
- return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
- "code": 400,
- "message": "Invalid request body",
- })
- }
- err := controllers.UpdateSiteMonitorPageConfig(name, body)
- if err != nil {
- return JSONResponseNoData(c, 500, "Database write failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", body)
- })
- // 删除一个监控
- api.Delete("/sitesMonitor/manage/config/:name", func(c *fiber.Ctx) error {
- name := c.Params("name")
- fmt.Println(name)
- err := controllers.DeleteSiteMonitorConfig(name)
- if err != nil {
- return JSONResponseNoData(c, 500, "Database delete failed. (MongoDb)")
- }
- return JSONResponseNoData(c, 0, "success")
- })
- // 获取所有监控配置
- api.Get("/sitesMonitor/manage/config", func(c *fiber.Ctx) error {
- configList, err := controllers.GetSiteMonitorConfig()
- if err != nil {
- return JSONResponseNoData(c, 500, "Database read failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", configList)
- })
- // 创建一个监控配置
- api.Post("/sitesMonitor/manage/config", func(c *fiber.Ctx) error {
- var body controllers.SitesMonitorConfig
- if err := c.BodyParser(&body); err != nil {
- return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
- "code": 400,
- "message": "Invalid request body",
- })
- }
- fmt.Println(body.Name, body.Description, body.SiteList)
- err := controllers.InsertSiteMonitorConfig(body)
- if err != nil {
- return JSONResponseNoData(c, 500, "Database write failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", body)
- })
- // 批量获取站点信息表
- api.Post("/sitesMonitor/site/infoList", func(c *fiber.Ctx) error {
- var body controllers.SiteInfoPara
- if err := c.BodyParser(&body); err != nil {
- return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
- "code": 400,
- "message": "Invalid request body",
- })
- }
- infoList, err := controllers.QuerySiteInfoList(body)
- if err != nil {
- fmt.Println("发生错误:", err)
- return JSONResponseNoData(c, 500, "Database write failed. (MongoDb)")
- }
- return JSONResponse(c, 0, "success", infoList)
- })
- // 获取单个站点信息
- api.Get("/sitesMonitor/site/:site/info", func(c *fiber.Ctx) error {
- site := c.Params("site")
- siteInfo, err := controllers.QuerySiteInfoList(controllers.SiteInfoPara{
- SiteList: []string{site},
- PageSize: 10,
- PageNum: 1,
- })
- if err != nil {
- fmt.Println("发生错误:", err)
- return JSONResponseNoData(c, 500, "fwh_pro query failed.")
- }
- return JSONResponse(c, 0, "success", siteInfo)
- })
- // 获取单个站点工作模式信息
- api.Get("/sitesMonitor/site/:site/modeInfo", func(c *fiber.Ctx) error {
- site := c.Params("site")
- siteModeInfo, err := controllers.QuerySiteModeInfo(site)
- if err != nil {
- fmt.Println("发生错误:", err)
- return JSONResponseNoData(c, 500, "fwh_pro query failed.")
- }
- return JSONResponse(c, 0, "success", siteModeInfo)
- })
- // 获取单个站点功率流
- api.Get("/sitesMonitor/site/:site/powerFlow/:day", func(c *fiber.Ctx) error {
- site := c.Params("site")
- day := c.Params("day")
- dayTime, err := time.Parse(time.DateOnly, day)
- if err != nil {
- fmt.Println("发生错误:", err)
- return JSONResponseNoData(c, 500, "day parament error.")
- }
- sitePowerFlow, err := controllers.QuerySitePowerFlow(site, dayTime)
- if err != nil {
- fmt.Println("发生错误:", err)
- return JSONResponseNoData(c, 500, "fwh_pro query failed.")
- }
- return JSONResponse(c, 0, "success", sitePowerFlow)
- })
- }
|