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