projects.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package v1
  2. import (
  3. "encoding/json"
  4. "sfbase/global"
  5. "sfis/middleware"
  6. "sfis/service"
  7. "sfis/utils"
  8. "github.com/gin-gonic/gin"
  9. "go.uber.org/zap"
  10. )
  11. /**
  12. 项目相关接口服务
  13. */
  14. func ProjectApiRegister(router *gin.Engine) {
  15. routerGroup := router.Group("/sfis/api/v1/")
  16. routerGroup.Use(middleware.TokenAuth())
  17. {
  18. routerGroup.POST("/projectList", getProjectsList)
  19. routerGroup.POST("/projectDetail", getProjectDetail)
  20. routerGroup.POST("/projectListDetail", getProjectsListDetail)
  21. }
  22. }
  23. //获取项目列表接口
  24. func getProjectsList(c *gin.Context) {
  25. productID := c.MustGet("productID").(int)
  26. appID := c.MustGet("appID").(string)
  27. requestIP := c.MustGet("requestIP").(string)
  28. projectName := c.PostForm("project_name")
  29. winner := c.PostForm("winner")
  30. bidTime := c.PostForm("bid_time")
  31. p := gin.H{
  32. "projectName": projectName,
  33. "winner": winner,
  34. "bidTime": bidTime,
  35. }
  36. bs, _ := json.Marshal(p)
  37. param := string(bs)
  38. global.Logger.Info("api getProjectList:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param))
  39. if projectName != "" || winner != "" {
  40. utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) {
  41. return service.ProjectListData(productID, appID, projectName, winner, bidTime, false)
  42. }, param, requestIP)
  43. }
  44. }
  45. //获取项目列表及详情接口
  46. func getProjectsListDetail(c *gin.Context) {
  47. productID := c.MustGet("productID").(int)
  48. appID := c.MustGet("appID").(string)
  49. requestIP := c.MustGet("requestIP").(string)
  50. winner := c.PostForm("winner")
  51. p := gin.H{
  52. "winner": winner,
  53. }
  54. bs, _ := json.Marshal(p)
  55. param := string(bs)
  56. global.Logger.Info("api getProjectList:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param))
  57. if winner != "" {
  58. utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) {
  59. return service.ProjectListData(productID, appID, "", winner, "", true)
  60. }, param, requestIP)
  61. }
  62. }
  63. //获取项目详情
  64. func getProjectDetail(c *gin.Context) {
  65. productID := c.MustGet("productID").(int)
  66. appID := c.MustGet("appID").(string)
  67. requestIP := c.MustGet("requestIP").(string)
  68. _id := c.PostForm("project_id")
  69. id := service.SE.DecodeString(_id)
  70. p := gin.H{
  71. "id": id,
  72. }
  73. bs, _ := json.Marshal(p)
  74. param := string(bs)
  75. global.Logger.Info("api getProjectDetail:", zap.Any("productID:", productID), zap.Any("appID", appID), zap.Any("param:", param))
  76. if id != "" {
  77. utils.Check(appID, productID, c, func() ([]map[string]interface{}, int, error) {
  78. return service.ProjectDetailData(id)
  79. }, param, requestIP)
  80. }
  81. }