@@ -3,13 +3,11 @@ package ru.soune.nocopy.handler;
|
|||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import okhttp3.Response;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import ru.soune.nocopy.dto.BaseRequest;
|
import ru.soune.nocopy.dto.BaseRequest;
|
||||||
import ru.soune.nocopy.dto.BaseResponse;
|
import ru.soune.nocopy.dto.BaseResponse;
|
||||||
import ru.soune.nocopy.dto.MessageCode;
|
import ru.soune.nocopy.dto.MessageCode;
|
||||||
import ru.soune.nocopy.dto.file.ImageSearchRequest;
|
import ru.soune.nocopy.dto.file.ImageSearchRequest;
|
||||||
import ru.soune.nocopy.dto.file.YandexSearchResponse;
|
|
||||||
import ru.soune.nocopy.entity.file.FileEntity;
|
import ru.soune.nocopy.entity.file.FileEntity;
|
||||||
import ru.soune.nocopy.exception.NotValidFieldException;
|
import ru.soune.nocopy.exception.NotValidFieldException;
|
||||||
import ru.soune.nocopy.repository.FileEntityRepository;
|
import ru.soune.nocopy.repository.FileEntityRepository;
|
||||||
@@ -17,8 +15,9 @@ import ru.soune.nocopy.service.file.CheckCounterService;
|
|||||||
import ru.soune.nocopy.service.search.SearchApiToYandexResponseMapper;
|
import ru.soune.nocopy.service.search.SearchApiToYandexResponseMapper;
|
||||||
import ru.soune.nocopy.service.search.YandexSearchService;
|
import ru.soune.nocopy.service.search.YandexSearchService;
|
||||||
import ru.soune.nocopy.service.search.GoogleVisionSearchService;
|
import ru.soune.nocopy.service.search.GoogleVisionSearchService;
|
||||||
|
import ru.soune.nocopy.service.tariff.TariffConstants;
|
||||||
|
import ru.soune.nocopy.service.tariff.TariffInfoService;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -36,6 +35,8 @@ public class ImageFoundRequestHandler implements RequestHandler {
|
|||||||
|
|
||||||
private final FileEntityRepository fileEntityRepository;
|
private final FileEntityRepository fileEntityRepository;
|
||||||
|
|
||||||
|
private final TariffInfoService tariffInfoService;
|
||||||
|
|
||||||
private final SearchApiToYandexResponseMapper mapper = new SearchApiToYandexResponseMapper();
|
private final SearchApiToYandexResponseMapper mapper = new SearchApiToYandexResponseMapper();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -61,6 +62,8 @@ public class ImageFoundRequestHandler implements RequestHandler {
|
|||||||
|
|
||||||
String yandexReverseSearchResponse = yandexSearchService.searchReverseByPublicUrl(fileEntity);
|
String yandexReverseSearchResponse = yandexSearchService.searchReverseByPublicUrl(fileEntity);
|
||||||
|
|
||||||
|
tariffInfoService.writeOffTokens(fileEntity.getUserId(), TariffConstants.TOKEN_VALUE_FOR_SEARCH);
|
||||||
|
|
||||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
||||||
MessageCode.SUCCESS.getDescription(), mapper.mapToYandexResponse(yandexReverseSearchResponse));
|
MessageCode.SUCCESS.getDescription(), mapper.mapToYandexResponse(yandexReverseSearchResponse));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import ru.soune.nocopy.service.FileSimilarityService;
|
|||||||
import ru.soune.nocopy.service.ImageHashService;
|
import ru.soune.nocopy.service.ImageHashService;
|
||||||
import ru.soune.nocopy.service.file.FileEntityService;
|
import ru.soune.nocopy.service.file.FileEntityService;
|
||||||
import ru.soune.nocopy.service.file.FileUploadService;
|
import ru.soune.nocopy.service.file.FileUploadService;
|
||||||
|
import ru.soune.nocopy.service.tariff.TariffConstants;
|
||||||
import ru.soune.nocopy.service.tariff.TariffInfoService;
|
import ru.soune.nocopy.service.tariff.TariffInfoService;
|
||||||
import ru.soune.nocopy.util.FileUtil;
|
import ru.soune.nocopy.util.FileUtil;
|
||||||
|
|
||||||
@@ -331,7 +332,7 @@ public class FileUploadServiceImpl implements FileUploadService {
|
|||||||
completeFileProcessingAsync(session, status);
|
completeFileProcessingAsync(session, status);
|
||||||
|
|
||||||
if (status != FileStatus.TEMP) {
|
if (status != FileStatus.TEMP) {
|
||||||
tariffInfoService.writeOffTokens(session.getUserId());
|
tariffInfoService.writeOffTokens(session.getUserId(), TariffConstants.TOKEN_VALUE);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sessionRepository.save(session);
|
sessionRepository.save(session);
|
||||||
|
|||||||
@@ -14,4 +14,5 @@ public class TariffConstants {
|
|||||||
public static final Integer ENTERPRISE_TOKENS = 400;
|
public static final Integer ENTERPRISE_TOKENS = 400;
|
||||||
|
|
||||||
public static final Integer TOKEN_VALUE = 3;
|
public static final Integer TOKEN_VALUE = 3;
|
||||||
|
public static final Integer TOKEN_VALUE_FOR_SEARCH = 5;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ public class TariffInfoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void writeOffTokens(long userId) {
|
public void writeOffTokens(long userId, Integer value) {
|
||||||
User user = userRepository.findById(userId).orElseThrow();
|
User user = userRepository.findById(userId).orElseThrow();
|
||||||
|
|
||||||
TariffInfo activeTariffInfo;
|
TariffInfo activeTariffInfo;
|
||||||
@@ -53,7 +53,7 @@ public class TariffInfoService {
|
|||||||
|
|
||||||
Integer tokens = activeTariffInfo.getTokens();
|
Integer tokens = activeTariffInfo.getTokens();
|
||||||
|
|
||||||
if (tokens - TariffConstants.TOKEN_VALUE > 0) {
|
if (tokens - value > 0) {
|
||||||
activeTariffInfo.setTokens(activeTariffInfo.getTokens() - TariffConstants.TOKEN_VALUE);
|
activeTariffInfo.setTokens(activeTariffInfo.getTokens() - TariffConstants.TOKEN_VALUE);
|
||||||
|
|
||||||
tariffInfoRepository.save(activeTariffInfo);
|
tariffInfoRepository.save(activeTariffInfo);
|
||||||
|
|||||||
Reference in New Issue
Block a user