|
@@ -7,6 +7,7 @@ import (
|
|
"eta/eta_forum_admin/utils"
|
|
"eta/eta_forum_admin/utils"
|
|
"fmt"
|
|
"fmt"
|
|
"strconv"
|
|
"strconv"
|
|
|
|
+ "strings"
|
|
"time"
|
|
"time"
|
|
)
|
|
)
|
|
|
|
|
|
@@ -195,6 +196,7 @@ func AddChartClassify(chartClassifyName string, parentId, source int, lang strin
|
|
}
|
|
}
|
|
// 查询level值
|
|
// 查询level值
|
|
level := 0
|
|
level := 0
|
|
|
|
+ levelPath := ""
|
|
if parentId > 0 {
|
|
if parentId > 0 {
|
|
parentClassify, tErr := models.GetChartClassifyById(parentId)
|
|
parentClassify, tErr := models.GetChartClassifyById(parentId)
|
|
if tErr != nil {
|
|
if tErr != nil {
|
|
@@ -208,6 +210,7 @@ func AddChartClassify(chartClassifyName string, parentId, source int, lang strin
|
|
return
|
|
return
|
|
}
|
|
}
|
|
level = parentClassify.Level
|
|
level = parentClassify.Level
|
|
|
|
+ levelPath = parentClassify.LevelPath
|
|
}
|
|
}
|
|
|
|
|
|
//获取该层级下最大的排序数
|
|
//获取该层级下最大的排序数
|
|
@@ -228,10 +231,26 @@ func AddChartClassify(chartClassifyName string, parentId, source int, lang strin
|
|
classifyInfo.Sort = maxSort + 1
|
|
classifyInfo.Sort = maxSort + 1
|
|
classifyInfo.Source = source
|
|
classifyInfo.Source = source
|
|
|
|
|
|
- _, err = models.AddChartClassify(classifyInfo)
|
|
|
|
- if err != nil {
|
|
|
|
|
|
+ classifyId, e := models.AddChartClassify(classifyInfo)
|
|
|
|
+ if e != nil {
|
|
|
|
+ errMsg = "保存分类失败"
|
|
|
|
+ err = errors.New("保存分类失败,Err:" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if parentId > 0 {
|
|
|
|
+ levelPath = fmt.Sprintf("%s%d,", levelPath, classifyId)
|
|
|
|
+ } else {
|
|
|
|
+ levelPath = fmt.Sprintf("%d,", classifyId)
|
|
|
|
+ }
|
|
|
|
+ classifyInfo.ChartClassifyId = int(classifyId)
|
|
|
|
+ classifyInfo.LevelPath = levelPath
|
|
|
|
+ e = classifyInfo.Update([]string{"LevelPath"})
|
|
|
|
+ if e != nil {
|
|
|
|
+ errMsg = "保存分类失败"
|
|
|
|
+ err = errors.New("保存分类失败,Err:" + e.Error())
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
@@ -614,6 +633,40 @@ func moveChartClassify(parentClassifyInfo, edbClassifyInfo, prevClassify, nextCl
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}*/
|
|
}*/
|
|
|
|
+
|
|
|
|
+ if oldParentId != parentClassifyId {
|
|
|
|
+ oldLevelPath := edbClassifyInfo.LevelPath
|
|
|
|
+ levelPath := fmt.Sprintf("%s%d,", parentClassifyInfo.LevelPath, edbClassifyInfo.ChartClassifyId)
|
|
|
|
+ edbClassifyInfo.LevelPath = levelPath
|
|
|
|
+ err = edbClassifyInfo.Update([]string{"LevelPath"})
|
|
|
|
+ if err != nil {
|
|
|
|
+ err = fmt.Errorf("修改失败,Err:" + err.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //更新子分类的levelpath
|
|
|
|
+ tmpList, e := models.GetChartClassifyByLevelPath(oldLevelPath)
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = fmt.Errorf("保存分类失败,Err:" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ // 把原先的父级levePath,替换成最新的父级序列
|
|
|
|
+ for _, tmp := range tmpList {
|
|
|
|
+ //获取字符串前缀的位置
|
|
|
|
+ after, _ := strings.CutPrefix(tmp.LevelPath, oldLevelPath)
|
|
|
|
+ fmt.Println("after", after)
|
|
|
|
+ // 拼接字符串
|
|
|
|
+ if after != "" {
|
|
|
|
+ tmp.LevelPath = levelPath + after
|
|
|
|
+ tmp.ModifyTime = time.Now()
|
|
|
|
+ e = tmp.Update([]string{"LevelPath", "ModifyTime"})
|
|
|
|
+ if e != nil {
|
|
|
|
+ err = fmt.Errorf("修改子分类,Err:" + e.Error())
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
if chartInfo == nil {
|
|
if chartInfo == nil {
|