Browse Source

Merge branch 'comein'

zwxi 1 year ago
parent
commit
fc4cdeb422
2 changed files with 170 additions and 9 deletions
  1. 2 2
      models/users.go
  2. 168 7
      services/comein/comein.go

+ 2 - 2
models/users.go

@@ -130,7 +130,7 @@ WHERE
 	p.status IN (
 		'试用',
 	'永续',
-	'正式')`
+	'正式') AND p.product_id = 1 `
 	_, err = orm.NewOrm().Raw(sql).QueryRows(&list)
 	return
 }
@@ -156,7 +156,7 @@ WHERE
 	p.status NOT IN (
 		'试用',
 	'永续',
-	'正式')`
+	'正式') AND p.product_id = 1 `
 	_, err = orm.NewOrm().Raw(sql).QueryRows(&list)
 	return
 }

+ 168 - 7
services/comein/comein.go

@@ -303,13 +303,13 @@ func InitAddWhiteList() (err error) {
 		}
 	}
 
-	fmt.Println("共"+strconv.Itoa(len(whiteList))+"条数据")
+	fmt.Println("共" + strconv.Itoa(len(whiteList)) + "条数据")
 	// 分批发送请求
 	var count int
 	for i, v := range whiteList {
 		request := yb.SyncWhitelist{
-			Opt:       1,
-			AppID:     utils.COMEIN_WHITELIST_APPID,
+			Opt:   1,
+			AppID: utils.COMEIN_WHITELIST_APPID,
 		}
 		request.Whitelist = append(request.Whitelist, v)
 		if count < 17000 && (len(whiteList)-i-1) > 0 {
@@ -372,12 +372,11 @@ func InitAddWhiteList() (err error) {
 		}
 		request.Whitelist = nil
 		time.Sleep(110 * time.Second)
-		fmt.Println("同步成功:"+strconv.Itoa(i+1)+"条数据")
+		fmt.Println("同步成功:" + strconv.Itoa(i+1) + "条数据")
 	}
 	return
 }
 
-
 func GetSignature(opt, timestamp string) (signature string) {
 	//获取map的下标切片,然后对下标进行排序
 	keySlice := make([]string, 0)
@@ -385,7 +384,9 @@ func GetSignature(opt, timestamp string) (signature string) {
 	//基础参数
 	params := make(map[string]string, 0)
 	params["appid"] = utils.COMEIN_WHITELIST_APPID //签名用的是appid,实际请求用的appId
-	params["opt"] = opt
+	if opt != "" {
+		params["opt"] = opt
+	}
 	params["timestamp"] = timestamp
 
 	for index := range params {
@@ -408,7 +409,7 @@ func GetSignature(opt, timestamp string) (signature string) {
 	return
 }
 
-func InitComeinWhiteList()(err error) {
+func InitComeinWhiteList() (err error) {
 	list := make([]*models.ComeinWhiteUser, 0)
 
 	realList, err := models.GetUserMobileFormal()
@@ -602,3 +603,163 @@ func syncWhiteList(list []*models.ComeinWhiteUser, opt int) (err error) {
 	}
 	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":     "15906624664",
+	}
+
+	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 = "18602189391"
+	whiteUser.Areacode = "+86"
+	whiteUser.Guid = utils.MD5(strconv.Itoa(999999))
+
+
+	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
+}