Browse Source

添加FICC客户推送

xingzai 3 years ago
parent
commit
18e852656c
2 changed files with 136 additions and 34 deletions
  1. 76 6
      models/send_company_user.go
  2. 60 28
      services/send_company_user.go

+ 76 - 6
models/send_company_user.go

@@ -62,7 +62,7 @@ func GetSendCompanyList() (items []*CompanyJson, err error) {
 					INNER JOIN chart_permission AS b ON a.chart_permission_id=b.chart_permission_id
 					INNER JOIN company_product AS c ON a.company_id=c.company_id AND a.product_id=c.product_id
 					WHERE  a.company_id=cid
-					AND c.is_suspend=0
+					AND c.enabled = 1 
 					AND b.cygx_auth=1
 					AND c.status IN('正式','试用')
 					AND a.status IN('正式','试用')) AS permission
@@ -75,11 +75,11 @@ func GetSendCompanyList() (items []*CompanyJson, err error) {
 			AND a.product_id = p.product_id 
 		WHERE
 			1 = 1 
-			AND p.is_suspend = 0 
+			AND c.enabled = 1 
 			AND b.cygx_auth = 1 
 			AND p.STATUS IN ( '正式', '试用' ) 
 			AND a.STATUS IN ( '正式', '试用' )
-			AND c.credit_code != ''
+			AND( c.credit_code LIKE '91%'  OR  c.credit_code LIKE 'HZ%' ) 
 			AND p.product_id = 2
 		GROUP BY
 			c.company_id  `
@@ -87,6 +87,77 @@ func GetSendCompanyList() (items []*CompanyJson, err error) {
 	return
 }
 
+//获取FICC公司
+func GetSendCompanyFiccList() (items []*CompanyJson, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT
+			c.company_name,
+			c.company_id AS cid,
+			c.credit_code,
+			c.city,
+			p.industry_name,
+			am.real_name,
+			am.mobile,
+			a.STATUS,
+			UNIX_TIMESTAMP( p.start_date ) AS start_date,
+			UNIX_TIMESTAMP( p.end_date ) AS end_date,
+			UNIX_TIMESTAMP( a.created_time ) AS created_time,
+			(
+			SELECT
+				GROUP_CONCAT( DISTINCT b.chart_permission_name ORDER BY b.sort ASC SEPARATOR ',' ) 
+			FROM
+				company_report_permission AS a
+				INNER JOIN chart_permission AS b ON a.chart_permission_id = b.chart_permission_id
+				INNER JOIN company_product AS c ON a.company_id = c.company_id 
+				AND a.product_id = c.product_id 
+			WHERE
+				a.company_id = cid 
+				AND c.enabled = 1 
+				AND b.cygx_auth = 1 
+				AND c.STATUS IN ( '正式', '试用' ) 
+			AND a.STATUS IN ( '正式', '试用' )) AS permission 
+		FROM
+			company_report_permission AS a
+			INNER JOIN chart_permission AS b ON a.chart_permission_id = b.chart_permission_id
+			INNER JOIN company_product AS p ON a.company_id = p.company_id
+			INNER JOIN company AS c ON c.company_id = a.company_id
+			INNER JOIN admin AS am ON am.admin_id = p.seller_id 
+			AND a.product_id = p.product_id 
+		WHERE
+			1 = 1 
+			AND c.enabled = 1 
+			AND b.cygx_auth = 1 
+			AND p.STATUS IN ( '正式', '试用' ) 
+			AND a.STATUS IN ( '正式', '试用' ) 
+			AND ( c.credit_code LIKE '91%' OR c.credit_code LIKE 'HZ%' ) 
+			AND p.product_id = 1 
+			AND c.company_id NOT IN (
+			SELECT
+				c.company_id 
+			FROM
+				company_report_permission AS a
+				INNER JOIN chart_permission AS b ON a.chart_permission_id = b.chart_permission_id
+				INNER JOIN company_product AS p ON a.company_id = p.company_id
+				INNER JOIN company AS c ON c.company_id = a.company_id
+				INNER JOIN admin AS am ON am.admin_id = p.seller_id 
+				AND a.product_id = p.product_id 
+			WHERE
+				1 = 1 
+				AND c.enabled = 1 
+				AND b.cygx_auth = 1 
+				AND p.STATUS IN ( '正式', '试用' ) 
+				AND a.STATUS IN ( '正式', '试用' ) 
+				AND ( c.credit_code LIKE '91%' OR c.credit_code LIKE 'HZ%' ) 
+				AND p.product_id = 2 
+			GROUP BY
+				c.company_id 
+			) 
+		GROUP BY
+			c.company_id  `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
 //获取用户
 func GetSendUserList() (items []*UserJson, err error) {
 	o := orm.NewOrm()
@@ -120,11 +191,10 @@ func GetSendUserList() (items []*UserJson, err error) {
 				AND a.product_id = p.product_id 
 			WHERE
 				1 = 1 
-				AND p.is_suspend = 0 
+				AND c.enabled = 1 
 				AND b.cygx_auth = 1 
 				AND p.STATUS IN ( '正式', '试用' ) 
-				AND a.STATUS IN ( '正式', '试用' ) 
-				AND p.product_id = 2
+				AND a.STATUS IN ( '正式', '试用' )
 			GROUP BY
 				c.company_id 
 			) 

+ 60 - 28
services/send_company_user.go

@@ -6,7 +6,6 @@ import (
 	"hongze/hongze_cygx/models"
 	"io/ioutil"
 	"net/http"
-	"strings"
 )
 
 type GetShangHaiTokenResultApi struct {
@@ -23,28 +22,28 @@ type ShangHaiResultApidate struct {
 
 //把信息同步到上海策略品台
 func SendComapnyToShanghai(url, jsonCompany string) {
-	method := "POST"
-	fmt.Println(string(jsonCompany))
-	payload := strings.NewReader(jsonCompany)
-	client := &http.Client{}
-	req, err := http.NewRequest(method, url, payload)
-	if err != nil {
-		fmt.Println(err)
-		return
-	}
-	req.Header.Add("Content-Type", "application/json")
-	res, err := client.Do(req)
-	if err != nil {
-		fmt.Println(err)
-		return
-	}
-	defer res.Body.Close()
-	body, err := ioutil.ReadAll(res.Body)
-	if err != nil {
-		fmt.Println(err)
-		return
-	}
-	fmt.Println(string(body))
+	//method := "POST"
+	//fmt.Println(string(jsonCompany))
+	//payload := strings.NewReader(jsonCompany)
+	//client := &http.Client{}
+	//req, err := http.NewRequest(method, url, payload)
+	//if err != nil {
+	//	fmt.Println(err)
+	//	return
+	//}
+	//req.Header.Add("Content-Type", "application/json")
+	//res, err := client.Do(req)
+	//if err != nil {
+	//	fmt.Println(err)
+	//	return
+	//}
+	//defer res.Body.Close()
+	//body, err := ioutil.ReadAll(res.Body)
+	//if err != nil {
+	//	fmt.Println(err)
+	//	return
+	//}
+	//fmt.Println(string(body))
 }
 
 func Dotognbu() {
@@ -75,19 +74,16 @@ func Dotognbu() {
 	}
 	accessToken := result.Data.AccessToken
 	fmt.Println(accessToken)
+	//同步权益客户
 	companyList, err := models.GetSendCompanyList()
 	if err != nil {
 		fmt.Println("Getres.pdfResult Err:", err.Error())
 	}
+	fmt.Println("权益客户", len(companyList))
 	var companyItems []*models.CompanyJson
 	if len(companyList) > 0 {
 		url = "https://crm.hzinsights.com/openapi/v1/Customer/batchSyncFiccCustomer?access_token=" + accessToken
 		for k, _ := range companyList {
-			//if v.Permission == "策略" {
-			//	companyList[k].Fe = "FICC"
-			//} else {
-			//
-			//}
 			companyList[k].Fe = "权益"
 			//一次同步一百条
 			companyItems = append(companyItems, companyList[k])
@@ -114,11 +110,47 @@ func Dotognbu() {
 			companyItems = make([]*models.CompanyJson, 0)
 		}
 	}
+	//同步FICC客户
+	companyFiccList, err := models.GetSendCompanyFiccList()
+	if err != nil {
+		fmt.Println("Getres.pdfResult Err:", err.Error())
+	}
+	fmt.Println("FICC客户", len(companyFiccList))
+	var companyFiccItems []*models.CompanyJson
+	if len(companyFiccList) > 0 {
+		url = "https://crm.hzinsights.com/openapi/v1/Customer/batchSyncFiccCustomer?access_token=" + accessToken
+		for k, _ := range companyFiccList {
+			companyList[k].Fe = "权益"
+			//一次同步一百条
+			companyFiccItems = append(companyFiccItems, companyFiccList[k])
+			if (k+1)%100 == 0 {
+				data, err := json.Marshal(companyFiccItems)
+				if err != nil {
+					fmt.Println(err)
+				}
+				jsonstr := string(data)
+				jsonstr = "{\"sync_data\": " + jsonstr + " }"
+				SendComapnyToShanghai(url, jsonstr)
+				companyFiccItems = make([]*models.CompanyJson, 0)
+			}
+		}
+		//如果剩下还有则同步剩下的部分
+		if len(companyFiccItems) > 0 {
+			data, err := json.Marshal(companyFiccItems)
+			if err != nil {
+				fmt.Println(err)
+			}
+			jsonstr := string(data)
+			jsonstr = "{\"sync_data\": " + jsonstr + " }"
+			SendComapnyToShanghai(url, jsonstr)
+		}
+	}
 
 	userList, err := models.GetSendUserList()
 	if err != nil {
 		fmt.Println("Getres.pdfResult Err:", err.Error())
 	}
+	fmt.Println("userList", len(userList))
 	var userItems []*models.UserJson
 	if len(userList) > 0 {
 		url = "https://crm.hzinsights.com/openapi/v1/CustomerContact/batchSyncFiccCustomerContact?access_token=" + accessToken