103 lines
3.1 KiB
Go
103 lines
3.1 KiB
Go
package system
|
|
|
|
import (
|
|
"github.com/flipped-aurora/gin-vue-admin/server/global"
|
|
commonReq "github.com/flipped-aurora/gin-vue-admin/server/model/common/request"
|
|
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
|
|
systemReq "github.com/flipped-aurora/gin-vue-admin/server/model/system/request"
|
|
"github.com/flipped-aurora/gin-vue-admin/server/utils"
|
|
"github.com/gin-gonic/gin"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type AIWorkflowSessionApi struct{}
|
|
|
|
func (a *AIWorkflowSessionApi) Save(c *gin.Context) {
|
|
var info systemReq.SysAIWorkflowSessionUpsert
|
|
if err := c.ShouldBindJSON(&info); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
session, err := aiWorkflowSessionService.Save(c.Request.Context(), utils.GetUserID(c), info)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("保存 AI 工作流会话失败", zap.Error(err))
|
|
response.FailWithMessage("保存会话失败", c)
|
|
return
|
|
}
|
|
|
|
response.OkWithDetailed(gin.H{"session": session}, "保存成功", c)
|
|
}
|
|
|
|
func (a *AIWorkflowSessionApi) GetList(c *gin.Context) {
|
|
var info systemReq.SysAIWorkflowSessionSearch
|
|
if err := c.ShouldBindJSON(&info); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
list, total, err := aiWorkflowSessionService.GetList(c.Request.Context(), utils.GetUserID(c), info)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("获取 AI 工作流会话列表失败", zap.Error(err))
|
|
response.FailWithMessage("获取会话列表失败", c)
|
|
return
|
|
}
|
|
|
|
response.OkWithDetailed(response.PageResult{
|
|
List: list,
|
|
Total: total,
|
|
Page: info.Page,
|
|
PageSize: info.PageSize,
|
|
}, "获取成功", c)
|
|
}
|
|
|
|
func (a *AIWorkflowSessionApi) GetDetail(c *gin.Context) {
|
|
var info commonReq.GetById
|
|
if err := c.ShouldBindJSON(&info); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
session, err := aiWorkflowSessionService.GetDetail(c.Request.Context(), utils.GetUserID(c), info.Uint())
|
|
if err != nil {
|
|
global.GVA_LOG.Error("获取 AI 工作流会话详情失败", zap.Error(err))
|
|
response.FailWithMessage("获取会话详情失败", c)
|
|
return
|
|
}
|
|
|
|
response.OkWithDetailed(gin.H{"session": session}, "获取成功", c)
|
|
}
|
|
|
|
func (a *AIWorkflowSessionApi) Delete(c *gin.Context) {
|
|
var info commonReq.GetById
|
|
if err := c.ShouldBindJSON(&info); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
if err := aiWorkflowSessionService.Delete(c.Request.Context(), utils.GetUserID(c), info.Uint()); err != nil {
|
|
global.GVA_LOG.Error("删除 AI 工作流会话失败", zap.Error(err))
|
|
response.FailWithMessage("删除会话失败", c)
|
|
return
|
|
}
|
|
|
|
response.OkWithMessage("删除成功", c)
|
|
}
|
|
|
|
func (a *AIWorkflowSessionApi) DumpMarkdown(c *gin.Context) {
|
|
var info systemReq.SysAIWorkflowMarkdownDump
|
|
if err := c.ShouldBindJSON(&info); err != nil {
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
result, err := aiWorkflowSessionService.DumpMarkdown(c.Request.Context(), utils.GetUserID(c), info)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("AI 工作流 Markdown 落盘失败", zap.Error(err))
|
|
response.FailWithMessage(err.Error(), c)
|
|
return
|
|
}
|
|
|
|
response.OkWithDetailed(gin.H{"result": result}, "落盘成功", c)
|
|
}
|