wangqifan 3 years ago
parent
commit
02a416c2ed
1 changed files with 19 additions and 0 deletions
  1. 19 0
      src/main/java/com/izouma/nineth/service/DomainOrderService.java

+ 19 - 0
src/main/java/com/izouma/nineth/service/DomainOrderService.java

@@ -1,5 +1,6 @@
 package com.izouma.nineth.service;
 
+import com.alibaba.excel.util.StringUtils;
 import com.izouma.nineth.domain.DomainOrder;
 import com.izouma.nineth.domain.FileObject;
 import com.izouma.nineth.domain.PhotoAsset;
@@ -20,6 +21,8 @@ import org.springframework.stereotype.Service;
 import javax.print.DocFlavor;
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 @Service
 @AllArgsConstructor
@@ -35,8 +38,24 @@ public class DomainOrderService {
                 .findAll(JpaUtils.toSpecification(pageQuery, DomainOrder.class), JpaUtils.toPageRequest(pageQuery));
     }
 
+    public boolean isContainChinese(String str) {
+
+        if (StringUtils.isEmpty(str)) {
+            throw new BusinessException("sms context is empty!");
+        }
+        Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]");
+        Matcher m = p.matcher(str);
+        if (m.find()) {
+            return true;
+        }
+        return false;
+    }
+
     public DomainOrder create(Long userId, String domain, BigDecimal price) {
         List<DomainOrder> notPaidOrders = domainOrderRepo.findAllByUserIdAndOrderStatus(userId, OrderStatus.NOT_PAID);
+        if (isContainChinese(domain)) {
+            throw new BusinessException("禁止注册中文域名");
+        }
         if (notPaidOrders.size() > 0) {
             throw new BusinessException("已存在未支付订单,不可继续下单");
         }