c_chat_message.go 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package controllers
  2. import (
  3. "github.com/gogf/gf/v2/net/ghttp"
  4. "yx-dataset-server/app/bll"
  5. "yx-dataset-server/app/errors"
  6. "yx-dataset-server/app/schema"
  7. "yx-dataset-server/library/gplus"
  8. )
  9. type ChatMessage struct {
  10. ChatMessageBll bll.IChatMessage
  11. }
  12. func NewChatMessage(bChatMessage bll.IChatMessage) *ChatMessage {
  13. return &ChatMessage{
  14. ChatMessageBll: bChatMessage,
  15. }
  16. }
  17. // Query 查询数据
  18. func (a *ChatMessage) Query(r *ghttp.Request) {
  19. switch r.Get("q").String() {
  20. case "page":
  21. a.QueryPage(r)
  22. case "list":
  23. a.QueryList(r)
  24. default:
  25. gplus.ResError(r, errors.ErrUnknownQuery)
  26. }
  27. }
  28. // QueryPage 查询分页数据
  29. // @Tags
  30. // @Summary 查询分页数据
  31. // @Param Authorization header string false "Bearer 用户令牌"
  32. // @Param current query int true "分页索引" 1
  33. // @Param pageSize query int true "分页大小" 10
  34. // @Success 200 []schema.ChatMessage "查询结果:{list:列表数据,pagination:{current:页索引,pageSize:页大小,total:总数量}}"
  35. // @Failure 400 schema.HTTPError "{error:{code:0,message:未知的查询类型}}"
  36. // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}"
  37. // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}"
  38. // @Router GET /api/v1/chat_message?q=page
  39. func (a *ChatMessage) QueryPage(r *ghttp.Request) {
  40. ctx := gplus.NewContext(r)
  41. var params schema.ChatMessageQueryParam
  42. result, err := a.ChatMessageBll.Query(ctx, params, schema.ChatMessageQueryOptions{
  43. PageParam: &schema.PaginationParam{
  44. PageIndex: gplus.GetPageIndex(r),
  45. PageSize: gplus.GetPageSize(r),
  46. },
  47. })
  48. if err != nil {
  49. gplus.ResError(r, err)
  50. }
  51. gplus.ResPage(r, result.Data, result.PageResult)
  52. }
  53. // QueryList 查询列表数据
  54. // @Tags
  55. // @Summary 查询列表数据
  56. // @Param Authorization header string false "Bearer 用户令牌"
  57. // @Success 200 []schema.ChatMessage "查询结果:{list:列表数据}"
  58. // @Failure 400 schema.HTTPError "{error:{code:0,message:未知的查询类型}}"
  59. // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}"
  60. // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}"
  61. // @Router GET /api/v1/chat_message?q=list
  62. func (a *ChatMessage) QueryList(r *ghttp.Request) {
  63. ctx := gplus.NewContext(r)
  64. var params schema.ChatMessageQueryParam
  65. result, err := a.ChatMessageBll.Query(ctx, params)
  66. if err != nil {
  67. gplus.ResError(r, err)
  68. }
  69. gplus.ResList(r, result.Data)
  70. }
  71. // Get 获取数据
  72. // @Summary 获取数据
  73. // @Param id path string true "记录ID"
  74. // @Success 200 schema.ChatMessage
  75. // @Failure 400 schema.HTTPError "{error:{code:0,message:无效的请求参数}}"
  76. // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}"
  77. // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}"
  78. // @Router /api/v1/chat_message/{id}
  79. func (a *ChatMessage) Get(r *ghttp.Request) {
  80. ctx := gplus.NewContext(r)
  81. result, err := a.ChatMessageBll.Get(ctx, r.Get("id").String())
  82. if err != nil {
  83. gplus.ResError(r, err)
  84. }
  85. gplus.ResSuccess(r, result)
  86. }
  87. // Create 创建数据
  88. // @Tags API-ChatMessage
  89. // @Summary 创建数据
  90. // @Param body schema.ChatMessage true "提交的数据"
  91. // @Success 200 schema.ChatMessage
  92. // @Failure 400 schema.HTTPError "{error:{code:0,message:无效的请求参数}}"
  93. // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}"
  94. // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}"
  95. // @Router /api/v1/chat_messages/ [post]
  96. func (a *ChatMessage) ChatMessage(r *ghttp.Request) {
  97. var data schema.ChatMessage
  98. if err := gplus.ParseJson(r, &data); err != nil {
  99. gplus.ResError(r, err)
  100. }
  101. ctx := gplus.NewContext(r)
  102. result, err := a.ChatMessageBll.ChatMessage(ctx, r, &data)
  103. if err != nil {
  104. gplus.ResError(r, err)
  105. }
  106. ResSuccess(r, result)
  107. }
  108. func (a *ChatMessage) StreamChatMessage(r *ghttp.Request) {
  109. var data schema.ChatMessage
  110. if err := gplus.ParseJson(r, &data); err != nil {
  111. gplus.ResError(r, err)
  112. }
  113. ctx := gplus.NewContext(r)
  114. a.ChatMessageBll.StreamChatMessage(ctx, r, data)
  115. ResSuccess(r, nil)
  116. }
  117. // Update 更新数据
  118. // @Summary 更新数据
  119. // @Param body schema.ChatMessage true "更新数据"
  120. // @Success 200 schema.ChatMessage
  121. // @Failure 400 schema.HTTPError "{error:{code:0,message:无效的请求参数}}"
  122. // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}"
  123. // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}"
  124. // @Router /api/v1/chat_message/{id}
  125. func (a *ChatMessage) Update(r *ghttp.Request) {
  126. var data schema.ChatMessage
  127. if err := gplus.ParseJson(r, &data); err != nil {
  128. gplus.ResError(r, err)
  129. }
  130. ctx := gplus.NewContext(r)
  131. result, err := a.ChatMessageBll.Update(ctx, r.Get("id").String(), data)
  132. if err != nil {
  133. gplus.ResError(r, err)
  134. }
  135. gplus.ResSuccess(r, result)
  136. }
  137. // Delete 删除数据
  138. // @Summary 删除数据
  139. // @Param id path string true "记录ID"
  140. // @Success 200 schema.HTTPStatus "{status:OK}"
  141. // @Failure 400 schema.HTTPError "{error:{code:0,message:无效的请求参数}}"
  142. // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}"
  143. // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}"
  144. // @Router /api/v1/chat_message/{id}
  145. func (a *ChatMessage) Delete(r *ghttp.Request) {
  146. ctx := gplus.NewContext(r)
  147. err := a.ChatMessageBll.Delete(ctx, r.Get("id").String())
  148. if err != nil {
  149. gplus.ResError(r, err)
  150. }
  151. gplus.ResOK(r)
  152. }