|
@@ -2081,27 +2081,101 @@ func OtherKcTransfer(uid, kcName, companyName, productName string, kcPositionId,
|
|
|
}, "", "createtime DESC ")
|
|
|
if userData == nil || len(*userData) == 0 {
|
|
|
log.Println(fmt.Sprintf("查询不到 %s 用户信息", uid))
|
|
|
- return
|
|
|
- }
|
|
|
- mongoId := gconv.String((*userData)["userid"])
|
|
|
- //子账号
|
|
|
- query := map[string]interface{}{"s_member_mainid": mongoId}
|
|
|
- childAccount, _ := Mgo.Find("user", query, "", `"_id":1`, false, -1, -1)
|
|
|
- if childAccount == nil || len(*childAccount) == 0 {
|
|
|
- log.Println(fmt.Sprintf("子账号查询不到 %s , %s 用户信息", uid, mongoId))
|
|
|
+ } else {
|
|
|
+ mongoId := gconv.String((*userData)["userid"])
|
|
|
+ //子账号
|
|
|
+ query := map[string]interface{}{"s_member_mainid": mongoId}
|
|
|
+ childAccount, _ := Mgo.Find("user", query, "", `"_id":1`, false, -1, -1)
|
|
|
+ if childAccount == nil || len(*childAccount) == 0 {
|
|
|
+ log.Println(fmt.Sprintf("子账号查询不到 %s , %s 用户信息", uid, mongoId))
|
|
|
+ }
|
|
|
+ childIds := []string{}
|
|
|
+ log.Println(fmt.Sprintf("子账号 %s , %s , 数量 %v ", uid, mongoId, len(*childAccount)))
|
|
|
+ for _, v := range *childAccount {
|
|
|
+ childIds = append(childIds, mongodb.BsonIdToSId(v["_id"]))
|
|
|
+ }
|
|
|
}
|
|
|
- childIds := []string{}
|
|
|
- log.Println(fmt.Sprintf("子账号 %s , %s , 数量 %v ", uid, mongoId, len(*childAccount)))
|
|
|
- for _, v := range *childAccount {
|
|
|
- childIds = append(childIds, mongodb.BsonIdToSId(v["_id"]))
|
|
|
+ } else {
|
|
|
+ //企业订单
|
|
|
+ entData := Mysql.Find("entniche_user", map[string]interface{}{
|
|
|
+ "ent_id": entId,
|
|
|
+ }, "", "", -1, -1)
|
|
|
+ if entData == nil || len(*entData) == 0 {
|
|
|
+ log.Println(fmt.Sprintf("企业账号 %s , 数量 %v ", uid, entId, len(*entData)))
|
|
|
+ } else {
|
|
|
+ entMap := map[int64]map[string]interface{}{}
|
|
|
+ for _, v := range *entData {
|
|
|
+ id := gconv.Int64(v["id"])
|
|
|
+ entMap[id] = v
|
|
|
+ }
|
|
|
+ //企业下人员查询
|
|
|
+ powerList := []int64{}
|
|
|
+ noPowerList := []int64{}
|
|
|
+ switch productName {
|
|
|
+ case "商机管理":
|
|
|
+ //企业下有权限人员查询
|
|
|
+ powerData := Mysql.SelectBySql(fmt.Sprintf(`SELECT
|
|
|
+ b.*
|
|
|
+FROM
|
|
|
+ entniche_info a
|
|
|
+ INNER JOIN entniche_user b ON a.id=%v and a.id = b.ent_id
|
|
|
+ AND a.status = 1
|
|
|
+ AND a.enddate > UNIX_TIMESTAMP()
|
|
|
+ AND b.power =1`, entId))
|
|
|
+ if powerData != nil && len(*powerData) > 0 {
|
|
|
+ for _, v := range *powerData {
|
|
|
+ entUserId := gconv.Int64(v["id"])
|
|
|
+ if _, exists := entMap[entUserId]; exists {
|
|
|
+ //存在
|
|
|
+ powerList = append(powerList, entUserId)
|
|
|
+ delete(entMap, entUserId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ case "大会员":
|
|
|
+ powerData, _ := Mgo.Find("ent_user", map[string]interface{}{
|
|
|
+ "i_member_status": map[string]interface{}{"$gt": 0},
|
|
|
+ }, "", "", false, -1, -1)
|
|
|
+ if powerData != nil && len(*powerData) > 0 {
|
|
|
+ for _, v := range *powerData {
|
|
|
+ entUserId := gconv.Int64(v["i_userid"])
|
|
|
+ if _, exists := entMap[entUserId]; exists {
|
|
|
+ //存在
|
|
|
+ powerList = append(powerList, entUserId)
|
|
|
+ delete(entMap, entUserId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(entMap) > 0 {
|
|
|
+ for k := range entMap {
|
|
|
+ noPowerList = append(noPowerList, k)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- //企业订单
|
|
|
- //企业下人员查询
|
|
|
- switch productName {
|
|
|
- case "商机管理":
|
|
|
- case "大会员":
|
|
|
-
|
|
|
+ //非集团公司处理
|
|
|
+ if c := TiDb.CountBySql(`select count(1) from group_company_name where company_name=?`, companyName); c > 0 {
|
|
|
+ return
|
|
|
}
|
|
|
+ otherData := TiDb.SelectBySql(fmt.Sprintf(`SELECT
|
|
|
+ c.*
|
|
|
+FROM
|
|
|
+ dwd_f_crm_clue_info c
|
|
|
+ INNER JOIN data_service.user_system d ON c.cluename = "%s" and c.is_transfer=0
|
|
|
+ AND c.uid = d.uid
|
|
|
+ AND d.STATUS = 1
|
|
|
+WHERE
|
|
|
+ NOT EXISTS (
|
|
|
+ SELECT
|
|
|
+ 1
|
|
|
+ FROM
|
|
|
+ data_service.user_system b
|
|
|
+ WHERE
|
|
|
+ b.uid = c.uid %s
|
|
|
+ AND b.STATUS = 1
|
|
|
+ )`, companyName, common.If(entId == 0, "", fmt.Sprintf(` AND b.ent_id = %v `, entId))))
|
|
|
+ if otherData != nil || len(*otherData) > 0 {
|
|
|
|
|
|
+ }
|
|
|
}
|