This commit is contained in:
苏尹岚
2021-02-05 14:03:05 +08:00
parent 485330a942
commit 87d43927bc

View File

@@ -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
}