dev add token spent logic
Test Workflow / test (push) Successful in 4s

This commit is contained in:
vladp
2026-04-10 20:13:59 +07:00
parent c1360fce87
commit aa6c0c1b94
18 changed files with 820 additions and 9 deletions
@@ -10,12 +10,14 @@ import ru.soune.nocopy.entity.tarif.Tariff;
import ru.soune.nocopy.entity.tarif.TariffInfo;
import ru.soune.nocopy.entity.tarif.TariffStatus;
import ru.soune.nocopy.entity.tarif.TariffType;
import ru.soune.nocopy.entity.tokenoperation.OperationType;
import ru.soune.nocopy.entity.user.User;
import ru.soune.nocopy.exception.TariffNotFoundException;
import ru.soune.nocopy.repository.TariffInfoRepository;
import ru.soune.nocopy.repository.TariffRepository;
import ru.soune.nocopy.repository.UserRepository;
import ru.soune.nocopy.service.mail.EmailService;
import ru.soune.nocopy.service.tokenoperation.TokenOperationService;
import java.io.IOException;
import java.time.LocalDateTime;
@@ -35,6 +37,8 @@ public class TariffInfoService {
private EmailService emailService;
private TokenOperationService tokenOperationService;
public TariffInfo createTariffInfo(LocalDateTime startTariff, LocalDateTime endTariff, TariffStatus tariffStatus,
Integer tokens) {
TariffInfo tariffInfo = new TariffInfo();
@@ -48,7 +52,7 @@ public class TariffInfoService {
}
// @Transactional
public void writeOffTokens(long userId, Integer value) throws MessagingException, IOException {
public void writeOffTokens(long userId, Integer value, OperationType operationType) throws MessagingException, IOException {
User user = userRepository.findById(userId).orElseThrow();
TariffInfo activeTariffInfo;
@@ -60,6 +64,8 @@ public class TariffInfoService {
}
writeOffTokensForTariff(activeTariffInfo, value);
tokenOperationService.create(operationType, userId, Long.valueOf(value));
}
public void writeOffTokensForTariff(TariffInfo activeTariffInfo, Integer value) throws MessagingException, IOException {