ctl.go 1.5 KB

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