| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 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);
- for (JSONObject jsonObject : jsonObjects) {
- String str = jsonObject.getStr("content");
- if (str.contains("Your ChatGPT code is")) {
- String code = TicketCodeCommonUtil.getTicketCodeStr(str, goodsId);
- return code;
- }
- }
- } catch (Exception e) {
- }
- }
- String checkEmail = StrUtil.isNotEmpty(relateEmail) ? relateEmail : account;
- //关联邮箱
- if (cuiQiuMailService.isCuiQiuEmail(checkEmail)) {
- return cuiQiuMailService.getVerifyCode(account, relateEmail, goodsId, type, linkType, false);
- }
- //是否是 mail lu邮箱
- if (mailLuService.isMailLuEmail(checkEmail)) {
- return mailLuService.getVerifyCode(account, relateEmail, goodsId, type, linkType, false);
- }
- //银河域名邮件
- return yhMailService.getVerifyCode(account, relateEmail, goodsId, type, linkType, false);
- }
- }
|