Переглянути джерело

fix 修改25年GPT账号邮箱验证码

zoujiajian 1 рік тому
батько
коміт
9c6b5bfe3b

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

@@ -90,6 +90,9 @@ public class TicketCodeCommonUtil {
 				str = "ChatGPT Log-in Code";
 				if (!body.contains(str)) {
 					str = "Enter this temporary verification code";
+					if (!body.contains(str)) {
+						str = "Your ChatGPT code is";
+					}
 				}
 			}
 		}

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/RenewalView.java

@@ -238,6 +238,9 @@ public class RenewalView {
     @JsonIgnore
     private String relateEmail;
 
+    @DbField("a.created_time")
+    private Date createdTime;
+
     /**
      * mj 套餐包最低单价
      */

+ 13 - 0
netflix-service/src/main/java/com/cyksj/service/mail/CommonMailService.java

@@ -0,0 +1,13 @@
+package com.cyksj.service.mail;
+
+import java.util.Date;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: CommonMailService
+ * 创建者: JavaZou
+ * 创建时间:2025/1/7 14:21
+ */
+public interface CommonMailService {
+	String getTicketMailCode(Long goodsId, String account, String relateEmail, String emailPwd, Date emailCreatedTime, Integer type, Integer linkType, Boolean isReturnDeviceUrl) throws Exception;
+}

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

@@ -0,0 +1,68 @@
+package com.cyksj.service.mail.impl;
+
+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.util.Jsons;
+import com.cyksj.common.util.TicketCodeCommonUtil;
+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 org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 项目名: yhlxj
+ * 文件名: CommonMailServiceImpl
+ * 创建者: JavaZou
+ * 创建时间:2025/1/7 14:22
+ */
+@Service
+@RequiredArgsConstructor
+public class CommonMailServiceImpl implements CommonMailService {
+	private final CuiQiuMailService cuiQiuMailService;
+
+	private final MailLuService mailLuService;
+
+	private final YhMailService yhMailService;
+
+	@Override
+	public String getTicketMailCode(Long goodsId, String account, String relateEmail, String emailPwd, Date emailCreatedTime, Integer type, Integer linkType, Boolean isReturnDeviceUrl) throws Exception {
+		//25年的GPT账号获取验证码 特殊处理
+		//获取失败走下一步
+		if (goodsId == 18 && emailCreatedTime.compareTo(DateUtil.parse("2025-01-01")) > 0) {
+			try {
+				//获取近十封邮件
+				String url = "https://ms.lqqq.cc/" + account + "----" + emailPwd;
+				HttpRequest post = HttpUtil.createGet(url);
+				HttpResponse execute = post.execute();
+				List<JSONObject> jsonObjects = Jsons.parseList(execute.body(), JSONObject.class);
+				JSONObject jsonObject = jsonObjects.get(0);
+				String str = jsonObject.getStr("content");
+				String code = TicketCodeCommonUtil.getTicketCodeStr(str, goodsId);
+				return code;
+			} catch (Exception e) {
+			}
+		}
+		//关联邮箱
+		if (StrUtil.isNotEmpty(relateEmail)) {
+			account = relateEmail;
+		}
+		if (cuiQiuMailService.isCuiQiuEmail(account)) {
+			return cuiQiuMailService.getVerifyCode(account, relateEmail, goodsId, type, linkType, false);
+		}
+		//是否是 mail lu邮箱
+		if (mailLuService.isMailLuEmail(account)) {
+			return mailLuService.getVerifyCode(account, goodsId, type, linkType, false);
+		}
+		//银河域名邮件
+		return yhMailService.getVerifyCode(account, goodsId, type, linkType, false);
+	}
+}

+ 7 - 51
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -36,10 +36,7 @@ import com.cyksj.service.chatgpt.ChatGptAuthService;
 import com.cyksj.service.claude.ClaudeService;
 import com.cyksj.service.groups.GroupsFuncService;
 import com.cyksj.service.luma.LumaService;
-import com.cyksj.service.mail.CuiQiuMailService;
-import com.cyksj.service.mail.MailLuService;
-import com.cyksj.service.mail.MailService;
-import com.cyksj.service.mail.YhMailService;
+import com.cyksj.service.mail.*;
 import com.cyksj.service.mange.coupon.CouponCommonService;
 import com.cyksj.service.midjourney.MidjourneyAccountService;
 import com.cyksj.service.relation.GroupRelationFrontService;
@@ -123,10 +120,6 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final UserLoginRecordService userLoginRecordService;
 
-	private final CuiQiuMailService cuiQiuMailService;
-
-	private final MailLuService mailLuService;
-
 	private final UserCertRecordMapper userCertRecordMapper;
 
 	private final MidjourneyAccountService midjourneyAccountService;
@@ -153,8 +146,6 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final ClaudeService claudeService;
 
-	private final YhMailService yhMailService;
-
 	private final UserDistributePosterRecordMapper userDistributePosterRecordMapper;
 
 	private final OrderDonRenewRecordMapper orderDonRenewRecordMapper;
@@ -173,6 +164,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final UserMirrorShopMapper userMirrorShopMapper;
 
+	private final CommonMailService commonMailService;
+
 	@Override
 	public SearchResult<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize, String customId, String account, String orderNo, Integer cmt) {
 		User u = userMapper.selectById(userId);
@@ -586,10 +579,6 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				throw BusinessRuntimeException.getInstance("车票未配置账号");
 			}
 			account = renewalView.getAccount();
-			//收取邮件的关联邮箱
-			if (StrUtil.isNotEmpty(renewalView.getRelateEmail())) {
-				account = renewalView.getRelateEmail();
-			}
 			String password = renewalView.getPassword();
 			if (StrUtil.hasEmpty(account, password)) {
 				throw BusinessRuntimeException.getInstance("您的车票账号密码异常,请联系客服...");
@@ -611,15 +600,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				redisService.incr(key, 1L);
 			}
 		}
-		if (cuiQiuMailService.isCuiQiuEmail(account)) {
-			return cuiQiuMailService.getVerifyCode(renewalView.getAccount(), renewalView.getRelateEmail(), renewalView.getGoodsId(), type, loginReq.getLinkType(), false);
-		}
-		//是否是 mail lu邮箱
-		if (mailLuService.isMailLuEmail(account)) {
-			return mailLuService.getVerifyCode(account, renewalView.getGoodsId(), type, loginReq.getLinkType(), false);
-		}
-		//银河域名邮件
-		String code = yhMailService.getVerifyCode(account, renewalView.getGoodsId(), type, loginReq.getLinkType(), false);
+		String code = commonMailService.getTicketMailCode(renewalView.getGoodsId(), account, renewalView.getRelateEmail(), renewalView.getGptEmailPwd(), renewalView.getCreatedTime(), type, loginReq.getLinkType(), false);
 		GroupsRelationLoginCodeRecord record = new GroupsRelationLoginCodeRecord();
 		record.setUserId(userId);
 		record.setRelationId(relationId);
@@ -998,24 +979,12 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			throw BusinessRuntimeException.getInstance("车票未配置账号");
 		}
 		String account = renewalView.getAccount();
-		//收取邮件的关联邮箱
-		if (StrUtil.isNotEmpty(renewalView.getRelateEmail())) {
-			account = renewalView.getRelateEmail();
-		}
 		String password = renewalView.getPassword();
 		if (StrUtil.hasEmpty(account, password)) {
 			throw BusinessRuntimeException.getInstance("您的车票账号密码异常,请联系客服...");
 		}
-
-		if (cuiQiuMailService.isCuiQiuEmail(renewalView.getAccount())) {
-			return cuiQiuMailService.getVerifyCode(renewalView.getAccount(), renewalView.getRelateEmail(), renewalView.getGoodsId(), null, 1, true);
-		}
-		//是否是 mail lu邮箱
-		if (mailLuService.isMailLuEmail(account)) {
-			return mailLuService.getVerifyCode(account, renewalView.getGoodsId(), null, 1, true);
-		}
-		//银河域名邮件
-		return yhMailService.getVerifyCode(account, renewalView.getGoodsId(), null, 1, true);
+		String code = commonMailService.getTicketMailCode(renewalView.getGoodsId(), account, renewalView.getRelateEmail(), renewalView.getGptEmailPwd(), renewalView.getCreatedTime(), null, 1, true);
+		return code;
 	}
 
 	@Override
@@ -1027,23 +996,10 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			return null;
 		}
 		String password = at.getPassword();
-		if (StrUtil.isNotEmpty(at.getRelateEmail())) {
-			account = at.getRelateEmail();
-		}
 		if (StrUtil.hasEmpty(account, password)) {
 			throw BusinessRuntimeException.getInstance("账号异常");
 		}
-		if (StrUtil.isNotEmpty(at.getRelateEmail())) {
-			account = at.getRelateEmail();
-		}
-		if (cuiQiuMailService.isCuiQiuEmail(account)) {
-			return cuiQiuMailService.getVerifyCode(at.getAccount(), at.getRelateEmail(), at.getGoodsId(), null, null, false);
-		}
-		//是否是 mail lu邮箱
-		if (mailLuService.isMailLuEmail(account)) {
-			return mailLuService.getVerifyCode(account, at.getGoodsId(), null, null, false);
-		}
-		String code = yhMailService.getVerifyCode(account, at.getGoodsId(), null, null, false);
+		String code = commonMailService.getTicketMailCode(at.getGoodsId(), account, at.getRelateEmail(), at.getGptEmailPwd(), at.getCreatedTime(), null, null, false);
 		return code;
 	}