From 5363215e8adc5a8106c598bbea281196c31e70ae Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 02 Apr 2024 14:56:57 +0800
Subject: [PATCH] 账号验证

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   49 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 88126a3..5c531f5 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -24,6 +24,7 @@
 import cn.hutool.crypto.asymmetric.KeyType;
 import cn.hutool.crypto.asymmetric.RSA;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -36,6 +37,7 @@
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -69,6 +71,19 @@
     @Value("${spring.profiles.active}")
     private String active;
 
+    private static final String ACCOUNT_PATTERN = "^[a-zA-Z0-9]{8,16}$";
+    private static final Pattern pattern = Pattern.compile(ACCOUNT_PATTERN);
+
+
+    public static boolean validateAccount(String account) {
+        return pattern.matcher(account).matches();
+    }
+
+    public static void main(String[] args) {
+        String account = "example"; // 示例账号,可以根据需要替换
+        boolean isValid = validateAccount(account);
+        System.out.println("账号是否有效: " + isValid);
+    }
     @Transactional(rollbackFor = Exception.class)
     @Override
     public FebsResponse register(RegisterDto registerDto) {
@@ -79,6 +94,10 @@
          * 返回账号和密钥给前端
          */
         String accountLogin = registerDto.getAccountLogin();
+        boolean isValid = validateAccount(accountLogin);
+        if(!isValid){
+            throw new FebsException("账号不规范。");
+        }
         MallMember mallMember = this.baseMapper.selectByAccountLogin(accountLogin);
         if (mallMember != null) {
             throw new FebsException("账号已使用,请重新注册。");
@@ -909,6 +928,12 @@
     @Override
     public FebsResponse updatePayment(UpdatePaymentDto updatePaymentDto) {
         Long memberId = LoginUserUtil.getLoginUser().getId();
+        QueryWrapper<MallProductBuy> objectQueryWrapper = new QueryWrapper<>();
+        objectQueryWrapper.eq("member_id",memberId);
+        List<MallProductBuy> mallProductBuys = mallProductBuyMapper.selectList(objectQueryWrapper);
+        if(ObjectUtil.isNotEmpty(mallProductBuys)){
+            throw new FebsException("信息无法修改");
+        }
 
         MallMemberPayment mallMemberPayment = mallMemberPaymentMapper.selectByMemberId(memberId);
         mallMemberPayment.setWxQrcode(updatePaymentDto.getWxQrcode());
@@ -998,16 +1023,16 @@
         return new FebsResponse().success().data(pages);
     }
 
-    public static void main(String[] args) {
-        Set<String> objectsAccount = new HashSet<>();
-        Set<String> objects = new HashSet<>();
-        int j = 100;
-        for(int i =0;i < 100 ; i++){
-            String s = ShareCodeUtil.toSerialNumberCodeTwo(j);
-            objects.add(s);
-        }
-
-        System.out.println(objects);
-        System.out.println(objects.size());
-    }
+//    public static void main(String[] args) {
+//        Set<String> objectsAccount = new HashSet<>();
+//        Set<String> objects = new HashSet<>();
+//        int j = 100;
+//        for(int i =0;i < 100 ; i++){
+//            String s = ShareCodeUtil.toSerialNumberCodeTwo(j);
+//            objects.add(s);
+//        }
+//
+//        System.out.println(objects);
+//        System.out.println(objects.size());
+//    }
 }

--
Gitblit v1.9.1