garbageWayGroupController.go 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "iot_manager_service/app/device/dao"
  5. "iot_manager_service/app/device/model"
  6. "iot_manager_service/app/device/service"
  7. "iot_manager_service/util"
  8. "math"
  9. "net/http"
  10. "strconv"
  11. )
  12. // 垃圾桶道路管理对象
  13. var GarbageWay = new(garbageWayCtl)
  14. type garbageWayCtl struct{}
  15. func (c *garbageWayCtl) Detail(ctx *gin.Context) {
  16. id, e := strconv.Atoi(ctx.Query("id"))
  17. if e != nil {
  18. ctx.JSON(http.StatusOK, util.ParamsInvalidResponse(e.Error(), nil))
  19. return
  20. }
  21. device, err := service.GarbageWayGroupService.Get(id)
  22. if err != nil {
  23. ctx.JSON(http.StatusOK, err)
  24. return
  25. }
  26. ctx.JSON(http.StatusOK, util.SuccessResponse(util.Succeeded, device))
  27. }
  28. func (c *garbageWayCtl) List(ctx *gin.Context) {
  29. searchValue := ctx.Query("searchValue")
  30. current, _ := strconv.Atoi(ctx.Query("current"))
  31. size, _ := strconv.Atoi(ctx.Query("size"))
  32. if current == 0 {
  33. current = 1
  34. }
  35. if size <= 0 || size > 100 {
  36. size = 10
  37. }
  38. devices, err := service.GarbageWayGroupService.List(searchValue, current, size)
  39. if err != nil {
  40. ctx.JSON(http.StatusOK, err)
  41. return
  42. }
  43. pages := math.Ceil(float64(len(devices)) / float64(size))
  44. rsp := model.RsqGarbageWayGroupList{
  45. Current: current,
  46. Size: size,
  47. Total: len(devices),
  48. Pages: int(pages),
  49. }
  50. for _, device := range devices {
  51. rsp.Records = append(rsp.Records, device)
  52. }
  53. ctx.JSON(http.StatusOK, util.SuccessResponse(util.Succeeded, rsp))
  54. }
  55. func (c *garbageWayCtl) CreateOrUpdate(ctx *gin.Context) {
  56. var req dao.GarbageWayGroup
  57. if err := ctx.ShouldBindJSON(&req); err != nil {
  58. ctx.JSON(http.StatusOK, util.ParamsInvalidResponse(err.Error(), nil))
  59. return
  60. }
  61. err := service.GarbageWayGroupService.CreateOrUpdate(req)
  62. ctx.JSON(http.StatusOK, err)
  63. }
  64. func (c *garbageWayCtl) Remove(ctx *gin.Context) {
  65. var req *model.ReqGarbageWayGroupRemove
  66. if err := ctx.ShouldBindJSON(&req); err != nil {
  67. ctx.JSON(http.StatusOK, util.ParamsInvalidResponse(err.Error(), nil))
  68. return
  69. }
  70. err := service.GarbageWayGroupService.Remove(req.IDs)
  71. if err != nil {
  72. ctx.JSON(http.StatusOK, err)
  73. return
  74. }
  75. ctx.JSON(http.StatusOK, util.SuccessResponse(util.Succeeded, nil))
  76. }
  77. func (c *garbageWayCtl) GetList(ctx *gin.Context) {
  78. devices, err := service.GarbageWayGroupService.GetList()
  79. if err != nil {
  80. ctx.JSON(http.StatusOK, err)
  81. return
  82. }
  83. ctx.JSON(http.StatusOK, util.SuccessResponse(util.Succeeded, devices))
  84. }