feat: 添加获取当前用户积分余额的接口

This commit is contained in:
zyh
2025-08-29 23:55:34 +08:00
parent 64f9e6ef17
commit cc69ac1fee
6 changed files with 291 additions and 1 deletions

View File

@@ -4,6 +4,7 @@ import com.gameplatform.server.mapper.account.UserAccountMapper;
import com.gameplatform.server.model.dto.account.AccountCreateRequest;
import com.gameplatform.server.model.dto.account.AccountResponse;
import com.gameplatform.server.model.dto.account.AccountUpdateRequest;
import com.gameplatform.server.model.dto.account.PointsBalanceResponse;
import com.gameplatform.server.model.dto.common.PageResult;
import com.gameplatform.server.model.entity.account.UserAccount;
import org.springframework.security.crypto.password.PasswordEncoder;
@@ -144,6 +145,24 @@ public class AccountService {
.then();
}
public Mono<PointsBalanceResponse> getCurrentUserPointsBalance(Long userId) {
return Mono.fromCallable(() -> {
UserAccount account = mapper.selectById(userId);
if (account == null) {
throw new IllegalArgumentException("用户不存在");
}
PointsBalanceResponse response = new PointsBalanceResponse();
response.setUserId(account.getId());
response.setUsername(account.getUsername());
response.setUserType(account.getUserType());
response.setPointsBalance(account.getPointsBalance());
return response;
})
.subscribeOn(Schedulers.boundedElastic());
}
private AccountResponse toResp(UserAccount a) {
if (a == null) return null;
AccountResponse r = new AccountResponse();