|
@@ -26,6 +26,7 @@ import org.jeecg.modules.system.entity.*;
|
|
|
import org.jeecg.modules.system.mapper.*;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
@@ -124,6 +125,33 @@ public class UserServiceImpl implements IUserService {
|
|
|
return msgInfoVO;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public boolean updateUserInfo(String nickName, String avatarUrl) {
|
|
|
+ LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
+ if(null != nickName && !nickName.isEmpty()){
|
|
|
+ sysUserMapper.update(null,Wrappers.<SysUser>lambdaUpdate()
|
|
|
+ .eq(SysUser::getId, user.getId())
|
|
|
+ .set(SysUser::getUsername, nickName));
|
|
|
+ }else if(null != avatarUrl && !avatarUrl.isEmpty()){
|
|
|
+ sysUserMapper.update(null,Wrappers.<SysUser>lambdaUpdate()
|
|
|
+ .eq(SysUser::getId, user.getId())
|
|
|
+ .set(SysUser::getAvatar, avatarUrl));
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public LoginUserVO getUserInfo() {
|
|
|
+ LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
+ SysUser sysUser = sysUserMapper.selectById(user.getId());
|
|
|
+ return new LoginUserVO()
|
|
|
+ .setId(sysUser.getId())
|
|
|
+ .setUserName(sysUser.getUsername())
|
|
|
+ .setUserAvatar(sysUser.getAvatar())
|
|
|
+ .setToken(JwtUtil.sign(sysUser.getUsername(), sysUser.getPassword()));
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private LoginUserVO generateLoginUserVO(SysUser user) {
|
|
|
String token = JwtUtil.sign(user.getUsername(), user.getPassword());
|
|
@@ -136,7 +164,7 @@ public class UserServiceImpl implements IUserService {
|
|
|
subject.login(jwtToken); // 触发 Shiro 登录流程
|
|
|
// 确保 LoginUser 可被后续获取
|
|
|
LoginUser loginUser = new LoginUser();
|
|
|
- BeanUtils.copyProperties(loginUser, user);
|
|
|
+ BeanUtils.copyProperties(user,loginUser);
|
|
|
return new LoginUserVO()
|
|
|
.setToken(token)
|
|
|
.setId(user.getId())
|