From be723cf07602e59f77852e706fbfa2d8ac1963df Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Thu, 1 Oct 2026 00:07:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=89=E5=8F=96=E6=88=BF=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SmHotelMidController.java | 7 +++++++ .../service/SmHotelMidService.java | 5 +++++ .../service/impl/SmHotelMidServiceImpl.java | 20 +++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelMidController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelMidController.java index b8c808e4..d9d916cf 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelMidController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelMidController.java @@ -89,6 +89,13 @@ public class SmHotelMidController { return midService.pullRoomsFromUpstream(id); } + @Operation(summary = "仅拉取上游房价样例(getRoomPrice 今天 1 天)") + @PostMapping("/mid/pullPrice/{id}") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") + public R> pullPrice(@PathVariable Long id) { + return midService.pullPriceFromUpstream(id); + } + @Operation(summary = "推送到下游销售方") @PostMapping("/mid/push/{id}") @PreAuthorize("@pms.hasPermission('supermarket_smHotel_push')") diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelMidService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelMidService.java index abd968d6..4854621f 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelMidService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelMidService.java @@ -21,6 +21,11 @@ public interface SmHotelMidService { */ R> pullRoomsFromUpstream(Long hotelId); + /** + * 仅拉取房价样例(默认今天 1 天 getRoomPrice),用于单独验证房价接口。 + */ + R> pullPriceFromUpstream(Long hotelId); + /** * 仅拉取指定日期区间房价(含房型综合若本地无房型),用于「滚一天」;区间建议 1 天,最长按上游 31 天切片。 */ diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelMidServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelMidServiceImpl.java index 1a902787..37888961 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelMidServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelMidServiceImpl.java @@ -201,6 +201,26 @@ public class SmHotelMidServiceImpl implements SmHotelMidService { return R.ok(result); } + @Override + @Transactional(rollbackFor = Exception.class) + public R> pullPriceFromUpstream(Long hotelId) { + // 只拉今天 1 天,便于快速验证 getRoomPrice,避免一次打满 90 天 + LocalDate start = LocalDate.now(); + LocalDate endExclusive = start.plusDays(1); + R> r = pullPriceRange(hotelId, start, endExclusive); + if (r == null) { + return R.failed("拉取房价返回空"); + } + if (r.getCode() != 0) { + return r; + } + Map data = r.getData() == null ? new LinkedHashMap<>() : new LinkedHashMap<>(r.getData()); + data.put("sampleStart", start.toString()); + data.put("sampleEnd", start.toString()); + data.put("sampleDays", 1); + return R.ok(data); + } + @Override @Transactional(rollbackFor = Exception.class) public R> pullPriceRange(Long hotelId, LocalDate startInclusive, LocalDate endExclusive) {