|
@@ -391,31 +391,53 @@ func (this *ClassifyController) ListClassify() {
|
|
}()
|
|
}()
|
|
|
|
|
|
keyWord := this.GetString("KeyWord")
|
|
keyWord := this.GetString("KeyWord")
|
|
- companyType := this.GetString("CompanyType")
|
|
|
|
- hideDayWeek, _ := this.GetInt("HideDayWeek")
|
|
|
|
-
|
|
|
|
reqEnabled, _ := this.GetInt("Enabled", -1)
|
|
reqEnabled, _ := this.GetInt("Enabled", -1)
|
|
- // 商家不隐藏晨周报
|
|
|
|
- if utils.BusinessCode != utils.BusinessCodeRelease {
|
|
|
|
- hideDayWeek = 0
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
enabled := -1
|
|
enabled := -1
|
|
if reqEnabled == 1 {
|
|
if reqEnabled == 1 {
|
|
enabled = reqEnabled
|
|
enabled = reqEnabled
|
|
}
|
|
}
|
|
|
|
|
|
- list, err := models.GetClassifyList(keyWord, companyType, hideDayWeek, enabled)
|
|
|
|
|
|
+ list, err := models.GetClassifyListByKeyword(keyWord, enabled)
|
|
if err != nil {
|
|
if err != nil {
|
|
br.Msg = "获取失败"
|
|
br.Msg = "获取失败"
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- parentIds := make([]int, 0)
|
|
|
|
|
|
+ if keyWord != `` {
|
|
|
|
+ idMap := make(map[int]bool)
|
|
|
|
+
|
|
|
|
+ findList := list
|
|
|
|
+ list = make([]*models.ClassifyList, 0)
|
|
|
|
+ currParentClassifyIdList := make([]int, 0)
|
|
|
|
+ for _, v := range list {
|
|
|
|
+ idMap[v.Id] = true
|
|
|
|
+ if v.ParentId > 0 {
|
|
|
|
+ currParentClassifyIdList = append(currParentClassifyIdList, v.ParentId)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ tmpList, tmpErr := services.GetParentClassifyListByParentIdList(currParentClassifyIdList)
|
|
|
|
+ if tmpErr != nil {
|
|
|
|
+ br.Msg = "获取失败"
|
|
|
|
+ br.ErrMsg = "获取上级分类信息失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ for _, v := range tmpList {
|
|
|
|
+ if _, ok := idMap[v.Id]; !ok {
|
|
|
|
+ list = append(list, v)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ list = append(list, findList...)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ classifyIdList := make([]int, 0)
|
|
for i := range list {
|
|
for i := range list {
|
|
- parentIds = append(parentIds, list[i].Id)
|
|
|
|
|
|
+ classifyIdList = append(classifyIdList, list[i].Id)
|
|
}
|
|
}
|
|
- parentIdLen := len(parentIds)
|
|
|
|
|
|
+ parentIdLen := len(classifyIdList)
|
|
if parentIdLen == 0 {
|
|
if parentIdLen == 0 {
|
|
resp := &models.ClassifyListResp{
|
|
resp := &models.ClassifyListResp{
|
|
List: list,
|
|
List: list,
|
|
@@ -432,7 +454,7 @@ func (this *ClassifyController) ListClassify() {
|
|
var menuCond string
|
|
var menuCond string
|
|
var menuPars []interface{}
|
|
var menuPars []interface{}
|
|
menuCond += ` AND classify_id IN (` + utils.GetOrmInReplace(parentIdLen) + `)`
|
|
menuCond += ` AND classify_id IN (` + utils.GetOrmInReplace(parentIdLen) + `)`
|
|
- menuPars = append(menuPars, parentIds)
|
|
|
|
|
|
+ menuPars = append(menuPars, classifyIdList)
|
|
parentMenus, e := models.GetClassifyMenuList(menuCond, menuPars)
|
|
parentMenus, e := models.GetClassifyMenuList(menuCond, menuPars)
|
|
if e != nil {
|
|
if e != nil {
|
|
br.Msg = "获取失败"
|
|
br.Msg = "获取失败"
|
|
@@ -446,26 +468,13 @@ func (this *ClassifyController) ListClassify() {
|
|
menuListMap[parentMenus[i].ClassifyId] = append(menuListMap[parentMenus[i].ClassifyId], parentMenus[i])
|
|
menuListMap[parentMenus[i].ClassifyId] = append(menuListMap[parentMenus[i].ClassifyId], parentMenus[i])
|
|
}
|
|
}
|
|
|
|
|
|
- // 获取子分类
|
|
|
|
- children, e := models.GetClassifyChildByParentIds(parentIds, keyWord, enabled)
|
|
|
|
- if e != nil {
|
|
|
|
- br.Msg = "获取失败"
|
|
|
|
- br.ErrMsg = "获取子分类失败"
|
|
|
|
- return
|
|
|
|
- }
|
|
|
|
- childrenIds := make([]int, 0)
|
|
|
|
- for i := range children {
|
|
|
|
- childrenIds = append(childrenIds, children[i].Id)
|
|
|
|
- }
|
|
|
|
- childrenIdsLen := len(childrenIds)
|
|
|
|
-
|
|
|
|
// 获取二级分类-子目录关联
|
|
// 获取二级分类-子目录关联
|
|
relateMap := make(map[int]int, 0)
|
|
relateMap := make(map[int]int, 0)
|
|
- if childrenIdsLen > 0 {
|
|
|
|
|
|
+ {
|
|
var relateCond string
|
|
var relateCond string
|
|
var relatePars []interface{}
|
|
var relatePars []interface{}
|
|
- relateCond += ` AND classify_id IN (` + utils.GetOrmInReplace(childrenIdsLen) + `)`
|
|
|
|
- relatePars = append(relatePars, childrenIds)
|
|
|
|
|
|
+ relateCond += ` AND classify_id IN (` + utils.GetOrmInReplace(parentIdLen) + `)`
|
|
|
|
+ relatePars = append(relatePars, classifyIdList)
|
|
relates, e := models.GetClassifyMenuRelationList(relateCond, relatePars)
|
|
relates, e := models.GetClassifyMenuRelationList(relateCond, relatePars)
|
|
if e != nil {
|
|
if e != nil {
|
|
br.Msg = "获取失败"
|
|
br.Msg = "获取失败"
|
|
@@ -479,34 +488,23 @@ func (this *ClassifyController) ListClassify() {
|
|
|
|
|
|
// 查询分类绑定的权限
|
|
// 查询分类绑定的权限
|
|
permissionList, _ := models.GetAllPermissionMapping()
|
|
permissionList, _ := models.GetAllPermissionMapping()
|
|
- classifyPermissionMap := make(map[int][]int, 0)
|
|
|
|
|
|
+ classifyPermissionMap := make(map[int][]int)
|
|
if len(permissionList) > 0 {
|
|
if len(permissionList) > 0 {
|
|
for _, v := range permissionList {
|
|
for _, v := range permissionList {
|
|
classifyPermissionMap[v.ClassifyId] = append(classifyPermissionMap[v.ClassifyId], v.ChartPermissionId)
|
|
classifyPermissionMap[v.ClassifyId] = append(classifyPermissionMap[v.ClassifyId], v.ChartPermissionId)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 二级分类
|
|
// 二级分类
|
|
- childrenMap := make(map[int][]*models.ClassifyItem, 0)
|
|
|
|
- for i := range children {
|
|
|
|
|
|
+ for i, v := range list {
|
|
|
|
+ list[i].ClassifyMenuList = menuListMap[v.Id]
|
|
|
|
|
|
- if childrenMap[children[i].ParentId] == nil {
|
|
|
|
- childrenMap[children[i].ParentId] = make([]*models.ClassifyItem, 0)
|
|
|
|
- }
|
|
|
|
- tmp := &models.ClassifyItem{
|
|
|
|
- Classify: *children[i],
|
|
|
|
- ClassifyMenuId: relateMap[children[i].Id],
|
|
|
|
|
|
+ list[i].ClassifyMenuId = relateMap[v.Id]
|
|
|
|
+ if permissionIds, ok := classifyPermissionMap[v.Id]; ok {
|
|
|
|
+ list[i].ChartPermissionIdList = permissionIds
|
|
}
|
|
}
|
|
- if permissionIds, ok := classifyPermissionMap[children[i].Id]; ok {
|
|
|
|
- tmp.ChartPermissionIdList = permissionIds
|
|
|
|
- }
|
|
|
|
- childrenMap[children[i].ParentId] = append(childrenMap[children[i].ParentId], tmp)
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- // 一级分类
|
|
|
|
- for i := range list {
|
|
|
|
- list[i].ClassifyMenuList = menuListMap[list[i].Id]
|
|
|
|
- list[i].Child = childrenMap[list[i].Id]
|
|
|
|
- }
|
|
|
|
|
|
+ list = services.GetClassifyListTreeRecursive(list, 0)
|
|
|
|
|
|
resp := new(models.ClassifyListResp)
|
|
resp := new(models.ClassifyListResp)
|
|
resp.List = list
|
|
resp.List = list
|