|
@@ -1,9 +1,11 @@
|
|
|
package ai
|
|
|
|
|
|
import (
|
|
|
+ "encoding/json"
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/models/ai_summary"
|
|
|
"eta/eta_api/models/system"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
// AiPromptList
|
|
@@ -25,7 +27,6 @@ func (this *AiController) AiPromptList() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|
|
@@ -61,8 +62,8 @@ func (this *AiController) PromptGroupList() {
|
|
|
|
|
|
}
|
|
|
systemAdminMap[v.SysAdminId] = &system.Admin{
|
|
|
- AdminId: v.SysAdminId,
|
|
|
- RealName:v.SysAdminName,
|
|
|
+ AdminId: v.SysAdminId,
|
|
|
+ RealName: v.SysAdminName,
|
|
|
}
|
|
|
publicPromptList = append(publicPromptList, v)
|
|
|
publicPromptListMap[v.SysAdminId] = publicPromptList
|
|
@@ -79,11 +80,11 @@ func (this *AiController) PromptGroupList() {
|
|
|
|
|
|
// 分组信息
|
|
|
tmpRespGroupListItem := &ai_summary.RespGroupListItem{
|
|
|
- GroupId: int64(systemAdmin.AdminId),
|
|
|
- GroupName: systemAdmin.RealName + "的PPT",
|
|
|
- AdminId: systemAdmin.AdminId,
|
|
|
- IsShare: 1,
|
|
|
- PromptList: respGroupPptNameListItemList,
|
|
|
+ GroupId: int64(systemAdmin.AdminId),
|
|
|
+ GroupName: systemAdmin.RealName,
|
|
|
+ AdminId: systemAdmin.AdminId,
|
|
|
+ IsShare: 1,
|
|
|
+ PromptList: respGroupPptNameListItemList,
|
|
|
}
|
|
|
resp = append(resp, tmpRespGroupListItem)
|
|
|
}
|
|
@@ -94,3 +95,178 @@ func (this *AiController) PromptGroupList() {
|
|
|
br.Data = resp
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// AddPpt
|
|
|
+// @Title 新增提示词
|
|
|
+// @Description 新增提示词接口
|
|
|
+// @Param request body ppt_english.AddPptEnglishReq true "type json string"
|
|
|
+// @Success 200 Ret=200 新增成功
|
|
|
+// @router /prompt/add [post]
|
|
|
+func (this *AiController) AddPrompt() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req ai_summary.AiPromptAddReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.Title == "" {
|
|
|
+ br.Msg = "标题不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var msg string
|
|
|
+
|
|
|
+ prompt := &ai_summary.AiPrompt{
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ PromptContent: req.PromptContent,
|
|
|
+ SysAdminId: this.SysUser.AdminId,
|
|
|
+ SysAdminName: this.SysUser.RealName,
|
|
|
+ Title: req.Title,
|
|
|
+ }
|
|
|
+ _, err = ai_summary.AddPropmt(prompt)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "新增失败"
|
|
|
+ br.ErrMsg = "新增失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ msg = "新增成功"
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = msg
|
|
|
+}
|
|
|
+
|
|
|
+// EditPpt
|
|
|
+// @Title 编辑提示词
|
|
|
+// @Description 编辑提示词接口
|
|
|
+// @Param request body ppt_english.AddPptEnglishReq true "type json string"
|
|
|
+// @Success 200 Ret=200 编辑成功
|
|
|
+// @router /prompt/edit [post]
|
|
|
+func (this *AiController) EditPrompt() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req ai_summary.AiPromptEditReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.Title == "" {
|
|
|
+ br.Msg = "标题不能为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ promptItem := &ai_summary.AiPrompt{
|
|
|
+ AiPromptId: req.AiPromptId,
|
|
|
+ PromptContent: req.PromptContent,
|
|
|
+ Title: req.Title,
|
|
|
+ CreateTime: time.Time{},
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ IsShare: req.IsShare,
|
|
|
+ }
|
|
|
+
|
|
|
+ err = promptItem.Update([]string{"ModifyTime", "PromptContent", "Title", "IsShare"})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "编辑失败"
|
|
|
+ br.ErrMsg = "编辑失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "编辑成功"
|
|
|
+ br.IsAddLog = true
|
|
|
+}
|
|
|
+
|
|
|
+// DeletePpt
|
|
|
+// @Title 删除提示词
|
|
|
+// @Description 删除ppt接口
|
|
|
+// @Param request body ppt_english.DeletePptEnglishReq true "type json string"
|
|
|
+// @Success 200 Ret=200 删除成功
|
|
|
+// @router /prompt/delete [post]
|
|
|
+func (this *AiController) DeletePrompt() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req ai_summary.DeleteAipromptReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if req.AiPromptId <= 0 {
|
|
|
+ br.Msg = "参数错误"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ promptInfo, err := ai_summary.GetAiPromptById(req.AiPromptId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "提示词不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if promptInfo.SysAdminId != this.SysUser.AdminId {
|
|
|
+ br.Msg = "无权删除"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = ai_summary.DelAiPromptyId(req.AiPromptId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.IsAddLog = true
|
|
|
+ br.Msg = "删除成功"
|
|
|
+}
|
|
|
+
|
|
|
+// DetailPrompt
|
|
|
+// @Title 获取提示词详情
|
|
|
+// @Description 获取提示词详情接口
|
|
|
+// @Param AiPromptId query int true "提示词id"
|
|
|
+// @Success 200 {object} ppt_english.PptEnglish
|
|
|
+// @router /prompt/detail [get]
|
|
|
+func (this *AiController) DetailPrompt() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ if br.ErrMsg == "" {
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ aiPromptId, _ := this.GetInt("AiPromptId")
|
|
|
+
|
|
|
+ promptInfo, err := ai_summary.GetAiPromptById(aiPromptId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "提示词不存在"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = promptInfo
|
|
|
+}
|