|
@@ -170,16 +170,38 @@ func (c *QuestionController) TitleList() {
|
|
|
//"ArticleCreateTime": "desc",
|
|
|
//"WechatArticleId": "desc",
|
|
|
}
|
|
|
- tmpTotal, list, err := elastic.RagQuestionEsSearch(keyWord, startSize, pageSize, sortMap)
|
|
|
+ tmpTotal, esList, err := elastic.RagQuestionEsSearch(keyWord, startSize, pageSize, sortMap)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
total = int(tmpTotal)
|
|
|
- if list != nil && len(list) > 0 {
|
|
|
- viewList = list[0].ToViewList(list)
|
|
|
+
|
|
|
+ if total > 0 {
|
|
|
+ questionIdList := make([]int, 0)
|
|
|
+ for _, v := range esList {
|
|
|
+ questionIdList = append(questionIdList, v.QuestionId)
|
|
|
+ }
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ condition += fmt.Sprintf(` AND %s in (?)`, rag.QuestionColumns.QuestionId)
|
|
|
+ pars = append(pars, `%`+keyWord+`%`)
|
|
|
+
|
|
|
+ obj := new(rag.Question)
|
|
|
+ tmpTotal, list, err := obj.GetTitlePageListByCondition(condition, pars, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if list != nil && len(list) > 0 {
|
|
|
+ viewList = list[0].ListToViewList(list)
|
|
|
+ }
|
|
|
+ total = tmpTotal
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
@@ -547,7 +569,7 @@ func (c *QuestionController) UnSetDefault() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- item.IsDefault = 1
|
|
|
+ item.IsDefault = 0
|
|
|
item.GenerateStatus = `undo`
|
|
|
item.ModifyTime = time.Now()
|
|
|
err = item.Update([]string{"is_default", "generate_status", "modify_time"})
|
|
@@ -648,6 +670,53 @@ func (c *QuestionController) GenerateAbstract() {
|
|
|
br.Msg = `摘要生成中`
|
|
|
}
|
|
|
|
|
|
+// CheckOpAuth
|
|
|
+// @Title 获取
|
|
|
+// @Description 列表
|
|
|
+// @Success 200 {object} []*rag.QuestionListListResp
|
|
|
+// @router /question/op_auth/check [get]
|
|
|
+func (c *QuestionController) CheckOpAuth() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果是需要对提示词做摘要的生成,那么需要判断是否有正在生成摘要的提示词任务,如果存在的话,那么就不允许生成(暂定,后面可以改成加到任务中去,等上一个批次的任务完成后,继续该任务)
|
|
|
+ auth, err := services.CheckOpQuestionAuth()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "修改失败"
|
|
|
+ br.ErrMsg = "权限校验失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var status, tip string
|
|
|
+ if auth {
|
|
|
+ status = `done`
|
|
|
+ tip = `新摘要生成成功!`
|
|
|
+ } else {
|
|
|
+ status = `processing`
|
|
|
+ tip = `新摘要生成中...`
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := response.QuestionOpAuthResp{
|
|
|
+ Status: status,
|
|
|
+ Tip: tip,
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
//func init() {
|
|
|
// // 提示词加到es
|
|
|
// {
|