scene_his.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package controllers
  2. import (
  3. "errors"
  4. "github.com/kataras/iris/v12"
  5. "sparrow/pkg/models"
  6. "sparrow/services/knowoapi/services"
  7. )
  8. // SceneHisController api
  9. type SceneHisController struct {
  10. Ctx iris.Context
  11. Service services.SceneHisService
  12. Token Token
  13. }
  14. // Post 创建场景执行历史记录
  15. // POST /scene_his
  16. func (a *SceneHisController) Post() {
  17. ptl := new(models.SceneHis)
  18. if err := parseBody(a.Ctx, ptl); err != nil {
  19. badRequest(a.Ctx, err)
  20. return
  21. }
  22. err := a.Service.Create(ptl)
  23. if err != nil {
  24. responseError(a.Ctx, ErrDatabase, err.Error())
  25. return
  26. }
  27. done(a.Ctx, ptl)
  28. }
  29. // Delete delete
  30. // DELETE /scene_his
  31. func (a *SceneHisController) Delete() {
  32. sceneHis := new(models.SceneHis)
  33. if err := parseBody(a.Ctx, sceneHis); err != nil {
  34. badRequest(a.Ctx, err)
  35. return
  36. }
  37. if err := a.Service.Delete(sceneHis); err != nil {
  38. responseError(a.Ctx, ErrDatabase, err.Error())
  39. return
  40. }
  41. done(a.Ctx, "删除成功")
  42. }
  43. // Put 更新
  44. // PUT /scene_his
  45. func (a *SceneHisController) Put() {
  46. params := new(models.SceneHis)
  47. if err := parseBody(a.Ctx, params); err != nil {
  48. badRequest(a.Ctx, err)
  49. return
  50. }
  51. if err := a.Service.Update(params); err != nil {
  52. responseError(a.Ctx, ErrDatabase, err.Error())
  53. return
  54. }
  55. done(a.Ctx, "已保存")
  56. }
  57. // Get 分页查询场景执行历史
  58. // GET /scene_his?pi=&ps=&scene_id=
  59. func (a *SceneHisController) Get() {
  60. pi, err := a.Ctx.URLParamInt("pi")
  61. if err != nil {
  62. badRequest(a.Ctx, err)
  63. return
  64. }
  65. ps, err := a.Ctx.URLParamInt("ps")
  66. if err != nil {
  67. badRequest(a.Ctx, err)
  68. return
  69. }
  70. sceneId := a.Ctx.URLParam("scene_id")
  71. datas, total, err := a.Service.Query(pi, ps, sceneId)
  72. if err != nil {
  73. responseError(a.Ctx, ErrDatabase, err.Error())
  74. return
  75. }
  76. done(a.Ctx, map[string]interface{}{
  77. "list": datas,
  78. "total": total,
  79. })
  80. }
  81. // GetBySceneId 根据场景ID获取历史记录列表
  82. // GET /scene_his/{scene_id:string}
  83. func (a *SceneHisController) GetBySceneId(sceneId string) {
  84. if sceneId == "" {
  85. badRequest(a.Ctx, errors.New("scene_id不能为空"))
  86. return
  87. }
  88. datas, err := a.Service.GetBySceneId(sceneId)
  89. if err != nil {
  90. responseError(a.Ctx, ErrDatabase, err.Error())
  91. return
  92. }
  93. done(a.Ctx, map[string]interface{}{
  94. "list": datas,
  95. "total": len(datas),
  96. })
  97. }