|
@@ -1,9 +1,12 @@
|
|
|
package comein
|
|
|
|
|
|
import (
|
|
|
+ "context"
|
|
|
"encoding/json"
|
|
|
"errors"
|
|
|
"fmt"
|
|
|
+ "hongze/hongze_task/models"
|
|
|
+ "hongze/hongze_task/models/yb"
|
|
|
"hongze/hongze_task/services/alarm_msg"
|
|
|
"hongze/hongze_task/utils"
|
|
|
"io/ioutil"
|
|
@@ -11,6 +14,7 @@ import (
|
|
|
"net/url"
|
|
|
"sort"
|
|
|
"strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -265,3 +269,680 @@ func GetSign(params map[string]string) (paramStr string) {
|
|
|
params["appId"] = utils.COMEIN_APPID
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// InitAddWhiteList 初始化进门财经白名单
|
|
|
+func InitAddWhiteList() (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go alarm_msg.SendAlarmMsg("InitAddWhiteList;ERR:"+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ postUrl := utils.COMEIN_URL
|
|
|
+
|
|
|
+ list, err := models.GetComeinWhiteUserMulti()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetUserMobileFormal Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ whiteList := make([]yb.Whitelist, 0)
|
|
|
+ for _, v := range list {
|
|
|
+ whiteUser := yb.Whitelist{}
|
|
|
+ if v.Mobile != "" {
|
|
|
+ whiteUser.Phone = v.Mobile
|
|
|
+ whiteUser.Areacode = v.CountryCode
|
|
|
+ whiteUser.Guid = utils.MD5(strconv.Itoa(v.UserId))
|
|
|
+
|
|
|
+ whiteList = append(whiteList, whiteUser)
|
|
|
+ } else if v.Email != "" {
|
|
|
+ whiteUser.Email = v.Email
|
|
|
+ whiteUser.Guid = utils.MD5(strconv.Itoa(v.UserId))
|
|
|
+
|
|
|
+ whiteList = append(whiteList, whiteUser)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Println("共" + strconv.Itoa(len(whiteList)) + "条数据")
|
|
|
+ // 分批发送请求
|
|
|
+ var count int
|
|
|
+ request := yb.SyncWhitelist{
|
|
|
+ Opt: 1,
|
|
|
+ AppID: utils.COMEIN_WHITELIST_APPID,
|
|
|
+ }
|
|
|
+ for i, v := range whiteList {
|
|
|
+ //whiteItem := yb.Whitelist{
|
|
|
+ // Guid: v.Guid,
|
|
|
+ // Phone: v.Phone,
|
|
|
+ // Email: v.Email,
|
|
|
+ // Areacode: v.Areacode,
|
|
|
+ //}
|
|
|
+ request.Whitelist = append(request.Whitelist, v)
|
|
|
+ if count < 10000 && (len(whiteList)-i-1) > 0 {
|
|
|
+ count++
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ count = 0
|
|
|
+
|
|
|
+ timestamp := fmt.Sprintf("%d", time.Now().UnixNano()/1e6)
|
|
|
+ signature := GetSignature("1", timestamp)
|
|
|
+ request.Signature = signature
|
|
|
+ request.Timestamp = timestamp
|
|
|
+
|
|
|
+ jsonData, e := json.Marshal(request)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ headers := map[string]string{
|
|
|
+ "app": "json",
|
|
|
+ "mod": "channelopen",
|
|
|
+ "act": "whitelist",
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发起POST请求
|
|
|
+ resp, e := utils.MakePostRequest(postUrl, jsonData, headers)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+
|
|
|
+ body, e := ioutil.ReadAll(resp.Body)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ fmt.Println("reponse error", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ result := new(yb.ComeinResponse)
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("json.Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nrequest:", jsonData, ";\nresponse:", string(body)))
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nrequest:", jsonData, ";\nresponse:", string(body)))
|
|
|
+ err = errors.New("Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.ErrorCode != "0" {
|
|
|
+ utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nrequest:", request, ";\nresponse:", string(body)))
|
|
|
+ err = errors.New(result.ErrorDesc)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ request.Whitelist = nil
|
|
|
+ time.Sleep(110 * time.Second)
|
|
|
+ fmt.Println("同步成功:" + strconv.Itoa(i+1) + "条数据")
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func GetSignature(opt, timestamp string) (signature string) {
|
|
|
+ //获取map的下标切片,然后对下标进行排序
|
|
|
+ keySlice := make([]string, 0)
|
|
|
+
|
|
|
+ //基础参数
|
|
|
+ params := make(map[string]string, 0)
|
|
|
+ params["appid"] = utils.COMEIN_WHITELIST_APPID //签名用的是appid,实际请求用的appId
|
|
|
+ if opt != "" {
|
|
|
+ params["opt"] = opt
|
|
|
+ }
|
|
|
+ params["timestamp"] = timestamp
|
|
|
+
|
|
|
+ for index := range params {
|
|
|
+ keySlice = append(keySlice, index)
|
|
|
+ }
|
|
|
+ sort.Strings(keySlice)
|
|
|
+
|
|
|
+ var paramStr string
|
|
|
+ // 待签名字符串
|
|
|
+ for _, index := range keySlice {
|
|
|
+ paramStr += index + `=` + params[index] + `&`
|
|
|
+ }
|
|
|
+
|
|
|
+ paramStr = paramStr[:len(paramStr)-1]
|
|
|
+
|
|
|
+ // 获取签名
|
|
|
+ signStr := utils.HmacMd5(utils.COMEIN_WHITELIST_SECREKEY, paramStr)
|
|
|
+ signature = url.QueryEscape(signStr)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func InitComeinWhiteList() (err error) {
|
|
|
+ list := make([]*models.ComeinWhiteUser, 0)
|
|
|
+
|
|
|
+ realList, err := models.GetUserMobileFormal()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetUserMobileFormal Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range realList {
|
|
|
+ user := models.ComeinWhiteUser{
|
|
|
+ Email: v.Email,
|
|
|
+ Mobile: v.Mobile,
|
|
|
+ CountryCode: "+86",
|
|
|
+ IsFake: 0,
|
|
|
+ }
|
|
|
+ list = append(list, &user)
|
|
|
+ }
|
|
|
+
|
|
|
+ for i := 0; i < 100000-len(realList); i++ {
|
|
|
+ phone := utils.RandomPhone()
|
|
|
+ user := models.ComeinWhiteUser{
|
|
|
+ Mobile: phone,
|
|
|
+ CountryCode: "+86",
|
|
|
+ IsFake: 1,
|
|
|
+ }
|
|
|
+ list = append(list, &user)
|
|
|
+ }
|
|
|
+
|
|
|
+ err = models.AddComeinWhiteUserMulti(list)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("添加随机手机号失败", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fmt.Println("添加随机手机号成功")
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// SyncWhiteList 同步进门财经白名单定时任务
|
|
|
+func SyncWhiteList(cont context.Context) (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go alarm_msg.SendAlarmMsg("SyncWhiteList;ERR:"+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ // 拿白名单表
|
|
|
+ list, err := models.GetComeinWhiteUserMulti()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetUserMobileFormal Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ syncedMap := make(map[string]bool, 0)
|
|
|
+ for _, v := range list {
|
|
|
+ syncedMap[v.Mobile+v.Email] = true
|
|
|
+ }
|
|
|
+
|
|
|
+ //拿联系人表,需要进白名单的
|
|
|
+ needAddList, err := models.GetUserMobileFormal()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetUserMobileFormal Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ addMobiles := ""
|
|
|
+ addemails := ""
|
|
|
+ addList := make([]*models.ComeinWhiteUser, 0)
|
|
|
+ for _, v := range needAddList {
|
|
|
+ if _, ok := syncedMap[v.Mobile+v.Email]; !ok {
|
|
|
+ user := models.ComeinWhiteUser{
|
|
|
+ Mobile: v.Mobile,
|
|
|
+ CountryCode: "+"+v.CountryCode,
|
|
|
+ Email: v.Email,
|
|
|
+ IsFake: 0,
|
|
|
+ }
|
|
|
+ addList = append(addList, &user)
|
|
|
+
|
|
|
+
|
|
|
+ if v.Mobile != "" {
|
|
|
+ //addMobiles = append(addMobiles,"'"+ v.Mobile+"'")
|
|
|
+ addMobiles += "'"+ v.Mobile+"'"+","
|
|
|
+ } else if v.Email != "" {
|
|
|
+ //addemails = append(addemails,"'"+ v.Email+"'")
|
|
|
+ addemails += "'"+ v.Email+"'"+","
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ addMobiles = strings.TrimSuffix(addMobiles, ",")
|
|
|
+ addemails = strings.TrimSuffix(addemails, ",")
|
|
|
+ if len(addList) > 0 {
|
|
|
+ err = models.AddComeinWhiteUserMulti(addList)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("新增白名单失败,AddComeinWhiteUserMulti", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = syncWhiteList(addMobiles,addemails, 1)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("新增白名单失败", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //拿联系人表,需要删除的
|
|
|
+ needDelList, err := models.GetUserMobileNotFormal()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetUserMobileFormal Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ delMobiles := ""
|
|
|
+ delEmials := ""
|
|
|
+ delList := make([]*models.ComeinWhiteUser, 0)
|
|
|
+ for _, v := range needDelList {
|
|
|
+ if _, ok := syncedMap[v.Mobile+v.Email]; ok {
|
|
|
+ user := models.ComeinWhiteUser{
|
|
|
+ UserId: v.UserId,
|
|
|
+ Mobile: v.Mobile,
|
|
|
+ CountryCode: "+"+v.CountryCode,
|
|
|
+ Email: v.Email,
|
|
|
+ IsFake: 0,
|
|
|
+ }
|
|
|
+ delList = append(delList, &user)
|
|
|
+
|
|
|
+ if v.Mobile != "" {
|
|
|
+ //delMobiles = append(delMobiles, "'"+v.Mobile+"'")
|
|
|
+ delMobiles += "'"+v.Mobile+"'"+","
|
|
|
+ } else if v.Email != "" {
|
|
|
+ //delEmials = append(delEmials, "'"+v.Email+"'")
|
|
|
+ delEmials += "'"+v.Email+"'"+","
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(delList) > 0 {
|
|
|
+ err = syncWhiteList(delMobiles, delEmials, 2)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("删除白名单失败", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ delIds := make([]int, 0)
|
|
|
+ for _, v := range delList {
|
|
|
+ delIds = append(delIds, v.UserId)
|
|
|
+ }
|
|
|
+ err = models.DelComeinWhiteUserMulti(delIds)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("删除白名单失败,DelComeinWhiteUserMulti", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func syncWhiteList(mobiles, emails string, opt int) (err error) {
|
|
|
+ postUrl := utils.COMEIN_URL
|
|
|
+
|
|
|
+ timestamp := fmt.Sprintf("%d", time.Now().UnixNano()/1e6)
|
|
|
+
|
|
|
+ signature := GetSignature(strconv.Itoa(opt), timestamp)
|
|
|
+
|
|
|
+ request := yb.SyncWhitelist{
|
|
|
+ Opt: opt,
|
|
|
+ Timestamp: timestamp,
|
|
|
+ AppID: utils.COMEIN_WHITELIST_APPID,
|
|
|
+ Signature: signature,
|
|
|
+ }
|
|
|
+
|
|
|
+ whiteList := make([]yb.Whitelist, 0)
|
|
|
+ list, err := models.GetComeinWhiteUser(mobiles, emails)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range list {
|
|
|
+ whiteUser := yb.Whitelist{}
|
|
|
+ if v.Mobile != "" {
|
|
|
+ whiteUser.Phone = v.Mobile
|
|
|
+ whiteUser.Areacode = v.CountryCode
|
|
|
+ whiteUser.Guid = utils.MD5(strconv.Itoa(v.UserId))
|
|
|
+
|
|
|
+ whiteList = append(whiteList, whiteUser)
|
|
|
+ } else if v.Email != "" {
|
|
|
+ whiteUser.Email = v.Email
|
|
|
+ whiteUser.Guid = utils.MD5(strconv.Itoa(v.UserId))
|
|
|
+
|
|
|
+ whiteList = append(whiteList, whiteUser)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ request.Whitelist = whiteList
|
|
|
+
|
|
|
+ jsonData, err := json.Marshal(request)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ headers := map[string]string{
|
|
|
+ "app": "json",
|
|
|
+ "mod": "channelopen",
|
|
|
+ "act": "whitelist",
|
|
|
+ }
|
|
|
+ // 发起POST请求
|
|
|
+ resp, err := utils.MakePostRequest(postUrl, jsonData, headers)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+
|
|
|
+ body, err := ioutil.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("reponse error", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ utils.FileLog.Info(fmt.Sprint("comein syncWhiteList Result", ";url:", postUrl, ";\nrequest:", request, ";\nresponse:", string(body)))
|
|
|
+
|
|
|
+ result := new(yb.ComeinResponse)
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("comein syncWhiteList Err:", err.Error(), ";url:", postUrl, ";response:", string(body))
|
|
|
+ err = errors.New("Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.ErrorCode != "0" {
|
|
|
+ utils.FileLog.Info("comein syncWhiteList Err:", err.Error(), ";url:", postUrl, ";response:", string(body))
|
|
|
+ err = errors.New(result.ErrorDesc)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// CheckWhiteList
|
|
|
+func CheckComeinWhiteList() (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go alarm_msg.SendAlarmMsg("InitAddWhiteList;ERR:"+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ logMsg := ``
|
|
|
+ timestamp := fmt.Sprintf("%d", time.Now().UnixNano()/1e6)
|
|
|
+ signature := GetSignature("", timestamp)
|
|
|
+
|
|
|
+ headers := map[string]string{
|
|
|
+ "app": "json", //模块名
|
|
|
+ "mod": "channelopen", //模块名
|
|
|
+ "act": "list-detail", //处理方法名
|
|
|
+ }
|
|
|
+
|
|
|
+ paramsMap := map[string]string{
|
|
|
+ "appId": utils.COMEIN_WHITELIST_APPID,
|
|
|
+ "signature": signature,
|
|
|
+ "timestamp": timestamp,
|
|
|
+ "phone": "138108810525",
|
|
|
+ }
|
|
|
+
|
|
|
+ paramStr := ``
|
|
|
+ for index, val := range paramsMap {
|
|
|
+ paramStr += index + `=` + val + `&`
|
|
|
+ }
|
|
|
+ paramStr = paramStr[:len(paramStr)-1]
|
|
|
+
|
|
|
+ getUrl := utils.COMEIN_URL + "?" + paramStr
|
|
|
+
|
|
|
+ // 创建一个新的请求
|
|
|
+ req, err := http.NewRequest("GET", getUrl, nil)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Error creating request:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 添加自定义的头部信息
|
|
|
+ for k, v := range headers {
|
|
|
+ req.Header.Add(k, v)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发送请求并获取响应
|
|
|
+ client := http.Client{}
|
|
|
+ resp, err := client.Do(req)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Error sending request:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+
|
|
|
+ body, err := ioutil.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ logMsg = fmt.Sprint("获取参会人员列表 comein get err; request:", getUrl, "; errMsg:", err.Error())
|
|
|
+ utils.FileLog.Info(logMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ result := new(yb.ComeinResponse)
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("json.Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";\nresponse:", string(body)))
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";response:", string(body))
|
|
|
+ err = errors.New("Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.ErrorCode != "0" {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";response:", string(body))
|
|
|
+ err = errors.New(result.ErrorDesc)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func AddWhiteList() (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go alarm_msg.SendAlarmMsg("InitAddWhiteList;ERR:"+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ postUrl := utils.COMEIN_URL
|
|
|
+
|
|
|
+ whiteUser := yb.Whitelist{}
|
|
|
+ whiteUser.Phone = "188286375317"
|
|
|
+ whiteUser.Areacode = "+86"
|
|
|
+ whiteUser.Guid = "26968fa5f8753ffdbaaab97fbe092f4f"
|
|
|
+
|
|
|
+ request := yb.SyncWhitelist{
|
|
|
+ Opt: 1,
|
|
|
+ AppID: utils.COMEIN_WHITELIST_APPID,
|
|
|
+ }
|
|
|
+ request.Whitelist = append(request.Whitelist, whiteUser)
|
|
|
+
|
|
|
+ timestamp := fmt.Sprintf("%d", time.Now().UnixNano()/1e6)
|
|
|
+ signature := GetSignature("1", timestamp)
|
|
|
+ request.Signature = signature
|
|
|
+ request.Timestamp = timestamp
|
|
|
+
|
|
|
+ jsonData, e := json.Marshal(request)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ headers := map[string]string{
|
|
|
+ "app": "json",
|
|
|
+ "mod": "channelopen",
|
|
|
+ "act": "whitelist",
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发起POST请求
|
|
|
+ resp, e := utils.MakePostRequest(postUrl, jsonData, headers)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+
|
|
|
+ body, e := ioutil.ReadAll(resp.Body)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ fmt.Println("reponse error", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ result := new(yb.ComeinResponse)
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("json.Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nresponse:", string(body)))
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl, ";response:", string(body))
|
|
|
+ err = errors.New("Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.ErrorCode != "0" {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl, ";response:", string(body))
|
|
|
+ err = errors.New(result.ErrorDesc)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ request.Whitelist = nil
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// CheckWhiteList
|
|
|
+func CheckComeinWhiteListByJobId() (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go alarm_msg.SendAlarmMsg("InitAddWhiteList;ERR:"+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ logMsg := ``
|
|
|
+
|
|
|
+ headers := map[string]string{
|
|
|
+ "app": "json", //模块名
|
|
|
+ "mod": "channelopen", //模块名
|
|
|
+ "act": "get-result", //处理方法名
|
|
|
+ }
|
|
|
+
|
|
|
+ paramsMap := map[string]string{
|
|
|
+ "jobId": "a180a8a4-a674-48ce-aa96-5a373c7dcc9c",
|
|
|
+ }
|
|
|
+
|
|
|
+ paramStr := ``
|
|
|
+ for index, val := range paramsMap {
|
|
|
+ paramStr += index + `=` + val + `&`
|
|
|
+ }
|
|
|
+ paramStr = paramStr[:len(paramStr)-1]
|
|
|
+
|
|
|
+ getUrl := utils.COMEIN_URL + "?" + paramStr
|
|
|
+
|
|
|
+ // 创建一个新的请求
|
|
|
+ req, err := http.NewRequest("GET", getUrl, nil)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Error creating request:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 添加自定义的头部信息
|
|
|
+ for k, v := range headers {
|
|
|
+ req.Header.Add(k, v)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发送请求并获取响应
|
|
|
+ client := http.Client{}
|
|
|
+ resp, err := client.Do(req)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Error sending request:", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+
|
|
|
+ body, err := ioutil.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ logMsg = fmt.Sprint("获取参会人员列表 comein get err; request:", getUrl, "; errMsg:", err.Error())
|
|
|
+ utils.FileLog.Info(logMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ result := new(yb.ComeinResponse)
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("json.Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";\nresponse:", string(body)))
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";response:", string(body))
|
|
|
+ err = errors.New("Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.ErrorCode != "0" {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";response:", string(body))
|
|
|
+ err = errors.New(result.ErrorDesc)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+func GetWhiteList() (err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ go alarm_msg.SendAlarmMsg("InitAddWhiteList;ERR:"+err.Error(), 3)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ postUrl := utils.COMEIN_URL
|
|
|
+ timestamp := fmt.Sprintf("%d", time.Now().UnixNano()/1e6)
|
|
|
+ signature := GetSignature("", timestamp)
|
|
|
+
|
|
|
+ request := yb.GetWhitelist{
|
|
|
+ Ts: timestamp,
|
|
|
+ AppID: utils.COMEIN_WHITELIST_APPID,
|
|
|
+ Signature: signature,
|
|
|
+ }
|
|
|
+
|
|
|
+ jsonData, e := json.Marshal(request)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ headers := map[string]string{
|
|
|
+ "app": "json",
|
|
|
+ "mod": "channelopen",
|
|
|
+ "act": "get-whitelist-v1",
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发起POST请求
|
|
|
+ resp, e := utils.MakePostRequest(postUrl, jsonData, headers)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+
|
|
|
+ body, e := ioutil.ReadAll(resp.Body)
|
|
|
+ if e != nil {
|
|
|
+ err = e
|
|
|
+ fmt.Println("reponse error", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ result := new(yb.ComeinResponse)
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("json.Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.FileLog.Info(fmt.Sprint("comein addWhitelist Result", ";url:", postUrl, ";\nresponse:", string(body)))
|
|
|
+ err = json.Unmarshal(body, &result)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl, ";response:", string(body))
|
|
|
+ err = errors.New("Unmarshal Err:" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if result.ErrorCode != "0" {
|
|
|
+ utils.FileLog.Info("comein addWhitelist Err:", err.Error(), ";url:", postUrl, ";response:", string(body))
|
|
|
+ err = errors.New(result.ErrorDesc)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|