ai_pormpt.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package ai
  2. import (
  3. "eta/eta_api/models"
  4. "eta/eta_api/models/ai_summary"
  5. "eta/eta_api/models/system"
  6. )
  7. // AiPromptList
  8. // @Title 获取所有ai纪要分类接口-包含沙盘
  9. // @Description 获取所有ai纪要分类接口-包含沙盘
  10. // @Success 200 {object} data_manage.ChartClassifyListResp
  11. // @router /prompt/list [get]
  12. func (this *AiController) AiPromptList() {
  13. br := new(models.BaseResponse).Init()
  14. defer func() {
  15. this.Data["json"] = br
  16. this.ServeJSON()
  17. }()
  18. list, err := ai_summary.GetAiPromptList(this.SysUser.AdminId, 0)
  19. if err != nil {
  20. br.Msg = "获取失败"
  21. br.ErrMsg = "获取数据失败,Err:" + err.Error()
  22. return
  23. }
  24. br.Ret = 200
  25. br.Success = true
  26. br.Msg = "获取成功"
  27. br.Data = list
  28. }
  29. // PromptGroupList
  30. // @Title 获取可见的目录列表
  31. // @Description 获取可见的目录列表接口
  32. // @Success 200 {object} ppt_english.RespGroupList
  33. // @router /prompt/groups [get]
  34. func (this *AiController) PromptGroupList() {
  35. br := new(models.BaseResponse).Init()
  36. defer func() {
  37. this.Data["json"] = br
  38. this.ServeJSON()
  39. }()
  40. list, err := ai_summary.GetAiPromptShareList()
  41. if err != nil {
  42. br.Msg = err.Error()
  43. return
  44. }
  45. resp := make([]*ai_summary.RespGroupListItem, 0)
  46. publicAdminIdList := make([]int, 0)
  47. publicPromptListMap := make(map[int][]*ai_summary.AiPromptItem)
  48. systemAdminMap := make(map[int]*system.Admin)
  49. for _, v := range list {
  50. publicPromptList, ok := publicPromptListMap[v.SysAdminId]
  51. if !ok {
  52. publicPromptList = make([]*ai_summary.AiPromptItem, 0)
  53. publicAdminIdList = append(publicAdminIdList, v.SysAdminId)
  54. }
  55. systemAdminMap[v.SysAdminId] = &system.Admin{
  56. AdminId: v.SysAdminId,
  57. RealName:v.SysAdminName,
  58. }
  59. publicPromptList = append(publicPromptList, v)
  60. publicPromptListMap[v.SysAdminId] = publicPromptList
  61. }
  62. for _, v := range publicAdminIdList {
  63. systemAdmin, ok := systemAdminMap[v]
  64. if !ok {
  65. continue
  66. }
  67. respGroupPptNameListItemList, ok := publicPromptListMap[v]
  68. if !ok {
  69. respGroupPptNameListItemList = make([]*ai_summary.AiPromptItem, 0)
  70. }
  71. // 分组信息
  72. tmpRespGroupListItem := &ai_summary.RespGroupListItem{
  73. GroupId: int64(systemAdmin.AdminId),
  74. GroupName: systemAdmin.RealName + "的PPT",
  75. AdminId: systemAdmin.AdminId,
  76. IsShare: 1,
  77. PromptList: respGroupPptNameListItemList,
  78. }
  79. resp = append(resp, tmpRespGroupListItem)
  80. }
  81. br.Ret = 200
  82. br.Success = true
  83. br.Msg = "查询成功"
  84. br.Data = resp
  85. return
  86. }