From 8d62425d6869d3a728dfc89377da4b2042e2dd34 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Wed, 30 Sep 2026 11:53:08 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=92=E5=BA=97=E8=BF=81=E7=A7=BB=E5=88=B0?= =?UTF-8?q?=E8=B6=85=E6=97=B6=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canteen/vo/CanteenHotelDetailVO.java | 28 -- .../controller/CanteenHotelController.java | 100 ------- .../CanteenHotelCallbackTaskMapper.java | 9 - .../CanteenHotelDownstreamAppMapper.java | 9 - .../canteen/mapper/CanteenHotelMapper.java | 14 - .../mapper/CanteenHotelOrderMapper.java | 9 - .../mapper/CanteenHotelPriceConfigMapper.java | 9 - .../mapper/CanteenHotelSyncLogMapper.java | 9 - .../CanteenHotelPriceConfigService.java | 19 -- .../canteen/service/CanteenHotelService.java | 26 -- .../src/main/resources/application.yml | 102 -------- .../entity/SmHotelCallbackTaskEntity.java | 4 +- .../entity/SmHotelDailyEntity.java | 4 +- .../entity/SmHotelDownstreamAppEntity.java | 4 +- .../supermarket/entity/SmHotelEntity.java | 4 +- .../entity/SmHotelOrderEntity.java | 4 +- .../entity/SmHotelPriceConfigEntity.java | 4 +- .../entity/SmHotelProductEntity.java | 4 +- .../supermarket/entity/SmHotelRoomEntity.java | 4 +- .../entity/SmHotelSyncLogEntity.java | 4 +- .../supermarket/vo/SmHotelDetailVO.java | 28 ++ .../supermarket/vo/SmHotelImportResultVO.java | 4 +- .../pjcloud-supermarket-biz/pom.xml | 5 + .../config/HotelDownstreamProperties.java | 2 +- .../config/ShangyouHotelProperties.java | 2 +- .../config/SupermarketSchedulingConfig.java | 4 +- .../SmHotelCallbackTaskController.java | 24 +- .../controller/SmHotelController.java | 100 +++++++ .../SmHotelDownstreamOrderController.java | 10 +- .../controller/SmHotelMidController.java | 86 +++--- .../controller/SmHotelOrderController.java | 28 +- .../controller/SmHotelUpstreamController.java | 28 +- .../downstream/DownstreamHotelApi.java | 2 +- .../downstream/DownstreamHotelClient.java | 4 +- .../downstream/DownstreamInboundAuth.java | 16 +- .../downstream/DownstreamSignHelper.java | 2 +- .../shangyou/ShangyouBookStatus.java | 2 +- .../shangyou/ShangyouCallbackQueueWorker.java | 8 +- .../shangyou/ShangyouCallbackSignHelper.java | 2 +- .../shangyou/ShangyouHotelApi.java | 28 +- .../shangyou/ShangyouHotelClient.java | 8 +- .../shangyou/ShangyouOrderCallResult.java | 2 +- .../ShangyouOrderCompensateWorker.java | 8 +- .../job/SmHotelShangyouSpringSchedule.java | 10 +- .../job/SmHotelShangyouSyncJob.java | 20 +- .../mapper/SmHotelCallbackTaskMapper.java | 9 + .../mapper/SmHotelDailyMapper.java | 8 +- .../mapper/SmHotelDownstreamAppMapper.java | 9 + .../supermarket/mapper/SmHotelMapper.java | 14 + .../mapper/SmHotelOrderMapper.java | 9 + .../mapper/SmHotelPriceConfigMapper.java | 9 + .../mapper/SmHotelProductMapper.java | 8 +- .../supermarket/mapper/SmHotelRoomMapper.java | 8 +- .../mapper/SmHotelSyncLogMapper.java | 9 + .../service/SmHotelCallbackTaskService.java | 12 +- .../service/SmHotelMidService.java | 12 +- .../service/SmHotelOrderService.java | 10 +- .../service/SmHotelPriceConfigService.java | 19 ++ .../supermarket/service/SmHotelService.java | 26 ++ .../service/SmHotelSyncService.java | 18 +- .../service/SmHotelUpstreamService.java | 4 +- .../impl/SmHotelCallbackTaskServiceImpl.java | 88 +++---- .../service/impl/SmHotelMidServiceImpl.java | 244 +++++++++--------- .../service/impl/SmHotelOrderServiceImpl.java | 180 ++++++------- .../impl/SmHotelPriceConfigServiceImpl.java | 26 +- .../service/impl/SmHotelServiceImpl.java | 98 +++---- .../service/impl/SmHotelSyncServiceImpl.java | 190 +++++++------- .../impl/SmHotelUpstreamServiceImpl.java | 22 +- .../src/main/resources/application.yml | 102 ++++++++ .../resources/mapper/SmHotelDailyMapper.xml | 2 +- .../main/resources/mapper/SmHotelMapper.xml | 2 +- .../resources/mapper/SmHotelProductMapper.xml | 2 +- .../resources/mapper/SmHotelRoomMapper.xml | 2 +- 73 files changed, 975 insertions(+), 970 deletions(-) delete mode 100644 pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/CanteenHotelDetailVO.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelController.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelCallbackTaskMapper.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelDownstreamAppMapper.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelMapper.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelOrderMapper.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelPriceConfigMapper.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelSyncLogMapper.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelPriceConfigService.java delete mode 100644 pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelService.java rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelCallbackTaskEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelCallbackTaskEntity.java (92%) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelDailyEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelDailyEntity.java (91%) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelDownstreamAppEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelDownstreamAppEntity.java (88%) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelEntity.java (94%) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelOrderEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelOrderEntity.java (95%) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelPriceConfigEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelPriceConfigEntity.java (89%) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelProductEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelProductEntity.java (92%) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelRoomEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelRoomEntity.java (90%) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelSyncLogEntity.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelSyncLogEntity.java (93%) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SmHotelDetailVO.java rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/CanteenHotelImportResultVO.java => pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SmHotelImportResultVO.java (93%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/config/HotelDownstreamProperties.java (95%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/config/ShangyouHotelProperties.java (99%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/CanteenSchedulingConfig.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/SupermarketSchedulingConfig.java (75%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelCallbackTaskController.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelCallbackTaskController.java (60%) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelController.java rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelDownstreamOrderController.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelDownstreamOrderController.java (88%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelMidController.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelMidController.java (69%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelOrderController.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelOrderController.java (67%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelUpstreamController.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelUpstreamController.java (83%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/downstream/DownstreamHotelApi.java (88%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/downstream/DownstreamHotelClient.java (96%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/downstream/DownstreamInboundAuth.java (73%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/downstream/DownstreamSignHelper.java (94%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/shangyou/ShangyouBookStatus.java (95%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/shangyou/ShangyouCallbackQueueWorker.java (92%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/shangyou/ShangyouCallbackSignHelper.java (89%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/shangyou/ShangyouHotelApi.java (52%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/shangyou/ShangyouHotelClient.java (99%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/shangyou/ShangyouOrderCallResult.java (97%) rename {pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket}/integration/shangyou/ShangyouOrderCompensateWorker.java (89%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/job/CanteenHotelShangyouSpringSchedule.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/job/SmHotelShangyouSpringSchedule.java (84%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/job/CanteenHotelShangyouSyncJob.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/job/SmHotelShangyouSyncJob.java (66%) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelCallbackTaskMapper.java rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelDailyMapper.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelDailyMapper.java (79%) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelDownstreamAppMapper.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelMapper.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelOrderMapper.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelPriceConfigMapper.java rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelProductMapper.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelProductMapper.java (70%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelRoomMapper.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelRoomMapper.java (70%) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelSyncLogMapper.java rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelCallbackTaskService.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelCallbackTaskService.java (69%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelMidService.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelMidService.java (79%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelOrderService.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelOrderService.java (79%) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelPriceConfigService.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelService.java rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelSyncService.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelSyncService.java (70%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelUpstreamService.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmHotelUpstreamService.java (93%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenHotelCallbackTaskServiceImpl.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelCallbackTaskServiceImpl.java (74%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenHotelMidServiceImpl.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelMidServiceImpl.java (78%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenHotelOrderServiceImpl.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelOrderServiceImpl.java (83%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenHotelPriceConfigServiceImpl.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelPriceConfigServiceImpl.java (60%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenHotelServiceImpl.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelServiceImpl.java (83%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenHotelSyncServiceImpl.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelSyncServiceImpl.java (82%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenHotelUpstreamServiceImpl.java => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmHotelUpstreamServiceImpl.java (90%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenHotelDailyMapper.xml => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmHotelDailyMapper.xml (90%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenHotelMapper.xml => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmHotelMapper.xml (91%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenHotelProductMapper.xml => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmHotelProductMapper.xml (93%) rename pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenHotelRoomMapper.xml => pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmHotelRoomMapper.xml (91%) diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/CanteenHotelDetailVO.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/CanteenHotelDetailVO.java deleted file mode 100644 index 149513062..000000000 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/CanteenHotelDetailVO.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.bsd.pjcloud.canteen.vo; - -import com.bsd.pjcloud.canteen.entity.CanteenHotelDailyEntity; -import com.bsd.pjcloud.canteen.entity.CanteenHotelEntity; -import com.bsd.pjcloud.canteen.entity.CanteenHotelProductEntity; -import com.bsd.pjcloud.canteen.entity.CanteenHotelRoomEntity; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.util.ArrayList; -import java.util.List; - -@Data -@Schema(description = "酒店详情(含上游拉取的房型/产品摘要)") -public class CanteenHotelDetailVO { - - private CanteenHotelEntity hotel; - - private List rooms = new ArrayList<>(); - - private List products = new ArrayList<>(); - - @Schema(description = "日历条数(未来含今天)") - private Long dailyCount; - - @Schema(description = "日历预览(默认最近一段,完整日历走分页接口)") - private List dailyPreview = new ArrayList<>(); -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelController.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelController.java deleted file mode 100644 index bc24da9e4..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelController.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.bsd.pjcloud.canteen.controller; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.canteen.entity.CanteenHotelEntity; -import com.bsd.pjcloud.canteen.service.CanteenHotelService; -import com.bsd.pjcloud.canteen.vo.CanteenHotelImportResultVO; -import com.bsd.pjcloud.common.core.util.R; -import com.bsd.pjcloud.common.log.annotation.SysLog; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.security.SecurityRequirement; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; -import org.springdoc.core.annotations.ParameterObject; -import org.springframework.http.HttpHeaders; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -@RestController -@RequiredArgsConstructor -@RequestMapping("/canteenHotel") -@Tag(name = "酒店管理") -@SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class CanteenHotelController { - - private final CanteenHotelService hotelService; - - @Operation(summary = "分页查询") - @GetMapping("/page") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") - public R> page(@ParameterObject Page page, - @ParameterObject CanteenHotelEntity query) { - var wrapper = Wrappers.lambdaQuery() - .like(StrUtil.isNotBlank(query.getHotelName()), CanteenHotelEntity::getHotelName, query.getHotelName()) - .like(StrUtil.isNotBlank(query.getHotelCode()), CanteenHotelEntity::getHotelCode, query.getHotelCode()) - .like(StrUtil.isNotBlank(query.getGroupCode()), CanteenHotelEntity::getGroupCode, query.getGroupCode()) - .eq(StrUtil.isNotBlank(query.getSourceId()), CanteenHotelEntity::getSourceId, query.getSourceId()) - .eq(StrUtil.isNotBlank(query.getSheetName()), CanteenHotelEntity::getSheetName, query.getSheetName()) - .orderByDesc(CanteenHotelEntity::getCreateTime) - .orderByDesc(CanteenHotelEntity::getId); - // 启用:含未写状态的老数据;停用:仅 OFFLINE;空=全部 - if ("OFFLINE".equalsIgnoreCase(query.getUpstreamStatus())) { - wrapper.eq(CanteenHotelEntity::getUpstreamStatus, "OFFLINE"); - } - else if ("ACTIVE".equalsIgnoreCase(query.getUpstreamStatus())) { - wrapper.and(w -> w.isNull(CanteenHotelEntity::getUpstreamStatus) - .or() - .ne(CanteenHotelEntity::getUpstreamStatus, "OFFLINE")); - } - return R.ok(hotelService.pageScope(page, wrapper)); - } - - /** 上传文件会立刻 transferTo 临时目录,勿加 @SysLog */ - @Operation(summary = "提交Excel异步导入(多Sheet流式)") - @PostMapping("/import") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_import')") - public R importExcel(@RequestParam("file") MultipartFile file) { - return hotelService.startImport(file); - } - - @Operation(summary = "查询酒店导入进度") - @GetMapping("/import/status/{taskId}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_import')") - public R importStatus(@PathVariable String taskId) { - return hotelService.getImportStatus(taskId); - } - - @Operation(summary = "详情") - @GetMapping("/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") - public R getById(@PathVariable Long id) { - return R.ok(hotelService.getById(id)); - } - - @SysLog("新增酒店") - @Operation(summary = "新增") - @PostMapping - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_add')") - public R save(@RequestBody CanteenHotelEntity entity) { - return R.ok(hotelService.saveHotel(entity)); - } - - @SysLog("修改酒店") - @Operation(summary = "修改") - @PutMapping - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") - public R update(@RequestBody CanteenHotelEntity entity) { - return R.ok(hotelService.updateHotel(entity)); - } - - @SysLog("删除酒店") - @Operation(summary = "删除") - @DeleteMapping - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_del')") - public R remove(@RequestBody Long[] ids) { - return R.ok(hotelService.removeHotels(ids)); - } -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelCallbackTaskMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelCallbackTaskMapper.java deleted file mode 100644 index 3c6f0ad03..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelCallbackTaskMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bsd.pjcloud.canteen.mapper; - -import com.bsd.pjcloud.canteen.entity.CanteenHotelCallbackTaskEntity; -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface CanteenHotelCallbackTaskMapper extends PjcloudBaseMapper { -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelDownstreamAppMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelDownstreamAppMapper.java deleted file mode 100644 index dcf0d1ed3..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelDownstreamAppMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bsd.pjcloud.canteen.mapper; - -import com.bsd.pjcloud.canteen.entity.CanteenHotelDownstreamAppEntity; -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface CanteenHotelDownstreamAppMapper extends PjcloudBaseMapper { -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelMapper.java deleted file mode 100644 index 6cf0a0d10..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.bsd.pjcloud.canteen.mapper; - -import com.bsd.pjcloud.canteen.entity.CanteenHotelEntity; -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -@Mapper -public interface CanteenHotelMapper extends PjcloudBaseMapper { - - int insertBatch(@Param("list") List list); -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelOrderMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelOrderMapper.java deleted file mode 100644 index 0f2a4ae30..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelOrderMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bsd.pjcloud.canteen.mapper; - -import com.bsd.pjcloud.canteen.entity.CanteenHotelOrderEntity; -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface CanteenHotelOrderMapper extends PjcloudBaseMapper { -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelPriceConfigMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelPriceConfigMapper.java deleted file mode 100644 index 6fd9c404e..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelPriceConfigMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bsd.pjcloud.canteen.mapper; - -import com.bsd.pjcloud.canteen.entity.CanteenHotelPriceConfigEntity; -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface CanteenHotelPriceConfigMapper extends PjcloudBaseMapper { -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelSyncLogMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelSyncLogMapper.java deleted file mode 100644 index 090be7088..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelSyncLogMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.bsd.pjcloud.canteen.mapper; - -import com.bsd.pjcloud.canteen.entity.CanteenHotelSyncLogEntity; -import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface CanteenHotelSyncLogMapper extends PjcloudBaseMapper { -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelPriceConfigService.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelPriceConfigService.java deleted file mode 100644 index 0c9f57797..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelPriceConfigService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.bsd.pjcloud.canteen.service; - -import com.bsd.pjcloud.canteen.entity.CanteenHotelPriceConfigEntity; -import com.bsd.pjcloud.common.core.util.R; - -import java.math.BigDecimal; - -public interface CanteenHotelPriceConfigService { - - R getCurrent(); - - R saveOrUpdateConfig(CanteenHotelPriceConfigEntity entity); - - /** 当前加价百分比,未配置返回 0 */ - BigDecimal currentMarkupPercent(); - - /** 底价按加价百分比计算卖价 */ - BigDecimal applyMarkup(BigDecimal costPrice); -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelService.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelService.java deleted file mode 100644 index 80a28693e..000000000 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenHotelService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.bsd.pjcloud.canteen.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.bsd.pjcloud.canteen.entity.CanteenHotelEntity; -import com.bsd.pjcloud.canteen.vo.CanteenHotelImportResultVO; -import com.bsd.pjcloud.common.core.util.R; -import org.springframework.web.multipart.MultipartFile; - -public interface CanteenHotelService extends IService { - - Page pageScope(Page page, LambdaQueryWrapper wrapper); - - Boolean saveHotel(CanteenHotelEntity entity); - - Boolean updateHotel(CanteenHotelEntity entity); - - Boolean removeHotels(Long[] ids); - - /** 提交异步导入,立刻返回 taskId(status=RUNNING) */ - R startImport(MultipartFile file); - - /** 查询导入任务进度 */ - R getImportStatus(String taskId); -} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/application.yml b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/application.yml index 9844e9ffe..f0c7c67fa 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/application.yml +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/application.yml @@ -29,105 +29,3 @@ security: enable: true # 开启请求加解密 default-encrypt-type: AES # 可选:AES、SM4,默认 AES aes-key: pigxpigxpigxpigx # AES 密钥必须为 16 位 - -## ========== 玉编电云 / TMC CRS 酒店上游(docs/shangyou)========== -## 生产对方通常只给一个根地址:https://onlink.yubdianyun.cn/link/provider -## 此时只配 base-url 即可:鉴权 POST {base-url}/oauth/token ,业务 POST {base-url}/hotel/... -## 测试若鉴权与业务拆成两个地址,再单独配 auth-base-url / biz-base-url -#shangyou-hotel: -# # 是否启用上游调用(false 时拉酒店/房价/下单都会直接报「未启用」) -# enabled: true -# # 上游根地址(生产常用这一项即可,同时用于鉴权+业务) -# base-url: https://onlink.yubdianyun.cn/link/provider -# # 鉴权根地址;一般留空,自动用 base-url。仅当测试环境鉴权与业务分离时才填,例 https://xxx/link -# # auth-base-url: "" -# # 业务根地址;一般留空,自动用 base-url。仅当业务地址与 base-url 不同时才填 -# # biz-base-url: "" -# # OAuth clientId(对方开通账号时下发,用于换 access_token) -# client-id: F210AE02B74C48A3901B -# # OAuth clientSecret(与 client-id 配对,Basic 鉴权换 token) -# client-secret: 99165116A43F413CB799C91714861408 -# # 业务卡号 cardId(账号),请求体 content 里会带 -# card-id: 9082727358de43be96fe -# # 业务秘钥 cardPassWord,请求体 content 里会带;也可兼作回调验签 Secret -# card-password: 5bffd3c42e5a42219872bace3092983d -# # 房价/房量回调验签 Secret:sign=MD5(Secret+time);留空则用上面的 card-password -# callback-secret: 99165116A43F413CB799C91714861408 -# # 下单预订人 bookerId;留空则用 card-id;以对方开通为准 -# booker-id: "" -# # 是否总对总下单(企业中转一般 true;现付调试可 false) -# order-is-group: true -# # 担保模式:NONE / FIRST_NIGHT / FULL_AMOUNT,以对方开卡为准 -# order-guarantee-mode: NONE -# # 房价接口路径。生产必须用 /hotel/getRoomPrice(/hotel/getTMCRoomPrice 会 404) -# room-price-path: /hotel/getRoomPrice -# # 会员等级,逗号分隔;对方要求传时再填,空则不传该字段 -# member-levels: "" -# # 调上游 HTTP 超时(毫秒),含拉酒店列表/房价等 -# timeout-ms: 60000 -# # token 提前作废秒数(对方 token 默认约 21600 秒);避免边界时刻用到已失效 token -# token-skew-seconds: 120 -# # 「拉取上游」时拉未来多少天房价;建议 1~90;接口单次约 31 天,代码会自动按段切片 -# price-days: 90 -# # 授权酒店列表 Redis 缓存分钟数(HASH+ZSET,不落 JVM 全量,支持十几万级) -# hotel-list-cache-minutes: 30 -# # 授权酒店数量告警阈值(仅打日志告警,不截断);十几万级强制刷新建议低峰做 -# hotel-list-warn-size: 100000 -# # 回调无 TENANT-ID:写入任务/匹配本地酒店用的默认租户(酒店中转一般单租户) -# callback-tenant-id: 1 -# # 是否启用回调异步队列 Worker(Redis BRPOP 消费后 pullFromUpstream) -# callback-queue-enabled: true -# # 单条回调任务最大尝试次数(含首次;失败会自动重入队) -# callback-max-attempts: 3 -# # 回调队列处理完一家后的间隔毫秒(房价另有 QPS 限流,这里可较小) -# callback-task-interval-ms: 50 -# # 房价 getRoomPrice 限流(对方约定约 20 QPS)。多实例请均分,如 2 实例各配 10;≤0 关闭 -# price-api-qps: 20 -# # ----- 日更 / 差集 ----- -# # 酒店列表日同步开关(false 则定时/XXL 都跳过) -# hotel-list-daily-sync-enabled: true -# # 是否启用本服务 Spring Cron(改下面 cron 即可生效;已用 XXL 请设 false,避免一天跑两次) -# spring-schedule-enabled: true -# # 列表日更时间:默认每天 02:00(Spring Cron 6 段:秒 分 时 日 月 周) -# hotel-list-daily-cron: "0 0 2 * * ?" -# # 滚价日更时间:默认每天 03:00 -# price-roll-daily-cron: "0 0 3 * * ?" -# # 列表同步后是否自动把「上游有本地无」写入本地主数据 -# auto-import-new-hotels: true -# # 自动导入单次上限(剩余留在差集,可再点导入) -# auto-import-batch-size: 5000 -# # 每日滚第 N 天房价开关 -# price-roll-daily-enabled: true -# # 滚价偏移:today + N(文档第 91 天 → 90) -# price-roll-day-offset: 90 -# # 滚价按本地酒店 id 游标每批数量(防 OOM) -# price-roll-batch-size: 100 -# # 全量房价房量:每天最多次数 / 最小间隔小时(「拉取全部启用详情」受此限制) -# full-price-sync-max-per-day: 3 -# full-price-sync-min-interval-hours: 6 -# # 全量拉详情:每家间隔毫秒(落库已批量,默认 0;上游压力大时可调大) -# detail-pull-interval-ms: 0 -# # 全量拉详情单次最多家数;0=不限制(酒店很多时建议先设 100 试跑) -# detail-pull-max-hotels: 0 -# # 差集扫描 / 重建本地 code SET 批大小 -# diff-scan-batch-size: 500 -# # 同步后:本地有上游无 → 自动标 OFFLINE 停用 -# auto-mark-offline-hotels: true -# # 同步后:已停用但上游又出现 → 自动恢复 ACTIVE -# auto-reactivate-online-hotels: true -# -## ========== 下游销售方推送(《第三方数据同步接口文档》)========== -## 本系统作为中转 A,主动把加价后的酒店/房价推到下游 B(与上面「上游」无关,可单独开关) -#hotel-downstream: -# # 是否启用向下游推送 -# enabled: false -# # 下游 B 系统根地址(不含尾斜杠),实际请求 = base-url + /third/party/api/... -# base-url: https://b.example.com -# # B 系统分配给我们的 appKey(请求头/签名用) -# app-key: TP_xxx -# # B 系统分配的 appSecret(仅本地算签名,不落报文) -# app-secret: your-secret -# # 推下游 HTTP 超时(毫秒) -# timeout-ms: 30000 -# # 兼容字段;实际上游拉取天数以 shangyou-hotel.price-days 为准 -# daily-days: 90 diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelCallbackTaskEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelCallbackTaskEntity.java similarity index 92% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelCallbackTaskEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelCallbackTaskEntity.java index a103d2b62..2c8814bfe 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelCallbackTaskEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelCallbackTaskEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -14,7 +14,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel_callback_task") @EqualsAndHashCode(callSuper = true) @Schema(description = "上游酒店回调异步任务") -public class CanteenHotelCallbackTaskEntity extends Model { +public class SmHotelCallbackTaskEntity extends Model { @TableId(type = IdType.ASSIGN_ID) private Long id; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelDailyEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelDailyEntity.java similarity index 91% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelDailyEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelDailyEntity.java index 8a55dbd92..f0c12e5da 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelDailyEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelDailyEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -16,7 +16,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel_daily") @EqualsAndHashCode(callSuper = true) @Schema(description = "酒店日历房") -public class CanteenHotelDailyEntity extends Model { +public class SmHotelDailyEntity extends Model { @TableId(type = IdType.ASSIGN_ID) private Long id; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelDownstreamAppEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelDownstreamAppEntity.java similarity index 88% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelDownstreamAppEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelDownstreamAppEntity.java index fe7615dd5..32999848c 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelDownstreamAppEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelDownstreamAppEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -14,7 +14,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel_downstream_app") @EqualsAndHashCode(callSuper = true) @Schema(description = "下游销售应用") -public class CanteenHotelDownstreamAppEntity extends Model { +public class SmHotelDownstreamAppEntity extends Model { @TableId(type = IdType.ASSIGN_ID) private Long id; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelEntity.java similarity index 94% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelEntity.java index 42e0b9236..197bbb4d2 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -14,7 +14,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel") @EqualsAndHashCode(callSuper = true) @Schema(description = "酒店管理") -public class CanteenHotelEntity extends Model { +public class SmHotelEntity extends Model { @TableId(type = IdType.ASSIGN_ID) @Schema(description = "主键(系统生成)") diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelOrderEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelOrderEntity.java similarity index 95% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelOrderEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelOrderEntity.java index 8f1c5d075..db3917450 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelOrderEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelOrderEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -16,7 +16,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel_order") @EqualsAndHashCode(callSuper = true) @Schema(description = "酒店中转订单") -public class CanteenHotelOrderEntity extends Model { +public class SmHotelOrderEntity extends Model { @TableId(type = IdType.ASSIGN_ID) private Long id; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelPriceConfigEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelPriceConfigEntity.java similarity index 89% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelPriceConfigEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelPriceConfigEntity.java index 72a54c415..bdbf11533 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelPriceConfigEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelPriceConfigEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -15,7 +15,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel_price_config") @EqualsAndHashCode(callSuper = true) @Schema(description = "酒店全局加价配置") -public class CanteenHotelPriceConfigEntity extends Model { +public class SmHotelPriceConfigEntity extends Model { @TableId(type = IdType.ASSIGN_ID) private Long id; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelProductEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelProductEntity.java similarity index 92% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelProductEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelProductEntity.java index 7bf87bb0c..c6d5854b4 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelProductEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelProductEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -15,7 +15,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel_product") @EqualsAndHashCode(callSuper = true) @Schema(description = "酒店产品") -public class CanteenHotelProductEntity extends Model { +public class SmHotelProductEntity extends Model { @TableId(type = IdType.ASSIGN_ID) private Long id; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelRoomEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelRoomEntity.java similarity index 90% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelRoomEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelRoomEntity.java index d6c3bb0bb..c38f053d4 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelRoomEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelRoomEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -14,7 +14,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel_room") @EqualsAndHashCode(callSuper = true) @Schema(description = "酒店房型") -public class CanteenHotelRoomEntity extends Model { +public class SmHotelRoomEntity extends Model { @TableId(type = IdType.ASSIGN_ID) private Long id; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelSyncLogEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelSyncLogEntity.java similarity index 93% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelSyncLogEntity.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelSyncLogEntity.java index c891971f8..11768532c 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/entity/CanteenHotelSyncLogEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SmHotelSyncLogEntity.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.entity; +package com.bsd.pjcloud.supermarket.entity; import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.extension.activerecord.Model; @@ -14,7 +14,7 @@ import java.time.LocalDateTime; @TableName("canteen_hotel_sync_log") @EqualsAndHashCode(callSuper = true) @Schema(description = "酒店上游同步日志") -public class CanteenHotelSyncLogEntity extends Model { +public class SmHotelSyncLogEntity extends Model { @TableId(type = IdType.ASSIGN_ID) private Long id; diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SmHotelDetailVO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SmHotelDetailVO.java new file mode 100644 index 000000000..b20fb6261 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SmHotelDetailVO.java @@ -0,0 +1,28 @@ +package com.bsd.pjcloud.supermarket.vo; + +import com.bsd.pjcloud.supermarket.entity.SmHotelDailyEntity; +import com.bsd.pjcloud.supermarket.entity.SmHotelEntity; +import com.bsd.pjcloud.supermarket.entity.SmHotelProductEntity; +import com.bsd.pjcloud.supermarket.entity.SmHotelRoomEntity; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +@Schema(description = "酒店详情(含上游拉取的房型/产品摘要)") +public class SmHotelDetailVO { + + private SmHotelEntity hotel; + + private List rooms = new ArrayList<>(); + + private List products = new ArrayList<>(); + + @Schema(description = "日历条数(未来含今天)") + private Long dailyCount; + + @Schema(description = "日历预览(默认最近一段,完整日历走分页接口)") + private List dailyPreview = new ArrayList<>(); +} diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/CanteenHotelImportResultVO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SmHotelImportResultVO.java similarity index 93% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/CanteenHotelImportResultVO.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SmHotelImportResultVO.java index 669f061de..5034e008d 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/CanteenHotelImportResultVO.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SmHotelImportResultVO.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.vo; +package com.bsd.pjcloud.supermarket.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -8,7 +8,7 @@ import java.util.List; @Data @Schema(description = "酒店Excel导入任务/结果") -public class CanteenHotelImportResultVO { +public class SmHotelImportResultVO { @Schema(description = "任务ID(异步导入)") private String taskId; diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/pom.xml b/pjcloud-supermarket/pjcloud-supermarket-biz/pom.xml index bc1d8f346..8cdfd5cc0 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/pom.xml +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/pom.xml @@ -127,6 +127,11 @@ pjcloud-common-sequence 5.7.0 + + + com.bsd + pjcloud-common-job + diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/HotelDownstreamProperties.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/HotelDownstreamProperties.java similarity index 95% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/HotelDownstreamProperties.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/HotelDownstreamProperties.java index 8ebc8e5dd..fcbb37ad5 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/HotelDownstreamProperties.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/HotelDownstreamProperties.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.config; +package com.bsd.pjcloud.supermarket.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/ShangyouHotelProperties.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/ShangyouHotelProperties.java similarity index 99% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/ShangyouHotelProperties.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/ShangyouHotelProperties.java index 3da1d31ae..e1a275bed 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/ShangyouHotelProperties.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/ShangyouHotelProperties.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.config; +package com.bsd.pjcloud.supermarket.config; import cn.hutool.core.util.StrUtil; import lombok.Data; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/CanteenSchedulingConfig.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/SupermarketSchedulingConfig.java similarity index 75% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/CanteenSchedulingConfig.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/SupermarketSchedulingConfig.java index b2e4058f6..e9cba7964 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/config/CanteenSchedulingConfig.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/config/SupermarketSchedulingConfig.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.config; +package com.bsd.pjcloud.supermarket.config; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; @@ -8,5 +8,5 @@ import org.springframework.scheduling.annotation.EnableScheduling; */ @Configuration @EnableScheduling -public class CanteenSchedulingConfig { +public class SupermarketSchedulingConfig { } diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelCallbackTaskController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelCallbackTaskController.java similarity index 60% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelCallbackTaskController.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelCallbackTaskController.java index 340e6c675..a4c761a4f 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelCallbackTaskController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelCallbackTaskController.java @@ -1,8 +1,8 @@ -package com.bsd.pjcloud.canteen.controller; +package com.bsd.pjcloud.supermarket.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.canteen.entity.CanteenHotelCallbackTaskEntity; -import com.bsd.pjcloud.canteen.service.CanteenHotelCallbackTaskService; +import com.bsd.pjcloud.supermarket.entity.SmHotelCallbackTaskEntity; +import com.bsd.pjcloud.supermarket.service.SmHotelCallbackTaskService; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; import io.swagger.v3.oas.annotations.Operation; @@ -19,32 +19,32 @@ import org.springframework.web.bind.annotation.*; */ @RestController @RequiredArgsConstructor -@RequestMapping("/canteenHotelCallback") +@RequestMapping("/smHotelCallback") @Tag(name = "酒店上游回调任务") @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class CanteenHotelCallbackTaskController { +public class SmHotelCallbackTaskController { - private final CanteenHotelCallbackTaskService callbackTaskService; + private final SmHotelCallbackTaskService callbackTaskService; @Operation(summary = "回调任务分页") @GetMapping("/page") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelCallback_view')") - public R> page(@ParameterObject Page page, - @ParameterObject CanteenHotelCallbackTaskEntity query) { + @PreAuthorize("@pms.hasPermission('supermarket_smHotelCallback_view')") + public R> page(@ParameterObject Page page, + @ParameterObject SmHotelCallbackTaskEntity query) { return R.ok(callbackTaskService.pageTasks(page, query)); } @Operation(summary = "回调任务详情") @GetMapping("/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelCallback_view')") - public R detail(@PathVariable Long id) { + @PreAuthorize("@pms.hasPermission('supermarket_smHotelCallback_view')") + public R detail(@PathVariable Long id) { return R.ok(callbackTaskService.getDetail(id)); } @SysLog("酒店回调任务重试") @Operation(summary = "失败/跳过任务重新入队") @PostMapping("/retry/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelCallback_retry')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotelCallback_retry')") public R retry(@PathVariable Long id) { return callbackTaskService.retry(id); } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelController.java new file mode 100644 index 000000000..b054fa850 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelController.java @@ -0,0 +1,100 @@ +package com.bsd.pjcloud.supermarket.controller; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.supermarket.entity.SmHotelEntity; +import com.bsd.pjcloud.supermarket.service.SmHotelService; +import com.bsd.pjcloud.supermarket.vo.SmHotelImportResultVO; +import com.bsd.pjcloud.common.core.util.R; +import com.bsd.pjcloud.common.log.annotation.SysLog; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springdoc.core.annotations.ParameterObject; +import org.springframework.http.HttpHeaders; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/smHotel") +@Tag(name = "酒店管理") +@SecurityRequirement(name = HttpHeaders.AUTHORIZATION) +public class SmHotelController { + + private final SmHotelService hotelService; + + @Operation(summary = "分页查询") + @GetMapping("/page") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") + public R> page(@ParameterObject Page page, + @ParameterObject SmHotelEntity query) { + var wrapper = Wrappers.lambdaQuery() + .like(StrUtil.isNotBlank(query.getHotelName()), SmHotelEntity::getHotelName, query.getHotelName()) + .like(StrUtil.isNotBlank(query.getHotelCode()), SmHotelEntity::getHotelCode, query.getHotelCode()) + .like(StrUtil.isNotBlank(query.getGroupCode()), SmHotelEntity::getGroupCode, query.getGroupCode()) + .eq(StrUtil.isNotBlank(query.getSourceId()), SmHotelEntity::getSourceId, query.getSourceId()) + .eq(StrUtil.isNotBlank(query.getSheetName()), SmHotelEntity::getSheetName, query.getSheetName()) + .orderByDesc(SmHotelEntity::getCreateTime) + .orderByDesc(SmHotelEntity::getId); + // 启用:含未写状态的老数据;停用:仅 OFFLINE;空=全部 + if ("OFFLINE".equalsIgnoreCase(query.getUpstreamStatus())) { + wrapper.eq(SmHotelEntity::getUpstreamStatus, "OFFLINE"); + } + else if ("ACTIVE".equalsIgnoreCase(query.getUpstreamStatus())) { + wrapper.and(w -> w.isNull(SmHotelEntity::getUpstreamStatus) + .or() + .ne(SmHotelEntity::getUpstreamStatus, "OFFLINE")); + } + return R.ok(hotelService.pageScope(page, wrapper)); + } + + /** 上传文件会立刻 transferTo 临时目录,勿加 @SysLog */ + @Operation(summary = "提交Excel异步导入(多Sheet流式)") + @PostMapping("/import") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_import')") + public R importExcel(@RequestParam("file") MultipartFile file) { + return hotelService.startImport(file); + } + + @Operation(summary = "查询酒店导入进度") + @GetMapping("/import/status/{taskId}") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_import')") + public R importStatus(@PathVariable String taskId) { + return hotelService.getImportStatus(taskId); + } + + @Operation(summary = "详情") + @GetMapping("/{id}") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") + public R getById(@PathVariable Long id) { + return R.ok(hotelService.getById(id)); + } + + @SysLog("新增酒店") + @Operation(summary = "新增") + @PostMapping + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_add')") + public R save(@RequestBody SmHotelEntity entity) { + return R.ok(hotelService.saveHotel(entity)); + } + + @SysLog("修改酒店") + @Operation(summary = "修改") + @PutMapping + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") + public R update(@RequestBody SmHotelEntity entity) { + return R.ok(hotelService.updateHotel(entity)); + } + + @SysLog("删除酒店") + @Operation(summary = "删除") + @DeleteMapping + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_del')") + public R remove(@RequestBody Long[] ids) { + return R.ok(hotelService.removeHotels(ids)); + } +} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelDownstreamOrderController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelDownstreamOrderController.java similarity index 88% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelDownstreamOrderController.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelDownstreamOrderController.java index 6981886ca..135e54c6e 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelDownstreamOrderController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelDownstreamOrderController.java @@ -1,9 +1,9 @@ -package com.bsd.pjcloud.canteen.controller; +package com.bsd.pjcloud.supermarket.controller; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.bsd.pjcloud.canteen.integration.downstream.DownstreamInboundAuth; -import com.bsd.pjcloud.canteen.service.CanteenHotelOrderService; +import com.bsd.pjcloud.supermarket.integration.downstream.DownstreamInboundAuth; +import com.bsd.pjcloud.supermarket.service.SmHotelOrderService; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.security.annotation.Inner; import io.swagger.v3.oas.annotations.Operation; @@ -22,11 +22,11 @@ import java.util.Map; @RequiredArgsConstructor @RequestMapping("/third/party/hotel/order") @Tag(name = "下游酒店订单回传") -public class CanteenHotelDownstreamOrderController { +public class SmHotelDownstreamOrderController { private final DownstreamInboundAuth inboundAuth; - private final CanteenHotelOrderService orderService; + private final SmHotelOrderService orderService; @Inner(value = false) @Operation(summary = "下游下单回传(我方再调上游创建)") diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelMidController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelMidController.java similarity index 69% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelMidController.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelMidController.java index a85f91cae..b64ced59d 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelMidController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelMidController.java @@ -1,13 +1,13 @@ -package com.bsd.pjcloud.canteen.controller; +package com.bsd.pjcloud.supermarket.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.canteen.entity.CanteenHotelDailyEntity; -import com.bsd.pjcloud.canteen.entity.CanteenHotelPriceConfigEntity; -import com.bsd.pjcloud.canteen.entity.CanteenHotelSyncLogEntity; -import com.bsd.pjcloud.canteen.service.CanteenHotelMidService; -import com.bsd.pjcloud.canteen.service.CanteenHotelPriceConfigService; -import com.bsd.pjcloud.canteen.service.CanteenHotelSyncService; -import com.bsd.pjcloud.canteen.vo.CanteenHotelDetailVO; +import com.bsd.pjcloud.supermarket.entity.SmHotelDailyEntity; +import com.bsd.pjcloud.supermarket.entity.SmHotelPriceConfigEntity; +import com.bsd.pjcloud.supermarket.entity.SmHotelSyncLogEntity; +import com.bsd.pjcloud.supermarket.service.SmHotelMidService; +import com.bsd.pjcloud.supermarket.service.SmHotelPriceConfigService; +import com.bsd.pjcloud.supermarket.service.SmHotelSyncService; +import com.bsd.pjcloud.supermarket.vo.SmHotelDetailVO; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; import io.swagger.v3.oas.annotations.Operation; @@ -25,79 +25,79 @@ import java.util.Map; @RestController @RequiredArgsConstructor -@RequestMapping("/canteenHotel") +@RequestMapping("/smHotel") @Tag(name = "酒店中转(拉取/推送/加价)") @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class CanteenHotelMidController { +public class SmHotelMidController { - private final CanteenHotelMidService midService; + private final SmHotelMidService midService; - private final CanteenHotelPriceConfigService priceConfigService; + private final SmHotelPriceConfigService priceConfigService; - private final CanteenHotelSyncService syncService; + private final SmHotelSyncService syncService; @Operation(summary = "查询全局加价配置") @GetMapping("/priceConfig") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelPrice_view')") - public R getPriceConfig() { + @PreAuthorize("@pms.hasPermission('supermarket_smHotelPrice_view')") + public R getPriceConfig() { return priceConfigService.getCurrent(); } @SysLog("保存酒店加价配置") @Operation(summary = "保存全局加价配置") @PutMapping("/priceConfig") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelPrice_edit')") - public R savePriceConfig(@RequestBody CanteenHotelPriceConfigEntity entity) { + @PreAuthorize("@pms.hasPermission('supermarket_smHotelPrice_edit')") + public R savePriceConfig(@RequestBody SmHotelPriceConfigEntity entity) { return priceConfigService.saveOrUpdateConfig(entity); } @Operation(summary = "酒店详情(含已拉取房型/产品/日历预览)") @GetMapping("/detail/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") - public R detail(@PathVariable Long id) { + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") + public R detail(@PathVariable Long id) { return midService.getHotelDetail(id); } @Operation(summary = "酒店日历分页") @GetMapping("/detail/{id}/daily") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") - public R> dailyPage(@PathVariable Long id, - @ParameterObject Page page, + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") + public R> dailyPage(@PathVariable Long id, + @ParameterObject Page page, @RequestParam(required = false) String productCode) { return midService.pageDaily(id, page, productCode); } @Operation(summary = "从上游拉取房型产品并加价落库") @PostMapping("/mid/pull/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R> pull(@PathVariable Long id) { return midService.pullFromUpstream(id); } @Operation(summary = "推送到下游销售方") @PostMapping("/mid/push/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_push')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_push')") public R> push(@PathVariable Long id) { return midService.pushToDownstream(id); } @Operation(summary = "拉取上游并推送下游") @PostMapping("/mid/pullAndPush/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_push')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_push')") public R> pullAndPush(@PathVariable Long id) { return midService.pullAndPush(id); } @Operation(summary = "批量拉取并推送") @PostMapping("/mid/pullAndPush/batch") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_push')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_push')") public R> pullAndPushBatch(@RequestBody List ids) { return midService.pullAndPushBatch(ids); } @Operation(summary = "查询上游账号已授权酒店列表") @GetMapping("/mid/authorizedHotels") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") public R> authorizedHotels(@RequestParam(required = false) String keyword, @RequestParam(required = false, defaultValue = "1") long current, @RequestParam(required = false, defaultValue = "20") long size, @@ -108,7 +108,7 @@ public class CanteenHotelMidController { @SysLog("导入上游授权酒店到本地") @Operation(summary = "将上游授权酒店写入本地") @PostMapping("/mid/authorizedHotels/import") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_add')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_add')") public R> importAuthorizedHotels(@RequestBody List> hotels) { return midService.importAuthorizedHotels(hotels); } @@ -116,7 +116,7 @@ public class CanteenHotelMidController { @SysLog("同步上游酒店列表并差集") @Operation(summary = "异步同步 getHotelList + Redis 差集(立刻返回 logId,轮询进度)") @PostMapping("/mid/syncHotelList") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R> syncHotelList( @RequestParam(required = false, defaultValue = "true") boolean autoImport) { return syncService.syncHotelListAndDiff(autoImport); @@ -124,29 +124,29 @@ public class CanteenHotelMidController { @Operation(summary = "同步日志分页") @GetMapping("/mid/syncLog/page") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") - public R> syncLogPage(@ParameterObject Page page, - @ParameterObject CanteenHotelSyncLogEntity query) { + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") + public R> syncLogPage(@ParameterObject Page page, + @ParameterObject SmHotelSyncLogEntity query) { return R.ok(syncService.pageSyncLogs(page, query)); } @Operation(summary = "查询单次同步进度/结果") @GetMapping("/mid/syncLog/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") - public R syncLog(@PathVariable Long id) { + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") + public R syncLog(@PathVariable Long id) { return syncService.getSyncLog(id); } @Operation(summary = "日更时间配置(只读展示)") @GetMapping("/mid/syncSchedule") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") public R> syncSchedule() { return R.ok(syncService.getSyncSchedule()); } @Operation(summary = "分页查看酒店差集 new|offline") @GetMapping("/mid/hotelDiff") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") public R> hotelDiff(@RequestParam(required = false, defaultValue = "new") String type, @RequestParam(required = false, defaultValue = "1") long current, @RequestParam(required = false, defaultValue = "20") long size) { @@ -156,7 +156,7 @@ public class CanteenHotelMidController { @SysLog("导入差集新增酒店") @Operation(summary = "将差集中的新增酒店导入本地") @PostMapping("/mid/hotelDiff/importNew") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_add')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_add')") public R> importDiffNew(@RequestParam(required = false) Integer limit) { return syncService.importDiffNewHotels(limit); } @@ -164,9 +164,9 @@ public class CanteenHotelMidController { @SysLog("手动执行滚一天房价") @Operation(summary = "异步滚一天房价(立刻返回 logId)") @PostMapping("/mid/rollDailyPrice") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R> rollDailyPrice() { - R started = syncService.startPriceRollAsync("MANUAL"); + R started = syncService.startPriceRollAsync("MANUAL"); if (started.getCode() != 0) { return R.failed(started.getMsg()); } @@ -180,10 +180,10 @@ public class CanteenHotelMidController { @SysLog("全量拉取启用酒店详情") @Operation(summary = "异步拉取全部启用酒店详情(房型+产品+未来房价),立刻返回 logId") @PostMapping("/mid/pullAllActiveDetails") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R> pullAllActiveDetails( @RequestParam(required = false) Integer limit) { - R started = syncService.startDetailPullAsync(limit, "MANUAL"); + R started = syncService.startDetailPullAsync(limit, "MANUAL"); if (started.getCode() != 0) { return R.failed(started.getMsg()); } @@ -198,9 +198,9 @@ public class CanteenHotelMidController { @SysLog("重试同步失败酒店") @Operation(summary = "根据某次同步日志的失败明细,只重试失败酒店(详情/滚价)") @PostMapping("/mid/retryFailedFromLog") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R> retryFailedFromLog(@RequestParam Long logId) { - R started = syncService.startRetryFailedAsync(logId); + R started = syncService.startRetryFailedAsync(logId); if (started.getCode() != 0) { return R.failed(started.getMsg()); } diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelOrderController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelOrderController.java similarity index 67% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelOrderController.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelOrderController.java index 6edbcaee5..0324129d9 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelOrderController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelOrderController.java @@ -1,8 +1,8 @@ -package com.bsd.pjcloud.canteen.controller; +package com.bsd.pjcloud.supermarket.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.bsd.pjcloud.canteen.entity.CanteenHotelOrderEntity; -import com.bsd.pjcloud.canteen.service.CanteenHotelOrderService; +import com.bsd.pjcloud.supermarket.entity.SmHotelOrderEntity; +import com.bsd.pjcloud.supermarket.service.SmHotelOrderService; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; import io.swagger.v3.oas.annotations.Operation; @@ -18,32 +18,32 @@ import java.util.Map; @RestController @RequiredArgsConstructor -@RequestMapping("/canteenHotelOrder") +@RequestMapping("/smHotelOrder") @Tag(name = "酒店中转订单") @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class CanteenHotelOrderController { +public class SmHotelOrderController { - private final CanteenHotelOrderService orderService; + private final SmHotelOrderService orderService; @Operation(summary = "订单分页") @GetMapping("/page") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelOrder_view')") - public R> page(@ParameterObject Page page, - @ParameterObject CanteenHotelOrderEntity query) { + @PreAuthorize("@pms.hasPermission('supermarket_smHotelOrder_view')") + public R> page(@ParameterObject Page page, + @ParameterObject SmHotelOrderEntity query) { return R.ok(orderService.pageOrders(page, query)); } @Operation(summary = "订单详情") @GetMapping("/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelOrder_view')") - public R detail(@PathVariable Long id) { + @PreAuthorize("@pms.hasPermission('supermarket_smHotelOrder_view')") + public R detail(@PathVariable Long id) { return R.ok(orderService.getDetail(id)); } @SysLog("后台取消酒店订单") @Operation(summary = "后台取消订单") @PostMapping("/cancel/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelOrder_cancel')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotelOrder_cancel')") public R cancel(@PathVariable Long id, @RequestBody(required = false) Map body) { String reason = body == null ? null : String.valueOf(body.getOrDefault("reason", "后台取消")); return orderService.cancelByAdmin(id, reason); @@ -52,7 +52,7 @@ public class CanteenHotelOrderController { @SysLog("后台试下单(调上游)") @Operation(summary = "后台试下单:校验可定后调上游 order/add") @PostMapping("/create") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R createByAdmin(@RequestBody Map body) { return orderService.createByAdmin(body); } @@ -60,7 +60,7 @@ public class CanteenHotelOrderController { @SysLog("酒店订单补偿查询") @Operation(summary = "立即补偿查询(queryByRequestNo)") @PostMapping("/compensate/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotelOrder_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotelOrder_view')") public R compensate(@PathVariable Long id) { return orderService.compensateNow(id); } diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelUpstreamController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelUpstreamController.java similarity index 83% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelUpstreamController.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelUpstreamController.java index 880c9f332..cbf956bb0 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenHotelUpstreamController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmHotelUpstreamController.java @@ -1,7 +1,7 @@ -package com.bsd.pjcloud.canteen.controller; +package com.bsd.pjcloud.supermarket.controller; import cn.hutool.json.JSONObject; -import com.bsd.pjcloud.canteen.service.CanteenHotelUpstreamService; +import com.bsd.pjcloud.supermarket.service.SmHotelUpstreamService; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.security.annotation.Inner; import io.swagger.v3.oas.annotations.Operation; @@ -20,44 +20,44 @@ import java.util.Map; */ @RestController @RequiredArgsConstructor -@RequestMapping("/canteenHotel/upstream") +@RequestMapping("/smHotel/upstream") @Tag(name = "酒店上游对接") @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) -public class CanteenHotelUpstreamController { +public class SmHotelUpstreamController { - private final CanteenHotelUpstreamService upstreamService; + private final SmHotelUpstreamService upstreamService; @Operation(summary = "同步上游酒店信息到本地") @PostMapping("/sync/{id}") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R sync(@PathVariable Long id) { return upstreamService.syncHotelInfo(id); } @Operation(summary = "批量同步上游酒店信息") @PostMapping("/sync/batch") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R> syncBatch(@RequestBody List ids) { return upstreamService.syncHotelInfoBatch(ids); } @Operation(summary = "上游-酒店综合信息") @PostMapping("/hotelInfo") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") public R hotelInfo(@RequestBody Map body) { return upstreamService.hotelInfo(str(body.get("groupCode")), str(body.get("hotelCode"))); } @Operation(summary = "上游-房型列表") @PostMapping("/roomTypeList") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") public R roomTypeList(@RequestBody Map body) { return upstreamService.roomTypeList(str(body.get("groupCode")), str(body.get("hotelCode"))); } @Operation(summary = "上游-房价房量样例") @PostMapping("/productList") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") public R productList(@RequestBody Map body) { return upstreamService.productList(str(body.get("groupCode")), str(body.get("hotelCode")), str(body.get("channelCode"))); @@ -65,28 +65,28 @@ public class CanteenHotelUpstreamController { @Operation(summary = "上游-可定查询") @PostMapping("/order/check") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") public R orderCheck(@RequestBody Map body) { return upstreamService.orderCheck(body); } @Operation(summary = "上游-下单") @PostMapping("/order/create") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R orderCreate(@RequestBody Map body) { return upstreamService.orderCreate(body); } @Operation(summary = "上游-取消订单") @PostMapping("/order/cancel") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_edit')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_edit')") public R orderCancel(@RequestBody Map body) { return upstreamService.orderCancel(body); } @Operation(summary = "上游-订单详情") @PostMapping("/order/getById") - @PreAuthorize("@pms.hasPermission('canteen_canteenHotel_view')") + @PreAuthorize("@pms.hasPermission('supermarket_smHotel_view')") public R orderGetById(@RequestBody Map body) { return upstreamService.orderGetById(body); } diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamHotelApi.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamHotelApi.java similarity index 88% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamHotelApi.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamHotelApi.java index 4603779f7..bbdb546e3 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamHotelApi.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamHotelApi.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.integration.downstream; +package com.bsd.pjcloud.supermarket.integration.downstream; /** * 下游销售方(B系统)接收接口路径。 diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamHotelClient.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamHotelClient.java similarity index 96% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamHotelClient.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamHotelClient.java index f1b1bdef8..44e241e55 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamHotelClient.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamHotelClient.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.integration.downstream; +package com.bsd.pjcloud.supermarket.integration.downstream; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; @@ -6,7 +6,7 @@ import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.bsd.pjcloud.canteen.config.HotelDownstreamProperties; +import com.bsd.pjcloud.supermarket.config.HotelDownstreamProperties; import com.bsd.pjcloud.common.core.exception.CheckedException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamInboundAuth.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamInboundAuth.java similarity index 73% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamInboundAuth.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamInboundAuth.java index a39cee90a..b94282b82 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamInboundAuth.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamInboundAuth.java @@ -1,10 +1,10 @@ -package com.bsd.pjcloud.canteen.integration.downstream; +package com.bsd.pjcloud.supermarket.integration.downstream; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.DigestUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.bsd.pjcloud.canteen.entity.CanteenHotelDownstreamAppEntity; -import com.bsd.pjcloud.canteen.mapper.CanteenHotelDownstreamAppMapper; +import com.bsd.pjcloud.supermarket.entity.SmHotelDownstreamAppEntity; +import com.bsd.pjcloud.supermarket.mapper.SmHotelDownstreamAppMapper; import com.bsd.pjcloud.common.core.exception.CheckedException; import lombok.RequiredArgsConstructor; import org.springframework.data.redis.core.StringRedisTemplate; @@ -21,11 +21,11 @@ public class DownstreamInboundAuth { private static final String NONCE_KEY = "canteen:hotel:downstream:nonce:"; - private final CanteenHotelDownstreamAppMapper appMapper; + private final SmHotelDownstreamAppMapper appMapper; private final StringRedisTemplate redisTemplate; - public CanteenHotelDownstreamAppEntity verify(String appKey, String timestamp, String nonce, String sign, + public SmHotelDownstreamAppEntity verify(String appKey, String timestamp, String nonce, String sign, String bodyJson) { if (StrUtil.isBlank(appKey) || StrUtil.isBlank(timestamp) || StrUtil.isBlank(nonce) || StrUtil.isBlank(sign)) { throw new CheckedException("缺少鉴权参数"); @@ -44,9 +44,9 @@ public class DownstreamInboundAuth { if (Boolean.FALSE.equals(ok)) { throw new CheckedException("nonce 重复"); } - CanteenHotelDownstreamAppEntity app = appMapper.selectOne(Wrappers.lambdaQuery() - .eq(CanteenHotelDownstreamAppEntity::getAppKey, appKey) - .eq(CanteenHotelDownstreamAppEntity::getStatus, "1") + SmHotelDownstreamAppEntity app = appMapper.selectOne(Wrappers.lambdaQuery() + .eq(SmHotelDownstreamAppEntity::getAppKey, appKey) + .eq(SmHotelDownstreamAppEntity::getStatus, "1") .last("limit 1")); if (app == null) { throw new CheckedException("appKey 无效"); diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamSignHelper.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamSignHelper.java similarity index 94% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamSignHelper.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamSignHelper.java index f8e4fbbc1..668cfe104 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/downstream/DownstreamSignHelper.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/downstream/DownstreamSignHelper.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.integration.downstream; +package com.bsd.pjcloud.supermarket.integration.downstream; import cn.hutool.crypto.digest.DigestUtil; import cn.hutool.core.util.StrUtil; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouBookStatus.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouBookStatus.java similarity index 95% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouBookStatus.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouBookStatus.java index f4bcf3267..757f9a849 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouBookStatus.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouBookStatus.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.integration.shangyou; +package com.bsd.pjcloud.supermarket.integration.shangyou; import cn.hutool.core.util.StrUtil; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouCallbackQueueWorker.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouCallbackQueueWorker.java similarity index 92% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouCallbackQueueWorker.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouCallbackQueueWorker.java index 2e3e04c39..3c00367b5 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouCallbackQueueWorker.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouCallbackQueueWorker.java @@ -1,7 +1,7 @@ -package com.bsd.pjcloud.canteen.integration.shangyou; +package com.bsd.pjcloud.supermarket.integration.shangyou; -import com.bsd.pjcloud.canteen.config.ShangyouHotelProperties; -import com.bsd.pjcloud.canteen.service.CanteenHotelCallbackTaskService; +import com.bsd.pjcloud.supermarket.config.ShangyouHotelProperties; +import com.bsd.pjcloud.supermarket.service.SmHotelCallbackTaskService; import jakarta.annotation.PreDestroy; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -26,7 +26,7 @@ public class ShangyouCallbackQueueWorker implements ApplicationRunner { private final StringRedisTemplate redisTemplate; - private final CanteenHotelCallbackTaskService callbackTaskService; + private final SmHotelCallbackTaskService callbackTaskService; private final AtomicBoolean running = new AtomicBoolean(true); diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouCallbackSignHelper.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouCallbackSignHelper.java similarity index 89% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouCallbackSignHelper.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouCallbackSignHelper.java index ad6023407..86e2c9120 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouCallbackSignHelper.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouCallbackSignHelper.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.integration.shangyou; +package com.bsd.pjcloud.supermarket.integration.shangyou; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.DigestUtil; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouHotelApi.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouHotelApi.java similarity index 52% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouHotelApi.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouHotelApi.java index 677847e01..bd0d021df 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouHotelApi.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouHotelApi.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.integration.shangyou; +package com.bsd.pjcloud.supermarket.integration.shangyou; /** * 玉编电云 CRS 上游路径(相对 biz-base-url / auth-base-url)。 @@ -24,40 +24,40 @@ public final class ShangyouHotelApi { public static final String ORDER_QUERY_BY_REQUEST_NO = "/order/queryByRequestNo"; - public static final String REDIS_TOKEN_KEY = "canteen:shangyou:hotel:token"; + public static final String REDIS_TOKEN_KEY = "supermarket:shangyou:hotel:token"; - public static final String REDIS_TOKEN_LOCK = "canteen:shangyou:hotel:token:lock"; + public static final String REDIS_TOKEN_LOCK = "supermarket:shangyou:hotel:token:lock"; /** 授权酒店 HASH:field=hotelId value=hotelName(适配十几万量级) */ - public static final String REDIS_HOTEL_HASH_KEY = "canteen:shangyou:hotel:hash:v4"; + public static final String REDIS_HOTEL_HASH_KEY = "supermarket:shangyou:hotel:hash:v4"; /** 授权酒店 ZSET:score=序号 member=hotelId,深分页 O(logN) */ - public static final String REDIS_HOTEL_ZSET_KEY = "canteen:shangyou:hotel:zset:v4"; + public static final String REDIS_HOTEL_ZSET_KEY = "supermarket:shangyou:hotel:zset:v4"; /** 酒店列表同步锁 */ - public static final String REDIS_HOTEL_LIST_LOCK = "canteen:shangyou:hotel:list:lock"; + public static final String REDIS_HOTEL_LIST_LOCK = "supermarket:shangyou:hotel:list:lock"; /** 房价/房量回调异步队列(LIST,元素=taskId) */ - public static final String REDIS_CALLBACK_QUEUE = "canteen:shangyou:hotel:callback:queue"; + public static final String REDIS_CALLBACK_QUEUE = "supermarket:shangyou:hotel:callback:queue"; /** 上游授权 hotelId 集合(与 HASH/ZSET 同步重建,供 SDIFF) */ - public static final String REDIS_UPSTREAM_ID_SET = "canteen:shangyou:hotel:idset:v4"; + public static final String REDIS_UPSTREAM_ID_SET = "supermarket:shangyou:hotel:idset:v4"; /** 本地 hotel_code 集合(分批从 DB 重建) */ - public static final String REDIS_LOCAL_CODE_SET = "canteen:shangyou:hotel:local:codes:v1"; + public static final String REDIS_LOCAL_CODE_SET = "supermarket:shangyou:hotel:local:codes:v1"; /** 差集:上游有本地无(待导入) */ - public static final String REDIS_DIFF_NEW_SET = "canteen:shangyou:hotel:diff:new:v1"; + public static final String REDIS_DIFF_NEW_SET = "supermarket:shangyou:hotel:diff:new:v1"; /** 差集:本地有上游无(疑似下线) */ - public static final String REDIS_DIFF_OFFLINE_SET = "canteen:shangyou:hotel:diff:offline:v1"; + public static final String REDIS_DIFF_OFFLINE_SET = "supermarket:shangyou:hotel:diff:offline:v1"; /** 今日全量房价同步次数 */ - public static final String REDIS_FULL_PRICE_SYNC_COUNT = "canteen:shangyou:hotel:fullprice:count"; + public static final String REDIS_FULL_PRICE_SYNC_COUNT = "supermarket:shangyou:hotel:fullprice:count"; /** 上次全量房价同步时间 epochMs */ - public static final String REDIS_FULL_PRICE_SYNC_LAST = "canteen:shangyou:hotel:fullprice:last"; + public static final String REDIS_FULL_PRICE_SYNC_LAST = "supermarket:shangyou:hotel:fullprice:last"; /** 房价接口 QPS 秒窗计数前缀,完整 key = 前缀 + ":" + epochSecond */ - public static final String REDIS_PRICE_QPS_PREFIX = "canteen:shangyou:hotel:price:qps"; + public static final String REDIS_PRICE_QPS_PREFIX = "supermarket:shangyou:hotel:price:qps"; } diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouHotelClient.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouHotelClient.java similarity index 99% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouHotelClient.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouHotelClient.java index 3e4c1beec..258e92fa7 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouHotelClient.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouHotelClient.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.integration.shangyou; +package com.bsd.pjcloud.supermarket.integration.shangyou; import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; @@ -6,7 +6,7 @@ import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.bsd.pjcloud.canteen.config.ShangyouHotelProperties; +import com.bsd.pjcloud.supermarket.config.ShangyouHotelProperties; import com.bsd.pjcloud.common.core.exception.CheckedException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -261,8 +261,8 @@ public class ShangyouHotelClient { redisTemplate.delete(ShangyouHotelApi.REDIS_HOTEL_ZSET_KEY); redisTemplate.delete(ShangyouHotelApi.REDIS_UPSTREAM_ID_SET); // 兼容清理旧版 LIST/压缩缓存 key - redisTemplate.delete("canteen:shangyou:hotel:list:v3"); - redisTemplate.delete("canteen:shangyou:hotel:list:v2"); + redisTemplate.delete("supermarket:shangyou:hotel:list:v3"); + redisTemplate.delete("supermarket:shangyou:hotel:list:v2"); } private List loadBriefsByIds(Set ids) { diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouOrderCallResult.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouOrderCallResult.java similarity index 97% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouOrderCallResult.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouOrderCallResult.java index 0c952eb10..615f0ccb9 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouOrderCallResult.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouOrderCallResult.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.integration.shangyou; +package com.bsd.pjcloud.supermarket.integration.shangyou; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouOrderCompensateWorker.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouOrderCompensateWorker.java similarity index 89% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouOrderCompensateWorker.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouOrderCompensateWorker.java index 14356bc26..1c149ef2f 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/integration/shangyou/ShangyouOrderCompensateWorker.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/integration/shangyou/ShangyouOrderCompensateWorker.java @@ -1,7 +1,7 @@ -package com.bsd.pjcloud.canteen.integration.shangyou; +package com.bsd.pjcloud.supermarket.integration.shangyou; -import com.bsd.pjcloud.canteen.config.ShangyouHotelProperties; -import com.bsd.pjcloud.canteen.service.CanteenHotelOrderService; +import com.bsd.pjcloud.supermarket.config.ShangyouHotelProperties; +import com.bsd.pjcloud.supermarket.service.SmHotelOrderService; import com.bsd.pjcloud.common.data.tenant.TenantBroker; import jakarta.annotation.PreDestroy; import lombok.RequiredArgsConstructor; @@ -22,7 +22,7 @@ public class ShangyouOrderCompensateWorker implements ApplicationRunner { private final ShangyouHotelProperties properties; - private final CanteenHotelOrderService orderService; + private final SmHotelOrderService orderService; private final AtomicBoolean running = new AtomicBoolean(true); diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/job/CanteenHotelShangyouSpringSchedule.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/job/SmHotelShangyouSpringSchedule.java similarity index 84% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/job/CanteenHotelShangyouSpringSchedule.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/job/SmHotelShangyouSpringSchedule.java index 4207a08c5..7f2ef02b4 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/job/CanteenHotelShangyouSpringSchedule.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/job/SmHotelShangyouSpringSchedule.java @@ -1,7 +1,7 @@ -package com.bsd.pjcloud.canteen.job; +package com.bsd.pjcloud.supermarket.job; -import com.bsd.pjcloud.canteen.config.ShangyouHotelProperties; -import com.bsd.pjcloud.canteen.service.CanteenHotelSyncService; +import com.bsd.pjcloud.supermarket.config.ShangyouHotelProperties; +import com.bsd.pjcloud.supermarket.service.SmHotelSyncService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; @@ -16,11 +16,11 @@ import org.springframework.stereotype.Component; @Slf4j @Component @RequiredArgsConstructor -public class CanteenHotelShangyouSpringSchedule { +public class SmHotelShangyouSpringSchedule { private final ShangyouHotelProperties properties; - private final CanteenHotelSyncService syncService; + private final SmHotelSyncService syncService; @Scheduled(cron = "${shangyou-hotel.hotel-list-daily-cron:0 0 2 * * ?}") public void scheduledListSync() { diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/job/CanteenHotelShangyouSyncJob.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/job/SmHotelShangyouSyncJob.java similarity index 66% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/job/CanteenHotelShangyouSyncJob.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/job/SmHotelShangyouSyncJob.java index ad6b82638..a90e0bf47 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/job/CanteenHotelShangyouSyncJob.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/job/SmHotelShangyouSyncJob.java @@ -1,6 +1,6 @@ -package com.bsd.pjcloud.canteen.job; +package com.bsd.pjcloud.supermarket.job; -import com.bsd.pjcloud.canteen.service.CanteenHotelSyncService; +import com.bsd.pjcloud.supermarket.service.SmHotelSyncService; import com.xxl.job.core.context.XxlJobHelper; import com.xxl.job.core.handler.annotation.XxlJob; import lombok.RequiredArgsConstructor; @@ -20,36 +20,36 @@ import java.util.Map; @Slf4j @Service @RequiredArgsConstructor -public class CanteenHotelShangyouSyncJob { +public class SmHotelShangyouSyncJob { - public static final String HANDLER_LIST_SYNC = "canteenHotelListSyncJobHandler"; + public static final String HANDLER_LIST_SYNC = "smHotelListSyncJobHandler"; - public static final String HANDLER_PRICE_ROLL = "canteenHotelPriceRollJobHandler"; + public static final String HANDLER_PRICE_ROLL = "smHotelPriceRollJobHandler"; - private final CanteenHotelSyncService syncService; + private final SmHotelSyncService syncService; @XxlJob(HANDLER_LIST_SYNC) - public void canteenHotelListSyncJobHandler() { + public void smHotelListSyncJobHandler() { try { Map r = syncService.jobSyncHotelList(); XxlJobHelper.log("hotel list sync: " + r); XxlJobHelper.handleSuccess(String.valueOf(r)); } catch (Exception e) { - log.error("canteenHotelListSyncJobHandler 异常", e); + log.error("smHotelListSyncJobHandler 异常", e); XxlJobHelper.handleFail(e.getMessage()); } } @XxlJob(HANDLER_PRICE_ROLL) - public void canteenHotelPriceRollJobHandler() { + public void smHotelPriceRollJobHandler() { try { Map r = syncService.jobRollDailyPrice(); XxlJobHelper.log("hotel price roll: " + r); XxlJobHelper.handleSuccess(String.valueOf(r)); } catch (Exception e) { - log.error("canteenHotelPriceRollJobHandler 异常", e); + log.error("smHotelPriceRollJobHandler 异常", e); XxlJobHelper.handleFail(e.getMessage()); } } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelCallbackTaskMapper.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelCallbackTaskMapper.java new file mode 100644 index 000000000..3f8221e83 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelCallbackTaskMapper.java @@ -0,0 +1,9 @@ +package com.bsd.pjcloud.supermarket.mapper; + +import com.bsd.pjcloud.supermarket.entity.SmHotelCallbackTaskEntity; +import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SmHotelCallbackTaskMapper extends PjcloudBaseMapper { +} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelDailyMapper.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelDailyMapper.java similarity index 79% rename from pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelDailyMapper.java rename to pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelDailyMapper.java index 46c4cd93d..6e40552f5 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenHotelDailyMapper.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmHotelDailyMapper.java @@ -1,6 +1,6 @@ -package com.bsd.pjcloud.canteen.mapper; +package com.bsd.pjcloud.supermarket.mapper; -import com.bsd.pjcloud.canteen.entity.CanteenHotelDailyEntity; +import com.bsd.pjcloud.supermarket.entity.SmHotelDailyEntity; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; @@ -13,7 +13,7 @@ import java.util.List; import java.util.Map; @Mapper -public interface CanteenHotelDailyMapper extends PjcloudBaseMapper { +public interface SmHotelDailyMapper extends PjcloudBaseMapper { /** * 物理删除未来日历。唯一键 uk_product_date 不含 del_flag,软删后再插入会冲突。 @@ -21,7 +21,7 @@ public interface CanteenHotelDailyMapper extends PjcloudBaseMapper= #{fromDate}") int physicalDeleteFromDate(@Param("hotelId") Long hotelId, @Param("fromDate") LocalDate fromDate); - int insertBatch(@Param("list") List list); + int insertBatch(@Param("list") List list); @Select("""