File tree Expand file tree Collapse file tree
main/java/io/github/talelin/latticy/service/impl
test/java/io/github/talelin/latticy/service/impl Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -101,10 +101,27 @@ public UserDO updateUserInfo(UpdateInfoDTO dto) {
101101 if (exist ) {
102102 throw new ForbiddenException (10071 );
103103 }
104+
105+ boolean changeSuccess = userIdentityService .changeUsername (user .getId (), dto .getUsername ());
106+ if (changeSuccess ) {
107+ user .setUsername (dto .getUsername ());
108+ }
109+ }
110+
111+ // todo 增加工具类实现忽略 null 的 BeanCopy,简化这段代码
112+ if (dto .getUsername () != null ) {
104113 user .setUsername (dto .getUsername ());
105- userIdentityService .changeUsername (user .getId (), dto .getUsername ());
106114 }
107- BeanUtils .copyProperties (dto , user );
115+ if (dto .getAvatar () != null ) {
116+ user .setAvatar (dto .getAvatar ());
117+ }
118+ if (dto .getEmail () != null ) {
119+ user .setEmail (dto .getEmail ());
120+ }
121+ if (dto .getNickname () != null ) {
122+ user .setNickname (dto .getNickname ());
123+ }
124+
108125 this .baseMapper .updateById (user );
109126 return user ;
110127 }
Original file line number Diff line number Diff line change @@ -134,16 +134,13 @@ public void updateUserInfoNoUsername() {
134134
135135 @ Test
136136 public void changeUserPassword () {
137- // TODO 待解决 单独执行不会抛出空指针异常,批量执行则会抛出空指针异常。
138- assertThrows (NullPointerException .class , () -> {
139- ChangePasswordDTO dto = new ChangePasswordDTO ();
140- dto .setNewPassword ("147258" );
141- dto .setConfirmPassword ("147258" );
142- dto .setOldPassword ("123456" );
143- UserDO user = userService .changeUserPassword (dto );
144- boolean b = userIdentityService .verifyUsernamePassword (user .getId (), "pedro" , "147258" );
145- assertTrue (b );
146- });
137+ ChangePasswordDTO dto = new ChangePasswordDTO ();
138+ dto .setNewPassword ("147258" );
139+ dto .setConfirmPassword ("147258" );
140+ dto .setOldPassword ("123456" );
141+ UserDO user = userService .changeUserPassword (dto );
142+ boolean b = userIdentityService .verifyUsernamePassword (user .getId (), "pedro" , "147258" );
143+ assertTrue (b );
147144 }
148145
149146 @ Test
@@ -204,4 +201,4 @@ public void checkCreateAndDeleteUser() {
204201 UserDO newUser = userService .createUser (dto );
205202 assertEquals (newUser .getUsername (), "pedro111" );
206203 }
207- }
204+ }
You can’t perform that action at this time.
0 commit comments