From 25b805b8d4fac51c32c802f9074e0cf9422e3557 Mon Sep 17 00:00:00 2001
From: haoyanbin <605649647@qq.com>
Date: Sat, 2 Sep 2023 16:20:44 +0800
Subject: [PATCH] 1

---
 api/mobile/survey.go |  3 ++-
 service/ipaddr.go    | 11 ++++++-----
 utils/common_api.go  |  6 +++---
 utils/serialize.go   | 16 +++++++++++-----
 4 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/api/mobile/survey.go b/api/mobile/survey.go
index ddf3c0d..ec9f707 100755
--- a/api/mobile/survey.go
+++ b/api/mobile/survey.go
@@ -47,7 +47,8 @@ func CreateSurveyLog(c *gin.Context) {
 	var req model.SurveyLog
 	_ = c.ShouldBindJSON(&req)
 
-	ipData, _ := service.GetIpaddr(c.ClientIP())
+	//ipData, _ := service.GetIpaddr(c.ClientIP())
+	ipData, _ := service.GetIpaddr("125.34.219.138")
 	fmt.Println(ipData)
 
 	req.CreateTime = utils.NowTime()
diff --git a/service/ipaddr.go b/service/ipaddr.go
index 58ff715..a436d35 100644
--- a/service/ipaddr.go
+++ b/service/ipaddr.go
@@ -22,7 +22,7 @@ func GetIpaddr(ip string) (utils.IpData, string) {
 
 	beforetime := nowtime.Add(d)
 
-	global.GVA_DB.Table("ipaddr").Where("ip = ? and code = ? and create_time > ", ip, 400, beforetime).First(&data)
+	global.GVA_DB.Table("ipaddr").Where("ip = ? and code = ? and create_time > ", ip, 200, beforetime).First(&data)
 	if data.Id > 0 {
 		ipDataDb := new(utils.IpData)
 		utils.UnserislizeJson(data.Data, ipDataDb)
@@ -32,10 +32,11 @@ func GetIpaddr(ip string) (utils.IpData, string) {
 	ipData := utils.GetIpaddr(ip)
 
 	IpaddrData := model.Ipaddr{
-		Ip:     ip,
-		Code:   ipData.Code,
-		TaskNo: ipData.TaskNo,
-		Data:   string(utils.SerializeJson(ipData.Data)),
+		Ip:         ip,
+		Code:       ipData.Code,
+		TaskNo:     ipData.TaskNo,
+		Data:       string(utils.SerializeJson(ipData.Data)),
+		CreateTime: utils.NowTime(),
 	}
 
 	global.GVA_DB.Table("ipaddr").Create(&IpaddrData)
diff --git a/utils/common_api.go b/utils/common_api.go
index 259b3d4..51ce4ec 100644
--- a/utils/common_api.go
+++ b/utils/common_api.go
@@ -7,10 +7,10 @@ import (
 func GetIpaddr(ip string) GetIpaddrReply {
 	url := global.GVA_CONFIG.Ipaddr.Url
 
-	data := new(GetIpaddrReq)
-	data.Ip = ip
+	data := map[string]string{}
+	data["ip"] = ip
 
-	resp := GetIpaddrPost(url, data, global.GVA_CONFIG.Ipaddr.Appcode, 1)
+	resp := GetIpaddrPostUrl(url, data, global.GVA_CONFIG.Ipaddr.Appcode, 1)
 
 	reply := new(GetIpaddrReply)
 
diff --git a/utils/serialize.go b/utils/serialize.go
index 0521f0d..3794a0d 100755
--- a/utils/serialize.go
+++ b/utils/serialize.go
@@ -193,11 +193,16 @@ func PostWithFormData(method, url string, postData *map[string]string, token str
 	return string(data)
 }
 
-func GetIpaddrPost(url string, data interface{}, token string, isPrt int) string {
+func GetIpaddrPostUrl(posturl string, data map[string]string, token string, isPrt int) string {
 	// 超时时间:10秒
 	client := &http.Client{Timeout: 10 * time.Second}
 	if isPrt == 1 {
-		fmt.Println("请求地址:" + url)
+		fmt.Println("请求地址:" + posturl)
+	}
+
+	urlVal := url.Values{}
+	for k, v := range data {
+		urlVal.Add(k, v)
 	}
 
 	jsonStr, _ := json.Marshal(data)
@@ -205,14 +210,15 @@ func GetIpaddrPost(url string, data interface{}, token string, isPrt int) string
 		fmt.Println("请求数据:" + string(jsonStr))
 	}
 
-	reqest, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr))
+	postData := strings.NewReader(urlVal.Encode())
+	reqest, err := http.NewRequest("POST", posturl, postData)
 
 	if token != "" {
 		reqest.Header.Add("Authorization", "APPCODE "+token)
 		//fmt.Println("token:" + token)
 	}
-	reqest.Header.Add("Content-Type", "application/json")
-	reqest.Header.Add("Connection", "keep-alive")
+	reqest.Header.Add("Content-Type", "application/x-www-form-urlencoded")
+	//reqest.Header.Add("Connection", "keep-alive")
 	if err != nil {
 		fmt.Println(err)
 		return ""
-- 
2.18.1