|
@@ -168,6 +168,9 @@ func DotongbuShangHai(cont context.Context) (err error) {
|
|
|
condition = ` AND c.company_id IN (` + companyIds + ")"
|
|
|
DotongbuShangHaApi(condition)
|
|
|
}
|
|
|
+
|
|
|
+ //处理被禁用的用户,将禁用用户的状态转冻结
|
|
|
+ CompanySuspend()
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -542,3 +545,127 @@ func GetShangHaiCrmApiToken() (token string, err error) {
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+//处理被禁用的用户,将禁用用户的状态转冻结
|
|
|
+func CompanySuspend() (err error) {
|
|
|
+ var msg string
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ go utils.SendAlarmMsg("同步策略平台处理被禁用的用户,将禁用用户的状态转冻结失败", 2)
|
|
|
+ go utils.SendEmail("同步策略平台处理被禁用的用户,将禁用用户的状态转冻结失败"+"【"+utils.APPNAME+"】"+time.Now().Format("2006-01-02 15:04:05"), msg+";Err:"+err.Error(), utils.EmailSendToExpert)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ var url string
|
|
|
+ accessToken, err := GetShangHaiCrmApiToken()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ updateTime := time.Now().Add(-time.Minute * 22).Format("2006-01-02 15:04:05")
|
|
|
+ listSuspendCompany, err := models.GetWxUserOpLogSuspend(updateTime)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ fmt.Println("禁用的用户", len(listSuspendCompany))
|
|
|
+ var suspendCompanyIds string
|
|
|
+ if len(listSuspendCompany) > 0 {
|
|
|
+ for _, v := range listSuspendCompany {
|
|
|
+ suspendCompanyIds += strconv.Itoa(v.CompanyId) + ","
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ fmt.Println(suspendCompanyIds)
|
|
|
+ //同步权益客户
|
|
|
+ if suspendCompanyIds == "" {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ suspendCompanyIds = strings.TrimRight(suspendCompanyIds, ",")
|
|
|
+ condition := ` AND c.company_id IN (` + suspendCompanyIds + ")"
|
|
|
+
|
|
|
+ companyList, err := models.GetSendCompanyList(condition)
|
|
|
+ if err != nil {
|
|
|
+ msg = "GetSendCompanyList Err:" + err.Error()
|
|
|
+ fmt.Println(err)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ fmt.Println("权益客户", len(companyList))
|
|
|
+ var companyItems []*models.CompanyJson
|
|
|
+ if len(companyList) > 0 {
|
|
|
+ //url = "https://crm.hzinsights.com/openapi/v1/Customer/batchSyncFiccCustomer?access_token=" + accessToken
|
|
|
+ url = utils.ShangHaiCrmApiLink + "openapi/v1/Customer/batchSyncFiccCustomer?access_token=" + accessToken
|
|
|
+ for k, _ := range companyList {
|
|
|
+ companyList[k].Fe = "权益"
|
|
|
+ companyList[k].Status = "冻结"
|
|
|
+ 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 {
|
|
|
+ msg = "companyItems Err:" + err.Error()
|
|
|
+ return 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 {
|
|
|
+ msg = "companyItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ jsonstr := string(data)
|
|
|
+ jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
+ SendComapnyToShanghai(url, jsonstr, "权益")
|
|
|
+ companyItems = make([]*models.CompanyJson, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //同步FICC客户
|
|
|
+ companyFiccList, err := models.GetSendCompanyFiccList(condition)
|
|
|
+ if err != nil {
|
|
|
+ msg = "GetSendCompanyFiccList Err:" + err.Error()
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ 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
|
|
|
+ url = utils.ShangHaiCrmApiLink + "openapi/v1/Customer/batchSyncFiccCustomer?access_token=" + accessToken
|
|
|
+ for k, _ := range companyFiccList {
|
|
|
+ companyFiccList[k].Fe = "FICC"
|
|
|
+ companyList[k].Status = "冻结"
|
|
|
+ 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 {
|
|
|
+ msg = "companyFiccItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ jsonstr := string(data)
|
|
|
+ jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
+ SendComapnyToShanghai(url, jsonstr, "FICC")
|
|
|
+ companyFiccItems = make([]*models.CompanyJson, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //如果剩下还有则同步剩下的部分
|
|
|
+ if len(companyFiccItems) > 0 {
|
|
|
+ data, err := json.Marshal(companyFiccItems)
|
|
|
+ if err != nil {
|
|
|
+ msg = "companyFiccItems Err:" + err.Error()
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ jsonstr := string(data)
|
|
|
+ jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
+ SendComapnyToShanghai(url, jsonstr, "FICC")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|