|
@@ -12,9 +12,9 @@ import (
|
|
|
)
|
|
|
|
|
|
const (
|
|
|
- sql_1 = `SELECT buyer_id, count(1) as count FROM information.transaction_info WHERE buyer_id in (?) GROUP BY buyer_id`
|
|
|
+ sql_1 = `SELECT buyer_id, count(1) as count FROM information.transaction_info WHERE buyer_id in (%s) GROUP BY buyer_id`
|
|
|
sql_2 = `SELECT relate_id, is_handle, is_ignore, is_create FROM crm.connection_status WHERE position_id = ? AND itype = 2`
|
|
|
- sql_3 = `SELECT * FROM crm.connection WHERE company_id in (?) AND status = 1`
|
|
|
+ sql_3 = `SELECT * FROM crm.connection WHERE company_id in (%s) AND status = 1`
|
|
|
)
|
|
|
|
|
|
type ProjectData struct {
|
|
@@ -209,10 +209,10 @@ func getQuerySql(req *types.ProjectListReq, isPage bool, buyerArr []string) (cou
|
|
|
findSql = "select a.project_id, a.project_name, a.business_type, a.buyer, a.buyer_id, a.area, a.city, a.district, a.zbtime, a.endtime, a.project_money "
|
|
|
if len(querys) > 0 {
|
|
|
countSql = fmt.Sprintf("select count(1) from %s a where %s ", "information.transaction_info", strings.Join(querys, " and "))
|
|
|
- findSql = fmt.Sprintf("%s from %s a where %s ", findSql, "information.transaction_info", strings.Join(querys, " and "))
|
|
|
+ findSql = fmt.Sprintf("%s from %s a where %s order by zbtime", findSql, "information.transaction_info", strings.Join(querys, " and "))
|
|
|
} else {
|
|
|
countSql = fmt.Sprintf("select count(1) from %s a ", "information.transaction_info")
|
|
|
- findSql = fmt.Sprintf("%s from %s a ", findSql, "information.transaction_info")
|
|
|
+ findSql = fmt.Sprintf("%s from %s a order by zbtime", findSql, "information.transaction_info")
|
|
|
}
|
|
|
if isPage {
|
|
|
findSql += fmt.Sprintf(" limit %d,%d", (req.PageNum-1)*req.PageSize, req.PageSize)
|
|
@@ -275,16 +275,17 @@ func moreInfo(req *types.ProjectListReq, list []*ProjectEntry) (result []*Projec
|
|
|
}
|
|
|
}
|
|
|
countMap := make(map[string]int)
|
|
|
- info1, err := T.ClickhouseConn.Query(context.TODO(), sql_1, strings.Join(buyerIds, ","))
|
|
|
+ str1, arr1 := common.WhArgs(buyerIds)
|
|
|
+ info1, err := T.ClickhouseConn.Query(context.TODO(), fmt.Sprintf(sql_1, str1), arr1...)
|
|
|
if err == nil {
|
|
|
for info1.Next() {
|
|
|
var buyerId string
|
|
|
- var count int
|
|
|
+ var count uint64
|
|
|
_ = info1.Scan(&buyerId, &count)
|
|
|
- countMap[buyerId] = count
|
|
|
+ countMap[buyerId] = int(count)
|
|
|
}
|
|
|
}
|
|
|
- info2 := T.CrmMysql.SelectBySql(sql_3, strings.Join(buyerIds, ","))
|
|
|
+ info2 := T.CrmMysql.SelectBySql(fmt.Sprintf(sql_3, str1), arr1...)
|
|
|
connMap := make(map[string]int)
|
|
|
if info2 != nil && len(*info2) > 0 {
|
|
|
for _, m := range *info2 {
|
|
@@ -318,31 +319,49 @@ func moreInfo(req *types.ProjectListReq, list []*ProjectEntry) (result []*Projec
|
|
|
}
|
|
|
}
|
|
|
// 人脉路径
|
|
|
- //var bArr []string
|
|
|
- //for _, m := range list {
|
|
|
- // // 有我的人脉标签时不需要查询人脉路径信息
|
|
|
- // if m.MyConn == false && m.BuyerId != "" {
|
|
|
- // bArr = append(bArr, fmt.Sprintf("'%s'", m.BuyerId))
|
|
|
- // }
|
|
|
- //}
|
|
|
- //companyList := ConnectionsHandle(bArr, req.PositionId, false)
|
|
|
- //if companyList != nil && len(companyList) > 0 {
|
|
|
- // for _, m := range list {
|
|
|
- // if m.MyConn == false {
|
|
|
- // for _, m1 := range companyList {
|
|
|
- // if m.BuyerId == common.ObjToString(m1["b_id"]) {
|
|
|
- // m.BId = common.ObjToString(m1["b_id"])
|
|
|
- // m.BName = common.ObjToString(m1["b_name"])
|
|
|
- // m.RelationShip = common.ObjToString(m1["relationship"])
|
|
|
- // m.SourceType = common.ObjToString(m1["sourceType"])
|
|
|
- // m.Person = common.ObjToString(m1["person"])
|
|
|
- // m.Num = common.ObjToString(m1["count"])
|
|
|
- // break
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- //
|
|
|
- //}
|
|
|
+ var bArr []string
|
|
|
+ for _, m := range list {
|
|
|
+ // 有我的人脉标签时不需要查询人脉路径信息
|
|
|
+ if m.MyConn == false && m.BuyerId != "" {
|
|
|
+ bArr = append(bArr, fmt.Sprintf("'%s'", m.BuyerId))
|
|
|
+ }
|
|
|
+ }
|
|
|
+ companyList := Findfirstparty(bArr, nil)
|
|
|
+ if companyList != nil && len(companyList) > 0 {
|
|
|
+ for _, m := range list {
|
|
|
+ if m.MyConn == false {
|
|
|
+ for _, m1 := range companyList {
|
|
|
+ if m.BuyerId == common.ObjToString(m1["b_id"]) {
|
|
|
+ m.BId = common.ObjToString(m1["b_id"])
|
|
|
+ m.BName = common.ObjToString(m1["b_name"])
|
|
|
+ m.RelationShip = common.ObjToString(m1["relationship"])
|
|
|
+ m.SourceType = common.ObjToString(m1["sourceType"])
|
|
|
+ m.Person = common.ObjToString(m1["person"])
|
|
|
+ m.Num = common.ObjToString(m1["count"])
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ companyList = Findwinner(bArr, nil)
|
|
|
+ if companyList != nil && len(companyList) > 0 {
|
|
|
+ for _, m := range list {
|
|
|
+ if m.MyConn == false {
|
|
|
+ for _, m1 := range companyList {
|
|
|
+ if m.BuyerId == common.ObjToString(m1["b_id"]) {
|
|
|
+ m.BId = common.ObjToString(m1["b_id"])
|
|
|
+ m.BName = common.ObjToString(m1["b_name"])
|
|
|
+ m.RelationShip = common.ObjToString(m1["relationship"])
|
|
|
+ m.SourceType = common.ObjToString(m1["sourceType"])
|
|
|
+ m.Person = common.ObjToString(m1["person"])
|
|
|
+ m.Num = common.ObjToString(m1["count"])
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
return list
|
|
|
}
|