projects.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package v1
  2. import (
  3. "encoding/json"
  4. "sfbase/global"
  5. "sfis/middleware"
  6. "sfis/model/response"
  7. "sfis/service"
  8. "sfis/utils"
  9. "github.com/gin-gonic/gin"
  10. "go.uber.org/zap"
  11. )
  12. /**
  13. 项目相关接口服务
  14. */
  15. func ProjectApiRegister(router *gin.Engine) {
  16. routerGroup := router.Group("/sfis/api/v1/")
  17. routerGroup.Use(middleware.TokenAuth())
  18. {
  19. routerGroup.POST("/projectList", getProjectsList)
  20. routerGroup.POST("/projectDetail", getProjectDetail)
  21. routerGroup.POST("/projectListDetail", getProjectsListDetail)
  22. routerGroup.POST("/callLog", callLog)
  23. }
  24. }
  25. //获取项目列表接口
  26. func getProjectsList(c *gin.Context) {
  27. productID := c.MustGet("productID").(int)
  28. appID := c.MustGet("appID").(string)
  29. requestIP := c.MustGet("requestIP").(string)
  30. projectName := c.PostForm("project_name")
  31. winner := c.PostForm("winner")
  32. bidTime := c.PostForm("bid_time")
  33. p := gin.H{
  34. "projectName": projectName,
  35. "winner": winner,
  36. "bidTime": bidTime,
  37. }
  38. bs, _ := json.Marshal(p)
  39. param := string(bs)
  40. global.Logger.Info("api getProjectList:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param))
  41. if projectName != "" || winner != "" {
  42. utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) {
  43. return service.ProjectListData(productID, appID, projectName, winner, bidTime, false)
  44. }, param, requestIP, false)
  45. } else {
  46. response.FailWithDetailed(response.ParamError, nil, "参数错误", c)
  47. }
  48. }
  49. //获取项目列表及详情接口
  50. func getProjectsListDetail(c *gin.Context) {
  51. productID := c.MustGet("productID").(int)
  52. appID := c.MustGet("appID").(string)
  53. requestIP := c.MustGet("requestIP").(string)
  54. winner := c.PostForm("winner")
  55. p := gin.H{
  56. "winner": winner,
  57. }
  58. bs, _ := json.Marshal(p)
  59. param := string(bs)
  60. global.Logger.Info("api getProjectList:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param))
  61. if winner != "" {
  62. utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) {
  63. return service.ProjectListData(productID, appID, "", winner, "", true)
  64. }, param, requestIP, false)
  65. }
  66. }
  67. //获取项目详情
  68. func getProjectDetail(c *gin.Context) {
  69. productID := c.MustGet("productID").(int)
  70. appID := c.MustGet("appID").(string)
  71. requestIP := c.MustGet("requestIP").(string)
  72. _id := c.PostForm("project_id")
  73. id := service.SE.DecodeString(_id)
  74. p := gin.H{
  75. "id": id,
  76. }
  77. bs, _ := json.Marshal(p)
  78. param := string(bs)
  79. global.Logger.Info("api getProjectDetail:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param))
  80. if id != "" {
  81. utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) {
  82. return service.ProjectDetailData(id)
  83. }, param, requestIP, false)
  84. }
  85. }
  86. //调用日志
  87. func callLog(c *gin.Context) {
  88. appID := c.PostForm("app_id")
  89. productId := c.PostForm("product_id")
  90. startTime := c.PostForm("start_time")
  91. endTime := c.PostForm("end_time")
  92. datas := []map[string]interface{}{}
  93. var err error
  94. p := gin.H{
  95. "appID": appID,
  96. "startTime": startTime,
  97. "endTime": endTime,
  98. }
  99. global.Logger.Info("api callLog:", zap.Any("param:", p))
  100. datas, err = service.CallLog(appID, productId, startTime, endTime)
  101. if err == nil {
  102. response.FailWithDetailed(response.SUCCESS, datas, "OK", c)
  103. } else {
  104. response.FailWithDetailed(response.QueryError, datas, "系统查询异常", c)
  105. }
  106. }