wangshan 1 жил өмнө
parent
commit
87c8a69d81

+ 1 - 8
src/config.json

@@ -788,14 +788,7 @@
 			"once":true
 		},
 		"wx_zhlnjgdhh_bm":{
-			"remark": "2023智慧路南京掼蛋活动-报名-wx##0",
-			"passive":false,
-			"frequency": "10",
-			"enabled":true,
-			"force":false
-		},
-		"wx_exhibition002_bm":{
-			"remark": "展会报名##1",
+			"remark": "2023智慧路南京掼蛋活动-报名-wx",
 			"passive":false,
 			"frequency": "10",
 			"enabled":true,

+ 1 - 1
src/consts/consts.go

@@ -1,6 +1,6 @@
 package consts
 
 const (
-	SplitCode  = "##"
+	SplitCode  = "state"
 	SignUpMore = 10
 )

+ 1 - 1
src/service/action/info.go

@@ -301,7 +301,7 @@ func (i *Info) CollectInfo() {
 				if applicants != nil {
 					applicantsArr = qu.ObjArrToMapArr(applicants.([]interface{}))
 				}
-				activeHref, err := UpdateExhSignInfo(infoMap, sessVal, source, exhCode, applicantsArr)
+				activeHref, err := UpdateExhSignInfo(infoMap, sessVal, source, exhCode, GetParams(i.Request.Referer(), consts.SplitCode), applicantsArr)
 				if err != nil {
 					activeHref = err.Error()
 					return entity.NewResultSales{Error_code: Error_code_1004, Error_msg: err.Error(), ExhRes: exhResult} //会展活动---

+ 4 - 9
src/service/exhibition/exhibition.go

@@ -9,7 +9,6 @@ import (
 	"fmt"
 	"log"
 	. "salesLeads/src/config"
-	"salesLeads/src/consts"
 	"salesLeads/src/entity"
 	"salesLeads/src/service/message"
 	"salesLeads/src/util"
@@ -97,7 +96,7 @@ func AutoSignIn(code, userAgent, source, signCode string, sessVal map[string]int
 			signUpData["name"] = signUpData["sign_name"]
 			signUpData["phone"] = signUpData["sign_phone"]
 			signUpData["companyType"] = signUpData["company_type"]
-			href, err = UpdateExhSignInfo(signUpData, sessVal, source, code, nil)
+			href, err = UpdateExhSignInfo(signUpData, sessVal, source, code, "", nil)
 		}
 	}
 	return
@@ -176,7 +175,7 @@ func GetExhSignUpInfo(sessVal map[string]interface{}, source, code string) (map[
 }
 
 // UpdateExhSignInfo 报名 or 签到
-func UpdateExhSignInfo(infoMap, sessVal map[string]interface{}, source, code string, applicants []map[string]interface{}) (href string, err error) {
+func UpdateExhSignInfo(infoMap, sessVal map[string]interface{}, source, code, sourceState string, applicants []map[string]interface{}) (href string, err error) {
 	defer common.Catch()
 	entity.ExhLock.Lock()
 	defer func() {
@@ -187,10 +186,6 @@ func UpdateExhSignInfo(infoMap, sessVal map[string]interface{}, source, code str
 	state := common.If(strings.Contains(remark, "报名"), 0, 1).(int)
 	switch state {
 	case 0: //报名
-		//报名渠道  剑鱼标讯 \\ 智慧路  \\ SourceName:XXX活动名称-报名-wx
-		remarkBool := strings.Contains(remark, consts.SplitCode)
-		remarkName := strings.Split(remark, consts.SplitCode)
-		sourceState, _ := strconv.Atoi(common.If(remarkBool, remarkName[1], "0").(string))
 		href = entity.ExhibitionMap[code].SignUpPage
 		var msgUserInfos []entity.MsgToUser
 		if !Mysql.ExecTx("展会活动报名", func(tx *sql.Tx) bool {
@@ -208,8 +203,8 @@ func UpdateExhSignInfo(infoMap, sessVal map[string]interface{}, source, code str
 					CompanyType:  common.ObjToString(handleMap["companyType"]),
 					Position:     common.ObjToString(handleMap["position"]),
 					Branch:       common.ObjToString(handleMap["branch"]),
-					SourceState:  sourceState,
-					SourceName:   common.If(remarkBool, remarkName[0], remark).(string),
+					SourceState:  common.IntAll(sourceState),
+					SourceName:   remark,
 					SourceCode:   source,
 					ExhibitionId: entity.ExhibitionMap[code].Id,
 					Active:       common.IntAll(handleMap["active"]), //主动报名  1:代报名

+ 22 - 0
src/util/util.go

@@ -2,6 +2,8 @@ package util
 
 import (
 	"app.yhyue.com/moapp/jybase/common"
+	"fmt"
+	"regexp"
 	"salesLeads/src/entity"
 )
 
@@ -20,3 +22,23 @@ func GetComplexRandom(n int) (randomStr string) {
 	}
 	return
 }
+
+// 获取参数
+func GetParams(url, name string) (stateValue string) {
+	// 定义正则表达式模式
+	pattern := name + `=([^&]+)`
+
+	// 编译正则表达式
+	regex := regexp.MustCompile(pattern)
+
+	// 执行正则匹配
+	match := regex.FindStringSubmatch(url)
+
+	if len(match) > 1 {
+		stateValue := match[1]
+		fmt.Println("State value:", stateValue)
+	} else {
+		fmt.Println("State parameter not found")
+	}
+	return
+}