1、參考圖片
2、參考示例
/**
* TODO 分頁查詢
*/
@Override
public Result<IPage<OrderInfoVO>> findPage(@RequestParam(required = false) String shopId,
@RequestParam(required = false) String houseId,
@RequestParam(required = false) String orderNo,
@RequestParam(required = false) String formFullName,
@RequestParam(required = false) String formPhone,
@RequestParam(required = false) String commodityName,
@RequestParam(required = false) LocalDateTime startTime,
@RequestParam(required = false) LocalDateTime entTime,
@RequestParam(required = false) OrderPayTypeEnum payType,
@RequestParam(required = false) OrderStatusEnum orderStatus) {
Page<OrderInfo> page = this.page(this.getPage(), new LambdaQueryWrapper<OrderInfo>()
.orderByAsc(OrderInfo::getCreateTime)
.eq(StringUtils.isNotBlank(shopId), OrderInfo::getShopId, shopId)
.eq(StringUtils.isNotBlank(houseId), OrderInfo::getHouseId, houseId)
.eq(StringUtils.isNotBlank(orderNo), OrderInfo::getOrderNo, orderNo)
.like(StringUtils.isNotBlank(formFullName), OrderInfo::getFormFullName, formFullName)
.like(StringUtils.isNotBlank(formPhone), OrderInfo::getFormPhone, formPhone)
.and(StringUtils.isNotBlank(commodityName),
i -> i.like(OrderInfo::getHouseName, commodityName)
.or()
.like(OrderInfo::getHouseRoomName, commodityName)
)
.between(startTime != null && entTime != null, OrderInfo::getPayTime, startTime, entTime)
.eq(payType != null, OrderInfo::getPayType, payType)
.eq(orderStatus != null, OrderInfo::getOrderStatus, orderStatus)
);
IPage<OrderInfoVO> orderInfoVOIPage = BeanDtoVoUtil.pageVo(page, OrderInfoVO.class);
return Result.successFind(orderInfoVOIPage);
}