فهرست منبع

Merge branch 'bzq1/pool/257' of eta_server/eta_api into debug

鲍自强 7 ماه پیش
والد
کامیت
8d57dd9f33
3فایلهای تغییر یافته به همراه72 افزوده شده و 8 حذف شده
  1. 12 6
      controllers/ai/ai_summary.go
  2. 8 2
      models/ai_summary/ai_summary_classify.go
  3. 52 0
      services/ai_summary/ai_summary.go

+ 12 - 6
controllers/ai/ai_summary.go

@@ -11,9 +11,10 @@ import (
 	"eta/eta_api/services/aiser"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"strconv"
 	"time"
+
+	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
 // AiSummaryClassifyItems
@@ -40,6 +41,13 @@ func (this *AiController) AiSummaryClassifyItems() {
 			br.ErrMsg = err.Error()
 			return
 		}
+		nodeAll, err := aiSummaryService.GetAiSummaryClassifyByIsShowMe(resp.AllNodes, aiSummaryClassifyId, this.SysUser.AdminId)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取数据失败,Err:" + err.Error()
+			return
+		}
+		resp.AllNodes = nodeAll
 
 		br.Ret = 200
 		br.Success = true
@@ -936,7 +944,7 @@ func (this *AiController) AiSummaryDetail() {
 		AiSummaryItems: detail,
 	}
 
-	if detail.SaDocId >0 {
+	if detail.SaDocId > 0 {
 		item := new(saModel.SaDoc)
 		e := item.GetItemById(detail.SaDocId)
 		if e != nil {
@@ -952,7 +960,6 @@ func (this *AiController) AiSummaryDetail() {
 		resp.SaDocClassifyId = item.ClassifyId
 	}
 
-
 	br.Data = resp
 	br.Ret = 200
 	br.Success = true
@@ -1017,7 +1024,7 @@ func (this *AiController) AddAiSummary() {
 		br.ErrMsg = "保存分类失败,Err:" + err.Error()
 		return
 	}
-	classify ,err := ai_summary.GetAiSummaryClassifyById(req.ClassifyId)
+	classify, err := ai_summary.GetAiSummaryClassifyById(req.ClassifyId)
 	if err != nil {
 		br.Msg = "获取分类信息失败"
 		br.ErrMsg = "获取分类信息失败,Err:" + err.Error()
@@ -1562,7 +1569,6 @@ func (this *AiController) GenerateAiSummary() {
 //	return
 //}
 
-
 // AiSummaryClassifyList
 // @Title 获取所有纪要分类接口-不包含沙盘
 // @Description 获取所有纪要分类接口-不包含沙盘
@@ -1604,4 +1610,4 @@ func (this *AiController) AiSummaryClassifyList() {
 	br.Success = true
 	br.Msg = "获取成功"
 	br.Data = resp
-}
+}

+ 8 - 2
models/ai_summary/ai_summary_classify.go

@@ -2,9 +2,10 @@ package ai_summary
 
 import (
 	"fmt"
+	"time"
+
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
-	"time"
 )
 
 type AiSummaryClassify struct {
@@ -328,4 +329,9 @@ func GetAiSummaryClassifyAll() (items []*AiSummaryClassifyItems, err error) {
 	return
 }
 
-
+func GetAiSummaryClassifyAllIncludeParent() (items []*AiSummaryClassifyItems, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM ai_summary_classify order by sort asc,ai_summary_classify_id asc`
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

+ 52 - 0
services/ai_summary/ai_summary.go

@@ -182,3 +182,55 @@ func SharePrompt(promptId int, adminId int) (err error) {
 	}
 	return
 }
+func GetAiSummaryClassifyByIsShowMe(classifyList []*ai_summary.AiSummaryClassifyItems, classifyId, adminId int) (list []*ai_summary.AiSummaryClassifyItems, err error) {
+	aiSummaryList, err := ai_summary.GetAiSummaryInfoByAdminId(adminId)
+	if err != nil {
+		return
+	}
+	existClassify := make(map[int]struct{})
+	for _, v := range aiSummaryList {
+		existClassify[v.AiSummaryClassifyId] = struct{}{}
+	}
+	for _, v := range classifyList {
+		if v.AiSummaryId > 0 {
+			list = append(list, v)
+		}
+	}
+
+	classifyAll, err := ai_summary.GetAiSummaryClassifyAllIncludeParent()
+	if err != nil {
+		return
+	}
+	classifyTree := aiSummaryClassifyTree(classifyAll, classifyId)
+	list = append(list, GetClassifyListRemoveNoAiSummary(classifyTree, existClassify)...)
+	return
+
+}
+
+func aiSummaryClassifyTree(classifyList []*ai_summary.AiSummaryClassifyItems, classifyId int) (list []*ai_summary.AiSummaryClassifyItems) {
+	for _, v := range classifyList {
+		if v.ParentId == classifyId {
+			list = append(list, v)
+			v.Children = aiSummaryClassifyTree(classifyList, v.AiSummaryClassifyId)
+		}
+	}
+	return
+}
+
+// GetClassifyListRemoveNoAiSummary 去除没有表格的分类
+func GetClassifyListRemoveNoAiSummary(classifyList []*ai_summary.AiSummaryClassifyItems, aiSummaryExistClassifyId map[int]struct{}) []*ai_summary.AiSummaryClassifyItems {
+	res := make([]*ai_summary.AiSummaryClassifyItems, 0)
+	for _, classify := range classifyList {
+		if _, ok := aiSummaryExistClassifyId[classify.AiSummaryClassifyId]; ok {
+			classify.Children = []*ai_summary.AiSummaryClassifyItems{}
+			res = append(res, classify)
+			continue
+		}
+		classify.Children = append([]*ai_summary.AiSummaryClassifyItems{}, GetClassifyListRemoveNoAiSummary(classify.Children, aiSummaryExistClassifyId)...)
+		if len(classify.Children) > 0 {
+			classify.Children = []*ai_summary.AiSummaryClassifyItems{}
+			res = append(res, classify)
+		}
+	}
+	return res
+}