瀏覽代碼

fix 虚拟手机号开头不发送验证码

zoujiajian 3 年之前
父節點
當前提交
8af6f50b60

+ 30 - 0
netflix-common/src/main/java/com/cyksj/common/util/BlackOpsUtil.java

@@ -0,0 +1,30 @@
+package com.cyksj.common.util;
+
+import cn.hutool.core.util.StrUtil;
+
+import java.util.List;
+
+/*
+ *项目名: netflix
+ *文件名: BlackOpsUtil
+ *创建者: JavaZou
+ *创建时间:2023/7/4 14:12
+ */
+public class BlackOpsUtil {
+
+	public static List<String> black_phones = List.of("170", "171", "162", "167", "165");
+
+
+	public static Boolean phoneIsStart(String phone) {
+		Boolean isFlag = false;
+		if (StrUtil.isEmpty(phone)) return !isFlag;
+
+		for (String black_phone : black_phones) {
+			if (phone.startsWith(black_phone)) {
+				isFlag = true;
+				break;
+			}
+		}
+		return isFlag;
+	}
+}

+ 5 - 4
netflix-web/src/main/java/com/cyksj/web/controller/user/AuthorizationController.java

@@ -13,10 +13,7 @@ import com.cyksj.common.annotation.NoSubmit;
 import com.cyksj.common.constant.Constant;
 import com.cyksj.common.exception.BusinessRuntimeException;
 import com.cyksj.common.snowflake.Sequence;
-import com.cyksj.common.util.Codec;
-import com.cyksj.common.util.Jsons;
-import com.cyksj.common.util.SmsUtil;
-import com.cyksj.common.util.StringUtil;
+import com.cyksj.common.util.*;
 import com.cyksj.config.WeChatConfig;
 import com.cyksj.config.wxlogin.WxOpenPlatYHLXLoginConfig;
 import com.cyksj.dto.Result;
@@ -322,6 +319,10 @@ public class AuthorizationController {
         if (StrUtil.isBlank(phone) || (86 == cid && !Validator.isMobile(phone))) {
             throw BusinessRuntimeException.getInstance("请输入正确的手机号");
         }
+        //是否是虚拟手机号开头
+        if (BlackOpsUtil.phoneIsStart(phone)) {
+            throw BusinessRuntimeException.getInstance("请输入正确的手机号");
+        }
         PhoneCode phoneCode = phoneCodeMapper.selectOne(Wrappers.lambdaQuery(PhoneCode.class).eq(PhoneCode::getPhone, phone).last("limit 1"));
         if (phoneCode == null) {
             phoneCode = new PhoneCode();