luofeiyun 2 недель назад
Родитель
Сommit
7af2d4b9b6

+ 2 - 2
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/api/VoyageApiImpl.java

@@ -680,7 +680,7 @@ public class VoyageApiImpl implements VoyageApi {
         List<VoyageStockRoomUsedDO> roomUsedList = new ArrayList<>();
         Map<Long, OrderRoomUseDTO> roomIdMap = CollectionUtils.convertMap(orderRoomList, OrderRoomUseDTO::getRoomId);
         orderRoomList.forEach(item -> {
-            if (item.getRoomId() == null) {
+            if (item.getRoomId() == null || item.getRoomId() == 0L) {
                 return;
             }
             VoyageStockRoomUsedDO roomUsedDO = new VoyageStockRoomUsedDO();
@@ -1125,7 +1125,7 @@ public class VoyageApiImpl implements VoyageApi {
         List<VoyageStockRoomUsedDO> roomUsedList = new ArrayList<>();
         Map<Long, OrderRoomUseDTO> roomIdMap = CollectionUtils.convertMap(orderRoomList, OrderRoomUseDTO::getRoomId);
         orderRoomList.forEach(item -> {
-            if (item.getRoomId() == null) {
+            if (item.getRoomId() == null || item.getRoomId() == 0L) {
                 return;
             }
             VoyageStockRoomUsedDO roomUsedDO = new VoyageStockRoomUsedDO();

+ 11 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/app/otc/AppOtcTradeOrderController.java

@@ -191,5 +191,16 @@ public class AppOtcTradeOrderController {
         return success(appOtcTradeOrderService.appCreateOrderJzDetail(reqVO));
     }
 
+    @PostMapping("/miniApp/checkInRoom")
+    @Operation(summary = "小程序值船")
+    @PreAuthenticated
+    @OperateLog(type = API)
+    public CommonResult<Boolean> checkInRoom(@Valid @RequestBody AppCheckInRoomVO reqVO) {
+        appOtcTradeOrderService.appCheckInRoom(reqVO);
+        return success(true);
+    }
+
+
+
 
 }

+ 32 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/app/otc/vo/AppCheckInRoomVO.java

@@ -0,0 +1,32 @@
+package com.yc.ship.module.trade.controller.app.otc.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * 小程序值船参数
+ */
+@Schema(description = "小程序值船参数")
+@Data
+public class AppCheckInRoomVO {
+
+    @Schema(description = "订单ID", example = "")
+    private Long orderId;
+
+    @Schema(description = "航次ID", example = "")
+    private Long voyageId;
+
+    @Schema(description = "房型ID", example = "")
+    private Long roomModelId;
+
+    @Schema(description = "楼层", example = "")
+    private Integer floor;
+
+    @Schema(description = "房间ID", example = "")
+    private Long roomId;
+
+    @Schema(description = "游客ID", example = "")
+    private Long visitorId;
+
+
+}

+ 6 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/controller/app/otc/vo/AppMyItineraryVO.java

@@ -57,6 +57,12 @@ public class AppMyItineraryVO {
     @Schema(description = "关键字")
     private String keyword;
 
+    @Schema(description = "房间模型id")
+    private Long roomModelId;
+
+    @Schema(description = "楼层")
+    private Integer floor;
+
 
 
 }

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/AppOtcTradeOrderService.java

@@ -61,4 +61,6 @@ public interface AppOtcTradeOrderService {
      * @return
      */
     Long appCreateOrderJzDetail(AppOrderJzReqVO reqVO);
+
+    void appCheckInRoom(AppCheckInRoomVO reqVO);
 }

+ 31 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/AppOtcTradeOrderServiceImpl.java

@@ -13,6 +13,8 @@ import com.yc.ship.module.ota.api.OtaDistributorApi;
 import com.yc.ship.module.ota.api.dto.DistributorRespDTO;
 import com.yc.ship.module.product.api.ProductApi;
 import com.yc.ship.module.product.api.dto.VoyageRespDTO;
+import com.yc.ship.module.product.dal.dataobject.voyagestock.VoyageStockRoomUsedDO;
+import com.yc.ship.module.product.dal.mysql.voyagestock.VoyageStockRoomUsedMapper;
 import com.yc.ship.module.product.framework.lock.ProductRedisKeyConstants;
 import com.yc.ship.module.resource.api.route.RouteApi;
 import com.yc.ship.module.resource.api.route.dto.RouteRespDTO;
@@ -103,6 +105,10 @@ public class AppOtcTradeOrderServiceImpl implements AppOtcTradeOrderService {
     @Resource
     private OrderJzDetailService orderJzDetailService;
 
+    @Resource
+    private VoyageStockRoomUsedMapper voyageStockRoomUsedMapper;
+
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -386,4 +392,29 @@ public class AppOtcTradeOrderServiceImpl implements AppOtcTradeOrderService {
         return 0L;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void appCheckInRoom(AppCheckInRoomVO reqVO) {
+        Long orderId = reqVO.getOrderId();
+        Long voyageId = reqVO.getVoyageId();
+        Long roomModelId = reqVO.getRoomModelId();
+        Integer floor = reqVO.getFloor();
+        Long roomId = reqVO.getRoomId();
+        Long visitorId = reqVO.getVisitorId();
+        TradeOrderRespVO orderInfo = otcTradeOrderService.getOrderInfo(orderId);
+        VoyageStockRoomUsedDO voyageStockRoomUsedDO = new VoyageStockRoomUsedDO();
+        voyageStockRoomUsedDO.setOrderId(orderId);
+        voyageStockRoomUsedDO.setVoyageId(voyageId);
+        voyageStockRoomUsedDO.setRoomModelId(roomModelId);
+        voyageStockRoomUsedDO.setFloor(floor);
+        voyageStockRoomUsedDO.setRoomId(roomId);
+        voyageStockRoomUsedDO.setNum(new BigDecimal(1));
+        voyageStockRoomUsedDO.setStatus(orderInfo.getOrderStatus());
+        voyageStockRoomUsedMapper.insert(voyageStockRoomUsedDO);
+        TradeVisitorDO tradeVisitorDO = new TradeVisitorDO();
+        tradeVisitorDO.setId(visitorId);
+        tradeVisitorDO.setRoomId(String.valueOf(roomId));
+        tradeVisitorMapper.updateById(tradeVisitorDO);
+    }
+
 }

+ 2 - 0
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeOrderMapper.xml

@@ -2820,6 +2820,8 @@
             t2.start_time,
             t2.leave_time,
             t3.direction
+            t5.room_model_id,
+            t5.floor
         FROM
             trade_order t1
                 LEFT JOIN product_voyage t2 ON t1.voyage_id = t2.id