wangchuanjin 1 жил өмнө
parent
commit
73cca128f5

+ 26 - 25
api/application.api

@@ -267,6 +267,7 @@ type (
 		Id           string `json:"id,optional"`
 	}
 	NetWorkListReq {
+		EntAccountId       int64  `header:"entAccountId"`
 		PositionId         int64  `header:"positionId"`
 		Type               string `json:"type,optional"`
 		Name               string `json:"name,optional"`
@@ -333,106 +334,106 @@ service crmApplication {
 	@doc "添加线索"
 	@handler clueAdd
 	post /crmApplication/clue/add (ClueAddReq) returns (Reply)
-
+	
 	@doc "创建销售机会"
 	@handler saleChanceAdd
 	post /crmApplication/saleChance/add (SaleChanceReq) returns (Reply)
-
+	
 	@doc "收录操作"
 	@handler employOperate
 	post /crmApplication/employ/operate (EmployOperateReq) returns (Reply)
-
+	
 	@doc "商业资讯的转办"
 	@handler transfer
 	post /crmApplication/information/transfer (TransferReq) returns (Reply)
-
+	
 	@doc "忽略操作"
 	@handler ignoreOperate
 	post /crmApplication/ignore/operate (IgnoreOperateReq) returns (Reply)
-
+	
 	@doc "收录情况"
 	@handler employInfo
 	post /crmApplication/employ/info (InfoEmployinfoReq) returns (InfoReply)
-
+	
 	@doc "创建客户"
 	@handler customAdd
 	post /crmApplication/custom/add (CustomAddReq) returns (Reply)
-
+	
 	@doc "文件上传"
 	@handler fileUpload
 	post /crmApplication/file/upload (FileUploadReq) returns (Reply)
-
+	
 	@doc "分发"
 	@handler employDistribute
 	post /crmApplication/employ/distribute (EmployDistributeReq) returns (Reply)
-
+	
 	@doc "企业详情"
 	@handler entinfo
 	post /crmApplication/ent/info (EntInfoReq) returns (Reply)
-
+	
 	@doc "消息推送"
 	@handler pushMsg
 	post /crmApplication/info/push (PushMsgReq) returns (Reply)
-
+	
 	@doc "是否可以创建"
 	@handler canAddReq
 	post /crmApplication/info/canAdd (CanAddReq) returns (Reply)
-
+	
 	@doc "人脉可达潜客业主列表"
 	@handler ownerList
 	post /crmApplication/owner/List (OwnerListReq) returns (Reply)
-
+	
 	@doc "人脉可达商机列表"
 	@handler projectList
 	post /crmApplication/network/project/list (ProjectListReq) returns (Reply)
-
+	
 	@doc "项目公关渠道分析-项目名称联想"
 	@handler PrPnameAss
 	post /crmApplication/pr/pname/ass (PnameAssReq) returns (Reply)
-
+	
 	@doc "项目公关渠道分析-与业主合作历史"
 	@handler CoopHistoryList
 	post /crmApplication/pr/project/analyse (CoopHistoryReq) returns (Reply)
-
+	
 	@doc "人脉库-添加/修改人脉"
 	@handler addOrUpdate
 	post /crmApplication/network/addOrUpdate (AddOrUpdateReq) returns (Reply)
-
+	
 	@doc "人脉库-业主名称联想"
 	@handler associate
 	post /crmApplication/network/associate (AssociateReq) returns (Reply)
-
+	
 	@doc "人脉库-全部人脉项目"
 	@handler allProject
 	post /crmApplication/network/allProject (AllprojectReq) returns (Reply)
-
+	
 	@doc "人脉库-列表"
 	@handler networkList
 	post /crmApplication/network/networkList (NetWorkListReq) returns (Reply)
-
+	
 	@doc "忽略操作"
 	@handler ignoreAction
 	post /crmApplication/ignore/action (IgnoreReq) returns (Reply)
-
+	
 	@doc "情报详情"
 	@handler infoDetail
 	post /crmApplication/infomation/detail (InfoDetailReq) returns (Reply)
-
+	
 	@doc "人脉可达商机列表-人脉路径"
 	@handler plistPath
 	post /crmApplication/network/plist/pathway (PListPathReq) returns (Reply)
-
+	
 	@doc "人脉项目分析-业主合作历史"
 	@handler projectHistory
 	post /crmApplication/pr/project/history (PrjectHistoryReq) returns (Reply)
 	@doc "可介绍业主路径"
 	@handler ownerRoute
 	post /crmApplication/owner/route (RouteOwnerListReq) returns (Reply)
-
+	
 	@doc "可介绍业主合作次数"
 	@handler ownerCooperate
 	post /crmApplication/owner/cooperate (CooperateOwnerListReq) returns (Reply)
-
+	
 	@doc "候选渠道列表"
 	@handler candidateChannel
 	post /crmApplication/candidate/channel (ChannelListReq) returns (Reply)

+ 0 - 1
api/internal/handler/routes.go

@@ -148,6 +148,5 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
 				Handler: candidateChannelHandler(serverCtx),
 			},
 		},
-		rest.WithMaxBytes(104857600),
 	)
 }

+ 180 - 93
api/internal/service/network.go

@@ -35,9 +35,10 @@ type networkTreeChild struct {
 	Type  int    `json:"type"`
 }
 type projectInfo struct {
-	BuyerCount    int
-	ProjectCount  int
+	BuyerCount    int64
+	ProjectCount  int64
 	ProjectAmount float64
+	MonitorCount  int64
 }
 type firstpartyNetwork struct {
 	CompanyId   string
@@ -323,7 +324,7 @@ func (n *network) AllProject(in *types.AllprojectReq) (reply *types.Reply) {
 
 //人脉库-列表
 func (n *network) List(in *types.NetWorkListReq) *types.Reply {
-	q := `select a.company_id,a.company_name,a.itype,a.contact_person as person,a.contact_phone as phone,count(if(b.itype=1,1,null)) as buyer_count,count(if(b.itype=2,1,null)) as project_count,GROUP_CONCAT(b.relate_id) as relate_id,a.create_time from crm.connection a 
+	q := `select a.company_id,a.company_name,a.itype,a.contact_person as person,a.contact_phone as phone,count(if(b.itype=1,1,null)) as buyer_count,count(if(b.itype=2,1,null)) as project_count,GROUP_CONCAT(IF(b.itype=1,relate_id,NULL)) AS relate_buyer_id,GROUP_CONCAT(IF(b.itype=2,relate_id,NULL)) AS relate_project_id,a.create_time from crm.connection a 
 		left join crm.connection_introduce b on (a.id=b.connection_id) where a.position_id=?`
 	args := []interface{}{in.PositionId}
 	if in.Type != "" {
@@ -344,7 +345,7 @@ func (n *network) List(in *types.NetWorkListReq) *types.Reply {
 	}
 	q += ` GROUP BY a.id order by a.create_time desc`
 	listTemp := CrmMysql.SelectBySql(q, args...)
-	firstparty_array, supplier_array, adiffb_array, agency_array, middleman_array := []string{}, []string{}, []string{}, []string{}, []string{}
+	firstparty_array, supplier_array, adiffb_array, agency_array, middleman_project_array := []string{}, []string{}, []string{}, []string{}, []string{}
 	for _, v := range *listTemp {
 		switch Int64All(v["itype"]) {
 		case 1:
@@ -354,8 +355,8 @@ func (n *network) List(in *types.NetWorkListReq) *types.Reply {
 		case 3:
 			adiffb_array = append(adiffb_array, ObjToString(v["company_id"]))
 		case 4:
-			if relate_id := ObjToString(v["relate_id"]); relate_id != "" {
-				middleman_array = append(middleman_array, strings.Split(relate_id, ",")...)
+			if relate_project_id := ObjToString(v["relate_project_id"]); relate_project_id != "" {
+				middleman_project_array = append(middleman_project_array, strings.Split(relate_project_id, ",")...)
 			}
 		case 5:
 			agency_array = append(agency_array, ObjToString(v["company_id"]))
@@ -364,82 +365,122 @@ func (n *network) List(in *types.NetWorkListReq) *types.Reply {
 	//
 	firstparty_count, supplier_count, adiffb_count, middleman_count, agency_count := 0, 0, 0, 0, 0
 	list := []*map[string]interface{}{}
-	firstparty_project := n.Introduce_Firstparty(n.FirstpartyNetwork("", firstparty_array))
-	supplier_project := n.Introduce_Supplier(supplier_array)
-	adiffb_project := n.Introduce_Supplier(adiffb_array)
-	agency_project := n.Introduce_Agency(agency_array)
-	middleman_project := n.Introduce_Middleman(middleman_array)
-	for _, v := range *listTemp {
-		itype := ""
-		buyer_count, project_count, expect_amount := 0, 0, float64(0)
-		company_id := ObjToString(v["company_id"])
-		switch Int64All(v["itype"]) {
-		case 1:
-			itype = "甲方"
-			firstparty_count++
-			if firstparty_project[company_id] != nil {
-				buyer_count = firstparty_project[company_id].BuyerCount
-				project_count = firstparty_project[company_id].ProjectCount
-				expect_amount = firstparty_project[company_id].ProjectAmount
-			}
-		case 2:
-			itype = "供应商"
-			supplier_count++
-			if supplier_project[company_id] != nil {
-				buyer_count = supplier_project[company_id].BuyerCount
-				project_count = supplier_project[company_id].ProjectCount
-				expect_amount = supplier_project[company_id].ProjectAmount
-			}
-		case 3:
-			itype = "同甲异业渠道"
-			adiffb_count++
-			if adiffb_project[company_id] != nil {
-				buyer_count = adiffb_project[company_id].BuyerCount
-				project_count = adiffb_project[company_id].ProjectCount
-				expect_amount = adiffb_project[company_id].ProjectAmount
-			}
-		case 4:
-			itype = "中间人"
-			middleman_count++
-			buyer_count = IntAll(v["buyer_count"])
-			project_count = IntAll(v["project_count"])
-			if relate_id := ObjToString(v["relate_id"]); relate_id != "" {
-				for _, v := range strings.Split(relate_id, ",") {
-					if middleman_project[v] != nil {
-						expect_amount += middleman_project[v].ProjectAmount
+	isGoNextSetp := true
+	probusfors := []string{}
+	if in.Project_matchme == 1 {
+		probusfors = NetworkCom.GetMyProbusfor(in.EntAccountId)
+		if len(probusfors) == 0 {
+			isGoNextSetp = false
+		}
+	}
+	if isGoNextSetp {
+		entMonitor := n.EntMonitor(in.PositionId)
+		firstparty_project := n.Introduce_Firstparty(n.FirstpartyNetwork("", firstparty_array), entMonitor, in.Project_matchme, probusfors)
+		supplier_project := n.Introduce_Supplier(supplier_array, entMonitor, in.Project_matchme, probusfors)
+		adiffb_project := n.Introduce_Supplier(adiffb_array, entMonitor, in.Project_matchme, probusfors)
+		agency_project := n.Introduce_Agency(agency_array, entMonitor, in.Project_matchme, probusfors)
+		middleman_project := n.Introduce_Middleman(middleman_project_array, entMonitor, in.Project_matchme, probusfors)
+		for _, v := range *listTemp {
+			itype := ""
+			buyer_count, project_count, expect_amount, monitor_count := int64(0), int64(0), float64(0), int64(0)
+			company_id := ObjToString(v["company_id"])
+			switch Int64All(v["itype"]) {
+			case 1:
+				itype = "甲方"
+				firstparty_count++
+				if firstparty_project[company_id] != nil {
+					buyer_count = firstparty_project[company_id].BuyerCount
+					project_count = firstparty_project[company_id].ProjectCount
+					expect_amount = firstparty_project[company_id].ProjectAmount
+					monitor_count = firstparty_project[company_id].MonitorCount
+				}
+			case 2:
+				itype = "供应商"
+				supplier_count++
+				if supplier_project[company_id] != nil {
+					buyer_count = supplier_project[company_id].BuyerCount
+					project_count = supplier_project[company_id].ProjectCount
+					expect_amount = supplier_project[company_id].ProjectAmount
+					monitor_count = supplier_project[company_id].MonitorCount
+				}
+			case 3:
+				itype = "同甲异业渠道"
+				adiffb_count++
+				if adiffb_project[company_id] != nil {
+					buyer_count = adiffb_project[company_id].BuyerCount
+					project_count = adiffb_project[company_id].ProjectCount
+					expect_amount = adiffb_project[company_id].ProjectAmount
+					monitor_count = adiffb_project[company_id].MonitorCount
+				}
+			case 4:
+				itype = "中间人"
+				middleman_count++
+				buyer_count = Int64All(v["buyer_count"])
+				project_count = Int64All(v["project_count"])
+				if relate_buyer_id := ObjToString(v["relate_buyer_id"]); relate_buyer_id != "" {
+					for _, v := range strings.Split(relate_buyer_id, ",") {
+						if v == "" {
+							continue
+						}
+						if entMonitor[v] {
+							monitor_count++
+						}
 					}
 				}
+				if relate_project_id := ObjToString(v["relate_project_id"]); relate_project_id != "" {
+					for _, v := range strings.Split(relate_project_id, ",") {
+						if middleman_project[v] != nil {
+							expect_amount += middleman_project[v].ProjectAmount
+						}
+					}
+				}
+				if middleman_project[company_id] != nil {
+					expect_amount = middleman_project[company_id].ProjectAmount
+				}
+			case 5:
+				itype = "招标代理机构"
+				agency_count++
+				if agency_project[company_id] != nil {
+					buyer_count = agency_project[company_id].BuyerCount
+					project_count = agency_project[company_id].ProjectCount
+					expect_amount = agency_project[company_id].ProjectAmount
+					monitor_count = agency_project[company_id].MonitorCount
+				}
 			}
-			if middleman_project[company_id] != nil {
-				expect_amount = middleman_project[company_id].ProjectAmount
-			}
-		case 5:
-			itype = "招标代理机构"
-			agency_count++
-			if agency_project[company_id] != nil {
-				buyer_count = agency_project[company_id].BuyerCount
-				project_count = agency_project[company_id].ProjectCount
-				expect_amount = agency_project[company_id].ProjectAmount
+			if buyer_count < in.Buyercount_start {
+				continue
+			} else if buyer_count > in.Buyercount_end {
+				continue
+			} else if in.Monitor == 1 && monitor_count <= 0 {
+				continue
+			} else if in.Monitor == -1 && monitor_count > 0 {
+				continue
+			} else if monitor_count < in.Monitorcount_start {
+				continue
+			} else if monitor_count > in.Monitorcount_end {
+				continue
+			} else if in.Project_matchme == 1 && project_count == 0 {
+				continue
 			}
+			list = append(list, &map[string]interface{}{
+				"company_id":    company_id,
+				"company_name":  v["company_name"],
+				"type":          itype,
+				"person":        v["person"],
+				"phone":         v["phone"],
+				"buyer_count":   buyer_count,
+				"monitor_count": 0,
+				"expect_amount": RetainDecimal(expect_amount/10000, 2),
+				"project_count": project_count,
+				"create_time":   v["create_time"],
+			})
 		}
-		list = append(list, &map[string]interface{}{
-			"company_id":    company_id,
-			"company_name":  v["company_name"],
-			"type":          itype,
-			"person":        v["person"],
-			"phone":         v["phone"],
-			"buyer_count":   buyer_count,
-			"monitor_count": 0,
-			"expect_amount": RetainDecimal(expect_amount/10000, 2),
-			"project_count": project_count,
-			"create_time":   v["create_time"],
-		})
 	}
 	csList := &ComSortList{
 		SortKeys: []*ComSortKey{
 			&ComSortKey{
 				Keys:  []string{"expect_amount"},
-				Order: -1,
+				Order: 1,
 				Type:  "float",
 			},
 		},
@@ -519,7 +560,7 @@ func (n *network) FirstpartyNetwork(name string, values []string) map[string][]*
 }
 
 //
-func (n *network) Introduce_Firstparty(fpn map[string][]*firstpartyNetwork) map[string]*projectInfo {
+func (n *network) Introduce_Firstparty(fpn map[string][]*firstpartyNetwork, entMonitor map[string]bool, matchme int64, probusfors []string) map[string]*projectInfo {
 	values := []string{}
 	vm := map[string]*projectInfo{}
 	for _, v := range fpn {
@@ -529,7 +570,14 @@ func (n *network) Introduce_Firstparty(fpn map[string][]*firstpartyNetwork) map[
 		}
 	}
 	wh, args := NetworkCom.WhArgs(values)
-	rows, err := ClickhouseConn.Query(context.Background(), `select buyer_id,count(project_id) AS project_count,sum(project_money) AS project_amount from information.transaction_info where buyer_id in (`+wh+`) group by buyer_id`, args...)
+	q := `select buyer_id,count(project_id) AS project_count,sum(project_money) AS project_amount from information.transaction_info where buyer_id in (` + wh + `)`
+	if matchme == 1 {
+		newWh, newArgs := NetworkCom.WhArgs(probusfors)
+		q += ` hasAny(property_form,[` + newWh + `])`
+		args = append(args, newArgs...)
+	}
+	q += ` group by buyer_id`
+	rows, err := ClickhouseConn.Query(context.Background(), q, args...)
 	if err != nil {
 		logx.Error(err)
 		return nil
@@ -547,7 +595,7 @@ func (n *network) Introduce_Firstparty(fpn map[string][]*firstpartyNetwork) map[
 		if vm[buyer_id] == nil {
 			continue
 		}
-		vm[buyer_id].ProjectCount += int(project_count)
+		vm[buyer_id].ProjectCount += int64(project_count)
 		pf, _ := project_amount.Float64()
 		vm[buyer_id].ProjectAmount += pf
 	}
@@ -560,8 +608,11 @@ func (n *network) Introduce_Firstparty(fpn map[string][]*firstpartyNetwork) map[
 		if result[k] == nil {
 			result[k] = &projectInfo{}
 		}
-		result[k].BuyerCount = len(v)
+		result[k].BuyerCount = int64(len(v))
 		for _, vv := range v {
+			if entMonitor[vv.CompanyName] {
+				result[k].MonitorCount++
+			}
 			if vm[vv.CompanyId] == nil {
 				continue
 			}
@@ -573,15 +624,21 @@ func (n *network) Introduce_Firstparty(fpn map[string][]*firstpartyNetwork) map[
 }
 
 //
-func (n *network) Introduce_Supplier(values []string) map[string]*projectInfo {
+func (n *network) Introduce_Supplier(values []string, entMonitor map[string]bool, matchme int64, probusfors []string) map[string]*projectInfo {
 	vm := map[string]*projectInfo{}
 	for _, v := range values {
 		vm[v] = &projectInfo{}
 	}
-	wh, newArgs := NetworkCom.WhArgs(values)
-	rows, err := ClickhouseConn.Query(context.Background(), `select a.winner_id,count(a.buyer_id) AS buyer_count,count(b.project_id) AS project_count,sum(b.project_money) AS project_amount from information.transaction_info a 
-		inner join information.transaction_info b on (hasAny(a.winner_id,[`+wh+`]) and a.buyer_id<>'' and a.buyer_id=b.buyer_id)
-		group by a.winner_id`, newArgs...)
+	wh, args := NetworkCom.WhArgs(values)
+	q := `select a.winner_id,count(DISTINCT b.buyer_id) AS buyer_count,count(DISTINCT b.project_id) AS project_count,sum(b.project_money) AS project_amount,groupUniqArray(b.buyer) from information.transaction_info a 
+		inner join information.transaction_info b on (hasAny(a.winner_id,[` + wh + `]) and a.buyer_id<>'' and a.buyer_id=b.buyer_id`
+	if matchme == 1 {
+		newWh, newArgs := NetworkCom.WhArgs(probusfors)
+		q += ` hasAny(b.property_form,[` + newWh + `])`
+		args = append(args, newArgs...)
+	}
+	q += `) group by a.winner_id`
+	rows, err := ClickhouseConn.Query(context.Background(), q, args...)
 	if err != nil {
 		logx.Error(err)
 		return nil
@@ -592,8 +649,9 @@ func (n *network) Introduce_Supplier(values []string) map[string]*projectInfo {
 			buyer_count    uint64
 			project_count  uint64
 			project_amount decimal.Decimal
+			buyers         []string
 		)
-		if err := rows.Scan(&winner_id, &buyer_count, &project_count, &project_amount); err != nil {
+		if err := rows.Scan(&winner_id, &buyer_count, &project_count, &project_amount, &buyers); err != nil {
 			logx.Error(err)
 			continue
 		}
@@ -601,10 +659,15 @@ func (n *network) Introduce_Supplier(values []string) map[string]*projectInfo {
 			if vm[v] == nil {
 				continue
 			}
-			vm[v].BuyerCount += int(buyer_count)
-			vm[v].ProjectCount += int(project_count)
+			vm[v].BuyerCount += int64(buyer_count)
+			vm[v].ProjectCount += int64(project_count)
 			pf, _ := project_amount.Float64()
 			vm[v].ProjectAmount += pf
+			for _, v := range buyers {
+				if entMonitor[v] {
+					vm[v].MonitorCount++
+				}
+			}
 		}
 	}
 	rows.Close()
@@ -615,15 +678,21 @@ func (n *network) Introduce_Supplier(values []string) map[string]*projectInfo {
 }
 
 //
-func (n *network) Introduce_Agency(values []string) map[string]*projectInfo {
+func (n *network) Introduce_Agency(values []string, entMonitor map[string]bool, matchme int64, probusfors []string) map[string]*projectInfo {
 	vm := map[string]*projectInfo{}
 	for _, v := range values {
 		vm[v] = &projectInfo{}
 	}
-	wh, newArgs := NetworkCom.WhArgs(values)
-	rows, err := ClickhouseConn.Query(context.Background(), `select a.agency_id,count(a.buyer_id) AS buyer_count,count(b.project_id) AS project_count,sum(b.project_money) AS project_amount from information.transaction_info a 
-		inner join information.transaction_info b on (a.agency_id in (`+wh+`) and a.buyer_id<>'' and a.buyer_id=b.buyer_id)
-		group by a.agency_id`, newArgs...)
+	wh, args := NetworkCom.WhArgs(values)
+	q := `select a.agency_id,count(DISTINCT b.buyer_id) AS buyer_count,count(DISTINCT b.project_id) AS project_count,sum(b.project_money) AS project_amount,groupUniqArray(b.buyer) from information.transaction_info a 
+		inner join information.transaction_info b on (a.agency_id in (` + wh + `) and a.buyer_id<>'' and a.buyer_id=b.buyer_id`
+	if matchme == 1 {
+		newWh, newArgs := NetworkCom.WhArgs(probusfors)
+		q += ` hasAny(b.property_form,[` + newWh + `])`
+		args = append(args, newArgs...)
+	}
+	q += `) group by a.agency_id`
+	rows, err := ClickhouseConn.Query(context.Background(), q, args...)
 	if err != nil {
 		logx.Error(err)
 		return nil
@@ -634,18 +703,24 @@ func (n *network) Introduce_Agency(values []string) map[string]*projectInfo {
 			buyer_count    uint64
 			project_count  uint64
 			project_amount decimal.Decimal
+			buyers         []string
 		)
-		if err := rows.Scan(&agency_id, &buyer_count, &project_count, &project_amount); err != nil {
+		if err := rows.Scan(&agency_id, &buyer_count, &project_count, &project_amount, &buyers); err != nil {
 			logx.Error(err)
 			continue
 		}
 		if vm[agency_id] == nil {
 			continue
 		}
-		vm[agency_id].BuyerCount += int(buyer_count)
-		vm[agency_id].ProjectCount += int(project_count)
+		vm[agency_id].BuyerCount += int64(buyer_count)
+		vm[agency_id].ProjectCount += int64(project_count)
 		pf, _ := project_amount.Float64()
 		vm[agency_id].ProjectAmount += pf
+		for _, v := range buyers {
+			if entMonitor[v] {
+				vm[agency_id].MonitorCount++
+			}
+		}
 	}
 	rows.Close()
 	if err := rows.Err(); err != nil {
@@ -655,7 +730,7 @@ func (n *network) Introduce_Agency(values []string) map[string]*projectInfo {
 }
 
 //
-func (n *network) Introduce_Middleman(values []string) map[string]*projectInfo {
+func (n *network) Introduce_Middleman(values []string, entMonitor map[string]bool, matchme int64, probusfors []string) map[string]*projectInfo {
 	vm := map[string]*projectInfo{}
 	wh, newArgs := NetworkCom.WhArgs(values)
 	rows, err := ClickhouseConn.Query(context.Background(), `select project_id,project_money from information.transaction_info where project_id in (`+wh+`)`, newArgs...)
@@ -684,6 +759,18 @@ func (n *network) Introduce_Middleman(values []string) map[string]*projectInfo {
 	return vm
 }
 
+//
+func (n *network) EntMonitor(positionId int64) map[string]bool {
+	m := map[string]bool{}
+	list := CrmMysql.SelectBySql(`select * from base_service.follow_ent_monitor where s_userid=?`, positionId)
+	for _, v := range *list {
+		if entName := ObjToString(v["s_entname"]); entName != "" {
+			m[entName] = true
+		}
+	}
+	return m
+}
+
 //
 func (n *network) TypeConvert(itype string) int {
 	//firstparty:甲方 supplier:供应商 adiffb:同甲异业 middleman:中间人 agency:招标代理机构

+ 2 - 1
api/internal/service/network_test.go

@@ -84,7 +84,8 @@ func TestNetWorkList(t *testing.T) {
 	initDb()
 	//类型;firstparty:甲方 supplier:供应商 adiffb:同甲异业 middleman:中间人 agency:招标代理机构
 	res := Network.List(&types.NetWorkListReq{
-		PositionId: 943,
+		PositionId:   943,
+		Order_amount: 1,
 	})
 	for k, v := range res.Data.(map[string]interface{}) {
 		if k == "list" {

+ 1 - 0
api/internal/types/types.go

@@ -289,6 +289,7 @@ type AllprojectReq struct {
 }
 
 type NetWorkListReq struct {
+	EntAccountId       int64  `header:"entAccountId"`
 	PositionId         int64  `header:"positionId"`
 	Type               string `json:"type,optional"`
 	Name               string `json:"name,optional"`

+ 1 - 1
go.mod

@@ -3,7 +3,7 @@ module bp.jydev.jianyu360.cn/CRM/application
 go 1.19
 
 require (
-	app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40
+	app.yhyue.com/moapp/jybase v0.0.0-20240422010359-27408422af30
 	app.yhyue.com/moapp/jypkg v0.0.0-20230825092743-3bfc415bb5bb
 	bp.jydev.jianyu360.cn/BaseService/fileCenter v0.0.0-20231016051530-64b559fee531
 	bp.jydev.jianyu360.cn/BaseService/gateway v1.3.4

+ 3 - 2
go.sum

@@ -10,8 +10,8 @@ app.yhyue.com/moapp/jybase v0.0.0-20220420032112-668025915ee4/go.mod h1:qNRA0sHu
 app.yhyue.com/moapp/jybase v0.0.0-20220421060131-a1001013ba46/go.mod h1:qNRA0sHuYqcLoYoP8irpaWnW9YsXixe6obBIkwaXpD0=
 app.yhyue.com/moapp/jybase v0.0.0-20220706083640-79084ff2be42/go.mod h1:FjBF25AYoBrPhVKTXGXWcmEAbBT0ATTK6KJMOA+I80Q=
 app.yhyue.com/moapp/jybase v0.0.0-20230117032034-ad7c00ffe11a/go.mod h1:zB47XTeJvpcbtBRYgkQuxOICWNexiZfbUO+7aUf6mNs=
-app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40 h1:/FcBvpf/KW8g6GBfTkypVW1pGbNs+iNhDrUGUi+KNjc=
-app.yhyue.com/moapp/jybase v0.0.0-20230901064756-2fc66b18db40/go.mod h1:Hv9U/7oHRucqH315Tr1+d03NCvS9mOKPfk8pwwlOIwQ=
+app.yhyue.com/moapp/jybase v0.0.0-20240422010359-27408422af30 h1:d3EW7fnnsIUtXCeYvPRvRr7NfrKRZwQRWOV8DJpN+T4=
+app.yhyue.com/moapp/jybase v0.0.0-20240422010359-27408422af30/go.mod h1:XHNATN6tsJKHdCB0DbUtFdPPHXexTUFyB3RlO+lUUoM=
 app.yhyue.com/moapp/jypkg v0.0.0-20230825092743-3bfc415bb5bb h1:J9CQ60meKlABYqeOB6zdZXJtBHAsJqnHeWhd/OOCUtU=
 app.yhyue.com/moapp/jypkg v0.0.0-20230825092743-3bfc415bb5bb/go.mod h1:VaHDi3twSg4G84k2+UFOe7ZCw5EqUZVAkW2N2dHeMbU=
 bp.jydev.jianyu360.cn/BP/jynsq v0.0.0-20220222052708-ebc43af90698/go.mod h1:ojo/AUH9Yr1wzarEjOaNMkj1Cet/9r8IgLyba64Z52E=
@@ -2026,6 +2026,7 @@ gopkg.in/h2non/gock.v1 v1.1.2/go.mod h1:n7UGz/ckNChHiK05rDoiC4MYSunEC/lyaUm2WWaD
 gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s=
 gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
 gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
+gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
 gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=