Forráskód Böngészése

fix 获取脆球抄送邮箱

zoujiajian 1 éve
szülő
commit
77510bdac1

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

@@ -490,4 +490,10 @@ public interface Constant {
 	String DISNEY = "Disney";
 
 	String NETFLIX = "Netflix";
+
+	Long PS_GID = 33L;
+
+	Long DISNEY_GID = 3L;
+
+	Long NETFLIX_GID = 1L;
 }

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/mail/CuiQiuMailService.java

@@ -11,7 +11,7 @@ public interface CuiQiuMailService {
 	/**
 	 * 获取最新邮箱 返回验证码
 	 */
-	String getVerifyCode(String email, Long goodsId, Integer type, Integer linkType, Boolean isReturnDeviceUrl) throws Exception;
+	String getVerifyCode(String email, String relateEmail, Long goodsId, Integer type, Integer linkType, Boolean isReturnDeviceUrl) throws Exception;
 
 	boolean isCuiQiuEmail(String account);
 }

+ 23 - 17
netflix-service/src/main/java/com/cyksj/service/mail/impl/CuiQiuMailServiceImpl.java

@@ -55,13 +55,13 @@ public class CuiQiuMailServiceImpl implements CuiQiuMailService {
 	}
 
 	/**
-	 * @param type     1:奈飞安全码
-	 * @param linkType 链接 1:同步验证链接
+	 * @param type              1:奈飞安全码
+	 * @param linkType          链接 1:同步验证链接
 	 * @param isReturnDeviceUrl true 直接返回同步装置url
 	 */
 	@Override
-	public String getVerifyCode(String email, Long goodsId, Integer type, Integer linkType, Boolean isReturnDeviceUrl) throws Exception {
-		//获取近十封邮件
+	public String getVerifyCode(String email, String relateEmail, Long goodsId, Integer type, Integer linkType, Boolean isReturnDeviceUrl) throws Exception {
+		//获取近十封邮件
 		String url = "https://domain-open-api.cuiqiu.com/v1/message/list";
 
 		Map<String, Object> params = new HashMap<>();
@@ -70,15 +70,16 @@ public class CuiQiuMailServiceImpl implements CuiQiuMailService {
 		//维度是天
 		DateTime now = DateTime.now();
 		params.put("token", CUI_QIU_TOKEN);
-		String mailId = getAdmainMailId(email);
+		//关联邮件域名
+		String mailId = getAdmainMailId(StrUtil.isNotEmpty(relateEmail) ? relateEmail : email);
 		if (StrUtil.isEmpty(mailId)) {
 			throw BusinessRuntimeException.getInstance("系统异常,请联系客服..");
 		}
 		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("limit", 20);
+//		params.put("to", email);
+		params.put("limit", 10);
 
 		HttpRequest post = HttpUtil.createPost(url);
 		post.form(params);
@@ -91,18 +92,23 @@ public class CuiQiuMailServiceImpl implements CuiQiuMailService {
 		//获取邮箱对应的邮件
 		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)) {
-				//PS
-				if (from.getName().contains(Constant.PS_ADOBE)) {
-					return true;
-				}
-				//Disney
-				if (from.getName().contains(Constant.DISNEY)) {
-					return true;
-				}
-				if (from.getName().contains(Constant.NETFLIX)) {
-					return true;
+				String toEmail = to.getAddress();
+				//通过直达邮件判断
+				if (StrUtil.equals(toEmail, email) || StrUtil.equals(toEmail, relateEmail)) {
+					//PS
+					if (goodsId == Constant.PS_GID && 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;

+ 2 - 2
netflix-service/src/main/java/com/cyksj/service/mange/account/CmsAccountServiceImpl.java

@@ -476,7 +476,7 @@ public class CmsAccountServiceImpl extends ServiceImpl<AccountMapper, Account> i
 			account = at.getRelateEmail();
 		}
 		if (cuiQiuMailService.isCuiQiuEmail(account)) {
-			return cuiQiuMailService.getVerifyCode(account, at.getGoodsId(), null, 1, false);
+			return cuiQiuMailService.getVerifyCode(at.getAccount(), at.getRelateEmail(), at.getGoodsId(), null, 1, false);
 		}
 		//是否是 mail lu邮箱
 		if (mailLuService.isMailLuEmail(account)) {
@@ -509,7 +509,7 @@ public class CmsAccountServiceImpl extends ServiceImpl<AccountMapper, Account> i
 			account = at.getRelateEmail();
 		}
 		if (cuiQiuMailService.isCuiQiuEmail(account)) {
-			return cuiQiuMailService.getVerifyCode(account, at.getGoodsId(), null, null, false);
+			return cuiQiuMailService.getVerifyCode(at.getAccount(), at.getRelateEmail(), at.getGoodsId(), null, null, false);
 		}
 		//是否是 mail lu邮箱
 		if (mailLuService.isMailLuEmail(account)) {

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

@@ -612,7 +612,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			}
 		}
 		if (cuiQiuMailService.isCuiQiuEmail(account)) {
-			return cuiQiuMailService.getVerifyCode(account, renewalView.getGoodsId(), type, loginReq.getLinkType(), false);
+			return cuiQiuMailService.getVerifyCode(renewalView.getAccount(), renewalView.getRelateEmail(), renewalView.getGoodsId(), type, loginReq.getLinkType(), false);
 		}
 		//是否是 mail lu邮箱
 		if (mailLuService.isMailLuEmail(account)) {
@@ -1008,7 +1008,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 		}
 
 		if (cuiQiuMailService.isCuiQiuEmail(renewalView.getAccount())) {
-			return cuiQiuMailService.getVerifyCode(account, renewalView.getGoodsId(), null, 1, true);
+			return cuiQiuMailService.getVerifyCode(renewalView.getAccount(), renewalView.getRelateEmail(), renewalView.getGoodsId(), null, 1, true);
 		}
 		//是否是 mail lu邮箱
 		if (mailLuService.isMailLuEmail(account)) {
@@ -1037,7 +1037,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 			account = at.getRelateEmail();
 		}
 		if (cuiQiuMailService.isCuiQiuEmail(account)) {
-			return cuiQiuMailService.getVerifyCode(account, at.getGoodsId(), null, null, false);
+			return cuiQiuMailService.getVerifyCode(at.getAccount(), at.getRelateEmail(), at.getGoodsId(), null, null, false);
 		}
 		//是否是 mail lu邮箱
 		if (mailLuService.isMailLuEmail(account)) {