Przeglądaj źródła

fix ps西班牙验证码

zoujiajian 2 lat temu
rodzic
commit
532727c55d

+ 2 - 2
netflix-common/src/main/java/com/cyksj/common/util/StringUtil.java

@@ -561,9 +561,9 @@ public final class StringUtil {
 	/**
 	 * 获取账号登录验证码
 	 */
-	public static String getVerifyCodePattern(String code) {
+	public static String getVerifyCodePattern(String code, Integer length) {
 		if (StrUtil.isNotEmpty(code)) {
-			Pattern pattern = Pattern.compile("\\d{4,}");
+			Pattern pattern = Pattern.compile(String.format("\\d{%s,}", length));
 			Matcher matcher = pattern.matcher(code);
 			while (matcher.find()) {
 				return matcher.group();

+ 8 - 1
netflix-common/src/main/java/com/cyksj/common/util/TicketCodeCommonUtil.java

@@ -27,7 +27,14 @@ public class TicketCodeCommonUtil {
 		if (StrUtil.isEmpty(str)) {
 			return str;
 		}
-		String code = StrUtil.subWithLength(body, body.indexOf(str), 512);
+		int index = body.indexOf(str);
+		if (index == -1) {
+			if (goodsId == 33l) {
+				str = "X-Report-Abuse: abuse@adobe.com";
+			}
+			index = body.indexOf(str);
+		}
+		String code = StrUtil.subWithLength(body, index, 512);
 		if (StrUtil.isNotBlank(code)) {
 			code = code.replace(str, "");
 		}

+ 5 - 1
netflix-service/src/main/java/com/cyksj/service/mail/impl/CuiQiuMailServiceImpl.java

@@ -113,6 +113,10 @@ public class CuiQiuMailServiceImpl implements CuiQiuMailService {
 
 		String contentBody = content.getBody();
 		String code = TicketCodeCommonUtil.getTicketCodeStr(contentBody, goodsId);
-		return StringUtil.getVerifyCodePattern(code);
+		int length = 4;
+		if (goodsId == 33l) {
+			length = 6;
+		}
+		return StringUtil.getVerifyCodePattern(code, length);
 	}
 }

+ 5 - 1
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -719,7 +719,11 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		if (StrUtil.isEmpty(code)) {
 			code = TicketCodeCommonUtil.getTicketCodeStr(body, goodsId);
 		}
-		code = StringUtil.getVerifyCodePattern(code);
+		int length = 4;
+		if (goodsId == 33l) {
+			length = 6;
+		}
+		code = StringUtil.getVerifyCodePattern(code, length);
 		if (!Validator.isNumber(code)) {
 			log.error("获取账号验证码失败:{}", StrUtil.subSufByLength(code, 512));
 			throw BusinessRuntimeException.getInstance("获取验证码失败,请重新获取..");