Bladeren bron

fix ADOBE获取车票登录验证码

zoujiajian 10 maanden geleden
bovenliggende
commit
6d7ec22f6a

+ 12 - 0
netflix-common/src/main/java/com/cyksj/common/util/TicketCodeCommonUtil.java

@@ -71,6 +71,9 @@ public class TicketCodeCommonUtil {
 			str = "color:#505050; font-family:adobe-clean, Helvetica Neue, Helvetica, Verdana, Arial, sans-serif;";
 			if (!body.contains(str)) {
 				str = "X-Report-Abuse: abuse@adobe.com";
+				if (!body.contains(str)) {
+					str = "font-feature-settings:'ss04'";
+				}
 			}
 		}
 		//迪士尼
@@ -90,9 +93,18 @@ public class TicketCodeCommonUtil {
 				str = "ChatGPT Log-in Code";
 				if (!body.contains(str)) {
 					str = "Enter this temporary verification code";
+					if (!body.contains(str)) {
+						str = "[1] Your Sora code is 462040";
+					}
+					if (!body.contains(str)) {
+						str = "[1] Your ChatGPT code is";
+					}
 					if (!body.contains(str)) {
 						str = "Your ChatGPT code is";
 					}
+					if (!body.contains(str)) {
+						str = "Your Sora code is";
+					}
 				}
 			}
 		}

+ 5 - 11
netflix-service/src/main/java/com/cyksj/service/mail/impl/CommonMailServiceImpl.java

@@ -5,8 +5,6 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpResponse;
 import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONObject;
-import com.cyksj.common.util.Jsons;
 import com.cyksj.common.util.TicketCodeCommonUtil;
 import com.cyksj.service.mail.CommonMailService;
 import com.cyksj.service.mail.CuiQiuMailService;
@@ -16,7 +14,6 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
-import java.util.List;
 
 /**
  * 项目名: yhlxj
@@ -41,16 +38,13 @@ public class CommonMailServiceImpl implements CommonMailService {
 			if (goodsId == 18 && emailCreatedTime.compareTo(DateUtil.parse("2025-01-01")) > 0) {
 				try {
 					//获取近十封邮件
-					String url = "https://ms.lqqq.cc/" + account + "----" + emailPwd;
+					String url = "https://ms.lqqq.cc/web/" + account + "----" + emailPwd;
 					HttpRequest post = HttpUtil.createGet(url);
 					HttpResponse execute = post.execute();
-					List<JSONObject> jsonObjects = Jsons.parseList(execute.body(), JSONObject.class);
-					for (JSONObject jsonObject : jsonObjects) {
-						String str = jsonObject.getStr("content");
-						if (str.contains("Your ChatGPT code is")) {
-							String code = TicketCodeCommonUtil.getTicketCodeStr(str, goodsId);
-							return code;
-						}
+					String body = execute.body();
+					if (body.contains("Your ChatGPT code is") || body.contains("Your Sora code is")) {
+						String code = TicketCodeCommonUtil.getTicketCodeStr(body, goodsId);
+						return code;
 					}
 
 				} catch (Exception e) {

+ 30 - 26
netflix-service/src/main/java/com/cyksj/service/mail/impl/CuiQiuMailServiceImpl.java

@@ -7,9 +7,9 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpRequest;
 import cn.hutool.http.HttpResponse;
 import cn.hutool.http.HttpUtil;
-import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.util.Jsons;
+import com.cyksj.common.util.StringUtil;
 import com.cyksj.common.util.TicketCodeCommonUtil;
 import com.cyksj.mapper.CuiQiuEmailConfigMapper;
 import com.cyksj.model.dto.CuiQiuEmailDetailDto;
@@ -26,7 +26,6 @@ import javax.annotation.PostConstruct;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * 项目名: yhlxj2
@@ -78,7 +77,7 @@ public class CuiQiuMailServiceImpl implements CuiQiuMailService {
 		params.put("mail_id", mailId);
 		params.put("start_time", DateUtil.offsetDay(now, -1).toDateStr());
 		params.put("end_time", DateUtil.offsetDay(now, 1).toDateStr());
-//		params.put("to", email);
+		params.put("to", email);
 		params.put("limit", 10);
 
 		HttpRequest post = HttpUtil.createPost(url);
@@ -90,29 +89,29 @@ public class CuiQiuMailServiceImpl implements CuiQiuMailService {
 		}
 		List<CuiQiuEmailDto> list = resultDto.getData().getList();
 		//获取邮箱对应的邮件
-		list = list.stream().filter(emailInfo -> {
-			CuiQiuEmailDto.CuiQiuUser from = emailInfo.getFrom().get(0);
-			CuiQiuEmailDto.CuiQiuUser to = emailInfo.getTo().get(0);
-			CuiQiuEmailDto.CuiQiuUser cuiQiuUser = emailInfo.getTo().get(0);
-			if (StrUtil.equalsIgnoreCase(cuiQiuUser.getAddress(), email)) {
-				String toEmail = to.getAddress();
-				//通过直达邮件判断
-				if (StrUtil.equals(toEmail, email) || StrUtil.equals(toEmail, relateEmail)) {
-					//PS
-					if (Constant.PS_GIDS.contains(goodsId) && from.getName().contains(Constant.PS_ADOBE)) {
-						return true;
-					}
-					//Disney
-					if (goodsId == Constant.DISNEY_GID && from.getName().contains(Constant.DISNEY)) {
-						return true;
-					}
-					if (goodsId == Constant.NETFLIX_GID && from.getName().contains(Constant.NETFLIX)) {
-						return true;
-					}
-				}
-			}
-			return false;
-		}).collect(Collectors.toList());
+//		list = list.stream().filter(emailInfo -> {
+//			CuiQiuEmailDto.CuiQiuUser from = emailInfo.getFrom().get(0);
+//			CuiQiuEmailDto.CuiQiuUser to = emailInfo.getTo().get(0);
+//			CuiQiuEmailDto.CuiQiuUser cuiQiuUser = emailInfo.getTo().get(0);
+//			if (StrUtil.equalsIgnoreCase(cuiQiuUser.getAddress(), email)) {
+//				String toEmail = to.getAddress();
+//				//通过直达邮件判断
+//				if (StrUtil.equals(toEmail, email) || StrUtil.equals(toEmail, relateEmail)) {
+//					//PS
+//					if (Constant.PS_GIDS.contains(goodsId) && from.getName().contains(Constant.PS_ADOBE)) {
+//						return true;
+//					}
+//					//Disney
+//					if (goodsId == Constant.DISNEY_GID && from.getName().contains(Constant.DISNEY)) {
+//						return true;
+//					}
+//					if (goodsId == Constant.NETFLIX_GID && from.getName().contains(Constant.NETFLIX)) {
+//						return true;
+//					}
+//				}
+//			}
+//			return false;
+//		}).collect(Collectors.toList());
 
 		if (CollUtil.isNotEmpty(list)) {
 			for (CuiQiuEmailDto CuiQiuEmailDto : list) {
@@ -161,10 +160,15 @@ public class CuiQiuMailServiceImpl implements CuiQiuMailService {
 					if (StrUtil.isEmpty(code)) {
 						code = StrUtil.subAfter(body, "Enter this code to sign in", true);
 					}
+					if (StrUtil.isEmpty(code)) {
+						code = StrUtil.subAfter(body, "font-weight: 400; color: #232323; padding-top: 20px;", true);
+					}
 				}
 				if (StrUtil.isEmpty(code)) {
 					throw BusinessRuntimeException.getInstance("查询失败,请检查是否发送了登陆码..");
 				}
+				int length = 4;
+				return StringUtil.getVerifyCodePattern(code, length);
 			} else {
 				String urlPref;
 				String nfVerifyUrl;