rule_chain.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package controllers
  2. import (
  3. "fmt"
  4. "github.com/kataras/iris"
  5. "sparrow/pkg/models"
  6. "sparrow/services/knowoapi/services"
  7. )
  8. // RuleChainController api
  9. type RuleChainController struct {
  10. Ctx iris.Context
  11. Service services.RuleChainService
  12. Token Token
  13. }
  14. // Post ``
  15. // POST /admin/rule_chain
  16. func (a *RuleChainController) Post() {
  17. ptl := new(models.RuleChain)
  18. if err := parseBody(a.Ctx, ptl); err != nil {
  19. badRequest(a.Ctx, err)
  20. return
  21. }
  22. ptl.VendorID = a.Token.getVendorID(a.Ctx)
  23. err := a.Service.Create(ptl)
  24. if err != nil {
  25. responseError(a.Ctx, ErrDatabase, err.Error())
  26. return
  27. }
  28. done(a.Ctx, ptl)
  29. }
  30. // Delete delete
  31. // DELETE /admin/rule_chain
  32. func (a *RuleChainController) Delete() {
  33. RuleChain := new(models.RuleChain)
  34. if err := parseBody(a.Ctx, RuleChain); err != nil {
  35. badRequest(a.Ctx, err)
  36. return
  37. }
  38. if err := a.Service.Delete(RuleChain); err != nil {
  39. responseError(a.Ctx, ErrDatabase, err.Error())
  40. return
  41. }
  42. done(a.Ctx, RuleChain)
  43. }
  44. // Put 更新
  45. // PUT /admin/rule_chain
  46. func (a *RuleChainController) Put() {
  47. params := new(models.RuleChainParams)
  48. if err := parseBody(a.Ctx, params); err != nil {
  49. badRequest(a.Ctx, err)
  50. return
  51. }
  52. if err := a.Service.Update(params); err != nil {
  53. responseError(a.Ctx, ErrDatabase, err.Error())
  54. return
  55. }
  56. done(a.Ctx, "已保存")
  57. }
  58. // Get get RuleChains
  59. // GET /admin/rule_chain?pi=&ps=&name=
  60. func (a *RuleChainController) 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. name := a.Ctx.URLParam("name")
  72. datas, total, err := a.Service.Query(pi, ps, name)
  73. if err != nil {
  74. responseError(a.Ctx, ErrDatabase, err.Error())
  75. return
  76. }
  77. done(a.Ctx, map[string]interface{}{
  78. "list": datas,
  79. "total": total,
  80. })
  81. }
  82. // PutChange 更新
  83. // PutChange /rule_chain/change
  84. func (a *RuleChainController) PutChange() {
  85. params := new(models.ChangeRootParams)
  86. if err := parseBody(a.Ctx, params); err != nil {
  87. badRequest(a.Ctx, err)
  88. return
  89. }
  90. fmt.Println(params.RecordId, params.Root, params.VendorId)
  91. if params.VendorId == "" {
  92. params.VendorId = a.Token.getVendorID(a.Ctx)
  93. }
  94. err := a.Service.UpdateChainRoot(params)
  95. if err != nil {
  96. responseError(a.Ctx, ErrDatabase, err.Error())
  97. return
  98. }
  99. done(a.Ctx, "已更新")
  100. }