用户订单分页查询

This commit is contained in:
yanglei 2025-11-17 16:03:28 +08:00
parent 69bbac2024
commit 916297de2f
4 changed files with 19 additions and 9 deletions

View File

@ -37,8 +37,13 @@ public class EbikeRefundServiceImpl extends ServiceImpl<EbikeRefundMapper, Ebike
@Override
public List<EbikeRefund> getNoSuccessRefundOrderByDuration(int duration) {
// trade_state 等于2(退款状态中) 并且创建时间超过duration分钟的订单
String timeFilter = String.format("%s(%s, %s(%s))>=%s()", ADDTIME, EBIKE_REFUND.CREATE_TIME.getName(), SEC_TO_TIME
, duration * 60, NOW);
int totalSeconds = duration * 60;
String timeFilter = String.format(
"%s + INTERVAL '%d seconds' >= NOW()",
EBIKE_REFUND.CREATE_TIME.getName(),
totalSeconds
);
QueryWrapper query = QueryWrapper.create()
.where(EBIKE_REFUND.REFUND_STATUS.eq(RefundStatus.PROCESSED))
.and(timeFilter);

View File

@ -1,5 +1,6 @@
package com.cdzy.user.controller;
import com.cdzy.common.model.request.PageParam;
import com.cdzy.common.model.response.JsonResult;
import com.cdzy.user.model.dto.EbikeUserCyclingDto;
import com.cdzy.user.model.dto.EbikeUserCyclingEndDto;
@ -10,6 +11,7 @@ import com.ebike.feign.model.dto.FeignEbikeDto;
import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo;
import com.ebike.feign.model.dto.FeignOrderPaymentDto;
import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo;
import com.mybatisflex.core.paginate.Page;
import jakarta.annotation.Resource;
import jakarta.validation.constraints.NotNull;
import org.springframework.validation.annotation.Validated;
@ -175,13 +177,13 @@ public class EbikeOrderController {
}
/**
* 根据用户订单表主键获取订单状态
* 根据用户id获取用户所有订单
*
* @param userId 用户订单表主键
*/
@GetMapping("getUserAllOrder")
public JsonResult<?> getUserAllOrder(@RequestParam("userId") Long userId) {
List<EbikeUserAllOrdersVo> userAllOrders = ebikeOrderService.getUserAllOrder(userId);
public JsonResult<?> getUserAllOrder(@RequestParam("userId") Long userId, PageParam page) {
Page<EbikeUserAllOrdersVo> userAllOrders = ebikeOrderService.getUserAllOrder(userId, page);
return JsonResult.success(userAllOrders);
}

View File

@ -1,5 +1,6 @@
package com.cdzy.user.service;
import com.cdzy.common.model.request.PageParam;
import com.cdzy.user.model.dto.EbikeUserCyclingDto;
import com.cdzy.user.model.dto.EbikeUserCyclingEndDto;
import com.cdzy.user.model.entity.EbikeOrder;
@ -8,6 +9,7 @@ import com.ebike.feign.model.dto.FeignEbikeDto;
import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo;
import com.ebike.feign.model.dto.FeignOrderPaymentDto;
import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import java.util.List;
@ -116,5 +118,5 @@ public interface EbikeOrderService extends IService<EbikeOrder> {
* @param userId 用户id
* @return 用户订单
*/
List<EbikeUserAllOrdersVo> getUserAllOrder(Long userId);
Page<EbikeUserAllOrdersVo> getUserAllOrder(Long userId, PageParam page);
}

View File

@ -2,6 +2,7 @@ package com.cdzy.user.service.impl;
import com.cdzy.common.enums.Code;
import com.cdzy.common.ex.EbikeException;
import com.cdzy.common.model.request.PageParam;
import com.cdzy.common.model.response.JsonResult;
import com.cdzy.user.enums.*;
import com.cdzy.user.mapper.EbikeOrderMapper;
@ -22,7 +23,7 @@ import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo;
import com.ebike.feign.model.dto.FeignEbikeUserLockDto;
import com.ebike.feign.model.dto.FeignOrderPaymentDto;
import com.ebike.feign.model.vo.FeignEbikeBikeRadiusVo;
import com.mybatisflex.core.keygen.impl.SnowFlakeIDKeyGenerator;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import feign.FeignException;
@ -258,7 +259,7 @@ public class EbikeOrderImpl extends ServiceImpl<EbikeOrderMapper, EbikeOrder> im
}
@Override
public List<EbikeUserAllOrdersVo> getUserAllOrder(Long userId) {
public Page<EbikeUserAllOrdersVo> getUserAllOrder(Long userId, PageParam page) {
QueryWrapper queryWrapper = QueryWrapper.create()
.select(
EBIKE_ORDER.ORDER_ID,
@ -286,7 +287,7 @@ public class EbikeOrderImpl extends ServiceImpl<EbikeOrderMapper, EbikeOrder> im
)
.where(EBIKE_ORDER.USER_ID.eq(userId))
.orderBy(EBIKE_ORDER.CREATE_TIME.desc());
return this.mapper.selectListByQueryAs(queryWrapper, EbikeUserAllOrdersVo.class);
return this.mapper.paginateAs(page.getPage(), queryWrapper, EbikeUserAllOrdersVo.class);
}