| | |
| | | IPage<OperationOrderVO> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | OperationOrderQueryDTO model = pageWrap.getModel() == null |
| | | ? new OperationOrderQueryDTO() : pageWrap.getModel(); |
| | | // 租用中(status=1):需过滤掉无骑行记录的订单(已支付但用户从未开锁骑行) |
| | | boolean queryInProgress = Objects.nonNull(model.getStatus()) && model.getStatus().equals(Constants.ONE); |
| | | |
| | | // ── 步骤1:分页主查询 ── |
| | | // 主表 goodsorder left join member(取手机号)+ left join base_param(取结算车型名); |
| | |
| | | // 订单类型:按骑行记录 member_rides.type 筛选(可选) |
| | | .inSql(Objects.nonNull(model.getBikeType()), Goodsorder::getId, |
| | | "select ordre_id from member_rides where isdeleted = 0 and type = " + model.getBikeType()) |
| | | // 租用中(status=1):仅保留存在骑行记录的订单,过滤掉已支付但无骑行记录的数据 |
| | | .inSql(queryInProgress, Goodsorder::getId, |
| | | "select ordre_id from member_rides where isdeleted = 0") |
| | | .orderByDesc(Goodsorder::getPayDate); |
| | | IPage<OperationOrderVO> result = goodsorderMapper.selectJoinPage(page, OperationOrderVO.class, wrapper); |
| | | List<OperationOrderVO> records = result.getRecords(); |