|
@@ -1,5 +1,7 @@
|
|
|
package com.tzld.piaoquan.recommend.server.util;
|
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
@@ -31,11 +33,17 @@ public class ProbabilityCalculator {
|
|
|
}
|
|
|
|
|
|
public static double calculateCurrentProbability(String filterRate, String filterDate) {
|
|
|
+ if (StringUtils.isBlank(filterRate) || StringUtils.isBlank(filterDate)) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
// 解析日期区间
|
|
|
String[] dateRanges = filterDate.split(",");
|
|
|
List<DateRange> parsedDateRanges = new ArrayList<>();
|
|
|
for (String range : dateRanges) {
|
|
|
String[] dates = range.split("-");
|
|
|
+ if (dates.length != 2) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
LocalDateTime start = LocalDateTime.parse(dates[0], DateTimeFormatter.ofPattern("yyyyMMddHH"));
|
|
|
LocalDateTime end = LocalDateTime.parse(dates[1], DateTimeFormatter.ofPattern("yyyyMMddHH"));
|
|
|
parsedDateRanges.add(new DateRange(start, end));
|
|
@@ -45,6 +53,9 @@ public class ProbabilityCalculator {
|
|
|
String[] rateRanges = filterRate.split(",");
|
|
|
List<RateRange> parsedRateRanges = new ArrayList<>();
|
|
|
for (String range : rateRanges) {
|
|
|
+ if (range.split("-").length != 2) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
String[] rates = range.split("-");
|
|
|
double start = Double.parseDouble(rates[0]);
|
|
|
double end = Double.parseDouble(rates[1]);
|