ctl.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package controllers
  2. import (
  3. "github.com/gogf/gf/v2/net/ghttp"
  4. "go.uber.org/dig"
  5. "yx-dataset-server/app/errors"
  6. "yx-dataset-server/app/schema"
  7. "yx-dataset-server/library/gplus"
  8. )
  9. // Inject 注入 controllers
  10. func Inject(container *dig.Container) {
  11. _ = container.Provide(NewRobot)
  12. //_ = container.Provide(NewRobotConfig)
  13. }
  14. func ResPage(r *ghttp.Request, data interface{}, pr *schema.PaginationResult) {
  15. result := schema.HTTPList{
  16. List: data,
  17. Pagination: &schema.HTTPPagination{
  18. Current: gplus.GetPageIndex(r),
  19. PageSize: gplus.GetPageSize(r),
  20. },
  21. }
  22. if data != nil {
  23. result.Pagination.Total = pr.Total
  24. }
  25. r.Response.WriteJson(&schema.HttpResponse{
  26. Code: 0,
  27. Message: "success",
  28. Data: result,
  29. })
  30. r.Exit()
  31. }
  32. func ResList(c *ghttp.Request, v interface{}) {
  33. ResSuccess(c, schema.HTTPList{List: v})
  34. }
  35. func ResSuccess(r *ghttp.Request, result interface{}) {
  36. r.Response.WriteJson(&schema.HttpResponse{
  37. Code: 0,
  38. Message: "success",
  39. Data: result,
  40. })
  41. r.Exit()
  42. }
  43. func ResError(r *ghttp.Request, err error, status ...int) {
  44. var res *errors.ResponseError
  45. if err != nil {
  46. if e, ok := err.(*errors.ResponseError); ok {
  47. res = e
  48. } else {
  49. res = errors.UnWrapResponse(errors.Wrap500Response(err))
  50. }
  51. } else {
  52. res = errors.UnWrapResponse(errors.ErrInternalServer)
  53. }
  54. if res.Code == 0 {
  55. res.Code = -1
  56. }
  57. r.Response.WriteJson(&schema.HttpResponse{
  58. Code: res.Code,
  59. Message: err.Error(),
  60. Data: nil,
  61. })
  62. r.Exit()
  63. }