dashboard_api.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. }
  21. // @Summary 获得代办事项的内容
  22. // @Tags 代办事项
  23. // @Description 获得代办事项的内容
  24. // @Accept json
  25. // @Produce json
  26. // @Security ApiKeyAuth
  27. // @Success 200 {object} viewmodels.FolderContract "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
  28. // @Router /api/contract/folder [get]
  29. func (c *DashboardApi) Get() {
  30. // 获得项目ID
  31. projectId, err := utils.GetProjectId(c.Ctx)
  32. if err != nil {
  33. c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  34. return
  35. }
  36. // 获得项目账号ID
  37. projectAccountId, err := utils.GetProjectAccountId(c.Ctx)
  38. if err != nil {
  39. c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  40. return
  41. }
  42. // 需要你处理
  43. safeData := c.ServiceSafe.GetPending(projectId, projectAccountId)
  44. qualityData := c.ServiceQuality.GetPending(projectId, projectAccountId)
  45. // 需要你关注
  46. messageData := c.ServiceProjectMessage.GetAll(projectId, projectAccountId)
  47. data := map[string]interface{}{
  48. "safeDataHandle": safeData,
  49. "qualityDataHandle": qualityData,
  50. "messageData": messageData,
  51. }
  52. c.Ctx.JSON(iris.Map{
  53. "code": 0,
  54. "msg": "",
  55. "data": data,
  56. })
  57. }