feat: 游戏房间
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.webgame.webgamebackend.service;
|
||||
|
||||
import com.webgame.webgamebackend.common.dto.user.UpdateStatusRequest;
|
||||
import com.webgame.webgamebackend.common.dto.user.UpdateUserInfoRequest;
|
||||
import com.webgame.webgamebackend.common.dto.user.UserInfoResponse;
|
||||
|
||||
@@ -23,4 +24,12 @@ public interface UserService {
|
||||
* @return 更新后的用户信息
|
||||
*/
|
||||
UserInfoResponse updateUserInfo(String accountId, UpdateUserInfoRequest request);
|
||||
|
||||
/**
|
||||
* 更新当前登录用户的在线状态
|
||||
*
|
||||
* @param accountId 账号 ID
|
||||
* @param request 状态更新请求
|
||||
*/
|
||||
void updateStatus(String accountId, UpdateStatusRequest request);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.webgame.webgamebackend.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import com.webgame.webgamebackend.common.dto.user.UpdateStatusRequest;
|
||||
import com.webgame.webgamebackend.common.dto.user.UpdateUserInfoRequest;
|
||||
import com.webgame.webgamebackend.common.dto.user.UserInfoResponse;
|
||||
import com.webgame.webgamebackend.common.exception.BusinessException;
|
||||
@@ -62,4 +63,15 @@ public class UserServiceImpl implements UserService {
|
||||
log.info("[用户服务] 更新用户信息, accountId={}", accountId);
|
||||
return UserInfoResponse.from(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void updateStatus(String accountId, UpdateStatusRequest request) {
|
||||
UserEntity user = userRepository.findByAccountId(accountId)
|
||||
.orElseThrow(() -> new BusinessException(ErrorCode.USER_NOT_FOUND));
|
||||
|
||||
user.setStatus(request.status());
|
||||
userRepository.save(user);
|
||||
log.info("[用户服务] 更新在线状态, accountId={}, status={}", accountId, request.status());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user