ctl.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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(NewChatAssistant)
  12. _ = container.Provide(NewChatSession)
  13. _ = container.Provide(NewChatMessage)
  14. _ = container.Provide(NewLogin)
  15. //_ = container.Provide(NewRobotConfig)
  16. }
  17. func ResPage(r *ghttp.Request, data interface{}, pr *schema.PaginationResult) {
  18. result := schema.HTTPList{
  19. List: data,
  20. Pagination: &schema.HTTPPagination{
  21. Current: gplus.GetPageIndex(r),
  22. PageSize: gplus.GetPageSize(r),
  23. },
  24. }
  25. if data != nil {
  26. result.Pagination.Total = pr.Total
  27. }
  28. r.Response.WriteJson(&schema.HttpResponse{
  29. Code: 0,
  30. Message: "success",
  31. Data: result,
  32. })
  33. r.Exit()
  34. }
  35. func ResList(c *ghttp.Request, v interface{}) {
  36. ResSuccess(c, schema.HTTPList{List: v})
  37. }
  38. func ResSuccess(r *ghttp.Request, result interface{}) {
  39. r.Response.WriteJson(&schema.HttpResponse{
  40. Code: 0,
  41. Message: "success",
  42. Data: result,
  43. })
  44. r.Exit()
  45. }
  46. func ResError(r *ghttp.Request, err error, status ...int) {
  47. var res *errors.ResponseError
  48. if err != nil {
  49. if e, ok := err.(*errors.ResponseError); ok {
  50. res = e
  51. } else {
  52. res = errors.UnWrapResponse(errors.Wrap500Response(err))
  53. }
  54. } else {
  55. res = errors.UnWrapResponse(errors.ErrInternalServer)
  56. }
  57. if res.Code == 0 {
  58. res.Code = -1
  59. }
  60. r.Response.WriteJson(&schema.HttpResponse{
  61. Code: res.Code,
  62. Message: err.Error(),
  63. Data: nil,
  64. })
  65. r.Exit()
  66. }