修复了验证压力值的匹配规则

master
tyc 6 months ago
parent 90fd2c19ad
commit 2980ecfc06
  1. 38
      yudao-server/src/main/java/cn/iocoder/yudao/server/service/CertificateOfApprovalService.java
  2. 2
      yudao-server/src/main/java/cn/iocoder/yudao/server/service/OcrProcessingService.java
  3. 36
      yudao-server/src/main/java/cn/iocoder/yudao/server/service/ProductQualifiedService.java
  4. 2
      yudao-server/src/main/java/cn/iocoder/yudao/server/service/SupervisionService.java
  5. 6
      yudao-server/src/main/resources/application-local.yaml

@ -1,4 +1,5 @@
package cn.iocoder.yudao.server.service;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ObjectUtil;
@ -167,14 +168,47 @@ public class CertificateOfApprovalService {
}
return equipmentRegistryRespVO;
}
/**
* 判断字符串是否仅由字母和数字组成
* 判断字符串是否符合
* - 纯数字含小数
* - 或字母+数字可含小数点
*
* @param input 输入字符串
* @return 是否合法
*/
public static boolean isAlphaNumeric(String input) {
if (StrUtil.isBlank(input)) {
return false;
}
return input.matches("^[a-zA-Z0-9]+$");
boolean hasDigit = false;
boolean hasLetter = false;
for (char c : input.toCharArray()) {
if (Character.isDigit(c)) {
hasDigit = true;
} else if (Character.isLetter(c)) {
hasLetter = true;
} else if (c != '.') { // 只允许 . 字符
return false;
}
}
// 如果全是数字或带小数点的纯数字 -> 合法
if (!hasLetter && hasDigit) {
return isNumericWithOptionalDot(input);
}
// 如果包含字母和数字(可以有小数点)-> 合法
return hasLetter && hasDigit;
}
/**
* 辅助方法判断字符串是否为纯数字包括带小数点的数字
*/
private static boolean isNumericWithOptionalDot(String str) {
return str.matches("^\\d+(\\.\\d+)?$");
}
/**
* 判断字符串长度是否大于3即长度 >= 4

@ -17,7 +17,7 @@ import java.util.stream.Collectors;
@Service
public class OcrProcessingService {
private static final String OCR_SERVICE_URL = "http://192.168.130.192:5000/ocr";
private static final String OCR_SERVICE_URL = "http://127.0.0.1:5000/ocr";
@Autowired
private IdCardInfoService idCardInfoService;
@Autowired

@ -125,13 +125,45 @@ public class ProductQualifiedService {
return equipmentRegistryRespVO;
}
/**
* 判断字符串是否仅由字母和数字组成
* 判断字符串是否符合
* - 纯数字含小数
* - 或字母+数字可含小数点
*
* @param input 输入字符串
* @return 是否合法
*/
public static boolean isAlphaNumeric(String input) {
if (StrUtil.isBlank(input)) {
return false;
}
return input.matches("^[a-zA-Z0-9]+$");
boolean hasDigit = false;
boolean hasLetter = false;
for (char c : input.toCharArray()) {
if (Character.isDigit(c)) {
hasDigit = true;
} else if (Character.isLetter(c)) {
hasLetter = true;
} else if (c != '.') { // 只允许 . 字符
return false;
}
}
// 如果全是数字或带小数点的纯数字 -> 合法
if (!hasLetter && hasDigit) {
return isNumericWithOptionalDot(input);
}
// 如果包含字母和数字(可以有小数点)-> 合法
return hasLetter && hasDigit;
}
/**
* 辅助方法判断字符串是否为纯数字包括带小数点的数字
*/
private static boolean isNumericWithOptionalDot(String str) {
return str.matches("^\\d+(\\.\\d+)?$");
}
/**
* 判断字符串长度是否大于3即长度 >= 4

@ -40,7 +40,7 @@ import sun.misc.BASE64Encoder;
@Service
public class SupervisionService {
private static final Logger LOGGER = LoggerFactory.getLogger(SupervisionService.class);
private static final String UNIFIED_REQUEST_URL = "http://192.168.130.192:8080/table-recognition";
private static final String UNIFIED_REQUEST_URL = "http://127.0.0.1:8080/table-recognition";
private static final Gson GSON = new Gson();
private final ReentrantLock lock = new ReentrantLock();

@ -48,7 +48,7 @@ spring:
primary: master
datasource:
master:
url: jdbc:mysql://192.168.130.153:3306/lq_ocr?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
url: jdbc:mysql://127.0.0.1:3306/lq_ocr?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例
# url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=true&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true # MySQL Connector/J 5.X 连接的示例
# url: jdbc:postgresql://127.0.0.1:5432/ruoyi-vue-pro # PostgreSQL 连接的示例
# url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
@ -66,7 +66,7 @@ spring:
# password: Yudao@2024 # OpenGauss 连接的示例
slave: # 模拟从库,可根据自己需要修改
lazy: true # 开启懒加载,保证启动速度
url: jdbc:mysql://192.168.130.153:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
username: root
password: 123456
# tdengine: # IoT 数据库(需要 IoT 物联网再开启噢!)
@ -79,7 +79,7 @@ spring:
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis:
host: 192.168.130.153 # 地址
host: 127.0.0.1 # 地址
port: 6379 # 端口
database: 0 # 数据库索引
password: root # 密码,建议生产环境开启

Loading…
Cancel
Save