|
@@ -775,44 +775,43 @@ func (this *MaterialController) List() {
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
|
|
|
- if classifyId <= 0 {
|
|
|
- br.Msg = "请选择分类"
|
|
|
- return
|
|
|
- }
|
|
|
- // 查询当前的分类
|
|
|
- classifyInfo, err := material.GetMaterialClassifyById(classifyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "分类不存在"
|
|
|
- br.ErrMsg = "获取分类信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- // 获取所有子分类
|
|
|
- childList, e := material.GetMaterialClassifyByLevelPath(classifyInfo.LevelPath)
|
|
|
- if e != nil {
|
|
|
- err = fmt.Errorf("保存分类失败,Err:" + e.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- // 把原先的父级levePath,替换成最新的父级序列
|
|
|
- classifyIdMap := make(map[string]struct{})
|
|
|
classifyIds := make([]string, 0)
|
|
|
childClassifyMap := make(map[int]*material.MaterialClassify)
|
|
|
- for _, tmp := range childList {
|
|
|
- childClassifyMap[tmp.ClassifyId] = tmp
|
|
|
- //获取字符串前缀的位置
|
|
|
- after, _ := strings.CutPrefix(tmp.LevelPath, classifyInfo.LevelPath)
|
|
|
- fmt.Println("after", after)
|
|
|
- // 拼接字符串
|
|
|
- if after != "" {
|
|
|
- ids := strings.Split(after, ",")
|
|
|
- for _, v := range ids {
|
|
|
- if _, ok := classifyIdMap[v]; !ok {
|
|
|
- classifyIds = append(classifyIds, v)
|
|
|
- classifyIdMap[v] = struct{}{}
|
|
|
+ if classifyId > 0 {
|
|
|
+ classifyIds = append(classifyIds, strconv.Itoa(classifyId))
|
|
|
+ // 查询当前的分类
|
|
|
+ classifyInfo, err := material.GetMaterialClassifyById(classifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "分类不存在"
|
|
|
+ br.ErrMsg = "获取分类信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取所有子分类
|
|
|
+ childList, e := material.GetMaterialClassifyByLevelPath(classifyInfo.LevelPath)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("保存分类失败,Err:" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 把原先的父级levePath,替换成最新的父级序列
|
|
|
+ classifyIdMap := make(map[string]struct{})
|
|
|
+ for _, tmp := range childList {
|
|
|
+ childClassifyMap[tmp.ClassifyId] = tmp
|
|
|
+ //获取字符串前缀的位置
|
|
|
+ after, _ := strings.CutPrefix(tmp.LevelPath, classifyInfo.LevelPath)
|
|
|
+ fmt.Println("after", after)
|
|
|
+ // 拼接字符串
|
|
|
+ if after != "" {
|
|
|
+ ids := strings.Split(after, ",")
|
|
|
+ for _, v := range ids {
|
|
|
+ if _, ok := classifyIdMap[v]; !ok {
|
|
|
+ classifyIds = append(classifyIds, v)
|
|
|
+ classifyIdMap[v] = struct{}{}
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- classifyIds = append(classifyIds, strconv.Itoa(classifyId))
|
|
|
+
|
|
|
if len(classifyIds) > 0 {
|
|
|
condition += " AND classify_id IN(" + utils.GetOrmInReplace(len(classifyIds)) + ") "
|
|
|
pars = append(pars, classifyIds)
|
|
@@ -843,11 +842,6 @@ func (this *MaterialController) List() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- for i, v := range list {
|
|
|
- if classifyTmp, ok := childClassifyMap[v.ClassifyId]; ok {
|
|
|
- list[i].ParentIds = classifyTmp.LevelPath
|
|
|
- }
|
|
|
- }
|
|
|
resp := new(material.MaterialListResp)
|
|
|
if list == nil || len(list) <= 0 || (err != nil && err.Error() == utils.ErrNoRow()) {
|
|
|
items := make([]*material.MaterialListItems, 0)
|