device_command.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package controllers
  2. import (
  3. "sparrow/pkg/models"
  4. "sparrow/services/knowoapi/services"
  5. "github.com/kataras/iris/v12"
  6. )
  7. // DeviceCommandController 设备指令API
  8. type DeviceCommandController struct {
  9. Ctx iris.Context
  10. Service services.DeviceCommandService
  11. Token Token
  12. }
  13. // Post 创建设备指令
  14. // POST /device_command
  15. func (a *DeviceCommandController) Post() {
  16. item := new(models.DeviceCommand)
  17. if err := parseBody(a.Ctx, item); err != nil {
  18. badRequest(a.Ctx, err)
  19. return
  20. }
  21. err := a.Service.Create(item)
  22. if err != nil {
  23. responseError(a.Ctx, ErrDatabase, err.Error())
  24. return
  25. }
  26. done(a.Ctx, item)
  27. }
  28. // Delete 删除设备指令
  29. // DELETE /device_command
  30. func (a *DeviceCommandController) Delete() {
  31. item := new(models.DeviceCommand)
  32. if err := parseBody(a.Ctx, item); err != nil {
  33. badRequest(a.Ctx, err)
  34. return
  35. }
  36. err := a.Service.Delete(item)
  37. if err != nil {
  38. responseError(a.Ctx, ErrDatabase, err.Error())
  39. return
  40. }
  41. done(a.Ctx, "删除成功")
  42. }
  43. // Put 更新设备指令
  44. // PUT /device_command
  45. func (a *DeviceCommandController) Put() {
  46. item := new(models.DeviceCommand)
  47. if err := parseBody(a.Ctx, item); err != nil {
  48. badRequest(a.Ctx, err)
  49. return
  50. }
  51. p, err := a.Service.Update(item)
  52. if err != nil {
  53. responseError(a.Ctx, ErrDatabase, err.Error())
  54. return
  55. }
  56. done(a.Ctx, p)
  57. }
  58. // Get 根据设备类型id获取指令列表
  59. // GET /device_command?device_type_id=xxx&pi=1&ps=10&name=xxx
  60. func (a *DeviceCommandController) Get() {
  61. pi, err := a.Ctx.URLParamInt("pi")
  62. if err != nil {
  63. badRequest(a.Ctx, err)
  64. return
  65. }
  66. ps, err := a.Ctx.URLParamInt("ps")
  67. if err != nil {
  68. badRequest(a.Ctx, err)
  69. return
  70. }
  71. deviceTypeId := a.Ctx.URLParam("device_type_id")
  72. name := a.Ctx.URLParam("name")
  73. ds, total, err := a.Service.GetListByDeviceTypeId(deviceTypeId, pi, ps, name)
  74. if err != nil {
  75. responseError(a.Ctx, ErrDatabase, err.Error())
  76. return
  77. }
  78. done(a.Ctx, map[string]interface{}{
  79. "list": ds,
  80. "total": total,
  81. })
  82. }
  83. // GetBy 根据id查询设备指令
  84. // GET /device_command/{id}
  85. func (a *DeviceCommandController) GetBy(id string) {
  86. p, err := a.Service.QueryOne(id)
  87. if err != nil {
  88. responseError(a.Ctx, ErrDatabase, err.Error())
  89. return
  90. }
  91. done(a.Ctx, p)
  92. }