package v1 import ( "encoding/json" "sfbase/global" "sfis/middleware" "sfis/model/response" "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) routerGroup.POST("/callLog", callLog) } } //获取项目列表接口 func getProjectsList(c *gin.Context) { productID := c.MustGet("productID").(int) appID := c.MustGet("appID").(string) requestIP := c.MustGet("requestIP").(string) projectName := c.PostForm("project_name") winner := c.PostForm("winner") bidTime := c.PostForm("bid_time") p := gin.H{ "projectName": projectName, "winner": winner, "bidTime": bidTime, } 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 projectName != "" || winner != "" { utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) { return service.ProjectListData(productID, appID, projectName, winner, bidTime, false) }, param, requestIP, false) } else { response.FailWithDetailed(response.ParamError, nil, "参数错误", c) } } //获取项目列表及详情接口 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(productID, appID, "", winner, "", true) }, param, requestIP, false) } } //获取项目详情 func getProjectDetail(c *gin.Context) { productID := c.MustGet("productID").(int) appID := c.MustGet("appID").(string) requestIP := c.MustGet("requestIP").(string) _id := c.PostForm("project_id") id := service.SE.DecodeString(_id) p := gin.H{ "id": id, } bs, _ := json.Marshal(p) param := string(bs) global.Logger.Info("api getProjectDetail:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param)) if id != "" { utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) { return service.ProjectDetailData(id) }, param, requestIP, false) } } //调用日志 func callLog(c *gin.Context) { appID := c.PostForm("app_id") startTime := c.PostForm("start_time") endTime := c.PostForm("end_time") datas := []map[string]interface{}{} var err error p := gin.H{ "appID": appID, "startTime": startTime, "endTime": endTime, } global.Logger.Info("api callLog:", zap.Any("param:", p)) datas, err = service.CallLog(appID, startTime, endTime) if err == nil { response.FailWithDetailed(response.SUCCESS, datas, "OK", c) } else { response.FailWithDetailed(response.QueryError, datas, "系统查询异常", c) } }