|
|
@@ -141,26 +141,31 @@ public class RuleServiceImpl implements RuleService {
|
|
|
|
|
|
private boolean inputNumberEqual(RuleAttrLinkVo linkVo, String value) {
|
|
|
double v = Double.parseDouble(value);
|
|
|
+ double min = linkVo.getMin() != null ? Double.parseDouble(linkVo.getMin()) : Double.MIN_VALUE;
|
|
|
+ double max = linkVo.getMax() != null ? Double.parseDouble(linkVo.getMax()) : Double.MAX_VALUE;
|
|
|
//统一处理数值
|
|
|
if (OperatorConstant.InputNumber.EQ.getCode().equals(linkVo.getOperator())) {
|
|
|
- if (Double.parseDouble(linkVo.getMin()) <= v &&
|
|
|
- Double.parseDouble(linkVo.getMax()) >= v) {
|
|
|
+ if (min <= v && max >= v) {
|
|
|
return true;
|
|
|
}
|
|
|
} else if (OperatorConstant.InputNumber.LT.getCode().equals(linkVo.getOperator())) {
|
|
|
- if (Double.parseDouble(linkVo.getMin()) > v) {
|
|
|
+ if (min > v) {
|
|
|
return true;
|
|
|
}
|
|
|
} else if (OperatorConstant.InputNumber.LE.getCode().equals(linkVo.getOperator())) {
|
|
|
- if (Double.parseDouble(linkVo.getMin()) >= v) {
|
|
|
+ if (min >= v) {
|
|
|
return true;
|
|
|
}
|
|
|
} else if (OperatorConstant.InputNumber.GT.getCode().equals(linkVo.getOperator())) {
|
|
|
- if (Double.parseDouble(linkVo.getMax()) < v) {
|
|
|
+ if (max < v) {
|
|
|
return true;
|
|
|
}
|
|
|
} else if (OperatorConstant.InputNumber.GE.getCode().equals(linkVo.getOperator())) {
|
|
|
- if (Double.parseDouble(linkVo.getMax()) <= v) {
|
|
|
+ if (max <= v) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ } else if (OperatorConstant.InputNumber.NE.getCode().equals(linkVo.getOperator())) {// 不包含:不在 [min, max] 区间内
|
|
|
+ if (min > v && max < v) {
|
|
|
return true;
|
|
|
}
|
|
|
}
|