dashboard_api.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * @description: 项目管理首页
  3. * @Author: CP
  4. * @Date: 2021-01-18 14:57:19
  5. * @FilePath: \construction_management\web\api\dashboard_api.go
  6. */
  7. package api
  8. import (
  9. "github.com/kataras/iris/v12"
  10. "go.mod/services"
  11. "go.mod/web/utils"
  12. )
  13. type DashboardApi struct {
  14. //框架-web应用上下文环境
  15. Ctx iris.Context
  16. // // 需要用的service
  17. ServiceSafe services.SafeService
  18. ServiceQuality services.QualityService
  19. ServiceProjectMessage services.ProjectMessageService
  20. ServiceVersion services.VersionService
  21. }
  22. // @Summary 获得代办事项的内容
  23. // @Tags 代办事项
  24. // @Description 获得代办事项的内容
  25. // @Accept json
  26. // @Produce json
  27. // @Security ApiKeyAuth
  28. // @Success 200 {object} viewmodels.FolderContract "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
  29. // @Router /api/dashboard [get]
  30. func (c *DashboardApi) Get() {
  31. // 获得项目ID
  32. projectId, err := utils.GetProjectId(c.Ctx)
  33. if err != nil {
  34. c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  35. return
  36. }
  37. // 获得项目账号ID
  38. projectAccountId, err := utils.GetProjectAccountId(c.Ctx)
  39. if err != nil {
  40. c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  41. return
  42. }
  43. // 需要你处理
  44. approverData := c.ServiceSafe.GetPending(projectId, projectAccountId)
  45. // qualityData := c.ServiceQuality.GetPending(projectId, projectAccountId)
  46. // 需要你关注
  47. messageData := c.ServiceProjectMessage.GetAll(projectId, projectAccountId)
  48. versionData := c.ServiceVersion.Get()
  49. data := map[string]interface{}{
  50. "approverData": approverData,
  51. "messageData": messageData,
  52. "versionData": versionData,
  53. }
  54. c.Ctx.JSON(iris.Map{
  55. "code": 0,
  56. "msg": "",
  57. "data": data,
  58. })
  59. }