feat: 游戏房间
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.webgame.webgamebackend.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.webgame.webgamebackend.common.dto.user.UpdateUserInfoRequest;
|
||||
import com.webgame.webgamebackend.common.dto.user.UserInfoResponse;
|
||||
import com.webgame.webgamebackend.common.exception.BusinessException;
|
||||
import com.webgame.webgamebackend.common.exception.ErrorCode;
|
||||
@@ -10,6 +11,7 @@ import com.webgame.webgamebackend.service.UserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 用户服务实现
|
||||
@@ -29,4 +31,35 @@ public class UserServiceImpl implements UserService {
|
||||
.orElseThrow(() -> new BusinessException(ErrorCode.USER_NOT_FOUND));
|
||||
return UserInfoResponse.from(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public UserInfoResponse updateUserInfo(String accountId, UpdateUserInfoRequest request) {
|
||||
UserEntity user = userRepository.findByAccountId(accountId)
|
||||
.orElseThrow(() -> new BusinessException(ErrorCode.USER_NOT_FOUND));
|
||||
|
||||
// 仅更新非 null 字段
|
||||
if (request.nickName() != null) {
|
||||
user.setNickName(request.nickName());
|
||||
}
|
||||
if (request.avatar() != null) {
|
||||
user.setAvatar(request.avatar());
|
||||
}
|
||||
if (request.signature() != null) {
|
||||
user.setSignature(request.signature());
|
||||
}
|
||||
if (request.age() != null) {
|
||||
user.setAge(request.age());
|
||||
}
|
||||
if (request.sex() != null) {
|
||||
user.setSex(request.sex());
|
||||
}
|
||||
if (request.birthday() != null) {
|
||||
user.setBirthday(request.birthday());
|
||||
}
|
||||
|
||||
userRepository.save(user);
|
||||
log.info("[用户服务] 更新用户信息, accountId={}", accountId);
|
||||
return UserInfoResponse.from(user);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user