Browse Source

fix:分类完整路径

Roc 2 months ago
parent
commit
dfd6ad3e0c
2 changed files with 58 additions and 40 deletions
  1. 2 0
      models/data_manage/edb_classify.go
  2. 56 40
      services/eta_bridge/gn.go

+ 2 - 0
models/data_manage/edb_classify.go

@@ -23,6 +23,8 @@ type EdbClassify struct {
 	LastModifyUserRealName string
 	IsJoinPermission       int64
 	ClassifyNameEn         string
+	ClassifyNamePath       string `description:"分类名称的完整路径,格式为:父级分类名称|当前分类名称"`
+	ClassifyIdPath         string `description:"分类的完整路径,格式为:父级ID,当前ID"`
 }
 
 // GetAllEdbClassifyListByCondition

+ 56 - 40
services/eta_bridge/gn.go

@@ -309,26 +309,28 @@ func handleClassify(index IndexInfo) (firstClassifyId, secondClassifyId, thirdCl
 			timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 			classifyInfo := &data_manage.EdbClassify{
 				//ClassifyId:      0,
-				ClassifyType:    0,
-				ClassifyName:    classifyName,
-				ClassifyNameEn:  classifyName,
-				ParentID:        parentId,
-				RootID:          0,
-				HasData:         0,
-				CreateTime:      time.Now(),
-				ModifyTime:      time.Now(),
-				SysUserID:       0,
-				SysUserRealName: "",
-				Level:           level,
-				UniqueCode:      utils.MD5(fmt.Sprint(parentId, "_", utils.DATA_PREFIX+"_"+timestamp)),
-				Sort:            0,
+				ClassifyType:     0,
+				ClassifyName:     classifyName,
+				ClassifyNameEn:   classifyName,
+				ParentID:         parentId,
+				RootID:           0,
+				HasData:          0,
+				CreateTime:       time.Now(),
+				ModifyTime:       time.Now(),
+				SysUserID:        0,
+				SysUserRealName:  "",
+				Level:            level,
+				UniqueCode:       utils.MD5(fmt.Sprint(parentId, "_", utils.DATA_PREFIX+"_"+timestamp)),
+				Sort:             0,
+				ClassifyNamePath: classifyName,
 			}
 			err = data_manage.AddEdbClassify(classifyInfo)
 			if err != nil {
 				return
 			}
 			classifyInfo.RootID = classifyInfo.ClassifyID
-			err = classifyInfo.Update([]string{"root_id"})
+			classifyInfo.ClassifyIdPath = fmt.Sprint(classifyInfo.ClassifyID)
+			err = classifyInfo.Update([]string{"root_id", "classify_id_path"})
 			if err != nil {
 				return
 			}
@@ -376,24 +378,31 @@ func handleClassify(index IndexInfo) (firstClassifyId, secondClassifyId, thirdCl
 			timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 			classifyInfo := &data_manage.EdbClassify{
 				//ClassifyId:      0,
-				ClassifyType:    0,
-				ClassifyName:    classifyName,
-				ClassifyNameEn:  classifyName,
-				ParentID:        parentId,
-				RootID:          firstClassifyId,
-				HasData:         0,
-				CreateTime:      time.Now(),
-				ModifyTime:      time.Now(),
-				SysUserID:       0,
-				SysUserRealName: "",
-				Level:           level,
-				UniqueCode:      utils.MD5(fmt.Sprint(parentId, "_", utils.DATA_PREFIX+"_"+timestamp)),
-				Sort:            0,
+				ClassifyType:     0,
+				ClassifyName:     classifyName,
+				ClassifyNameEn:   classifyName,
+				ParentID:         parentId,
+				RootID:           firstClassifyId,
+				HasData:          0,
+				CreateTime:       time.Now(),
+				ModifyTime:       time.Now(),
+				SysUserID:        0,
+				SysUserRealName:  "",
+				Level:            level,
+				UniqueCode:       utils.MD5(fmt.Sprint(parentId, "_", utils.DATA_PREFIX+"_"+timestamp)),
+				Sort:             0,
+				ClassifyNamePath: fmt.Sprint(firstClassifyName, "|", classifyName),
 			}
 			err = data_manage.AddEdbClassify(classifyInfo)
 			if err != nil {
 				return
 			}
+			classifyInfo.ClassifyIdPath = fmt.Sprint(firstClassifyId, ",", classifyInfo.ClassifyID)
+			err = classifyInfo.Update([]string{"classify_id_path"})
+			if err != nil {
+				return
+			}
+
 			currClassify = CurrClassify{
 				ClassifyId:   classifyInfo.ClassifyID,
 				ParentId:     classifyInfo.ParentID,
@@ -437,24 +446,31 @@ func handleClassify(index IndexInfo) (firstClassifyId, secondClassifyId, thirdCl
 			timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 			classifyInfo := &data_manage.EdbClassify{
 				//ClassifyId:      0,
-				ClassifyType:    0,
-				ClassifyName:    classifyName,
-				ClassifyNameEn:  classifyName,
-				ParentID:        parentId,
-				RootID:          firstClassifyId,
-				HasData:         1,
-				CreateTime:      time.Now(),
-				ModifyTime:      time.Now(),
-				SysUserID:       0,
-				SysUserRealName: "",
-				Level:           level,
-				UniqueCode:      utils.MD5(fmt.Sprint(parentId, "_", utils.DATA_PREFIX+"_"+timestamp)),
-				Sort:            0,
+				ClassifyType:     0,
+				ClassifyName:     classifyName,
+				ClassifyNameEn:   classifyName,
+				ParentID:         parentId,
+				RootID:           firstClassifyId,
+				HasData:          1,
+				CreateTime:       time.Now(),
+				ModifyTime:       time.Now(),
+				SysUserID:        0,
+				SysUserRealName:  "",
+				Level:            level,
+				UniqueCode:       utils.MD5(fmt.Sprint(parentId, "_", utils.DATA_PREFIX+"_"+timestamp)),
+				Sort:             0,
+				ClassifyNamePath: fmt.Sprint(firstClassifyName, "|", secondClassifyName, "|", classifyName),
 			}
 			err = data_manage.AddEdbClassify(classifyInfo)
 			if err != nil {
 				return
 			}
+			classifyInfo.ClassifyIdPath = fmt.Sprint(firstClassifyId, ",", secondClassifyId, ",", classifyInfo.ClassifyID)
+			err = classifyInfo.Update([]string{"classify_id_path"})
+			if err != nil {
+				return
+			}
+
 			currClassify = CurrClassify{
 				ClassifyId:   classifyInfo.ClassifyID,
 				ParentId:     classifyInfo.ParentID,