ctl.go 1.8 KB

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