中国十大摄影网站排名,河北网站制作公司,张家港网站seo,推荐企业手机网站建设背景#xff1a;最近项目需要#xff0c;师傅可以查找订单#xff0c;而师傅是指定可以服务2到3个区域#xff0c;故需要使用到and, or条件的组合#xff0c;以下记一下代码。 最重要的代码是#xff1a;
1、构建ListConsumerLambdaQueryWrapperT最近项目需要师傅可以查找订单而师傅是指定可以服务2到3个区域故需要使用到and, or条件的组合以下记一下代码。 最重要的代码是
1、构建ListConsumerLambdaQueryWrapperT andConditions
2、从列表中填好 andConditions使用 and, or
3、queryWrapper使用and中使用for得到所有的条件。 // 通过staffId查找地域id
LambdaQueryWrapperServiceAreaStaff areaQueryWrapper new LambdaQueryWrapperServiceAreaStaff().eq(ServiceAreaStaff::getStaffId, staff.getId());
ListServiceAreaStaff areasList serviceAreaStaffMapper.selectList(areaQueryWrapper);
// 找到符合的订单// 当前师傅只能看到服务范围内的订单数据
ListConsumerLambdaQueryWrapperOrder andConditions new ArrayList();ListLong areas new ArrayListLong();
for(ServiceAreaStaff area : areasList) {andConditions.add(wq - wq.or().eq(Order::getServiceAreaId, area.getServiceAreaId()));
}LambdaQueryWrapperOrder queryWrapper new LambdaQueryWrapperOrder().and(true, wrapper - {for (ConsumerLambdaQueryWrapperOrder condition : andConditions) {condition.accept(wrapper);}}).orderByDesc(Order::getId);