|
@@ -0,0 +1,509 @@
|
|
|
+package llm
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "eta/eta_api/cache"
|
|
|
+ "eta/eta_api/controllers"
|
|
|
+ "eta/eta_api/models"
|
|
|
+ "eta/eta_api/models/rag"
|
|
|
+ "eta/eta_api/models/rag/request"
|
|
|
+ "eta/eta_api/models/rag/response"
|
|
|
+ "eta/eta_api/services"
|
|
|
+ "eta/eta_api/services/elastic"
|
|
|
+ "eta/eta_api/utils"
|
|
|
+ "fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
+
|
|
|
+// RagEtaReportAbstractController
|
|
|
+// @Description: ETA报告摘要管理
|
|
|
+type RagEtaReportAbstractController struct {
|
|
|
+ controllers.BaseAuthController
|
|
|
+}
|
|
|
+
|
|
|
+// List
|
|
|
+// @Title ETA报告摘要列表
|
|
|
+// @Description ETA报告摘要列表
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param KeyWord query string true "搜索关键词"
|
|
|
+// @Success 200 {object} []*rag.QuestionListListResp
|
|
|
+// @router /abstract/eta_report/list [get]
|
|
|
+func (c *RagEtaReportAbstractController) List() {
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ pageSize, _ := c.GetInt("PageSize")
|
|
|
+ currentIndex, _ := c.GetInt("CurrentIndex")
|
|
|
+ keyWord := c.GetString("KeyWord")
|
|
|
+ tagIdStr := c.GetString("TagId")
|
|
|
+
|
|
|
+ tagIdList := make([]int, 0)
|
|
|
+ if tagIdStr != `` {
|
|
|
+ tagIdStrList := strings.Split(tagIdStr, `,`)
|
|
|
+ for _, v := range tagIdStrList {
|
|
|
+ if v == `0` {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ tagId, tmpErr := strconv.Atoi(v)
|
|
|
+ if tmpErr != nil {
|
|
|
+ br.Msg = "标签ID有误"
|
|
|
+ br.ErrMsg = fmt.Sprintf("标签ID有误, %s", v)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ tagIdList = append(tagIdList, tagId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
+
|
|
|
+ // 获取列表
|
|
|
+ total, viewList, err := getRagEtaReportAbstractList(keyWord, tagIdList, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp := response.RagEtaReportAbstractListListResp{
|
|
|
+ List: viewList,
|
|
|
+ Paging: page,
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+func getRagEtaReportAbstractList(keyWord string, tagList []int, startSize, pageSize int) (total int, viewList []rag.RagEtaReportAbstractView, err error) {
|
|
|
+ //if keyWord == `` {
|
|
|
+ // var condition string
|
|
|
+ // var pars []interface{}
|
|
|
+ // condition += fmt.Sprintf(` AND c.%s = ?`, rag.WechatPlatformColumns.Enabled)
|
|
|
+ // pars = append(pars, 1)
|
|
|
+ //
|
|
|
+ // if keyWord != "" {
|
|
|
+ // condition += fmt.Sprintf(` AND a.%s like ?`, rag.WechatArticleAbstractColumns.Content)
|
|
|
+ // pars = append(pars, `%`+keyWord+`%`)
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // if tagId > 0 {
|
|
|
+ // condition += fmt.Sprintf(` AND d.%s = ?`, rag.WechatPlatformTagMappingColumns.TagID)
|
|
|
+ // pars = append(pars, tagId)
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // obj := new(rag.WechatArticleAbstract)
|
|
|
+ // tmpTotal, list, tmpErr := obj.GetPageListByTagAndPlatformCondition(condition, pars, startSize, pageSize)
|
|
|
+ // if tmpErr != nil {
|
|
|
+ // err = tmpErr
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // total = tmpTotal
|
|
|
+ // viewList = obj.WechatArticleAbstractItem(list)
|
|
|
+ //} else {
|
|
|
+ // sortMap := map[string]string{
|
|
|
+ // //"ModifyTime": "desc",
|
|
|
+ // //"WechatArticleAbstractId": "desc",
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // obj := new(rag.WechatPlatform)
|
|
|
+ // platformList, tmpErr := obj.GetListByCondition(` AND enabled = 1 `, []interface{}{}, 0, 100000)
|
|
|
+ // if tmpErr != nil {
|
|
|
+ // err = tmpErr
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // platformIdList := make([]int, 0)
|
|
|
+ // for _, v := range platformList {
|
|
|
+ // platformIdList = append(platformIdList, v.WechatPlatformId)
|
|
|
+ // }
|
|
|
+ // tagList := make([]int, 0)
|
|
|
+ // if tagId > 0 {
|
|
|
+ // tagList = append(tagList, tagId)
|
|
|
+ // }
|
|
|
+ // tmpTotal, list, tmpErr := elastic.WechatArticleAbstractEsSearch(keyWord, tagList, platformIdList, startSize, pageSize, sortMap)
|
|
|
+ // if tmpErr != nil {
|
|
|
+ // err = tmpErr
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // total = int(tmpTotal)
|
|
|
+ // if list != nil && len(list) > 0 {
|
|
|
+ // viewList = list[0].ToViewList(list)
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
+ sortMap := map[string]string{
|
|
|
+ //"ModifyTime": "desc",
|
|
|
+ //"WechatArticleAbstractId": "desc",
|
|
|
+ }
|
|
|
+
|
|
|
+ tmpTotal, list, tmpErr := elastic.RagEtaReportAbstractEsSearch(keyWord, tagList, startSize, pageSize, sortMap)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ total = int(tmpTotal)
|
|
|
+ if list != nil && len(list) > 0 {
|
|
|
+ viewList = list[0].ToViewList(list)
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// Del
|
|
|
+// @Title 删除ETA报告摘要摘要
|
|
|
+// @Description 删除ETA报告摘要摘要
|
|
|
+// @Param request body request.BeachOpRagEtaReportAbstractReq true "type json string"
|
|
|
+// @Success 200 Ret=200 删除成功
|
|
|
+// @router /abstract/eta_report/del [post]
|
|
|
+func (c *RagEtaReportAbstractController) Del() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req request.BeachOpRagEtaReportAbstractReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(req.RagEtaReportAbstractIdList) <= 0 && !req.IsSelectAll {
|
|
|
+ br.Msg = "请选择摘要"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ vectorKeyList := make([]string, 0)
|
|
|
+ wechatArticleAbstractIdList := make([]int, 0)
|
|
|
+
|
|
|
+ obj := rag.RagEtaReportAbstract{}
|
|
|
+
|
|
|
+ list, err := obj.GetByIdList(req.RagEtaReportAbstractIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "修改失败"
|
|
|
+ br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
+ br.Msg = "问题不存在"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(list) > 0 {
|
|
|
+ for _, v := range list {
|
|
|
+ // 有加入到向量库,那么就加入到待删除的向量库list中
|
|
|
+ if v.VectorKey != `` {
|
|
|
+ vectorKeyList = append(vectorKeyList, v.VectorKey)
|
|
|
+ }
|
|
|
+ wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //if !req.IsSelectAll {
|
|
|
+ // list, err := obj.GetByIdList(req.RagEtaReportAbstractIdList)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "修改失败"
|
|
|
+ // br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ // if utils.IsErrNoRow(err) {
|
|
|
+ // br.Msg = "问题不存在"
|
|
|
+ // br.IsSendEmail = false
|
|
|
+ // }
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // if len(list) > 0 {
|
|
|
+ // for _, v := range list {
|
|
|
+ // // 有加入到向量库,那么就加入到待删除的向量库list中
|
|
|
+ // if v.VectorKey != `` {
|
|
|
+ // vectorKeyList = append(vectorKeyList, v.VectorKey)
|
|
|
+ // }
|
|
|
+ // wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //} else {
|
|
|
+ // notIdMap := make(map[int]bool)
|
|
|
+ // for _, v := range req.NotRagEtaReportAbstractIdList {
|
|
|
+ // notIdMap[v] = true
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // _, list, err := getRagEtaReportAbstractList(req.KeyWord, req.TagId, 0, 100000)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "修改失败"
|
|
|
+ // br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ // if utils.IsErrNoRow(err) {
|
|
|
+ // br.Msg = "问题不存在"
|
|
|
+ // br.IsSendEmail = false
|
|
|
+ // }
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // if len(list) > 0 {
|
|
|
+ // for _, v := range list {
|
|
|
+ // if notIdMap[v.RagEtaReportAbstractId] {
|
|
|
+ // continue
|
|
|
+ // }
|
|
|
+ // // 有加入到向量库,那么就加入到待删除的向量库list中
|
|
|
+ // if v.VectorKey != `` {
|
|
|
+ // vectorKeyList = append(vectorKeyList, v.VectorKey)
|
|
|
+ // }
|
|
|
+ // wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 删除向量库
|
|
|
+ err = services.DelLlmDoc(vectorKeyList, wechatArticleAbstractIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除向量库失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除摘要
|
|
|
+ err = obj.DelByIdList(wechatArticleAbstractIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除es数据
|
|
|
+ for _, wechatArticleAbstractId := range wechatArticleAbstractIdList {
|
|
|
+ go services.DelEsRagEtaReportAbstract(wechatArticleAbstractId)
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = `删除成功`
|
|
|
+}
|
|
|
+
|
|
|
+// VectorDel
|
|
|
+// @Title 删除ETA报告摘要向量库
|
|
|
+// @Description 删除ETA报告摘要向量库
|
|
|
+// @Param request body request.BeachOpRagEtaReportAbstractReq true "type json string"
|
|
|
+// @Success 200 Ret=200 删除成功
|
|
|
+// @router /abstract/eta_report/vector/del [post]
|
|
|
+func (c *RagEtaReportAbstractController) VectorDel() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req request.BeachOpRagEtaReportAbstractReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(req.RagEtaReportAbstractIdList) <= 0 && !req.IsSelectAll {
|
|
|
+ br.Msg = "请选择摘要"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ vectorKeyList := make([]string, 0)
|
|
|
+ wechatArticleAbstractIdList := make([]int, 0)
|
|
|
+
|
|
|
+ obj := rag.RagEtaReportAbstract{}
|
|
|
+ list, err := obj.GetByIdList(req.RagEtaReportAbstractIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "修改失败"
|
|
|
+ br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
+ br.Msg = "问题不存在"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(list) > 0 {
|
|
|
+ for _, v := range list {
|
|
|
+ // 有加入到向量库,那么就加入到待删除的向量库list中
|
|
|
+ if v.VectorKey != `` {
|
|
|
+ vectorKeyList = append(vectorKeyList, v.VectorKey)
|
|
|
+ }
|
|
|
+ wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //if !req.IsSelectAll {
|
|
|
+ // list, err := obj.GetByIdList(req.RagEtaReportAbstractIdList)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "修改失败"
|
|
|
+ // br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ // if utils.IsErrNoRow(err) {
|
|
|
+ // br.Msg = "问题不存在"
|
|
|
+ // br.IsSendEmail = false
|
|
|
+ // }
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // if len(list) > 0 {
|
|
|
+ // for _, v := range list {
|
|
|
+ // // 有加入到向量库,那么就加入到待删除的向量库list中
|
|
|
+ // if v.VectorKey != `` {
|
|
|
+ // vectorKeyList = append(vectorKeyList, v.VectorKey)
|
|
|
+ // }
|
|
|
+ // wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //} else {
|
|
|
+ // notIdMap := make(map[int]bool)
|
|
|
+ // for _, v := range req.NotRagEtaReportAbstractIdList {
|
|
|
+ // notIdMap[v] = true
|
|
|
+ // }
|
|
|
+ // _, list, err := getRagEtaReportAbstractList(req.KeyWord, req.TagId, 0, 100000)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "修改失败"
|
|
|
+ // br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ // if utils.IsErrNoRow(err) {
|
|
|
+ // br.Msg = "问题不存在"
|
|
|
+ // br.IsSendEmail = false
|
|
|
+ // }
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // if len(list) > 0 {
|
|
|
+ // for _, v := range list {
|
|
|
+ // if notIdMap[v.RagEtaReportAbstractId] {
|
|
|
+ // continue
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // // 有加入到向量库,那么就加入到待删除的向量库list中
|
|
|
+ // if v.VectorKey != `` {
|
|
|
+ // vectorKeyList = append(vectorKeyList, v.VectorKey)
|
|
|
+ // }
|
|
|
+ // wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 删除摘要库
|
|
|
+ err = services.DelLlmDoc(vectorKeyList, wechatArticleAbstractIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "删除失败"
|
|
|
+ br.ErrMsg = "删除失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改ES数据
|
|
|
+ for _, wechatArticleAbstractId := range wechatArticleAbstractIdList {
|
|
|
+ go services.AddOrEditEsRagEtaReportAbstract(wechatArticleAbstractId)
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = `删除成功`
|
|
|
+}
|
|
|
+
|
|
|
+// AddVector
|
|
|
+// @Title 新增ETA报告摘要向量库
|
|
|
+// @Description 新增ETA报告摘要向量库
|
|
|
+// @Param request body request.BeachOpRagEtaReportAbstractReq true "type json string"
|
|
|
+// @Success 200 Ret=200 新增成功
|
|
|
+// @router /abstract/eta_report/vector/add [post]
|
|
|
+func (c *RagEtaReportAbstractController) AddVector() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ var req request.BeachOpRagEtaReportAbstractReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(req.RagEtaReportAbstractIdList) <= 0 && !req.IsSelectAll {
|
|
|
+ br.Msg = "请选择摘要"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ wechatArticleAbstractIdList := make([]int, 0)
|
|
|
+
|
|
|
+ obj := rag.RagEtaReportAbstract{}
|
|
|
+ list, err := obj.GetByIdList(req.RagEtaReportAbstractIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "修改失败"
|
|
|
+ br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ if utils.IsErrNoRow(err) {
|
|
|
+ br.Msg = "问题不存在"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(list) > 0 {
|
|
|
+ for _, v := range list {
|
|
|
+ wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //if !req.IsSelectAll {
|
|
|
+ // list, err := obj.GetByIdList(req.RagEtaReportAbstractIdList)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "修改失败"
|
|
|
+ // br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ // if utils.IsErrNoRow(err) {
|
|
|
+ // br.Msg = "问题不存在"
|
|
|
+ // br.IsSendEmail = false
|
|
|
+ // }
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // if len(list) > 0 {
|
|
|
+ // for _, v := range list {
|
|
|
+ // wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //} else {
|
|
|
+ // notIdMap := make(map[int]bool)
|
|
|
+ // for _, v := range req.NotRagEtaReportAbstractIdList {
|
|
|
+ // notIdMap[v] = true
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // _, list, err := getRagEtaReportAbstractList(req.KeyWord, req.TagId, 0, 100000)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "修改失败"
|
|
|
+ // br.ErrMsg = "修改失败,查找问题失败,Err:" + err.Error()
|
|
|
+ // if utils.IsErrNoRow(err) {
|
|
|
+ // br.Msg = "问题不存在"
|
|
|
+ // br.IsSendEmail = false
|
|
|
+ // }
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // if len(list) > 0 {
|
|
|
+ // for _, v := range list {
|
|
|
+ // if notIdMap[v.RagEtaReportAbstractId] {
|
|
|
+ // continue
|
|
|
+ // }
|
|
|
+ // wechatArticleAbstractIdList = append(wechatArticleAbstractIdList, v.RagEtaReportAbstractId)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
+ for _, wechatArticleAbstractId := range wechatArticleAbstractIdList {
|
|
|
+ cache.AddWechatArticleLlmOpToCache(wechatArticleAbstractId, ``)
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = `添加向量库中,请稍后查看`
|
|
|
+}
|