@@ -116,6 +116,7 @@ public class UserController {
|
|||||||
.maxFileOnDisk(tariff.getDiskSize())
|
.maxFileOnDisk(tariff.getDiskSize())
|
||||||
.startTariff(personalTariffInfo.getStartTariff())
|
.startTariff(personalTariffInfo.getStartTariff())
|
||||||
.endTariff(personalTariffInfo.getEndTariff())
|
.endTariff(personalTariffInfo.getEndTariff())
|
||||||
|
.tokens(personalTariffInfo.getTokens() + personalTariffInfo.getBoughtTokens())
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
userDTO.setTariffInfo(infoDTO);
|
userDTO.setTariffInfo(infoDTO);
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ public class TariffInfo {
|
|||||||
@Column(name = "tokens")
|
@Column(name = "tokens")
|
||||||
private Integer tokens;
|
private Integer tokens;
|
||||||
|
|
||||||
|
@Column(name = "bought_tokens")
|
||||||
|
private Integer boughtTokens = 0;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "tariff_id")
|
@JoinColumn(name = "tariff_id")
|
||||||
private Tariff tariff;
|
private Tariff tariff;
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ public class TariffInfoService {
|
|||||||
tariffInfo.setStatus(tariffStatus);
|
tariffInfo.setStatus(tariffStatus);
|
||||||
tariffInfo.setEndTariff(endTariff);
|
tariffInfo.setEndTariff(endTariff);
|
||||||
tariffInfo.setTokens(tokens);
|
tariffInfo.setTokens(tokens);
|
||||||
|
tariffInfo.setBoughtTokens(0);
|
||||||
|
|
||||||
return tariffInfoRepository.save(tariffInfo);
|
return tariffInfoRepository.save(tariffInfo);
|
||||||
}
|
}
|
||||||
@@ -52,10 +53,15 @@ public class TariffInfoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Integer tokens = activeTariffInfo.getTokens();
|
Integer tokens = activeTariffInfo.getTokens();
|
||||||
|
Integer boughtTokens = activeTariffInfo.getBoughtTokens();
|
||||||
|
|
||||||
if (tokens - value >= 0) {
|
if (tokens - value >= 0) {
|
||||||
activeTariffInfo.setTokens(activeTariffInfo.getTokens() - value);
|
activeTariffInfo.setTokens(activeTariffInfo.getTokens() - value);
|
||||||
|
|
||||||
|
tariffInfoRepository.save(activeTariffInfo);
|
||||||
|
} else if (boughtTokens - value >= 0) {
|
||||||
|
activeTariffInfo.setTokens(activeTariffInfo.getBoughtTokens() - value);
|
||||||
|
|
||||||
tariffInfoRepository.save(activeTariffInfo);
|
tariffInfoRepository.save(activeTariffInfo);
|
||||||
} else {
|
} else {
|
||||||
throw new TariffNotFoundException("User not have tokens for protect");
|
throw new TariffNotFoundException("User not have tokens for protect");
|
||||||
@@ -118,7 +124,8 @@ public class TariffInfoService {
|
|||||||
tariffInfo.getStartTariff(),
|
tariffInfo.getStartTariff(),
|
||||||
tariffInfo.getEndTariff(),
|
tariffInfo.getEndTariff(),
|
||||||
tariffInfo.getTariff() != null ? tariffInfo.getTariff().getId() : null,
|
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().getDiskSize(), 0L, 0,
|
||||||
tariffInfo.getTariff().getMaxFilesCount());
|
tariffInfo.getTariff().getMaxFilesCount());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user