重写用户获取火点数据的接口
This commit is contained in:
parent
7d5025b9ab
commit
6abeff1494
@ -191,6 +191,8 @@ public class FirePointQueryManager {
|
|||||||
List<Predicate> predicateList = new ArrayList<>();
|
List<Predicate> predicateList = new ArrayList<>();
|
||||||
//添加区划编码的过滤
|
//添加区划编码的过滤
|
||||||
predicateList.add(criteriaBuilder.like(root.get("townCode").as(String.class), finalMNoRedundantUserCode + "%"));
|
predicateList.add(criteriaBuilder.like(root.get("townCode").as(String.class), finalMNoRedundantUserCode + "%"));
|
||||||
|
|
||||||
|
List<Predicate> subPredicateList = new ArrayList<>();
|
||||||
for (VipTimeRangeBean.VipTimeRangeItemBean vipTimeRangeItem : mVipTimeRangeItemList) {
|
for (VipTimeRangeBean.VipTimeRangeItemBean vipTimeRangeItem : mVipTimeRangeItemList) {
|
||||||
String userStartTime = vipTimeRangeItem.getStartTime();
|
String userStartTime = vipTimeRangeItem.getStartTime();
|
||||||
String userEndTime = vipTimeRangeItem.getEndTime();
|
String userEndTime = vipTimeRangeItem.getEndTime();
|
||||||
@ -198,7 +200,21 @@ public class FirePointQueryManager {
|
|||||||
Predicate beforeStartTimePredicate = criteriaBuilder.greaterThanOrEqualTo(root.get("satelliteTime").as(String.class), userStartTime);
|
Predicate beforeStartTimePredicate = criteriaBuilder.greaterThanOrEqualTo(root.get("satelliteTime").as(String.class), userStartTime);
|
||||||
//早于(包含)VIP结束时间
|
//早于(包含)VIP结束时间
|
||||||
Predicate afterEndTimePredicate = criteriaBuilder.lessThanOrEqualTo(root.get("satelliteTime").as(String.class), userEndTime);
|
Predicate afterEndTimePredicate = criteriaBuilder.lessThanOrEqualTo(root.get("satelliteTime").as(String.class), userEndTime);
|
||||||
predicateList.add(criteriaBuilder.and(beforeStartTimePredicate, afterEndTimePredicate));
|
subPredicateList.add(criteriaBuilder.and(beforeStartTimePredicate, afterEndTimePredicate));
|
||||||
|
}
|
||||||
|
if (subPredicateList.size() == 0) {
|
||||||
|
} else if (subPredicateList.size() == 1) {
|
||||||
|
predicateList.add(subPredicateList.get(0));
|
||||||
|
} else {
|
||||||
|
Predicate orPredicate = null;
|
||||||
|
for (int i = 1; i < subPredicateList.size(); i++) {
|
||||||
|
if (i == 1) {
|
||||||
|
orPredicate = criteriaBuilder.or(subPredicateList.get(0), subPredicateList.get(1));
|
||||||
|
} else {
|
||||||
|
orPredicate = criteriaBuilder.or(orPredicate, subPredicateList.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
predicateList.add(orPredicate);
|
||||||
}
|
}
|
||||||
return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()]));
|
return criteriaBuilder.and(predicateList.toArray(new Predicate[predicateList.size()]));
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user