|
@@ -3,6 +3,7 @@ package services
|
|
|
import (
|
|
|
"context"
|
|
|
"encoding/json"
|
|
|
+ "errors"
|
|
|
"fmt"
|
|
|
"github.com/tealeg/xlsx"
|
|
|
"hongze/hongze_cygx/models"
|
|
@@ -106,8 +107,8 @@ func SendComapnyToShanghai(url, jsonCompany, postType string) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//func DotongbuShangHai(cont context.Context) (err error) {
|
|
|
-func DotongbuShangHai() (err error) {
|
|
|
+func DotongbuShangHai(cont context.Context) (err error) {
|
|
|
+ //func DotongbuShangHai() (err error) {
|
|
|
//先删除被禁用的用户
|
|
|
DeleteUserDotongbuShangHaiApi()
|
|
|
var condition string
|
|
@@ -168,20 +169,20 @@ func DotongbuShangHai() (err error) {
|
|
|
}
|
|
|
|
|
|
//偶尔需要单独同步某一个公司的人员
|
|
|
- condition = ` AND c.company_id = 6901 `
|
|
|
+ //condition = ` AND c.company_id = 6599 `
|
|
|
|
|
|
//同30小时有变更的公司
|
|
|
DotongbuShangHaApi(condition)
|
|
|
|
|
|
//原有的公司如果新增了也同步
|
|
|
- //companyIds = strings.TrimRight(companyIds, ",")
|
|
|
- //if companyIds != "" {
|
|
|
- // condition = ` AND p.is_suspend = 0 AND c.company_id IN (` + companyIds + ")"
|
|
|
- // DotongbuShangHaApi(condition)
|
|
|
- //}
|
|
|
- //
|
|
|
- ////处理被禁用的用户,将禁用用户的状态同步
|
|
|
- //CompanySuspend()
|
|
|
+ companyIds = strings.TrimRight(companyIds, ",")
|
|
|
+ if companyIds != "" {
|
|
|
+ condition = ` AND p.is_suspend = 0 AND c.company_id IN (` + companyIds + ")"
|
|
|
+ DotongbuShangHaApi(condition)
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理被禁用的用户,将禁用用户的状态同步
|
|
|
+ CompanySuspend()
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -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 {
|