|
@@ -0,0 +1,162 @@
|
|
|
+package services
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "fmt"
|
|
|
+ "hongze/hongze_cygx/models"
|
|
|
+ "io/ioutil"
|
|
|
+ "net/http"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
+
|
|
|
+type GetShangHaiTokenResultApi struct {
|
|
|
+ Code int `json:"code"`
|
|
|
+ Msg string `json:"msg"`
|
|
|
+ Time int `json:"time"`
|
|
|
+ Data ShangHaiResultApidate `json:"data"`
|
|
|
+}
|
|
|
+
|
|
|
+type ShangHaiResultApidate struct {
|
|
|
+ AccessToken string `json:"access_token"`
|
|
|
+ ExpireIn int `json:"expire_in"`
|
|
|
+}
|
|
|
+
|
|
|
+//把信息同步到上海策略品台
|
|
|
+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))
|
|
|
+}
|
|
|
+
|
|
|
+func Dotognbu() {
|
|
|
+ //获取token
|
|
|
+ url := "https://crm.hzinsights.com/openapi/v1/auth/getAccessToken?app_key=26945134&app_secret=b99cb2bdec70d20156000f664ec5ac30"
|
|
|
+ method := "GET"
|
|
|
+ client := &http.Client{}
|
|
|
+ req, err := http.NewRequest(method, url, nil)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ var result GetShangHaiTokenResultApi
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
+ }
|
|
|
+ accessToken := result.Data.AccessToken
|
|
|
+ fmt.Println(accessToken)
|
|
|
+ companyList, err := models.GetSendCompanyList()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
+ }
|
|
|
+ var companyItems []*models.CompanyJson
|
|
|
+ if len(companyList) > 0 {
|
|
|
+ url = "https://crm.hzinsights.com/openapi/v1/Customer/batchSyncFiccCustomer?access_token=" + accessToken
|
|
|
+ for k, v := range companyList {
|
|
|
+ if v.Permission == "策略" {
|
|
|
+ companyList[k].Fe = "FICC"
|
|
|
+ } else {
|
|
|
+ companyList[k].Fe = "权益"
|
|
|
+ }
|
|
|
+ //一次同步一百条
|
|
|
+ companyItems = append(companyItems, companyList[k])
|
|
|
+ if (k+1)%100 == 0 {
|
|
|
+ data, err := json.Marshal(companyItems)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ jsonstr := string(data)
|
|
|
+ jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
+ SendComapnyToShanghai(url, jsonstr)
|
|
|
+ companyItems = make([]*models.CompanyJson, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果剩下还有则同步剩下的部分
|
|
|
+ if len(companyItems) > 0 {
|
|
|
+ data, err := json.Marshal(companyItems)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ jsonstr := string(data)
|
|
|
+ jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
+ SendComapnyToShanghai(url, jsonstr)
|
|
|
+ companyItems = make([]*models.CompanyJson, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ userList, err := models.GetSendUserList()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
+ }
|
|
|
+ var userItems []*models.UserJson
|
|
|
+ if len(userList) > 0 {
|
|
|
+ url = "https://crm.hzinsights.com/openapi/v1/CustomerContact/batchSyncFiccCustomerContact?access_token=" + accessToken
|
|
|
+ for k, v := range userList {
|
|
|
+ if v.Sex == "1" {
|
|
|
+ userList[k].Sex = "男"
|
|
|
+ } else {
|
|
|
+ userList[k].Sex = "女"
|
|
|
+ }
|
|
|
+ if v.IsMaker == "1" {
|
|
|
+ userList[k].IsMaker = "是"
|
|
|
+ } else {
|
|
|
+ userList[k].IsMaker = "否"
|
|
|
+ }
|
|
|
+ userList[k].CountryCode = "+" + v.CountryCode
|
|
|
+ userList[k].OutboundCountryCode = "+" + v.OutboundCountryCode
|
|
|
+ //一次同步一百条
|
|
|
+ userItems = append(userItems, userList[k])
|
|
|
+ if (k+1)%100 == 0 {
|
|
|
+ data, err := json.Marshal(userItems)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ jsonstr := string(data)
|
|
|
+ jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
+ SendComapnyToShanghai(url, jsonstr)
|
|
|
+ companyItems = make([]*models.CompanyJson, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果剩下还有则同步剩下的部分
|
|
|
+ if len(userItems) > 0 {
|
|
|
+ data, err := json.Marshal(userItems)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ jsonstr := string(data)
|
|
|
+ jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
+ SendComapnyToShanghai(url, jsonstr)
|
|
|
+ companyItems = make([]*models.CompanyJson, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|