|
@@ -6,6 +6,7 @@ import (
|
|
"fmt"
|
|
"fmt"
|
|
"sort"
|
|
"sort"
|
|
"strings"
|
|
"strings"
|
|
|
|
+ "sync"
|
|
"time"
|
|
"time"
|
|
|
|
|
|
elastic "app.yhyue.com/moapp/jybase/es"
|
|
elastic "app.yhyue.com/moapp/jybase/es"
|
|
@@ -1116,6 +1117,10 @@ func (t *OwnerService) CandidateChannel() (*ResultDatas, int, int, int, int) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ltcs1, ltcs2 := LastTimeCoopBath(buyerIds, winners, agency)
|
|
ltcs1, ltcs2 := LastTimeCoopBath(buyerIds, winners, agency)
|
|
|
|
+ pool := make(chan bool, 3)
|
|
|
|
+ wait := &sync.WaitGroup{}
|
|
|
|
+ lock := &sync.Mutex{}
|
|
|
|
+ maxByIdCount := 0
|
|
for buyerId := range *dataMap {
|
|
for buyerId := range *dataMap {
|
|
if ltcs1[buyerId] != nil {
|
|
if ltcs1[buyerId] != nil {
|
|
for _, m := range rs1[buyerId] {
|
|
for _, m := range rs1[buyerId] {
|
|
@@ -1163,47 +1168,65 @@ func (t *OwnerService) CandidateChannel() (*ResultDatas, int, int, int, int) {
|
|
returnData = append(returnData, &tmp)
|
|
returnData = append(returnData, &tmp)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- // 中间人可介绍业主
|
|
|
|
- var r3 []map[string]interface{}
|
|
|
|
- r3 = FindMiddleman([]string{fmt.Sprintf("'%s'", buyerId)}, t.PositionId, r3)
|
|
|
|
- if r3 != nil && len(r3) > 0 {
|
|
|
|
- for _, m := range r3 {
|
|
|
|
- tmp := ResultData{
|
|
|
|
- SourceType: "middleman",
|
|
|
|
- EntName: common.ObjToString(m["b_name"]),
|
|
|
|
- EntPerson: common.ObjToString(m["personName"]),
|
|
|
|
- Relationship: "业主的关系人",
|
|
|
|
- EntId: common.ObjToString(m["b_id"]),
|
|
|
|
- BuyerId: buyerId,
|
|
|
|
- }
|
|
|
|
- if tmp.EntId == "" || tmp.BuyerId == "" {
|
|
|
|
- continue
|
|
|
|
- }
|
|
|
|
- a3++
|
|
|
|
- returnData = append(returnData, &tmp)
|
|
|
|
- }
|
|
|
|
|
|
+ maxByIdCount++
|
|
|
|
+ if maxByIdCount > 50 {
|
|
|
|
+ break
|
|
}
|
|
}
|
|
- // 关联单位
|
|
|
|
- var r4 []map[string]interface{}
|
|
|
|
- r4 = Findfirstparty([]string{fmt.Sprintf("'%s'", buyerId)}, r4)
|
|
|
|
- if r4 != nil && len(r4) > 0 {
|
|
|
|
- for _, m := range r4 {
|
|
|
|
- tmp := ResultData{
|
|
|
|
- SourceType: "sup_sub",
|
|
|
|
- EntName: common.ObjToString(m["b_name"]),
|
|
|
|
- EntPerson: common.ObjToString(m["personName"]),
|
|
|
|
- Relationship: common.ObjToString(m["relationship"]),
|
|
|
|
- EntId: common.ObjToString(m["b_id"]),
|
|
|
|
- BuyerId: buyerId,
|
|
|
|
|
|
+ pool <- true
|
|
|
|
+ wait.Add(1)
|
|
|
|
+ go func(byId string) {
|
|
|
|
+ defer common.Catch()
|
|
|
|
+ defer func() {
|
|
|
|
+ <-pool
|
|
|
|
+ wait.Done()
|
|
|
|
+ }()
|
|
|
|
+ // 中间人可介绍业主
|
|
|
|
+ var r3 []map[string]interface{}
|
|
|
|
+ r3 = FindMiddleman([]string{fmt.Sprintf("'%s'", byId)}, t.PositionId, r3)
|
|
|
|
+ lock.Lock()
|
|
|
|
+ if r3 != nil && len(r3) > 0 {
|
|
|
|
+ for _, m := range r3 {
|
|
|
|
+ tmp := ResultData{
|
|
|
|
+ SourceType: "middleman",
|
|
|
|
+ EntName: common.ObjToString(m["b_name"]),
|
|
|
|
+ EntPerson: common.ObjToString(m["personName"]),
|
|
|
|
+ Relationship: "业主的关系人",
|
|
|
|
+ EntId: common.ObjToString(m["b_id"]),
|
|
|
|
+ BuyerId: byId,
|
|
|
|
+ }
|
|
|
|
+ if tmp.EntId == "" || tmp.BuyerId == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ a3++
|
|
|
|
+ returnData = append(returnData, &tmp)
|
|
}
|
|
}
|
|
- if tmp.EntId == "" || tmp.BuyerId == "" {
|
|
|
|
- continue
|
|
|
|
|
|
+ }
|
|
|
|
+ lock.Unlock()
|
|
|
|
+ // 关联单位
|
|
|
|
+ var r4 []map[string]interface{}
|
|
|
|
+ r4 = Findfirstparty([]string{fmt.Sprintf("'%s'", byId)}, r4)
|
|
|
|
+ lock.Lock()
|
|
|
|
+ if r4 != nil && len(r4) > 0 {
|
|
|
|
+ for _, m := range r4 {
|
|
|
|
+ tmp := ResultData{
|
|
|
|
+ SourceType: "sup_sub",
|
|
|
|
+ EntName: common.ObjToString(m["b_name"]),
|
|
|
|
+ EntPerson: common.ObjToString(m["personName"]),
|
|
|
|
+ Relationship: common.ObjToString(m["relationship"]),
|
|
|
|
+ EntId: common.ObjToString(m["b_id"]),
|
|
|
|
+ BuyerId: byId,
|
|
|
|
+ }
|
|
|
|
+ if tmp.EntId == "" || tmp.BuyerId == "" {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ a4++
|
|
|
|
+ returnData = append(returnData, &tmp)
|
|
}
|
|
}
|
|
- a4++
|
|
|
|
- returnData = append(returnData, &tmp)
|
|
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
+ lock.Unlock()
|
|
|
|
+ }(buyerId)
|
|
}
|
|
}
|
|
|
|
+ wait.Wait()
|
|
}
|
|
}
|
|
//状态处理
|
|
//状态处理
|
|
result := &ResultDatas{}
|
|
result := &ResultDatas{}
|