Ver código fonte

Merge branch 'feature/forum4.1_ai_predict_model' into debug

xyxie 3 dias atrás
pai
commit
c4b84e7a88

+ 27 - 7
models/ai_predict_model_classify.go

@@ -2,17 +2,37 @@ package models
 
 import (
 	"eta/eta_forum_admin/utils"
+	"time"
 
 	"github.com/beego/beego/v2/client/orm"
 )
 
+// AiPredictModelClassify 同花顺高频数据-分类
+type AiPredictModelClassify struct {
+	AiPredictModelClassifyId int       `orm:"column(ai_predict_model_classify_id);pk"`
+	UniqueCode               string    `description:"唯一编码"`
+	ClassifyName             string    `description:"分类名称"`
+	ClassifyNameEn           string    `description:"英文分类名称"`
+	ParentId                 int       `description:"父级ID"`
+	Level                    int       `description:"层级"`
+	LevelPath                string    `description:"层级路径"`
+	Sort                     int       `description:"排序"`
+	RootId                   int       `description:"顶级分类ID"`
+	SysUserId                int       `description:"创建人ID"`
+	SysUserRealName          string    `description:"创建人姓名"`
+	CreateTime               time.Time `description:"创建时间"`
+	ModifyTime               time.Time `description:"修改时间"`
+}
+
 // AI预测模型分类项
 type AiPredictModelClassifyItems struct {
-	AiPredictModelClassifyId int    `json:"ai_predict_model_classify_id" orm:"column(ai_predict_model_classify_id)"`
-	ClassifyName             string `json:"classify_name"`             // 分类名称
-	ParentId                 int    `json:"parent_id"`               // 父级ID
-	LevelPath               string `json:"level_path"`              // 层级路径
-	Sort                    int    `json:"sort"`                    // 排序
+	AiPredictModelClassifyId int    `orm:"column(ai_predict_model_classify_id)"`
+	UniqueCode               string    `description:"唯一编码"`
+	ClassifyName             string    `description:"分类名称"`
+	ParentId                 int       `description:"父级ID"`
+	LevelPath                string    `description:"层级路径"`
+	Sort                     int       `description:"排序"`
+	Children                 []*AiPredictModelClassifyItems
 }
 
 // AI预测模型分类列表
@@ -25,8 +45,8 @@ func (s AiPredictModelClassifyItemList) Less(i, j int) bool { return s[i].Sort <
 
 // 商家AI预测模型分类响应
 type BusinessAiPredictModelClassifyResp struct {
-	List      []*AiPredictModelClassifyItems `json:"list"`       // 分类列表
-	CheckList []int                          `json:"check_list"` // 已选中的分类ID列表
+	List      []*AiPredictModelClassifyItems `description:"分类列表"`
+	CheckList []int                          `description:"已选中的分类ID列表"`
 }
 
 // 根据关键字获取AI预测模型分类列表

+ 9 - 16
services/ai_predict_model_classify_service.go

@@ -4,21 +4,14 @@ import (
 	"eta/eta_forum_admin/models"
 )
 
-// 递归获取AI预测模型分类树
-func GetAiPredictModelClassifyTreeRecursive(allList []*models.AiPredictModelClassifyItems, parentId int) []*models.AiPredictModelClassifyItems {
-	result := make([]*models.AiPredictModelClassifyItems, 0)
-	for _, item := range allList {
-		if item.ParentId == parentId {
-			children := GetAiPredictModelClassifyTreeRecursive(allList, item.AiPredictModelClassifyId)
-			if len(children) > 0 {
-				// 如果有子节点,将子节点添加到当前节点
-				result = append(result, item)
-				result = append(result, children...)
-			} else {
-				// 如果没有子节点,直接添加当前节点
-				result = append(result, item)
-			}
+// GetAiPredictModelClassifyTreeRecursive 递归获取分类树形结构
+func GetAiPredictModelClassifyTreeRecursive(list []*models.AiPredictModelClassifyItems, parentId int) []*models.AiPredictModelClassifyItems {
+	res := make([]*models.AiPredictModelClassifyItems, 0)
+	for _, v := range list {
+		if v.ParentId == parentId {
+			v.Children = GetAiPredictModelClassifyTreeRecursive(list, v.AiPredictModelClassifyId)
+			res = append(res, v)
 		}
 	}
-	return result
-} 
+	return res
+}