dashboard_api.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. "fmt"
  10. "github.com/kataras/iris/v12"
  11. "go.mod/services"
  12. "go.mod/web/utils"
  13. )
  14. type DashboardApi struct {
  15. //框架-web应用上下文环境
  16. Ctx iris.Context
  17. // // 需要用的service
  18. ServiceSafe services.SafeService
  19. ServiceQuality services.QualityService
  20. ServiceProjectMessage services.ProjectMessageService
  21. ServiceVersion services.VersionService
  22. }
  23. // @Summary 获得代办事项的内容
  24. // @Tags 代办事项
  25. // @Description 获得代办事项的内容
  26. // @Accept json
  27. // @Produce json
  28. // @Security ApiKeyAuth
  29. // @Success 200 {object} viewmodels.FolderContract "{code:0成功,-1参数类错误,data:viewmodels.ProjectAccount,msg:错误信息}"
  30. // @Router /api/dashboard [get]
  31. func (c *DashboardApi) Get() {
  32. // 获得项目ID
  33. projectId, err := utils.GetProjectId(c.Ctx)
  34. if err != nil {
  35. c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  36. return
  37. }
  38. // 获得项目账号ID
  39. projectAccountId, err := utils.GetProjectAccountId(c.Ctx)
  40. if err != nil {
  41. c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
  42. return
  43. }
  44. // 需要你处理
  45. approverData := c.ServiceSafe.GetPending(projectId, projectAccountId)
  46. // qualityData := c.ServiceQuality.GetPending(projectId, projectAccountId)
  47. // 需要你关注
  48. messageData := c.ServiceProjectMessage.GetAll(projectId, projectAccountId)
  49. versionData := c.ServiceVersion.Get()
  50. data := map[string]interface{}{
  51. "approverData": approverData,
  52. "messageData": messageData,
  53. "versionData": versionData,
  54. }
  55. c.Ctx.JSON(iris.Map{
  56. "code": 0,
  57. "msg": "",
  58. "data": data,
  59. })
  60. }
  61. //校验计量账号
  62. func (c *DashboardApi) PostProjectExist() {
  63. var (
  64. projectId int
  65. accountId int
  66. err error
  67. )
  68. projectId, err = utils.GetProjectId(c.Ctx)
  69. accountId, err = utils.GetProjectAccountId(c.Ctx)
  70. JlService := services.NewJlService()
  71. result, err := JlService.ProjectExist(projectId, accountId)
  72. if err != nil {
  73. c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
  74. return
  75. }
  76. c.Ctx.JSON(iris.Map{
  77. "code": 0,
  78. "msg": "",
  79. "data": result,
  80. })
  81. }