dev add check for file check
Test Workflow / test (push) Successful in 4s

This commit is contained in:
vladp
2026-03-05 10:05:18 +07:00
parent 89478c1c9a
commit c9921c6fac
4 changed files with 31 additions and 2 deletions
@@ -27,6 +27,8 @@ public class CostHandler implements RequestHandler {
private final ObjectMapper objectMapper;
private final Integer MAX_FILES_FOR_CHECK = 1000;
@Override
public BaseResponse handle(BaseRequest request) throws Exception {
CostRequest costRequest = objectMapper.convertValue(request.getMessageBody(), CostRequest.class);
@@ -46,6 +48,14 @@ public class CostHandler implements RequestHandler {
private BaseResponse handleFileProtectCost(CostRequest costRequest, BaseRequest request) {
int cost = costService.protectFileCost(costRequest.getFileType());
if (cost == 0) {
return new BaseResponse(request.getMsgId(), MessageCode.NOT_VALID_FILE_TYPE_OR_COUNT_FILE.getCode(),
MessageCode.NOT_VALID_FILE_TYPE_OR_COUNT_FILE.getDescription(),
CostResponse.builder()
.cost(cost)
.build());
}
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
MessageCode.SUCCESS.getDescription(),
CostResponse.builder()
@@ -70,6 +80,17 @@ public class CostHandler implements RequestHandler {
int cost = costService.protectFileCost(costRequest.getFileType());
int count = costRequest.getCountFilesForProtect();
if (cost == 0 || count <= 0 || count > MAX_FILES_FOR_CHECK) {
return new BaseResponse(request.getMsgId(), MessageCode.NOT_VALID_FILE_TYPE_OR_COUNT_FILE.getCode(),
MessageCode.NOT_VALID_FILE_TYPE_OR_COUNT_FILE.getDescription(),
CostResponse.builder()
.cost(cost)
.countFile(count)
.maxFilesForCheck(MAX_FILES_FOR_CHECK)
.build());
}
int totalCost = count * cost;
boolean success = totalCost <= tokens;
int needToken = success ? 0: tokens - totalCost;