15928045575 2 жил өмнө
parent
commit
18377b1e23

+ 1 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java

@@ -88,6 +88,7 @@ public class KwsUserController {
      * @date: 2023/6/14
      */
     @PostMapping("/add")
+    @RepeatSubmit(interval = 3000,message ="两次请求间隔未超过3秒")
     public HttpResult add(@Valid @RequestBody UserAddReqVo reqVo) {
         kwsUserService.add(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);

+ 14 - 11
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -95,19 +95,22 @@ public class KwsUserService {
 
         /*2、填充密码*/
         fillPassword(kwsUser);
+        synchronized(this) {
+            //再次校验数据
+            checkAccountValid(kwsUser.getAccount(), kwsUser.getSystemType());
+            /*3、存库*/
+            long userId = new IdWorker(1).nextId();
+            kwsUser.setId(userId);
+            if (kwsUserDao.insert(kwsUser) <= 0) {
+                throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
+            }
 
-        /*3、存库*/
-        long userId = new IdWorker(1).nextId();
-        kwsUser.setId(userId);
-        if (kwsUserDao.insert(kwsUser) <= 0) {
-            throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
-        }
-
-        /*4、填充用户角色*/
-        fillUserRole(reqVo.getRoleIds(), userId, reqVo.getSystemType());
+            /*4、填充用户角色*/
+            fillUserRole(reqVo.getRoleIds(), userId, reqVo.getSystemType());
 
-        /*5、用户机构关系*/
-        fillUserDept(kwsUser.getId(), reqVo.getDeptId());
+            /*5、用户机构关系*/
+            fillUserDept(kwsUser.getId(), reqVo.getDeptId());
+        }
 
     }