package v1 import ( "encoding/json" "net/http" "sfbase/global" "sfis/middleware" "sfis/service" "sfis/utils" "github.com/gin-gonic/gin" "go.uber.org/zap" ) /** 项目相关接口服务 */ func ProjectApiRegister(router *gin.Engine) { routerGroup := router.Group("/sfis/api/v1/") routerGroup.Use(middleware.TokenAuth()) { routerGroup.POST("/projectList", getProjectsList) routerGroup.POST("/projectDetail", getProjectDetail) routerGroup.POST("/projectListDetail", getProjectsListDetail) } } //获取项目列表接口 func getProjectsList(c *gin.Context) { productID := c.MustGet("productID").(int) appID := c.MustGet("appID").(string) requestIP := c.MustGet("requestIP").(string) projectName := c.PostForm("projectName") winner := c.PostForm("winner") zbRq := c.PostForm("zbRq") p := gin.H{ "projectName": projectName, "winner": winner, "zbRq": zbRq, } bs, _ := json.Marshal(p) param := string(bs) global.Logger.Info("api getProjectList:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param)) // utils.Check(appID, productID, c, func() ([]interface{}, int, error) { // return projectList(projectName, winner, zbRq) // }, param, requestIP) if projectName != "" || winner != "" { utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) { return service.ProjectListData(projectName, winner, zbRq, false) }, param, requestIP) } c.JSON(http.StatusOK, nil) } // func projectList(name string, winner string, rq string) ([]interface{}, int, error) { // return nil, 0, nil // } //获取项目列表及详情接口 func getProjectsListDetail(c *gin.Context) { productID := c.MustGet("productID").(int) appID := c.MustGet("appID").(string) requestIP := c.MustGet("requestIP").(string) winner := c.PostForm("winner") p := gin.H{ "winner": winner, } bs, _ := json.Marshal(p) param := string(bs) global.Logger.Info("api getProjectList:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param)) if winner != "" { utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) { return service.ProjectListData("", winner, "", true) }, param, requestIP) } c.JSON(http.StatusOK, nil) } //获取项目详情 func getProjectDetail(c *gin.Context) { id := c.PostForm("projectid") global.Logger.Info("projectid " + id) data := map[string]interface{}{} if id != "" { data = service.ProjectDetailData(id) } c.JSON(200, data) }