|
@@ -1,13 +1,16 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
+ "context"
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
"hongze/hongze_cygx/models"
|
|
|
"hongze/hongze_cygx/utils"
|
|
|
"io/ioutil"
|
|
|
"net/http"
|
|
|
+ "strconv"
|
|
|
"strings"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
type GetShangHaiTokenResultApi struct {
|
|
@@ -38,7 +41,7 @@ type ShangHaiResultApidateComPany struct {
|
|
|
ErrMsg string `json:"errMsg"`
|
|
|
}
|
|
|
|
|
|
-//把信息同步到上海策略品台
|
|
|
+//c
|
|
|
func SendComapnyToShanghai(url, jsonCompany string) {
|
|
|
method := "POST"
|
|
|
//fmt.Println(string(jsonCompany))
|
|
@@ -62,55 +65,77 @@ func SendComapnyToShanghai(url, jsonCompany string) {
|
|
|
fmt.Println(err)
|
|
|
return
|
|
|
}
|
|
|
- var result GetShangHaiTokenResultApiComPany
|
|
|
+ var result GetShangHaiTokenResultApi
|
|
|
err = json.Unmarshal(body, &result)
|
|
|
if err != nil {
|
|
|
fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
}
|
|
|
- var companyCode string
|
|
|
- for _, v := range result.Data.FailInfo {
|
|
|
- if v.ErrMsg == "公司名称权益CRM已存在对应客户" {
|
|
|
- companyCode += "'" + v.ErrVal + "',"
|
|
|
- }
|
|
|
+ if result.Code != 1 {
|
|
|
+ go utils.SendEmail("同步策略平台信息失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), url, utils.EmailSendToExpert)
|
|
|
+ }
|
|
|
+ item := new(models.CygxShanghaiCompanyLog)
|
|
|
+ item.CreateTime = time.Now()
|
|
|
+ item.Url = url
|
|
|
+ item.Body = jsonCompany
|
|
|
+ item.Result = string(body)
|
|
|
+ go models.AddCygxShanghaiCompanyLog(item)
|
|
|
+
|
|
|
+ if strings.Index(string(body), "必填") > 0 || strings.Index(string(body), "失败") > 0 || strings.Index(string(body), "社会信用代码格式错误") > 0 {
|
|
|
+ go utils.SendEmail("同步策略平台信息失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), string(body), utils.EmailSendToExpert)
|
|
|
}
|
|
|
- //fmt.Println(result.Data.FailInfo)
|
|
|
- utils.FileLog.Info(string(companyCode))
|
|
|
- utils.FileLog.Info(string(body))
|
|
|
+ //var companyCode string
|
|
|
+ //for _, v := range result.Data.FailInfo {
|
|
|
+ // if v.ErrMsg == "c" {
|
|
|
+ // companyCode += "'" + v.ErrVal + "',"
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ ////fmt.Println(result.Data.FailInfo)
|
|
|
+ //utils.FileLog.Info(string(companyCode))
|
|
|
+ //utils.FileLog.Info(string(body))
|
|
|
//fmt.Println(string(body))
|
|
|
}
|
|
|
|
|
|
-func Dotognbu() {
|
|
|
+func DotongbuShangHai(cont context.Context) (err error) {
|
|
|
+ var msg string
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go utils.SendEmail("同步策略平台获取数据信息失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToExpert)
|
|
|
+ }
|
|
|
+ fmt.Println("line 21", err, msg)
|
|
|
+ }()
|
|
|
//获取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
|
|
|
+ msg = "GetToken Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
res, err := client.Do(req)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- return
|
|
|
+ msg = "client Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
defer res.Body.Close()
|
|
|
body, err := ioutil.ReadAll(res.Body)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ msg = "body Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
var result GetShangHaiTokenResultApi
|
|
|
err = json.Unmarshal(body, &result)
|
|
|
if err != nil {
|
|
|
- fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
+ msg = "Get result Err:" + err.Error()
|
|
|
+ return
|
|
|
}
|
|
|
accessToken := result.Data.AccessToken
|
|
|
fmt.Println(accessToken)
|
|
|
//同步权益客户
|
|
|
companyList, err := models.GetSendCompanyList()
|
|
|
if err != nil {
|
|
|
- fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
+ msg = "GetSendCompanyList Err:" + err.Error()
|
|
|
+ return
|
|
|
}
|
|
|
fmt.Println("权益客户", len(companyList))
|
|
|
var companyItems []*models.CompanyJson
|
|
@@ -118,12 +143,14 @@ func Dotognbu() {
|
|
|
url = "https://crm.hzinsights.com/openapi/v1/Customer/batchSyncFiccCustomer?access_token=" + accessToken
|
|
|
for k, _ := range companyList {
|
|
|
companyList[k].Fe = "权益"
|
|
|
+ companyList[k].EndDate = strconv.Itoa(int(companyList[k].EndDateTime.Unix()))
|
|
|
//一次同步一百条
|
|
|
companyItems = append(companyItems, companyList[k])
|
|
|
if (k+1)%100 == 0 {
|
|
|
data, err := json.Marshal(companyItems)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ msg = "companyItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
jsonstr := string(data)
|
|
|
jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
@@ -135,7 +162,8 @@ func Dotognbu() {
|
|
|
if len(companyItems) > 0 {
|
|
|
data, err := json.Marshal(companyItems)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ msg = "companyItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
jsonstr := string(data)
|
|
|
jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
@@ -146,7 +174,8 @@ func Dotognbu() {
|
|
|
//同步FICC客户
|
|
|
companyFiccList, err := models.GetSendCompanyFiccList()
|
|
|
if err != nil {
|
|
|
- fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
+ msg = "GetSendCompanyFiccList Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
fmt.Println("FICC客户", len(companyFiccList))
|
|
|
var companyFiccItems []*models.CompanyJson
|
|
@@ -154,12 +183,14 @@ func Dotognbu() {
|
|
|
url = "https://crm.hzinsights.com/openapi/v1/Customer/batchSyncFiccCustomer?access_token=" + accessToken
|
|
|
for k, _ := range companyFiccList {
|
|
|
companyFiccList[k].Fe = "FICC"
|
|
|
+ companyFiccList[k].EndDate = strconv.Itoa(int(companyFiccList[k].EndDateTime.Unix()))
|
|
|
//一次同步一百条
|
|
|
companyFiccItems = append(companyFiccItems, companyFiccList[k])
|
|
|
if (k+1)%100 == 0 {
|
|
|
data, err := json.Marshal(companyFiccItems)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ msg = "companyFiccItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
jsonstr := string(data)
|
|
|
jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
@@ -171,7 +202,8 @@ func Dotognbu() {
|
|
|
if len(companyFiccItems) > 0 {
|
|
|
data, err := json.Marshal(companyFiccItems)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ msg = "companyFiccItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
jsonstr := string(data)
|
|
|
jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
@@ -181,7 +213,8 @@ func Dotognbu() {
|
|
|
|
|
|
userList, err := models.GetSendUserList()
|
|
|
if err != nil {
|
|
|
- fmt.Println("Getres.pdfResult Err:", err.Error())
|
|
|
+ msg = "GetSendUserList Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
fmt.Println("userList", len(userList))
|
|
|
var userItems []*models.UserJson
|
|
@@ -209,8 +242,10 @@ func Dotognbu() {
|
|
|
if (k+1)%100 == 0 {
|
|
|
data, err := json.Marshal(userItems)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ msg = "userItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
+ fmt.Println(k)
|
|
|
jsonstr := string(data)
|
|
|
jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
SendComapnyToShanghai(url, jsonstr)
|
|
@@ -222,7 +257,8 @@ func Dotognbu() {
|
|
|
if len(userItems) > 0 {
|
|
|
data, err := json.Marshal(userItems)
|
|
|
if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
+ msg = "userItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
}
|
|
|
jsonstr := string(data)
|
|
|
jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
@@ -230,4 +266,5 @@ func Dotognbu() {
|
|
|
companyItems = make([]*models.CompanyJson, 0)
|
|
|
}
|
|
|
}
|
|
|
+ return
|
|
|
}
|