فهرست منبع

奈飞、PS账号登录验证码

zoujiajian 2 سال پیش
والد
کامیت
c7bb0a0945

+ 5 - 2
netflix-service/src/main/java/com/cyksj/service/corp/impl/CorpEventActionServiceImpl.java

@@ -57,6 +57,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.net.http.HttpRequest;
 import java.net.http.HttpResponse;
 import java.util.*;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -676,6 +677,7 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 		corpUser.setType(corpUserInfo.getType());
 		String state = message.getState();
 		CorpFollowActiveCode corpFollowActiveCode = null;
+		AtomicBoolean isSendWelcomeMsg = new AtomicBoolean(false);
 		if (StrUtil.isNotBlank(state) && state.contains(Constant.AC_CODE_KEY)) {
 			//查找对应的活动活码 记录
 			String acIdStr = StrUtil.subAfter(state, StrUtil.C_COLON, true);
@@ -689,6 +691,7 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 					//欢迎语模板id
 					Long msgId = corpFollowActiveCode.getMsgId();
 					sendWelcomeMsg(msgId, message);
+					isSendWelcomeMsg.set(true);
 					try {
 						//对客户进行标记
 						markAddUserTag(corpFollowActiveCode.getMarkTag(), message);
@@ -705,6 +708,7 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 			THREAD_POOL.execute(()->{
 				saveAcqusitionCallback(customer, corpUser, message);
 			});
+			isSendWelcomeMsg.set(true);
 		}
 
 		//扫码来源
@@ -791,7 +795,7 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 		}
 
 		//若没找到规则的欢迎语 发送默认欢迎语
-		if (StrUtil.isNotEmpty(message.getWelcomeCode())) {
+		if (StrUtil.isNotEmpty(message.getWelcomeCode()) && !isSendWelcomeMsg.get()) {
 			CorpWelcomeTemplate corpWelcomeTemplate = corpWelcomeTemplateMapper.selectOne(Wrappers.lambdaQuery(CorpWelcomeTemplate.class)
 					.eq(CorpWelcomeTemplate::getType, 0)
 					.eq(CorpWelcomeTemplate::getDeleted, 1)
@@ -1081,7 +1085,6 @@ public class CorpEventActionServiceImpl implements CorpEventActionService {
 			if (StrUtil.isNotBlank(welcomeContent) || StrUtil.isNotBlank(attachmentsStr)) {
 				THREAD_POOL.execute(() -> {
 					senCorpWelcomeMsg(message, welcomeContent, attachmentsStr);
-					message.setWelcomeCode(null);
 				});
 			}
 		}

+ 17 - 8
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -586,18 +586,27 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		String code = null;
 		//奈飞
 		if (goodsId == 1) {
-			code = StrUtil.subBetween(body, "Doğrulama kodunuz:", "Bu istek sizin");
+			String urlPref = "https://www.netflix.com/account/update-primary-location";
+			code = StrUtil.subBetween(body, "[" + urlPref, "]");
+			if (StrUtil.isEmpty(code)) {
+				throw BusinessRuntimeException.getInstance("获取认证链接失败,请重新获取");
+			}
+			return urlPref + code;
 		}
 		//迪士尼
 		if (goodsId == 3) {
 			code = StrUtil.subWithLength(body, body.indexOf(" 15 "), 215);
-			if (StrUtil.isNotEmpty(code)) {
-				Pattern pattern = Pattern.compile("\\d{6}");
-				Matcher matcher = pattern.matcher(code);
-				while (matcher.find()) {
-					code = matcher.group();
-					break;
-				}
+		}
+		//PS
+		if (goodsId == 33l) {
+			code = StrUtil.subWithLength(body, body.indexOf("ADOBE"), 215);
+		}
+		if (StrUtil.isNotEmpty(code)) {
+			Pattern pattern = Pattern.compile("\\d{6}");
+			Matcher matcher = pattern.matcher(code);
+			while (matcher.find()) {
+				code = matcher.group();
+				break;
 			}
 		}
 		if (!Validator.isNumber(code)) {