Browse Source

Merge branch 'ETA_1.8.8' into debug

zwxi 8 months ago
parent
commit
522b301c37

+ 184 - 8
controllers/ai/ai_pormpt.go

@@ -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
+}

+ 89 - 13
controllers/ai/ai_summary.go

@@ -4,11 +4,11 @@ import (
 	"encoding/json"
 	"eta/eta_api/models"
 	"eta/eta_api/models/ai_summary"
-	"eta/eta_api/models/aimod"
 	"eta/eta_api/models/sandbox"
 	aiSummaryService "eta/eta_api/services/ai_summary"
 	"eta/eta_api/utils"
 	"fmt"
+	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
 
@@ -783,18 +783,21 @@ func (this *AiController) AiSummaryClassifyMove() {
 	br.Msg = "移动成功"
 }
 
-
-// @Title 获取话题列表
-// @Description 获取话题列表接口
-// @Success 200 {object} aimod.AiChatTopicListResp
+// @Title Ai纪要列表接口
+// @Description Ai纪要列表接口
+// @Param   PageSize   query   int  true       "每页数据条数"
+// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Param   AiSummaryClassifyId   query   int  true       "分类id"
+// @Param   KeyWord   query   string  true       "搜索关键词"
+// @Param   IsShowMe   query   bool  true       "是否只看我的,true、false"
+// @Success 200 {object} data_manage.ChartListResp
 // @router /summary/list [get]
-func (this *AiController) SummaryList() {
+func (this *AiController) AiSummaryList() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-
 	sysUser := this.SysUser
 	if sysUser == nil {
 		br.Msg = "请登录"
@@ -802,16 +805,89 @@ func (this *AiController) SummaryList() {
 		br.Ret = 408
 		return
 	}
-	list, err := aimod.GetAiChatTopicList(sysUser.AdminId)
-	if err != nil {
-		br.Msg = "获取数据失败!"
-		br.ErrMsg = "获取主题记录信息失败,Err:" + err.Error()
+
+	aiSummaryClassifyId, _ := this.GetInt("AiSummaryClassifyId")
+
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+	keyWord := this.GetString("KeyWord")
+
+	var total int
+	page := paging.GetPaging(currentIndex, pageSize, total)
+
+	var startSize int
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = paging.StartIndex(currentIndex, pageSize)
+
+	var condition string
+	var pars []interface{}
+
+	if aiSummaryClassifyId > 0 {
+		sandboxClassifyIds, err := ai_summary.GetAiSummaryClassify(aiSummaryClassifyId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取图表信息失败"
+			br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
+			return
+		}
+		condition += " AND ai_summary_classify_id IN(" + sandboxClassifyIds + ") "
+		//pars = append(pars, chartClassifyId)
+	}
+	if keyWord != "" {
+		condition += ` AND  ( classify_name LIKE '%` + keyWord + `%' )`
+	}
+
+	//只看我的
+	isShowMe, _ := this.GetBool("IsShowMe")
+	if isShowMe {
+		condition += ` AND sys_user_id = ? `
+		pars = append(pars, sysUser.AdminId)
+	}
+
+	//获取图表信息
+	list, err := ai_summary.GetAiSummaryListByCondition(condition, pars, startSize, pageSize)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Success = true
+		br.Msg = "获取沙盘信息失败"
+		br.ErrMsg = "获取沙盘信息失败,Err:" + err.Error()
+		return
+	}
+
+	for i, v := range list {
+		ids, err := ai_summary.GetAiSummaryAllParentByClassifyId(v.ClassifyId)
+		if err != nil {
+			br.Msg = "获取父级信息错误!"
+			br.ErrMsg = "获取父级信息错误,Err:" + err.Error()
+			return
+		}
+		list[i].ParentIds = ids
+	}
+	resp := new(ai_summary.AiSummaryListResp)
+	if list == nil || len(list) <= 0 || (err != nil && err.Error() == utils.ErrNoRow()) {
+		items := make([]*ai_summary.AiSummaryItems, 0)
+		resp.Paging = page
+		resp.List = items
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
 		return
 	}
-	resp := new(aimod.AiChatTopicListResp)
+
+	dataCount, err := sandbox.GetSandboxListCountByCondition(condition, pars)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取指标信息失败"
+		br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
+		return
+	}
+	page = paging.GetPaging(currentIndex, pageSize, dataCount)
+	resp.Paging = page
 	resp.List = list
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"
 	br.Data = resp
-}
+}

+ 50 - 6
models/ai_summary/ai_pormpt.go

@@ -49,9 +49,53 @@ func GetAiPromptShareList() (items []*AiPromptItem, err error) {
 }
 
 type RespGroupListItem struct {
-	GroupId   int64  `description:"目录id"`
-	GroupName string `description:"目录名称"`
-	AdminId   int    `description:"目录创建者账号ID"`
-	IsShare   int8   `description:"是否共享,0私有,1共享"`
-	PromptList   []*AiPromptItem
-}
+	GroupId    int64  `description:"目录id"`
+	GroupName  string `description:"目录名称"`
+	AdminId    int    `description:"目录创建者账号ID"`
+	IsShare    int8   `description:"是否共享,0私有,1共享"`
+	PromptList []*AiPromptItem
+}
+
+type AiPromptAddReq struct {
+	PromptContent string // 原始内容
+	Title         string // 文档标题
+}
+
+func AddPropmt(item *AiPrompt) (lastId int64, err error) {
+	o := orm.NewOrm()
+	lastId, err = o.Insert(item)
+	return
+}
+
+type AiPromptEditReq struct {
+	PromptContent string // 原始内容
+	Title         string // 文档标题
+	AiPromptId    int    // ai纪要提示词id
+	IsShare       int    // 是否分享,0:不分享,1:分享
+}
+
+// Update
+func (aiPrompt *AiPrompt) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(aiPrompt, cols...)
+	return
+}
+
+// DelAiSummaryById 根据纪要id删除纪要
+func DelAiPromptyId(aiPromptId int) (err error) {
+	o := orm.NewOrm()
+	sql := `delete from ai_prompt where ai_prompt_id = ? `
+	_, err = o.Raw(sql, aiPromptId).Exec()
+	return
+}
+
+func GetAiPromptById(pptId int) (item *AiPrompt, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM ai_prompt WHERE 1=1 AND ai_prompt_id=? `
+	err = o.Raw(sql, pptId).QueryRow(&item)
+	return
+}
+
+type DeleteAipromptReq struct {
+	AiPromptId int // ai纪要提示词id
+}

+ 50 - 14
models/ai_summary/ai_summary.go

@@ -7,20 +7,35 @@ import (
 )
 
 type AiSummary struct {
-	AiSummaryId     int `orm:"column(ai_summary_id);pk"` // ai纪要id
-	SaDocId         int            // 文档ID
-	OriginContent   string         // 原始内容
-	ClassifyId      int            // 分类id
-	SysUserId      int            // 创建人ID
-	SysUserRealName    string         // 创建人姓名
-	Title           string         // 文档标题
-	CreateTime      time.Time         // 创建时间
-	ModifyTime      time.Time         // 更新时间
-	OpenaiFileName  string         // 文件名称
-	OpenaiFilePath  string         // 文件路径
-	Sort int        // 排序字段,越小越靠前,默认值:10
+	AiSummaryId     int       `orm:"column(ai_summary_id);pk"` // ai纪要id
+	SaDocId         int       // 文档ID
+	OriginContent   string    // 原始内容
+	ClassifyId      int       // 分类id
+	SysUserId       int       // 创建人ID
+	SysUserRealName string    // 创建人姓名
+	Title           string    // 文档标题
+	CreateTime      time.Time // 创建时间
+	ModifyTime      time.Time // 更新时间
+	OpenaiFileName  string    // 文件名称
+	OpenaiFilePath  string    // 文件路径
+	Sort            int       // 排序字段,越小越靠前,默认值:10
 }
 
+type AiSummaryItems struct {
+	AiSummaryId     int    `orm:"column(ai_summary_id);pk"` // ai纪要id
+	SaDocId         int    // 文档ID
+	OriginContent   string // 原始内容
+	ClassifyId      int    // 分类id
+	SysUserId       int    // 创建人ID
+	SysUserRealName string // 创建人姓名
+	Title           string // 文档标题
+	CreateTime      string // 创建时间
+	ModifyTime      string // 更新时间
+	OpenaiFileName  string // 文件名称
+	OpenaiFilePath  string // 文件路径
+	Sort            int    // 排序字段,越小越靠前,默认值:10
+	ParentIds string
+}
 
 func GetAiChatTopicList(sysUserId int) (item []*AiSummary, err error) {
 	sql := ` SELECT * FROM ai_summary WHERE classify_id=? ORDER BY create_time DESC `
@@ -41,7 +56,7 @@ func GetAiSummaryById(aiSummaryId int) (sandboxInfo *AiSummary, err error) {
 func DelAiSummaryById(aiSummaryId int) (err error) {
 	o := orm.NewOrm()
 	sql := `delete from ai_summary where ai_summary_id = ? `
-	_,err = o.Raw(sql, aiSummaryId).Exec()
+	_, err = o.Raw(sql, aiSummaryId).Exec()
 	return
 }
 
@@ -63,7 +78,6 @@ func GetFirstAiSummaryByClassifyId(classifyId int) (item *AiSummary, err error)
 	return
 }
 
-
 // Update
 func (aiSummary *AiSummary) Update(cols []string) (err error) {
 	o := orm.NewOrm()
@@ -81,3 +95,25 @@ func UpdateAiSummarySortByClassifyId(classifyId, nowSort, prevAiSummaryId int, u
 	_, err = o.Raw(sql, classifyId, nowSort).Exec()
 	return
 }
+
+func GetAiSummaryListByCondition(condition string, pars []interface{}, startSize, pageSize int) (item []*AiSummaryItems, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM ai_summary WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += " ORDER BY create_time DESC LIMIT ?,? "
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&item)
+	return
+}
+
+
+func GetAiSummaryListCountByCondition(condition string, pars []interface{}) (count int, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT COUNT(1) AS count FROM ai_summary WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	err = o.Raw(sql, pars).QueryRow(&count)
+	return
+}

+ 65 - 1
models/ai_summary/ai_summary_classify.go

@@ -3,6 +3,7 @@ package ai_summary
 import (
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
 )
 
@@ -185,7 +186,7 @@ func DeleteAiSummaryClassify(classifyId int) (err error) {
 type MoveAiSummaryClassifyReq struct {
 	AiSummaryClassifyId int `description:"分类id"`
 	AiSummaryId         int `description:"纪要ID"`
-	ParentClassifyId    int `description:"父级分类id 移动沙盘时为目标分类id"`
+	ParentClassifyId    int `description:"父级分类id 移动纪要时为目标分类id"`
 	PrevId              int `description:"上一个兄弟节点分类id"`
 	NextId              int `description:"下一个兄弟节点分类id"`
 	PrevType            int `description:"上一个兄弟节点类型 1分类 2纪要 "`
@@ -247,3 +248,66 @@ WHERE sc.parent_id = @pv
 	err = o.Raw(sql, classifyId, classifyId).QueryRow(&Ids)
 	return
 }
+
+func GetAiSummaryClassify(aiSummaryClassify int) (aiSummaryClassifyIds string, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT GROUP_CONCAT(t.ai_summary_classify_id) AS ai_summary_classify_id FROM (
+			SELECT a.ai_summary_classify_id FROM ai_summary_classify AS a 
+			WHERE a.ai_summary_classify_id=?
+			UNION ALL
+			SELECT a.ai_summary_classify_id FROM ai_summary_classify AS a 
+			WHERE a.parent_id=? UNION ALL
+	SELECT
+		ai_summary_classify_id 
+	FROM
+		ai_summary_classify 
+WHERE
+	parent_id IN ( SELECT ai_summary_classify_id FROM ai_summary_classify WHERE parent_id = ? )
+			)AS t`
+	err = o.Raw(sql, aiSummaryClassify, aiSummaryClassify, aiSummaryClassify).QueryRow(&aiSummaryClassifyIds)
+	return
+}
+
+
+func GetAiSummaryAllParentByClassifyId(aiSummaryClassifyId int) (ids string, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT
+	GROUP_CONCAT(DISTINCT m.ai_summary_classify_id  ORDER BY m.level) AS ids 
+FROM
+	(
+	SELECT
+		@id AS _id,(
+		SELECT
+			@id := parent_id 
+		FROM
+			ai_summary_classify 
+		WHERE
+			ai_summary_classify_id = _id 
+		) 
+	FROM
+		(
+		SELECT
+			@id :=(
+			SELECT
+				parent_id 
+			FROM
+				ai_summary_classify 
+			WHERE
+				ai_summary_classify_id = ? 
+			)) vm,
+		ai_summary_classify m 
+	WHERE
+		@id IS NOT NULL 
+	) vm
+	INNER JOIN ai_summary_classify m 
+WHERE
+	ai_summary_classify_id = vm._id `
+	err = o.Raw(sql, aiSummaryClassifyId).QueryRow(&ids)
+	return
+}
+
+
+type AiSummaryListResp struct {
+	Paging *paging.PagingItem
+	List   []*AiSummaryItems
+}

+ 1 - 0
models/db.go

@@ -539,6 +539,7 @@ func initAi() {
 		new(aimod.FileUploadRecord),
 		new(ai_summary.AiSummaryClassify),
 		new(ai_summary.AiSummary),
+		new(ai_summary.AiPrompt),
 	)
 }
 

+ 37 - 1
routers/commentsRouter.go

@@ -16,6 +16,42 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"],
+        beego.ControllerComments{
+            Method: "AddPrompt",
+            Router: `/prompt/add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"],
+        beego.ControllerComments{
+            Method: "DeletePrompt",
+            Router: `/prompt/delete`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"],
+        beego.ControllerComments{
+            Method: "DetailPrompt",
+            Router: `/prompt/detail`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"],
+        beego.ControllerComments{
+            Method: "EditPrompt",
+            Router: `/prompt/edit`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"],
         beego.ControllerComments{
             Method: "PromptGroupList",
@@ -90,7 +126,7 @@ func init() {
 
     beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/ai:AiController"],
         beego.ControllerComments{
-            Method: "SummaryList",
+            Method: "AiSummaryList",
             Router: `/summary/list`,
             AllowHTTPMethods: []string{"get"},
             MethodParams: param.Make(),