|
@@ -33,7 +33,6 @@ func Distributor(region []string, entId, entUserId int) []*User {
|
|
|
//判断企业是否为商机管理企业
|
|
|
isEnt := GetIsEnt(entId)
|
|
|
regions := []string{}
|
|
|
-
|
|
|
for _, v := range region {
|
|
|
//剔除空与全国
|
|
|
if v == "" || strings.Contains(v, "全国") {
|
|
@@ -51,6 +50,7 @@ func Distributor(region []string, entId, entUserId int) []*User {
|
|
|
o_area, _ := (*data)["o_area"].(map[string]interface{})
|
|
|
if regionCheck(o_area, regions) {
|
|
|
ss = append(ss, v)
|
|
|
+ continue
|
|
|
}
|
|
|
}
|
|
|
} else { // 企业未分配规则 查询个人
|
|
@@ -63,34 +63,34 @@ func Distributor(region []string, entId, entUserId int) []*User {
|
|
|
o_area, _ := o_entniche["o_area"].(map[string]interface{})
|
|
|
if regionCheck(o_area, regions) {
|
|
|
ss = append(ss, v)
|
|
|
+ continue
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- //非商机管理企业 是否分配大会员或超级订阅
|
|
|
- //user表 判断区域是否符合
|
|
|
- if status := powerUser[common.InterfaceToStr(v.Id)]; status != 0 {
|
|
|
- //查询user表区域
|
|
|
- data, ok := IC.Mgo.FindOne("user", map[string]interface{}{
|
|
|
- "$or": []map[string]interface{}{{"s_phone": v.Phone}, {"s_m_phone": v.Phone}},
|
|
|
- })
|
|
|
- if ok && data != nil && len(*data) > 0 {
|
|
|
- o_area := make(map[string]interface{})
|
|
|
- i_member_status, _ := (*data)["i_member_status"].(int)
|
|
|
- i_vip_status, _ := (*data)["i_vip_status"].(int)
|
|
|
- o_member_jy, _ := (*data)["o_member_jy"].(map[string]interface{})
|
|
|
- o_vipjy, _ := (*data)["o_vipjy"].(map[string]interface{})
|
|
|
- if status == 1 && i_vip_status > 0 {
|
|
|
- o_area, _ = o_vipjy["o_area"].(map[string]interface{})
|
|
|
- } else if status == 2 && i_member_status > 0 {
|
|
|
- o_area, _ = o_member_jy["o_area"].(map[string]interface{})
|
|
|
- } else {
|
|
|
- continue
|
|
|
- }
|
|
|
+ }
|
|
|
+ //非商机管理企业或商机管理区域不满足 判断是否分配大会员或超级订阅
|
|
|
+ //user表 判断区域是否符合
|
|
|
+ if status := powerUser[common.InterfaceToStr(v.Id)]; status != 0 && v.Phone != "" {
|
|
|
+ //查询user表订阅区域
|
|
|
+ data, ok := IC.Mgo.FindOne("user", map[string]interface{}{
|
|
|
+ "$or": []map[string]interface{}{{"s_phone": v.Phone}, {"s_m_phone": v.Phone}},
|
|
|
+ })
|
|
|
+ if ok && data != nil && len(*data) > 0 {
|
|
|
+ o_area := make(map[string]interface{})
|
|
|
+ i_member_status, _ := (*data)["i_member_status"].(int)
|
|
|
+ i_vip_status, _ := (*data)["i_vip_status"].(int)
|
|
|
+ o_member_jy, _ := (*data)["o_member_jy"].(map[string]interface{})
|
|
|
+ o_vipjy, _ := (*data)["o_vipjy"].(map[string]interface{})
|
|
|
+ if status == 1 && i_vip_status > 0 {
|
|
|
+ o_area, _ = o_vipjy["o_area"].(map[string]interface{})
|
|
|
+ } else if status == 2 && i_member_status > 0 {
|
|
|
+ o_area, _ = o_member_jy["o_area"].(map[string]interface{})
|
|
|
+ } else {
|
|
|
+ continue
|
|
|
+ }
|
|
|
|
|
|
- if regionCheck(o_area, regions) {
|
|
|
- ss = append(ss, v)
|
|
|
- }
|
|
|
+ if regionCheck(o_area, regions) {
|
|
|
+ ss = append(ss, v)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -106,7 +106,7 @@ func Distributor(region []string, entId, entUserId int) []*User {
|
|
|
}
|
|
|
|
|
|
func regionCheck(o_area map[string]interface{}, regions []string) bool {
|
|
|
- if o_area == nil {
|
|
|
+ if o_area == nil || len(o_area) == 0 {
|
|
|
return true
|
|
|
} else {
|
|
|
regionBool := true
|
|
@@ -115,6 +115,7 @@ func regionCheck(o_area map[string]interface{}, regions []string) bool {
|
|
|
continue
|
|
|
} else {
|
|
|
regionBool = false
|
|
|
+ break
|
|
|
}
|
|
|
}
|
|
|
return regionBool
|