projects.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package v1
  2. import (
  3. "encoding/json"
  4. "net/http"
  5. "sfbase/global"
  6. "sfis/middleware"
  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. }
  23. }
  24. //获取项目列表接口
  25. func getProjectsList(c *gin.Context) {
  26. productID := c.MustGet("productID").(int)
  27. appID := c.MustGet("appID").(string)
  28. requestIP := c.MustGet("requestIP").(string)
  29. projectName := c.PostForm("projectName")
  30. winner := c.PostForm("winner")
  31. zbRq := c.PostForm("zbRq")
  32. p := gin.H{
  33. "projectName": projectName,
  34. "winner": winner,
  35. "zbRq": zbRq,
  36. }
  37. bs, _ := json.Marshal(p)
  38. param := string(bs)
  39. global.Logger.Info("api getProjectList:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param))
  40. // utils.Check(appID, productID, c, func() ([]interface{}, int, error) {
  41. // return projectList(projectName, winner, zbRq)
  42. // }, param, requestIP)
  43. if projectName != "" || winner != "" {
  44. utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) {
  45. return service.ProjectListData(projectName, winner, zbRq, false)
  46. }, param, requestIP)
  47. }
  48. c.JSON(http.StatusOK, nil)
  49. }
  50. // func projectList(name string, winner string, rq string) ([]interface{}, int, error) {
  51. // return nil, 0, nil
  52. // }
  53. //获取项目列表及详情接口
  54. func getProjectsListDetail(c *gin.Context) {
  55. productID := c.MustGet("productID").(int)
  56. appID := c.MustGet("appID").(string)
  57. requestIP := c.MustGet("requestIP").(string)
  58. winner := c.PostForm("winner")
  59. p := gin.H{
  60. "winner": winner,
  61. }
  62. bs, _ := json.Marshal(p)
  63. param := string(bs)
  64. global.Logger.Info("api getProjectList:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param))
  65. if winner != "" {
  66. utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) {
  67. return service.ProjectListData("", winner, "", true)
  68. }, param, requestIP)
  69. }
  70. c.JSON(http.StatusOK, nil)
  71. }
  72. //获取项目详情
  73. func getProjectDetail(c *gin.Context) {
  74. id := c.PostForm("projectid")
  75. global.Logger.Info("projectid " + id)
  76. data := map[string]interface{}{}
  77. if id != "" {
  78. data = service.ProjectDetailData(id)
  79. }
  80. c.JSON(200, data)
  81. }