| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- /*
- * Sites Analysis API List
- * /sitesAnalysis/manage/analysisList - GET
- * /sitesAnalysis/manage/config - POST 创建新配置
- * /sitesAnalysis/manage/config/{id} - GET & POST & DELETE 获取、更新、删除配置
- * /sitesAnalysis/data/{id} - GET 获取指定ID的分析数据
- */
- package controllers
- import (
- "fwh-toolbox-server/domain"
- "fwh-toolbox-server/services"
- "strconv"
- "github.com/gofiber/fiber/v2"
- "go.mongodb.org/mongo-driver/bson/primitive"
- )
- // 获取站点分析管理名称表
- // /sitesAnalysis/manage/analysisList
- func GetSitesAnalysisList(c *fiber.Ctx) error {
- pageInt, _ := strconv.Atoi(c.Query("pageNum", "1"))
- sizeInt, _ := strconv.Atoi(c.Query("pageSize", "20"))
- if pageInt <= 0 || sizeInt <= 0 {
- return Fail(c, "Invalid request para")
- }
- sn := c.Query("sn", "")
- progress := c.Query("progress", "")
- trigger := c.Query("trigger", "")
- var p_sn *string = nil
- if sn != "" {
- p_sn = &sn
- }
- var p_progress *string = nil
- if progress != "" {
- p_progress = &progress
- }
- var p_trigger *string = nil
- if trigger != "" {
- p_trigger = &trigger
- }
- listPage, err := services.GetSiteAnalysisManageList(uint(pageInt), uint(sizeInt), p_sn, p_progress, p_trigger)
- if err != nil {
- return Error(c, "Database read failed. (MongoDb)")
- }
- return Success(c, listPage)
- }
- // 创建一个分析配置
- // /sitesAnalysis/manage/config
- func CreateSitesAnalysis(c *fiber.Ctx) error {
- var body domain.SiteAnalysisConfigWrite
- if err := c.BodyParser(&body); err != nil {
- return Fail(c, "Invalid request body")
- }
- if err := services.InsertSiteAnalysisConfig(body); err != nil {
- return Error(c, "Database write failed. (MongoDb)")
- }
- return Success(c, body)
- }
- // 获取单个分析配置
- // /sitesAnalysis/manage/config/:id
- func GetOneSiteAnalysisConfig(c *fiber.Ctx) error {
- id := c.Params("id")
- objID, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return Fail(c, "Invalid request para :id")
- }
- config, err := services.GetSiteAnalysisConfig(objID)
- if err != nil {
- return Error(c, "Database read failed. (MongoDb)")
- }
- return Success(c, config)
- }
- // 更新一个分析配置
- // /sitesAnalysis/manage/config/:id
- func UpdateOneSiteAnalysisConfig(c *fiber.Ctx) error {
- id := c.Params("id")
- var body domain.SiteAnalysisConfigWrite
- if err := c.BodyParser(&body); err != nil {
- return Fail(c, "Invalid request body")
- }
- objID, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return Fail(c, "Invalid request para :id")
- }
- if err := services.UpdateSiteAnalysisConfig(objID, body); err != nil {
- return Error(c, "Database write failed. (MongoDb)")
- }
- return Success(c, body)
- }
- // 更新一个分析配置
- // /sitesAnalysis/manage/description/:id
- func UpdateOneSiteAnalysisDescription(c *fiber.Ctx) error {
- id := c.Params("id")
- var body string
- if err := c.BodyParser(&body); err != nil {
- return Fail(c, "Invalid request body")
- }
- objID, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return Fail(c, "Invalid request para :id")
- }
- if err := services.UpdateSiteAnalysisDescription(objID, body); err != nil {
- return Error(c, "Database write failed. (MongoDb)")
- }
- return Success(c, body)
- }
- // 删除一个分析数据
- // /sitesAnalysis/manage/config/:id
- func DeleteOneSiteAnalysis(c *fiber.Ctx) error {
- id := c.Params("id")
- objID, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return Fail(c, "Invalid request para :id")
- }
- err = services.DeleteSiteAnalysisConfig(objID)
- if err != nil {
- return Error(c, "Database delete failed. (MongoDb)")
- }
- return NoContent(c)
- }
- // 获取指定ID的分析数据
- // /sitesAnalysis/data/:id
- func GetOneSiteAnalysisData(c *fiber.Ctx) error {
- id := c.Params("id")
- objID, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return Fail(c, "Invalid request para :id")
- }
- data, err := services.GetSiteAnalysisData(objID)
- if err != nil {
- return Error(c, "Database read failed. (MongoDb)")
- }
- return Success(c, data)
- }
|