ソースを参照

更新 'resourceChannel/resourceChannel.go'

数组越界BUG修改
go_dev 2 年 前
コミット
4d35c60646
1 ファイル変更11 行追加8 行削除
  1. 11 8
      resourceChannel/resourceChannel.go

+ 11 - 8
resourceChannel/resourceChannel.go

@@ -21,8 +21,8 @@ type SemJsChatRecord struct {
 	GrUserID   string    `gorm:"column:gr_user_id"`
 }
 
-// GetChatChannel 会话渠道归因处理
-func GetChatChannel(chat SemJsChatRecord) ChannelCategory {
+// 会话渠道归因处理
+func getChatChannel(chat SemJsChatRecord) ChannelCategory {
 	channel := 7
 	category := 126
 	if strings.Contains(chat.ChatURL, "pages") && strings.Split(strings.Split(chat.ChatURL, "?")[1], "=")[0] == "miniapp" {
@@ -45,8 +45,10 @@ func GetChatChannel(chat SemJsChatRecord) ChannelCategory {
 		sql := "select $url from events where distinct_id = '" + chat.GrUserID + "'and event = '$pageview' and time between '" + start + "' and '" + end + "' order by time limit 1"
 		url := getSensorsData(sql)
 		if strings.Contains(url, "utm") && strings.Contains(strings.ToLower(url), "link") {
-			channelIDString := strings.Split(strings.Split(strings.Split(url, "link")[1], "_")[0], "=")[1]
-			categoryIDString := strings.Split(strings.Split(strings.Split(url, "link")[1], "_")[0], "=")[2]
+			println(url)
+			println(strings.Split(url, "link")[1])
+			channelIDString := strings.Split(strings.Split(url, "link")[1], "_")[1]
+			categoryIDString := strings.Split(strings.Split(url, "link")[1], "_")[2]
 			channel, _ = strconv.Atoi(channelIDString)
 			category, _ = strconv.Atoi(categoryIDString)
 		} else if url == "https://www.jjl.cn/" || url == "https://m.jjl.cn/" {
@@ -58,13 +60,14 @@ func GetChatChannel(chat SemJsChatRecord) ChannelCategory {
 		}
 	} else {
 		if strings.Contains(strings.ToLower(chat.ChatURL), "link") {
-			channelIDString := strings.Split(strings.Split(strings.Split(chat.ChatURL, "link")[1], "_")[0], "=")[1]
-			categoryIDString := strings.Split(strings.Split(strings.Split(chat.ChatURL, "link")[1], "_")[0], "=")[2]
+			println(chat.ChatURL)
+			channelIDString := strings.Split(strings.Split(chat.ChatURL, "link")[1], "_")[1]
+			categoryIDString := strings.Split(strings.Split(chat.ChatURL, "link")[1], "_")[2]
 			channel, _ = strconv.Atoi(channelIDString)
 			category, _ = strconv.Atoi(categoryIDString)
 		} else if strings.Contains(strings.ToLower(chat.ReferPage), "link") {
-			channelIDString := strings.Split(strings.Split(strings.Split(chat.ReferPage, "link")[1], "_")[0], "=")[1]
-			categoryIDString := strings.Split(strings.Split(strings.Split(chat.ReferPage, "link")[1], "_")[0], "=")[2]
+			channelIDString := strings.Split(strings.Split(chat.ReferPage, "link")[1], "_")[1]
+			categoryIDString := strings.Split(strings.Split(chat.ReferPage, "link")[1], "_")[2]
 			channel, _ = strconv.Atoi(channelIDString)
 			category, _ = strconv.Atoi(categoryIDString)
 		} else if !strings.Contains(strings.ToLower(chat.ReferPage), "link") {