dev add additional info user
Test Workflow / test (push) Successful in 4s

This commit is contained in:
vladp
2026-03-25 12:46:33 +07:00
parent 46cf252699
commit c1782cf59b
11 changed files with 142 additions and 12 deletions
@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import ru.soune.nocopy.dto.tarriff.TariffDTO;
import ru.soune.nocopy.entity.tarif.Tariff;
import ru.soune.nocopy.entity.tarif.TariffTimeTerm;
import ru.soune.nocopy.entity.tarif.TariffType;
import ru.soune.nocopy.entity.user.User;
import ru.soune.nocopy.exception.TariffNotFoundException;
@@ -20,7 +21,7 @@ public class TariffService {
private final TariffRepository tariffRepository;
public void addTariff(String tariffName, double price, String type, int tokens, long diskSize, long maxUsers,
int maxFilesCount) {
int maxFilesCount, String tariffTerm) {
Tariff tariff = new Tariff();
tariff.setName(tariffName);
tariff.setPrice(price);
@@ -29,6 +30,7 @@ public class TariffService {
tariff.setDiskSize(diskSize);
tariff.setMaxUsers(maxUsers);
tariff.setMaxFilesCount(maxFilesCount);
tariff.setTariffTerm(TariffTimeTerm.valueOf(tariffTerm.toUpperCase()));
tariffRepository.save(tariff);
}
@@ -42,6 +44,15 @@ public class TariffService {
.collect(Collectors.toList());
}
public List<TariffDTO> getTariffByAccountTypeAndTariffTerm(User user, TariffTimeTerm tariffTerm) {
String typeAccount = user.canManageCompanySettings() ? "b2b": "b2c";
return tariffRepository.findByTariffAccountTypeAndTariffTerm(typeAccount, tariffTerm)
.stream()
.map(this::convertToDTO)
.collect(Collectors.toList());
}
public List<TariffDTO> getTariffByType(String type) {
return tariffRepository.findByTariffAccountType(type)
.stream()
@@ -99,7 +110,8 @@ public class TariffService {
tariff.getTokens(),
tariff.getMaxFilesCount(),
tariff.getDiskSize(),
tariff.getMaxUsers()
tariff.getMaxUsers(),
tariff.getTariffTerm().name()
);
}
@@ -111,5 +123,6 @@ public class TariffService {
tariff.setMaxFilesCount(dto.getMaxFilesCount());
tariff.setDiskSize(dto.getDiskSize());
tariff.setMaxUsers(dto.getMaxUsers());
tariff.setTariffTerm(TariffTimeTerm.valueOf(dto.getTariffTerm().toUpperCase()));
}
}