api_controller.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package controllers
  2. import (
  3. "github.com/kataras/iris/v12/mvc"
  4. "xps/datamodels"
  5. "xps/service"
  6. )
  7. type ApiController struct {
  8. Base
  9. Service service.ApiService
  10. }
  11. func (c *ApiController) BeforeActivation(b mvc.BeforeActivation) {
  12. b.Handle("GET", "/", "GetList" )
  13. b.Handle("GET", "/page", "GetPage" )
  14. b.Handle("GET", "/{apiId:int64}", "GetById" )
  15. b.Handle("POST", "/add", "Create" )
  16. b.Handle("PUT", "/update", "Update" )
  17. b.Handle("PUT", "/updateStatus/{apiId:int64}/{status:int64}", "UpdateStatus" )
  18. b.Handle("DELETE", "/{apiId:int64}", "DeleteByID" )
  19. }
  20. func (c *ApiController) GetList() *JsonResult {
  21. params := c.buildParams()
  22. bizId := c.Ctx.URLParamInt64Default("bizId", 0)
  23. if bizId > 0 {
  24. params["bizId"] = bizId
  25. }
  26. objectId := c.Ctx.URLParamInt64Default("objectId", 0)
  27. if objectId > 0 {
  28. params["objectId"] = objectId
  29. }
  30. data, err := c.Service.GetList(params)
  31. if err != nil {
  32. return ResultErr(err.Error(), nil)
  33. } else {
  34. return ResultOk("获取成功", data)
  35. }
  36. }
  37. func (c *ApiController) GetPage() *JsonResult {
  38. params := c.buildParams()
  39. bizId := c.Ctx.URLParamInt64Default("bizId", 0)
  40. if bizId <= 0 {
  41. return ResultErr("参数不完整", nil)
  42. }
  43. data, err := c.Service.GetPage(params)
  44. if err != nil {
  45. return ResultErr(err.Error(), nil)
  46. } else {
  47. return ResultOk("获取成功", data)
  48. }
  49. }
  50. func (c *ApiController) GetById(apiId int64) *JsonResult {
  51. data, err := c.Service.GetById(apiId)
  52. if err != nil {
  53. return ResultErr(err.Error(), nil)
  54. } else {
  55. return ResultOk("获取成功", data)
  56. }
  57. }
  58. func (c *ApiController) Create() *JsonResult {
  59. userId := c.GetCurUserId()
  60. api := datamodels.Api{}
  61. if err := c.Ctx.ReadJSON(&api); err != nil {
  62. return ResultErr("读取数据失败", nil)
  63. }
  64. api.CreatedBy = userId
  65. if err := c.Service.Create(&api); err != nil {
  66. return ResultErr(err.Error(), nil)
  67. } else {
  68. return ResultOk("新增成功", nil)
  69. }
  70. }
  71. func (c *ApiController) Update() *JsonResult {
  72. userId := c.GetCurUserId()
  73. api := datamodels.Api{}
  74. if err := c.Ctx.ReadJSON(&api); err != nil {
  75. return ResultErr("读取数据失败", nil)
  76. }
  77. api.UpdatedBy = userId
  78. if err := c.Service.Update(&api); err != nil {
  79. return ResultErr(err.Error(), nil)
  80. } else {
  81. return ResultOk("更新成功", nil)
  82. }
  83. }
  84. func (c *ApiController) UpdateStatus(apiId, status int64)*JsonResult{
  85. if err := c.Service.ChangeStatus(apiId, status); err != nil {
  86. return ResultErr(err.Error(), nil)
  87. } else {
  88. return ResultOk("状态变更成功", nil)
  89. }
  90. }
  91. func (c *ApiController) DeleteByID(apiId int64) *JsonResult {
  92. userId := c.GetCurUserId()
  93. m := make(map[string]interface{})
  94. m["apiId"] = apiId
  95. m["deletedBy"] = userId
  96. if err := c.Service.Delete(m); err != nil {
  97. return ResultErr(err.Error(), nil)
  98. } else {
  99. return ResultOk("删除成功", nil)
  100. }
  101. }