Skip to content

Commit 88cbc64

Browse files
committed
New user logic becomes synchronized code block.
1 parent c9804b7 commit 88cbc64

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

server/src/main/java/edp/davinci/core/inteceptor/CurrentUserMethodArgumentResolver.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,19 @@ public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer m
6767
}
6868
String accessUsername = SecurityFilter.getLoginUsername(webRequest.getNativeRequest(HttpServletRequest.class));
6969
log.info("Get request access user name: {}", accessUsername);
70-
User visualisUser = (User) userMapper.selectByUsername(accessUsername);
71-
log.info("Get visualis user from table: {}", visualisUser);
72-
User user = new User();
73-
if(null == visualisUser) {
74-
user.setUsername(accessUsername);
75-
user.setName(accessUsername);
76-
user.setPassword(null);
77-
log.info("Insert into visualis user: {}", user);
78-
userMapper.insert(user);
79-
return user;
70+
User visualisUser = null;
71+
synchronized (this) {
72+
visualisUser = (User) userMapper.selectByUsername(accessUsername);
73+
log.info("Get visualis user from table: {}", visualisUser);
74+
User user = new User();
75+
if (null == visualisUser) {
76+
user.setUsername(accessUsername);
77+
user.setName(accessUsername);
78+
user.setPassword(null);
79+
log.info("Insert into visualis user: {}", user);
80+
userMapper.insert(user);
81+
return user;
82+
}
8083
}
8184
return visualisUser;
8285
} catch (Throwable e) {

0 commit comments

Comments
 (0)