diff --git a/.gitignore b/.gitignore index a217649e7..70c4da282 100644 --- a/.gitignore +++ b/.gitignore @@ -50,6 +50,7 @@ target/ *.properties~ *.xml~ sessionStore +tmp/ ### system ignore ### .DS_Store diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/coffee/HardCoffeeOrderVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/coffee/HardCoffeeOrderVo.java index 74e696f3b..6b21c2c1f 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/coffee/HardCoffeeOrderVo.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/coffee/HardCoffeeOrderVo.java @@ -94,6 +94,11 @@ public class HardCoffeeOrderVo extends HardCoffeeOrderEntity */ private LocalDateTime payTime; + /** + * 本地订单实付金额(分),供退款入口判断是否可退 + */ + private Integer payPrice; + /** * 本地订单退款金额(分) */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java index 6596fd6e9..6db414f1c 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardCarController.java @@ -149,9 +149,10 @@ public class HardCarController { @GetMapping("/order-id") @Operation(summary = "根据订单id查询购物车") public R> orderId(@ParameterObject Page page, @RequestParam Long orderId) { - if (ObjectUtil.isEmpty(orderId)) R.ok(null); + // 咖啡机等简单支付订单没有购物车,统一返回空分页而不是 null,避免前端分页表格按 records 取值时报错 + if (ObjectUtil.isEmpty(orderId)) return R.ok(emptyPage(page)); HardOrderEntity order = hardOrderService.getById(orderId); - if (ObjectUtil.isEmpty(order) || ObjectUtil.isEmpty(order.getParentCarId())) return R.ok(null); + if (ObjectUtil.isEmpty(order) || ObjectUtil.isEmpty(order.getParentCarId())) return R.ok(emptyPage(page)); HardCarDto dto = new HardCarDto(); dto.setParentCarId(order.getParentCarId()); Page carPage = hardCarService.pageJoin(page, dto); @@ -159,6 +160,18 @@ public class HardCarController { return R.ok(carPage); } + /** + * 构造无购物车订单的空分页响应,保留分页参数并清零总数。 + * + * @param page 请求携带的分页参数 + * @return records 为空列表、total 为 0 的分页对象 + */ + private Page emptyPage(Page page) { + page.setRecords(java.util.List.of()); + page.setTotal(0); + return page; + } + @GetMapping("/refund-car") @Operation(summary = "查询退款购物车根据订单id") public R> refundCar(@RequestParam Long orderId) { diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/coffee/HardCoffeeServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/coffee/HardCoffeeServiceImpl.java index c2f54987d..388e59503 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/coffee/HardCoffeeServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/coffee/HardCoffeeServiceImpl.java @@ -611,6 +611,7 @@ public class HardCoffeeServiceImpl implements HardCoffeeService { vo.setOrderStatus(order.getOrderStatus()); vo.setPayType(order.getPayType()); vo.setPayTime(order.getPayTime()); + vo.setPayPrice(order.getPayPrice()); vo.setRefundPrice(order.getRefundPrice()); vo.setRefundStatus(order.getRefundStatus()); if (order.getUserId() != null && order.getUserId() > 0) { @@ -707,6 +708,7 @@ public class HardCoffeeServiceImpl implements HardCoffeeService { vo.setOrderStatus(order.getOrderStatus()); vo.setPayType(order.getPayType()); vo.setPayTime(order.getPayTime()); + vo.setPayPrice(order.getPayPrice()); vo.setRefundPrice(order.getRefundPrice()); vo.setRefundStatus(order.getRefundStatus()); if (order.getUserId() != null && order.getUserId() > 0) {