Bläddra i källkod

fix 企业微信同步获取迪士尼 adobe验证码

zoujiajian 5 månader sedan
förälder
incheckning
5de65902c4

+ 5 - 0
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -541,4 +541,9 @@ public interface Constant {
 	 * claude code日卡推广活动
 	 */
 	Long DISTRIBUTE_CLAUDE_CODE_TRIAL_SKU_ID = 732L;
+
+	/**
+	 * Adobe 全家桶
+	 */
+	Long ADOBE_GOODS_ID = 45L;
 }

+ 26 - 0
netflix-dao/src/main/java/com/cyksj/model/response/AdobeEmailResp.java

@@ -0,0 +1,26 @@
+package com.cyksj.model.response;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 项目名: yhlxj11111111
+ * 文件名: AdobeEmailResp
+ * 创建者: JavaZou
+ * 创建时间:2026/2/9 14:48
+ */
+@Getter
+@Setter
+public class AdobeEmailResp {
+	private Long id;
+
+	private String message_id;
+
+	private String source;
+
+	private String address;
+
+	private String raw;
+
+	private String created_at;
+}

+ 22 - 0
netflix-dao/src/main/java/com/cyksj/model/response/DisneyCodeResp.java

@@ -0,0 +1,22 @@
+package com.cyksj.model.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj11111111
+ * 文件名: DisneyCodeResp
+ * 创建者: JavaZou
+ * 创建时间:2026/2/3 16:36
+ */
+@Getter
+@Setter
+public class DisneyCodeResp {
+	private String code;
+
+	@JsonProperty("code_expire_at")
+	private Date codeExpireAt;
+}

+ 48 - 0
netflix-service/src/main/java/com/cyksj/service/mail/impl/CommonMailServiceImpl.java

@@ -1,19 +1,28 @@
 package com.cyksj.service.mail.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 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.constant.Constant;
+import com.cyksj.common.util.Jsons;
+import com.cyksj.common.util.StringUtil;
 import com.cyksj.common.util.TicketCodeCommonUtil;
+import com.cyksj.model.response.AdobeEmailResp;
+import com.cyksj.model.response.DisneyCodeResp;
 import com.cyksj.service.mail.CommonMailService;
 import com.cyksj.service.mail.CuiQiuMailService;
 import com.cyksj.service.mail.MailLuService;
 import com.cyksj.service.mail.YhMailService;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 项目名: yhlxj
@@ -23,6 +32,7 @@ import java.util.Date;
  */
 @Service
 @RequiredArgsConstructor
+@Slf4j
 public class CommonMailServiceImpl implements CommonMailService {
 	private final CuiQiuMailService cuiQiuMailService;
 
@@ -51,6 +61,44 @@ public class CommonMailServiceImpl implements CommonMailService {
 				}
 			}
 		}
+		//迪士尼 获取验证码
+		if (goodsId == Constant.DISNEY_GID) {
+			try {
+				String url = "https://32t.cn/api/v1/code/" + emailPwd;
+				HttpRequest post = HttpUtil.createGet(url);
+				HttpResponse execute = post.execute();
+				JSONObject resp = Jsons.parseObject(execute.body(), JSONObject.class);
+				Object data = resp.getObj("data");
+				if (data != null) {
+					DisneyCodeResp codeData = Jsons.parseObject(data, DisneyCodeResp.class);
+					return codeData.getCode();
+				}
+			} catch (Exception e) {
+				log.error("迪士尼 {}获取验证码失败:{}", account, StringUtil.getErrorMsg(e));
+			}
+		}
+		//Adobe 获取验证码
+		if (goodsId == Constant.ADOBE_GOODS_ID) {
+			try {
+				String url = "https://xinapi.adbacc.top/admin/mails?limit=20&offset=0&email=" + account;
+				HttpRequest post = HttpUtil.createGet(url).header("x-admin-auth", "xin456");
+				HttpResponse execute = post.execute();
+				JSONObject resp = Jsons.parseObject(execute.body(), JSONObject.class);
+				List<AdobeEmailResp> AdobeEmailResps = Jsons.parseList(resp.getObj("results"), AdobeEmailResp.class);
+				if (CollUtil.isNotEmpty(AdobeEmailResps)) {
+					for (AdobeEmailResp adobeEmailResp : AdobeEmailResps) {
+						String str = "Your verification code is";
+						if (StrUtil.equals(adobeEmailResp.getAddress(), account) && StrUtil.isNotBlank(adobeEmailResp.getRaw()) && adobeEmailResp.getRaw().contains(str)) {
+							String code = StrUtil.subAfter(adobeEmailResp.getRaw(), str, false);
+							return StringUtil.getVerifyCodePattern(code, 6);
+						}
+					}
+				}
+			} catch (Exception e) {
+				log.error("Adobe {}获取验证码:{}", account, StringUtil.getErrorMsg(e));
+			}
+		}
+
 		String checkEmail = StrUtil.isNotEmpty(relateEmail) ? relateEmail : account;
 		//关联邮箱
 		if (cuiQiuMailService.isCuiQiuEmail(checkEmail)) {