diff --git a/business/jxstore/permission/permission.go b/business/jxstore/permission/permission.go index 6cc5f6be5..6f9db2fc7 100644 --- a/business/jxstore/permission/permission.go +++ b/business/jxstore/permission/permission.go @@ -333,58 +333,70 @@ func UpdateRoleMenu(ctx *jxcontext.Context, roleIDs, menuIDs []int) (err error) func GetUserStoresResultMap(userID string) (resultMap map[int]int, err error) { var ( - db = dao.GetDB() - brandIDMap = make(map[int]int) - cityCodeMap = make(map[int]int) - storeIDMap = make(map[int]int) - brandIDs, cityCodes, storeIDs []int - stores []*model.Store + db = dao.GetDB() + // brandIDMap = make(map[int]int) + // cityCodeMap = make(map[int]int) + // storeIDMap = make(map[int]int) ) resultMap = make(map[int]int) userRoles, err := dao.GetUserRole2(db, []string{userID}, nil) for _, v := range userRoles { - if _, ok := brandIDMap[v.BrandID]; !ok { - brandIDMap[v.BrandID] = 1 + var ( + brandIDs, cityCodes, storeIDs []int + ) + // if _, ok := brandIDMap[v.BrandID]; !ok { + // brandIDMap[v.BrandID] = 1 + // } + // if v.CityCodes != "" { + // for _, cityCode := range jxutils.StrListToIntList(strings.Split(v.CityCodes, ",")) { + // if _, ok := cityCodeMap[cityCode]; !ok { + // cityCodeMap[cityCode] = 1 + // } + // } + // } + // if v.StoreIDs != "" { + // for _, storeID := range jxutils.StrListToIntList(strings.Split(v.StoreIDs, ",")) { + // if _, ok := storeIDMap[storeID]; !ok { + // storeIDMap[storeID] = 1 + // } + // } + // } + if v.BrandID != 0 { + brandIDs = append(brandIDs, v.BrandID) } - if v.CityCodes != "" { - for _, cityCode := range jxutils.StrListToIntList(strings.Split(v.CityCodes, ",")) { - if _, ok := cityCodeMap[cityCode]; !ok { - cityCodeMap[cityCode] = 1 - } - } + if v.CityCodes != "0" { + cityCodes = append(cityCodes, jxutils.StrListToIntList(strings.Split(v.CityCodes, ","))...) } if v.StoreIDs != "" { - for _, storeID := range jxutils.StrListToIntList(strings.Split(v.StoreIDs, ",")) { - if _, ok := storeIDMap[storeID]; !ok { - storeIDMap[storeID] = 1 + storeIDs = append(storeIDs, jxutils.StrListToIntList(strings.Split(v.StoreIDs, ","))...) + } + if stores, err := dao.GetStoreList(db, storeIDs, cityCodes, brandIDs, nil, nil, ""); len(stores) > 0 && err == nil { + for _, v := range stores { + if _, ok := resultMap[v.ID]; !ok { + resultMap[v.ID] = v.ID } } } } - for k, _ := range brandIDMap { - brandIDs = append(brandIDs, k) - } - for k, _ := range cityCodeMap { - cityCodes = append(cityCodes, k) - } - for k, _ := range storeIDMap { - storeIDs = append(storeIDs, k) - } - if stores1, err := dao.GetStoreList(db, nil, nil, brandIDs, nil, nil, ""); len(stores1) > 0 && err == nil { - stores = append(stores, stores1...) - } - if stores2, err := dao.GetStoreList(db, nil, cityCodes, nil, nil, nil, ""); len(stores2) > 0 && err == nil { - stores = append(stores, stores2...) - } - if stores3, err := dao.GetStoreList(db, storeIDs, nil, nil, nil, nil, ""); len(stores3) > 0 && err == nil { - stores = append(stores, stores3...) - } + // for k, _ := range brandIDMap { + // brandIDs = append(brandIDs, k) + // } + // for k, _ := range cityCodeMap { + // cityCodes = append(cityCodes, k) + // } + // for k, _ := range storeIDMap { + // storeIDs = append(storeIDs, k) + // } + // if stores1, err := dao.GetStoreList(db, nil, nil, brandIDs, nil, nil, ""); len(stores1) > 0 && err == nil { + // stores = append(stores, stores1...) + // } + // if stores2, err := dao.GetStoreList(db, nil, cityCodes, nil, nil, nil, ""); len(stores2) > 0 && err == nil { + // stores = append(stores, stores2...) + // } + // if stores3, err := dao.GetStoreList(db, storeIDs, nil, nil, nil, nil, ""); len(stores3) > 0 && err == nil { + // stores = append(stores, stores3...) + // } - for _, v := range stores { - if _, ok := resultMap[v.ID]; !ok { - resultMap[v.ID] = v.ID - } - } return resultMap, err }