publishLibrariesController.go 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "iot_manager_service/app/middleware"
  5. "iot_manager_service/app/multimedia/model"
  6. "iot_manager_service/app/multimedia/service"
  7. service2 "iot_manager_service/app/system/service"
  8. "iot_manager_service/util/common"
  9. "math"
  10. "net/http"
  11. "strconv"
  12. "strings"
  13. )
  14. var PublishLibraries = new(PublishLibrariesCtl)
  15. type PublishLibrariesCtl struct{}
  16. func (c *PublishLibrariesCtl) List(ctx *gin.Context) {
  17. searchValue := ctx.Query("searchValue")
  18. current, _ := strconv.Atoi(ctx.Query("current"))
  19. size, _ := strconv.Atoi(ctx.Query("size"))
  20. sysType, _ := strconv.Atoi(ctx.Query("sysType"))
  21. if current == 0 {
  22. current = 1
  23. }
  24. if size <= 0 || size > 100 {
  25. size = 10
  26. }
  27. value, _ := ctx.Get(middleware.Authorization)
  28. claims := value.(*middleware.Claims)
  29. libraries, err := service.PublishLibrariesService.List(claims.TenantId, searchValue, current, size, sysType)
  30. for i, library := range libraries {
  31. stime := library.StartTime.DateString()
  32. etime := library.EndTime.DateString()
  33. libraries[i].PlayPeriod = stime + " - " + etime
  34. libraries[i].ResolutionName = service2.DictService.GetResolutionName(library.TenantId, library.Resolution)
  35. libraries[i].CountDeviceNum = len(strings.Split(library.InfoId, ","))
  36. }
  37. if err != nil {
  38. ctx.JSON(http.StatusOK, err)
  39. return
  40. }
  41. pages := math.Ceil(float64(len(libraries)) / float64(size))
  42. rsp := model.RsqPublishLibrariesList{
  43. Current: current,
  44. Size: size,
  45. Total: len(libraries),
  46. Pages: int(pages),
  47. Records: libraries,
  48. }
  49. ctx.JSON(http.StatusOK, common.SuccessResponse(common.Success, rsp))
  50. }
  51. func (c *PublishLibrariesCtl) GetLibraryList(ctx *gin.Context) {
  52. id := ctx.Query("id")
  53. librariesId, e := strconv.Atoi(id)
  54. if e != nil {
  55. ctx.JSON(http.StatusOK, common.ParamsInvalidResponse(e.Error(), nil))
  56. return
  57. }
  58. value, _ := ctx.Get(middleware.Authorization)
  59. claims := value.(*middleware.Claims)
  60. programId, err := service.PublishLibrariesService.GetProgram(librariesId)
  61. if err != nil {
  62. ctx.JSON(http.StatusOK, common.ParamsInvalidResponse(e.Error(), nil))
  63. return
  64. }
  65. list, errors := service.ProgramService.GetLibraryList(claims.TenantId, programId)
  66. if errors != nil {
  67. ctx.JSON(http.StatusOK, e)
  68. return
  69. }
  70. ctx.JSON(http.StatusOK, common.SuccessResponse(common.Success, list))
  71. }
  72. // AffiliateEquipment 关联设备
  73. func (c *PublishLibrariesCtl) AffiliateEquipment(ctx *gin.Context) {
  74. sysType, _ := strconv.Atoi(ctx.Query("sysType"))
  75. deviceIds := ctx.Query("infoId") //设备id
  76. value, _ := ctx.Get(middleware.Authorization)
  77. claims := value.(*middleware.Claims)
  78. devices, err := service.ProgramService.RelationDeviceListByIds(claims.TenantId, sysType, deviceIds)
  79. if err != nil {
  80. ctx.JSON(http.StatusOK, err)
  81. return
  82. }
  83. ctx.JSON(http.StatusOK, common.SuccessResponse(common.Success, devices))
  84. }
  85. // 变更状态
  86. func (c *PublishLibrariesCtl) UpdateStatus(ctx *gin.Context) {
  87. id, _ := strconv.Atoi(ctx.Query("id"))
  88. status, _ := strconv.Atoi(ctx.Query("status"))
  89. name := ctx.Query("name")
  90. value, _ := ctx.Get(middleware.Authorization)
  91. claims := value.(*middleware.Claims)
  92. _, err := service.PublishLibrariesService.UpdateStatus(claims.TenantId, id, status, name)
  93. if err != nil {
  94. ctx.JSON(http.StatusOK, err)
  95. return
  96. }
  97. ctx.JSON(http.StatusOK, common.SuccessResponse(common.Success, nil))
  98. }