dev split tokens
Test Workflow / test (push) Successful in 2s

This commit is contained in:
vladp
2026-02-09 17:25:06 +07:00
parent 7cc744829b
commit 33883faa98
3 changed files with 12 additions and 1 deletions
@@ -116,6 +116,7 @@ public class UserController {
.maxFileOnDisk(tariff.getDiskSize())
.startTariff(personalTariffInfo.getStartTariff())
.endTariff(personalTariffInfo.getEndTariff())
.tokens(personalTariffInfo.getTokens() + personalTariffInfo.getBoughtTokens())
.build();
userDTO.setTariffInfo(infoDTO);
@@ -31,6 +31,9 @@ public class TariffInfo {
@Column(name = "tokens")
private Integer tokens;
@Column(name = "bought_tokens")
private Integer boughtTokens = 0;
@ManyToOne
@JoinColumn(name = "tariff_id")
private Tariff tariff;
@@ -35,6 +35,7 @@ public class TariffInfoService {
tariffInfo.setStatus(tariffStatus);
tariffInfo.setEndTariff(endTariff);
tariffInfo.setTokens(tokens);
tariffInfo.setBoughtTokens(0);
return tariffInfoRepository.save(tariffInfo);
}
@@ -52,10 +53,15 @@ public class TariffInfoService {
}
Integer tokens = activeTariffInfo.getTokens();
Integer boughtTokens = activeTariffInfo.getBoughtTokens();
if (tokens - value >= 0) {
activeTariffInfo.setTokens(activeTariffInfo.getTokens() - value);
tariffInfoRepository.save(activeTariffInfo);
} else if (boughtTokens - value >= 0) {
activeTariffInfo.setTokens(activeTariffInfo.getBoughtTokens() - value);
tariffInfoRepository.save(activeTariffInfo);
} else {
throw new TariffNotFoundException("User not have tokens for protect");
@@ -118,7 +124,8 @@ public class TariffInfoService {
tariffInfo.getStartTariff(),
tariffInfo.getEndTariff(),
tariffInfo.getTariff() != null ? tariffInfo.getTariff().getId() : null,
tariffInfo.getTariff() != null ? tariffInfo.getTariff().getName() : null, tariffInfo.getTokens(),
tariffInfo.getTariff() != null ? tariffInfo.getTariff().getName() : null,
tariffInfo.getTokens() + tariffInfo.getBoughtTokens(),
tariffInfo.getTariff().getDiskSize(), 0L, 0,
tariffInfo.getTariff().getMaxFilesCount());
}