This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user