diff --git a/ebike-payment/src/main/java/com/cdzy/payment/service/impl/EbikeRefundServiceImpl.java b/ebike-payment/src/main/java/com/cdzy/payment/service/impl/EbikeRefundServiceImpl.java index 6406788..4ba3bb8 100644 --- a/ebike-payment/src/main/java/com/cdzy/payment/service/impl/EbikeRefundServiceImpl.java +++ b/ebike-payment/src/main/java/com/cdzy/payment/service/impl/EbikeRefundServiceImpl.java @@ -37,8 +37,13 @@ public class EbikeRefundServiceImpl extends ServiceImpl 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); diff --git a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java index 88d1352..077789b 100644 --- a/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java +++ b/ebike-user/src/main/java/com/cdzy/user/controller/EbikeOrderController.java @@ -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 userAllOrders = ebikeOrderService.getUserAllOrder(userId); + public JsonResult getUserAllOrder(@RequestParam("userId") Long userId, PageParam page) { + Page userAllOrders = ebikeOrderService.getUserAllOrder(userId, page); return JsonResult.success(userAllOrders); } diff --git a/ebike-user/src/main/java/com/cdzy/user/model/vo/EbikeUserAllOrdersVo.java b/ebike-user/src/main/java/com/cdzy/user/model/vo/EbikeUserAllOrdersVo.java index 1bac0a3..8d236b1 100644 --- a/ebike-user/src/main/java/com/cdzy/user/model/vo/EbikeUserAllOrdersVo.java +++ b/ebike-user/src/main/java/com/cdzy/user/model/vo/EbikeUserAllOrdersVo.java @@ -138,4 +138,9 @@ public class EbikeUserAllOrdersVo { @JsonDeserialize(using = PGpointDeserializer.class) private PGpoint endLocation; + /** + * 创建时间 + */ + private LocalDateTime createTime; + } diff --git a/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java b/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java index 5ac4fa9..437d570 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/EbikeOrderService.java @@ -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 { * @param userId 用户id * @return 用户订单 */ - List getUserAllOrder(Long userId); + Page getUserAllOrder(Long userId, PageParam page); } diff --git a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderImpl.java b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderImpl.java index 0aa5570..d290fd2 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderImpl.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeOrderImpl.java @@ -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 im } @Override - public List getUserAllOrder(Long userId) { + public Page getUserAllOrder(Long userId, PageParam page) { QueryWrapper queryWrapper = QueryWrapper.create() .select( EBIKE_ORDER.ORDER_ID, @@ -282,11 +283,12 @@ public class EbikeOrderImpl extends ServiceImpl im EBIKE_ORDER.MAX_FEE_AMOUNT, EBIKE_ORDER.HELMET_MANAGEMENT_FEE, EBIKE_ORDER.START_LOCATION, - EBIKE_ORDER.END_LOCATION + EBIKE_ORDER.END_LOCATION, + EBIKE_ORDER.CREATE_TIME ) .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); }