|
@@ -3,6 +3,7 @@ package services
|
|
|
import (
|
|
|
"context"
|
|
|
"encoding/json"
|
|
|
+ "errors"
|
|
|
"fmt"
|
|
|
"github.com/tealeg/xlsx"
|
|
|
"hongze/hongze_cygx/models"
|
|
@@ -168,7 +169,7 @@ func DotongbuShangHai(cont context.Context) (err error) {
|
|
|
}
|
|
|
|
|
|
//偶尔需要单独同步某一个公司的人员
|
|
|
- //condition = ` AND c.company_id = 5676 `
|
|
|
+ //condition = ` AND c.company_id = 6599 `
|
|
|
|
|
|
//同30小时有变更的公司
|
|
|
DotongbuShangHaApi(condition)
|
|
@@ -205,6 +206,37 @@ func DotongbuShangHaApi(condition string) (err error) {
|
|
|
msg = "GetSendCompanyList Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ mappermissionData := make(map[int][]*models.PermissionData)
|
|
|
+ if len(companyList) > 0 {
|
|
|
+ comapnyIdArr := make([]int, 0)
|
|
|
+ for _, v := range companyList {
|
|
|
+ comapnyIdArr = append(comapnyIdArr, v.Cid)
|
|
|
+ }
|
|
|
+ var conditionComapny string
|
|
|
+ var pars []interface{}
|
|
|
+ conditionComapny += ` AND cp.company_id IN (` + utils.GetOrmInReplace(len(comapnyIdArr)) + ` ) `
|
|
|
+ pars = append(pars, comapnyIdArr)
|
|
|
+ permissionDataList, e := models.GetSendCompanyPermissionDataList(conditionComapny, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSendCompanyPermissionDataList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var IsTryOut int
|
|
|
+ for _, v := range permissionDataList {
|
|
|
+ if v.Status == "试用" {
|
|
|
+ IsTryOut = 1
|
|
|
+ } else {
|
|
|
+ IsTryOut = 0
|
|
|
+ }
|
|
|
+ mappermissionData[v.CompanyId] = append(mappermissionData[v.CompanyId], &models.PermissionData{
|
|
|
+ PermissionName: v.PermissionName,
|
|
|
+ StartTime: strconv.Itoa(int(v.StartDate.Unix())),
|
|
|
+ EndTime: strconv.Itoa(int(v.EndDate.Unix())),
|
|
|
+ IsTryOut: IsTryOut,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
fmt.Println("权益客户", len(companyList))
|
|
|
var companyItems []*models.CompanyJson
|
|
|
if len(companyList) > 0 {
|
|
@@ -214,6 +246,9 @@ func DotongbuShangHaApi(condition string) (err error) {
|
|
|
companyList[k].Fe = "权益"
|
|
|
companyList[k].EndDate = strconv.Itoa(int(companyList[k].EndDateTime.Unix()))
|
|
|
//一次同步一百条
|
|
|
+ if len(mappermissionData[companyList[k].Cid]) > 0 {
|
|
|
+ companyList[k].PermissionData = mappermissionData[companyList[k].Cid]
|
|
|
+ }
|
|
|
companyItems = append(companyItems, companyList[k])
|
|
|
if (k+1)%100 == 0 {
|
|
|
data, err := json.Marshal(companyItems)
|
|
@@ -237,6 +272,7 @@ func DotongbuShangHaApi(condition string) (err error) {
|
|
|
jsonstr := string(data)
|
|
|
jsonstr = "{\"sync_data\": " + jsonstr + " }"
|
|
|
SendComapnyToShanghai(url, jsonstr, "权益")
|
|
|
+ utils.FileLog.Info("发送模版消息失败,msg:%s", jsonstr)
|
|
|
companyItems = make([]*models.CompanyJson, 0)
|
|
|
}
|
|
|
}
|
|
@@ -246,6 +282,37 @@ func DotongbuShangHaApi(condition string) (err error) {
|
|
|
msg = "GetSendCompanyFiccList Err:" + err.Error()
|
|
|
return err
|
|
|
}
|
|
|
+ mappermissionDataFicc := make(map[int][]*models.PermissionData)
|
|
|
+ if len(companyFiccList) > 0 {
|
|
|
+ comapnyIdArr := make([]int, 0)
|
|
|
+ for _, v := range companyFiccList {
|
|
|
+ comapnyIdArr = append(comapnyIdArr, v.Cid)
|
|
|
+ }
|
|
|
+ var conditionComapny string
|
|
|
+ var pars []interface{}
|
|
|
+ conditionComapny = ` AND cp.company_id IN (` + utils.GetOrmInReplace(len(comapnyIdArr)) + ` ) `
|
|
|
+ pars = append(pars, comapnyIdArr)
|
|
|
+ permissionDataList, e := models.GetSendCompanyPermissionDataList(conditionComapny, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetSendCompanyPermissionDataList, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var IsTryOut int
|
|
|
+ for _, v := range permissionDataList {
|
|
|
+ if v.Status == "试用" {
|
|
|
+ IsTryOut = 1
|
|
|
+ } else {
|
|
|
+ IsTryOut = 0
|
|
|
+ }
|
|
|
+ mappermissionDataFicc[v.CompanyId] = append(mappermissionDataFicc[v.CompanyId], &models.PermissionData{
|
|
|
+ PermissionName: v.PermissionName,
|
|
|
+ StartTime: strconv.Itoa(int(v.StartDate.Unix())),
|
|
|
+ EndTime: strconv.Itoa(int(v.EndDate.Unix())),
|
|
|
+ IsTryOut: IsTryOut,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
fmt.Println("FICC客户", len(companyFiccList))
|
|
|
var companyFiccItems []*models.CompanyJson
|
|
|
if len(companyFiccList) > 0 {
|
|
@@ -254,6 +321,9 @@ func DotongbuShangHaApi(condition string) (err error) {
|
|
|
for k, _ := range companyFiccList {
|
|
|
companyFiccList[k].Fe = "FICC"
|
|
|
companyFiccList[k].EndDate = strconv.Itoa(int(companyFiccList[k].EndDateTime.Unix()))
|
|
|
+ if len(mappermissionData[companyList[k].Cid]) > 0 {
|
|
|
+ companyList[k].PermissionData = mappermissionData[companyList[k].Cid]
|
|
|
+ }
|
|
|
//一次同步一百条
|
|
|
companyFiccItems = append(companyFiccItems, companyFiccList[k])
|
|
|
if (k+1)%100 == 0 {
|