Jelajahi Sumber

部分表增加shipId字段,以及新增数据的shipId赋值

ZHOUTD 18 jam lalu
induk
melakukan
c5619bc19b
17 mengubah file dengan 135 tambahan dan 7 penghapusan
  1. 1 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricefloor/PriceFloorDO.java
  2. 2 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/priceroommodel/PriceRoomModelDO.java
  3. 1 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/priceroommodeltype/PriceRoomModelTypeDO.java
  4. 21 1
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricetemplate/PriceTemplateServiceImpl.java
  5. 22 2
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricevoyage/PriceVoyageServiceImpl.java
  6. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/roommodelrooms/ResourceRoomModelRoomsDO.java
  7. 1 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/room/ResourceRoomServiceImpl.java
  8. 5 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/roommodel/ResourceRoomModelServiceImpl.java
  9. 1 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeDetailDO.java
  10. 1 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderRoomModelDO.java
  11. 1 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderTotalDO.java
  12. 1 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderUserDO.java
  13. 1 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeVisitorDO.java
  14. 36 3
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java
  15. 5 1
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java
  16. 2 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/AppOtcTradeOrderServiceImpl.java
  17. 31 0
      ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/otc/impl/OtcTradeOrderServiceImpl.java

+ 1 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricefloor/PriceFloorDO.java

@@ -51,4 +51,5 @@ public class PriceFloorDO extends TenantBaseDO {
      */
     private BigDecimal price;
 
+    private Long shipId;
 }

+ 2 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/priceroommodel/PriceRoomModelDO.java

@@ -70,6 +70,8 @@ public class PriceRoomModelDO extends TenantBaseDO {
      * 拼房系数
      */
     private BigDecimal shareRate;
+
+    private Long shipId;
     /**
      * 单房型加价设置
      */

+ 1 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/priceroommodeltype/PriceRoomModelTypeDO.java

@@ -95,6 +95,7 @@ public class PriceRoomModelTypeDO extends TenantBaseDO {
      */
     private Integer enableShare;
 
+    private Long shipId;
     /**
      * 单房型加价设置
      */

+ 21 - 1
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricetemplate/PriceTemplateServiceImpl.java

@@ -137,8 +137,12 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
         List<PriceRoomModelDO> toInsert = new ArrayList<>();
         List<PriceRoomModelDO> toUpdate = new ArrayList<>();
         List<Long> frontIds = new ArrayList<>();
+        
+        PriceTemplateDO priceTemplateDO = priceTemplateMapper.selectById(objectId);
+        Long shipId = priceTemplateDO.getShipId();
 
         for (PriceRoomModelDO roomModel : roomModelList) {
+            roomModel.setShipId(shipId);
             if (roomModel.getId() == null) {
                 // 不存在,则插入
                 roomModel.setObjectId(objectId);
@@ -187,7 +191,11 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
         List<PriceSingleSettingDO> singleSettingToUpdate = new ArrayList<>();
         List<Long> frontIds = new ArrayList<>();
 
+        PriceTemplateDO priceTemplateDO = priceTemplateMapper.selectById(objectId);
+        Long shipId = priceTemplateDO.getShipId();
+
         for (PriceRoomModelTypeDO roomModelType : roomModelTypeList) {
+            roomModelType.setShipId(shipId);
             if (roomModelType.getId() == null) {
                 Long roomModelTypeId = IdUtil.getSnowflakeNextId();
                 roomModelType.setId(roomModelTypeId);
@@ -245,7 +253,10 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
 
         List<PriceFloorDO> existingList = priceFloorMapper.selectListByObjectId(objectId);
         Map<Long, PriceFloorDO> existingMap = CollectionUtils.convertMap(existingList, PriceFloorDO::getId);
-
+        
+        PriceTemplateDO priceTemplateDO = priceTemplateMapper.selectById(objectId);
+        Long shipId = priceTemplateDO.getShipId();
+        
         List<PriceFloorDO> toInsert = new ArrayList<>();
         List<PriceFloorDO> toUpdate = new ArrayList<>();
         List<Long> frontIds = new ArrayList<>();
@@ -253,10 +264,12 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
         for (PriceFloorDO floor : floorList) {
             if (floor.getId() == null) {
                 floor.setObjectId(objectId);
+                floor.setShipId(shipId);
                 toInsert.add(floor);
             } else {
                 frontIds.add(floor.getId());
                 floor.setObjectId(objectId);
+                floor.setShipId(shipId);
                 toUpdate.add(floor);
             }
         }
@@ -486,11 +499,16 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
     }
 
     private void saveRelation(Long objectId, PriceTemplateSaveReqVO vo) {
+
+        PriceTemplateDO priceTemplateDO = priceTemplateMapper.selectById(objectId);
+        Long shipId = priceTemplateDO.getShipId();
+        
         //插入房型价格系数
         List<PriceRoomModelDO> roomModelList = vo.getRoomModelList();
         roomModelList.stream().forEach(roomModel -> {
             roomModel.setId(null);
             roomModel.setObjectId(objectId);
+            roomModel.setShipId(shipId);
         });
         priceRoomModelMapper.insertBatch(roomModelList);
 
@@ -506,6 +524,7 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
                     roomModelType.setRoomModelId(roomModel.getRoomModelId());
                     roomModelType.setRoomModelName(roomModel.getRoomModelName());
                     roomModelType.setObjectId(objectId);
+                    roomModelType.setShipId(shipId);
                     roomModelType.setId(roomModelTypeId);
                     roomModelTypeDOList.add(roomModelType);
                     PriceSingleSettingDO singleSetting = roomModelType.getSingleSetting();
@@ -530,6 +549,7 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
         floorList.stream().forEach(floor -> {
             floor.setId(null);
             floor.setObjectId(objectId);
+            floor.setShipId(shipId);
         });
         if(floorList.size() > 0) {
             priceFloorMapper.insertBatch(floorList);

+ 22 - 2
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricevoyage/PriceVoyageServiceImpl.java

@@ -33,7 +33,6 @@ import com.yc.ship.module.product.enums.ErrorCodeConstants;
 import com.yc.ship.module.product.service.pricearea.PriceAreaService;
 import com.yc.ship.module.product.service.priceroommodel.PriceRoomModelService;
 import com.yc.ship.module.product.service.pricespu.PriceSpuService;
-import com.yc.ship.module.product.service.voyage.VoyageService;
 import com.yc.ship.module.resource.controller.admin.roommodel.vo.ResourceRoomModelRespVO;
 import com.yc.ship.module.resource.dal.dataobject.roommodel.ResourceRoomModelDO;
 import com.yc.ship.module.resource.service.roommodel.ResourceRoomModelService;
@@ -47,7 +46,8 @@ import java.util.List;
 import java.util.Map;
 
 import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static com.yc.ship.module.product.enums.ErrorCodeConstants.*;
+import static com.yc.ship.module.product.enums.ErrorCodeConstants.PRICE_VOYAGE_EXISTS;
+import static com.yc.ship.module.product.enums.ErrorCodeConstants.PRICE_VOYAGE_NOT_EXISTS;
 
 /**
  * 航次价格 Service 实现类
@@ -154,8 +154,12 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         List<PriceRoomModelDO> toInsert = new ArrayList<>();
         List<PriceRoomModelDO> toUpdate = new ArrayList<>();
         List<Long> frontIds = new ArrayList<>();
+        
+        PriceVoyageDO priceVoyageDO = priceVoyageMapper.selectById(objectId);
+        Long shipId = priceVoyageDO.getShipId();
 
         for (PriceRoomModelDO roomModel : roomModelList) {
+            roomModel.setShipId(shipId);
             if (roomModel.getId() == null) {
                 // 不存在,则插入
                 roomModel.setObjectId(objectId);
@@ -204,7 +208,11 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         List<PriceSingleSettingDO> singleSettingToUpdate = new ArrayList<>();
         List<Long> frontIds = new ArrayList<>();
 
+        PriceVoyageDO priceVoyageDO = priceVoyageMapper.selectById(objectId);
+        Long shipId = priceVoyageDO.getShipId();
+        
         for (PriceRoomModelTypeDO roomModelType : roomModelTypeList) {
+            roomModelType.setShipId(shipId);
             if (roomModelType.getId() == null) {
                 Long roomModelTypeId = IdUtil.getSnowflakeNextId();
                 roomModelType.setId(roomModelTypeId);
@@ -260,6 +268,9 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
             return;
         }
 
+        PriceVoyageDO priceVoyageDO = priceVoyageMapper.selectById(objectId);
+        Long shipId = priceVoyageDO.getShipId();
+
         List<PriceFloorDO> existingList = priceFloorMapper.selectListByObjectId(objectId);
         Map<Long, PriceFloorDO> existingMap = CollectionUtils.convertMap(existingList, PriceFloorDO::getId);
 
@@ -270,10 +281,12 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         for (PriceFloorDO floor : floorList) {
             if (floor.getId() == null) {
                 floor.setObjectId(objectId);
+                floor.setShipId(shipId);
                 toInsert.add(floor);
             } else {
                 frontIds.add(floor.getId());
                 floor.setObjectId(objectId);
+                floor.setShipId(shipId);
                 toUpdate.add(floor);
             }
         }
@@ -590,11 +603,16 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
     }
 
     private void saveRelation(Long objectId, PriceVoyageSaveReqVO vo) {
+
+        PriceVoyageDO priceVoyageDO = priceVoyageMapper.selectById(objectId);
+        Long shipId = priceVoyageDO.getShipId();
+        
         //插入房型价格系数
         List<PriceRoomModelDO> roomModelList = vo.getRoomModelList();
         roomModelList.forEach(roomModel -> {
             roomModel.setId(null);
             roomModel.setObjectId(objectId);
+            roomModel.setShipId(shipId);
         });
         priceRoomModelMapper.insertBatch(roomModelList);
         //插入楼层价格系数
@@ -602,6 +620,7 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         floorList.forEach(floor -> {
             floor.setId(null);
             floor.setObjectId(objectId);
+            floor.setShipId(shipId);
         });
         priceFloorMapper.insertBatch(floorList);
 
@@ -619,6 +638,7 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
                     roomModelType.setRoomModelId(roomModel.getRoomModelId());
                     roomModelType.setRoomModelName(roomModel.getRoomModelName());
                     roomModelType.setObjectId(objectId);
+                    roomModelType.setShipId(shipId);
                     roomModelTypeDOList.add(roomModelType);
                     PriceSingleSettingDO singleSetting = roomModelType.getSingleSetting();
                     if(singleSetting != null) {

+ 3 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/roommodelrooms/ResourceRoomModelRoomsDO.java

@@ -32,4 +32,7 @@ public class ResourceRoomModelRoomsDO extends TenantBaseDO {
      * 房型ID
      */
     private Long roomModelId;
+
+
+    private Long shipId;
 }

+ 1 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/room/ResourceRoomServiceImpl.java

@@ -82,6 +82,7 @@ public class ResourceRoomServiceImpl implements ResourceRoomService {
         ResourceRoomModelRoomsDO roomModelRooms = ResourceRoomModelRoomsDO.builder()
                 .roomId(room.getId())
                 .roomModelId(room.getRoomModelId())
+                .shipId(room.getShipId())
                 .build();
         roomModelRoomsMapper.insert(roomModelRooms);
     }

+ 5 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/roommodel/ResourceRoomModelServiceImpl.java

@@ -88,6 +88,10 @@ public class ResourceRoomModelServiceImpl implements ResourceRoomModelService {
     }
 
     private void handleRoomModelRooms(Long modelId, String roomNumIds) {
+
+        ResourceRoomModelDO resourceRoomModelDO = roomModelMapper.selectById(modelId);
+        Long shipId = resourceRoomModelDO.getShipId();
+        
         roomModelRoomsMapper.deleteByRoomModelId(modelId);
         if(StringUtils.isNotBlank(roomNumIds)) {
             String[] split = roomNumIds.split(",");
@@ -96,6 +100,7 @@ public class ResourceRoomModelServiceImpl implements ResourceRoomModelService {
                 ResourceRoomModelRoomsDO roomModelRooms = ResourceRoomModelRoomsDO.builder()
                         .roomId(Long.valueOf(s))
                         .roomModelId(modelId)
+                        .shipId(shipId)
                         .build();
                 list.add(roomModelRooms);
             }

+ 1 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeDetailDO.java

@@ -146,6 +146,7 @@ public class TradeDetailDO extends TenantSyncDO {
      */
     private String faceimg;
 
+    private Long shipId;
     /**
      * 核销子票信息
      */

+ 1 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderRoomModelDO.java

@@ -137,4 +137,5 @@ public class TradeOrderRoomModelDO extends TenantSyncDO {
     private Long roomId;
 
 
+    private Long shipId;
 }

+ 1 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderTotalDO.java

@@ -122,4 +122,5 @@ public class TradeOrderTotalDO extends TenantSyncDO {
     @ForUpdate(fieldName = "其它备注")
     private String otherRemark;
 
+    private Long shipId;
 }

+ 1 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeOrderUserDO.java

@@ -72,4 +72,5 @@ public class TradeOrderUserDO extends TenantSyncDO {
      */
     private String city;
 
+    private Long shipId;
 }

+ 1 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/dal/dataobject/order/TradeVisitorDO.java

@@ -180,6 +180,7 @@ public class TradeVisitorDO extends TenantSyncDO {
     @Schema(description = "楼层", example = "")
     private Integer floor;
 
+    private Long shipId;
 
     /**
      * 入住类型

+ 36 - 3
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderRepositoryServiceImpl.java

@@ -133,9 +133,16 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
     public void saveOrder(TradeOrderBO tradeOrderBO) {
         try {
 
-            tradeOrderMapper.insert(tradeOrderBO.getTradeOrderDO());
+            TradeOrderDO tradeOrderDO = tradeOrderBO.getTradeOrderDO();
+            Long shipId = tradeOrderDO.getShipId();
+            
+            tradeOrderMapper.insert(tradeOrderDO);
             orderJzMapper.insert(tradeOrderBO.getOrderJzDO());
-            tradeOrderUserMapper.insert(tradeOrderBO.getTradeOrderUserDO());
+            
+            TradeOrderUserDO tradeOrderUserDO = tradeOrderBO.getTradeOrderUserDO();
+            tradeOrderUserDO.setShipId(shipId);
+
+            tradeOrderUserMapper.insert(tradeOrderUserDO);
             if (tradeOrderBO.getTradeOrderBindDO() != null) {
                 tradeOrderBindMapper.insert(tradeOrderBO.getTradeOrderBindDO());
             }
@@ -143,11 +150,23 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
                 tradeOrderDeliveryMapper.insert(tradeOrderBO.getTradeOrderDeliveryDO());
             }
 
+            
             tradeOrderBO.getTradeOrderDetailBOList().forEach(tradeOrderDetailBO -> {
 
                 tradeDetailMapper.insertBatch(tradeOrderDetailBO.getTradeDetailDOList());
+                List<TradeDetailDO> tradeDetailDOList = tradeOrderDetailBO.getTradeDetailDOList();
+                for (TradeDetailDO tradeDetailDO : tradeDetailDOList) {
+                    tradeDetailDO.setShipId(shipId);
+                }
+                tradeDetailMapper.insertBatch(tradeDetailDOList);
+
                 tradeDetailBaseMapper.insertBatch(tradeOrderDetailBO.getTradeDetailBaseDOList());
-                tradeVisitorMapper.insertBatch(tradeOrderDetailBO.getTradeVisitorDOList());
+                
+                List<TradeVisitorDO> tradeVisitorDOList = tradeOrderDetailBO.getTradeVisitorDOList();
+                for (TradeVisitorDO tradeVisitorDO : tradeVisitorDOList) {
+                    tradeVisitorDO.setShipId(shipId);
+                }
+                tradeVisitorMapper.insertBatch(tradeVisitorDOList);
 
                 if (tradeOrderDetailBO.getTradeOrderHotelDO() != null) {
                     tradeOrderHotelMapper.insert(tradeOrderDetailBO.getTradeOrderHotelDO());
@@ -291,6 +310,9 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
             List<TradeDetailDO> tradeDetailDOList = new ArrayList<>();
             List<TradeDetailBaseDO> tradeDetailBaseDOList = new ArrayList<>();
             List<TradeVisitorDO> tradeVisitorDOList = new ArrayList<>();
+
+            Long shipId = tradeOrderDO.getShipId();
+
             tradeOrderBO.getTradeOrderDetailBOList().forEach(tradeOrderDetailBO -> {
                 tradeDetailDOList.addAll(tradeOrderDetailBO.getTradeDetailDOList());
                 tradeDetailBaseDOList.addAll(tradeOrderDetailBO.getTradeDetailBaseDOList());
@@ -311,6 +333,12 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
                     tradeDetailPriceMapper.insertBatch(tradeOrderDetailBO.getTradeDetailPriceDOList());
                 }
             });
+            for (TradeDetailDO tradeDetailDO : tradeDetailDOList) {
+                tradeDetailDO.setShipId(shipId);
+            }
+            for (TradeVisitorDO tradeVisitorDO : tradeVisitorDOList) {
+                tradeVisitorDO.setShipId(shipId);
+            }
             tradeDetailBaseMapper.insertBatch(tradeDetailBaseDOList);
             updateTradeVisitor(tradeVisitorDOList, oldOrderId);
             updateTradeDetail(tradeDetailDOList, oldOrderId);
@@ -368,12 +396,17 @@ public class TradeOrderRepositoryServiceImpl implements TradeOrderRepositoryServ
                 .map(TradeVisitorDO::getId)
                 .filter(Objects::nonNull)
                 .collect(Collectors.toList());
+
+        TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
+        Long shipId = tradeOrderDO.getShipId();
+        
         //创建订单游客数据
         List<TradeVisitorDO> insetList = new ArrayList<>();
         //修改订单游客数据
         List<TradeVisitorDO> updateList = new ArrayList<>();
         list.forEach(item -> {
             item.setOrderId(orderId);
+            item.setShipId(shipId);
             if(existingVisitorIds.contains(item.getId())){
                 updateList.add(item);
             }else{

+ 5 - 1
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/order/impl/TradeOrderServiceImpl.java

@@ -410,6 +410,10 @@ public class TradeOrderServiceImpl implements TradeOrderService {
         //信任前端传入的数据,不做数量校验
         List<TradeVisitorDO> tradeVisitorDOList = new ArrayList<>();
         List<TradeModifyVisitorReqDTO.VisitorItem> visitorItemList = tradeModifyVisitorReqDTO.getVisitorList();
+
+        TradeOrderDO tradeOrderDO = tradeOrderRepositoryService.getById(tradeModifyVisitorReqDTO.getOrderId());
+        Long shipId = tradeOrderDO.getShipId();
+        
         for (TradeModifyVisitorReqDTO.VisitorItem visitorItem : visitorItemList) {
             TradeVisitorDO tradeVisitorDO = TradeOrderConvert.INSTANCE.convertToVisitor(visitorItem);
             if (visitorItem.getVisitorId() == null) {
@@ -417,6 +421,7 @@ public class TradeOrderServiceImpl implements TradeOrderService {
             } else {
                 tradeVisitorDO.setId(visitorItem.getVisitorId());
             }
+            tradeVisitorDO.setShipId(shipId);
             tradeVisitorDOList.add(tradeVisitorDO);
         }
 
@@ -464,7 +469,6 @@ public class TradeOrderServiceImpl implements TradeOrderService {
 
         //如果有平台供应商可以补录
         tradeSupplierService.bindVisitor(tradeModifyVisitorReqDTO.getOrderId(), tradeVisitorDOList);
-        TradeOrderDO tradeOrderDO = tradeOrderRepositoryService.getById(tradeModifyVisitorReqDTO.getOrderId());
         //补录推送游客信息到实名系统
         if (ObjectUtils.equalsAny(tradeOrderDO.getSellMethod(), SellMethodEnum.OTA.getType(), SellMethodEnum.OTA_SYSTEM.getType(),
                 SellMethodEnum.OTC.getType(), SellMethodEnum.OTC_MOVE_ORDER.getType())) {

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

@@ -253,6 +253,7 @@ public class AppOtcTradeOrderServiceImpl implements AppOtcTradeOrderService {
             tradeOrderTotalDO.setId(IdWorker.getId());
             tradeOrderTotalDO.setOldOrderId(orderId);
             tradeOrderTotalDO.setOtherRemark(summary.getOtherRemark());
+            tradeOrderTotalDO.setShipId(ship.getId());
             tradeOrderTotalMapper.insert(tradeOrderTotalDO);
             // 创建订单房型数据
             List<TradeOrderRoomModelDO> tradeOrderRoomDOList = new ArrayList<>();
@@ -261,6 +262,7 @@ public class AppOtcTradeOrderServiceImpl implements AppOtcTradeOrderService {
                 TradeOrderRoomModelDO tradeOrderRoomDO = BeanUtils.toBean(roomModel, TradeOrderRoomModelDO.class);
                 tradeOrderRoomDO.setOrderId(orderId);
                 tradeOrderRoomDO.setOrderNo(orderNo);
+                tradeOrderRoomDO.setShipId(ship.getId());
                 tradeOrderRoomDO.setDiscount(tradeOrderRoomDO.getUnitPrice().subtract(tradeOrderRoomDO.getRealMoney()));
                 tradeOrderRoomDOList.add(tradeOrderRoomDO);
             });

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

@@ -730,6 +730,10 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             log.error("tradeOrderUser无可用回退版本");
             return;
         }
+
+        TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
+        Long shipId = tradeOrderDO.getShipId();
+        
         for (HisTradeOrderUserDO lastVersion : lastVersionList) {
             Long dataId = lastVersion.getId();
             // 【锁已生效】下面所有操作都是单线程执行,不会并发冲突
@@ -737,6 +741,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             TradeOrderUserDO a = new TradeOrderUserDO();
             BeanUtils.copyProperties(lastVersion, a);
             a.setSyncStatus("0");
+            a.setShipId(shipId);
             tradeOrderUserMapper.updateDeletedById(dataId,0);
             boolean updateMain = tradeOrderUserMapper.insertOrUpdate(a);
             if (!updateMain) {
@@ -788,6 +793,10 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             log.error("tradeDetail无可用回退版本");
             return;
         }
+
+        TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
+        Long shipId = tradeOrderDO.getShipId();
+        
         for (HisTradeDetailDO lastVersion : lastVersionList) {
             Long dataId = lastVersion.getId();
             // 【锁已生效】下面所有操作都是单线程执行,不会并发冲突
@@ -795,6 +804,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             TradeDetailDO a = new TradeDetailDO();
             BeanUtils.copyProperties(lastVersion, a);
             a.setSyncStatus("0");
+            a.setShipId(shipId);
             tradeDetailMapper.updateDeletedById(dataId,0);
             boolean updateMain = tradeDetailMapper.insertOrUpdate(a);
             if (!updateMain) {
@@ -900,6 +910,9 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 .last("FOR UPDATE") // 加行锁,其他线程阻塞等待
         );
 
+        TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
+        Long shipId = tradeOrderDO.getShipId();
+
         if (lastVersionList == null ||  lastVersionList.isEmpty()) {
             log.error("tradeOrderTotal无可用回退版本");
             return;
@@ -911,6 +924,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             TradeOrderTotalDO a = new TradeOrderTotalDO();
             BeanUtils.copyProperties(lastVersion, a);
             a.setSyncStatus("0");
+            a.setShipId(shipId);
             tradeOrderTotalMapper.updateDeletedById(dataId,0);
             boolean updateMain = tradeOrderTotalMapper.insertOrUpdate(a);
             if (!updateMain) {
@@ -1016,6 +1030,10 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             log.error("tradeOrderRoomModel无可用回退版本");
             return;
         }
+
+        TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
+        Long shipId = tradeOrderDO.getShipId();
+        
         for (HisTradeOrderRoomModelDO lastVersion : lastVersionList) {
             Long dataId = lastVersion.getId();
             // 【锁已生效】下面所有操作都是单线程执行,不会并发冲突
@@ -1023,6 +1041,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             TradeOrderRoomModelDO a = new TradeOrderRoomModelDO();
             BeanUtils.copyProperties(lastVersion, a);
             a.setSyncStatus("0");
+            a.setShipId(shipId);
             tradeOrderRoomModelMapper.updateDeletedById(dataId,0);
             boolean updateMain = tradeOrderRoomModelMapper.insertOrUpdate(a);
             if (!updateMain) {
@@ -1074,6 +1093,10 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             log.error("tradeVisitor无可用回退版本");
             return;
         }
+
+        TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
+        Long shipId = tradeOrderDO.getShipId();
+        
         for (HisTradeVisitorDO lastVersion : lastVersionList) {
             Long dataId = lastVersion.getId();
             // 【锁已生效】下面所有操作都是单线程执行,不会并发冲突
@@ -1081,6 +1104,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             TradeVisitorDO a = new TradeVisitorDO();
             BeanUtils.copyProperties(lastVersion, a);
             a.setSyncStatus("0");
+            a.setShipId(shipId);
             tradeVisitorMapper.updateDeletedById(dataId,0);
             boolean updateMain = tradeVisitorMapper.insertOrUpdate(a);
             if (!updateMain) {
@@ -2525,6 +2549,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             tradeOrderTotalDO.setId(IdWorker.getId());
             tradeOrderTotalDO.setOldOrderId(orderId);
             tradeOrderTotalDO.setOtherRemark(summary.getOtherRemark());
+            tradeOrderTotalDO.setShipId(ship.getId());
             tradeOrderTotalMapper.insert(tradeOrderTotalDO);
 
             // 创建订单房型数据
@@ -2535,6 +2560,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 tradeOrderRoomDO.setOrderId(orderId);
                 tradeOrderRoomDO.setOrderNo(orderNo);
                 tradeOrderRoomDO.setDiscount(tradeOrderRoomDO.getUnitPrice().subtract(tradeOrderRoomDO.getRealMoney()));
+                tradeOrderRoomDO.setShipId(ship.getId());
                 tradeOrderRoomDOList.add(tradeOrderRoomDO);
             });
 
@@ -3253,12 +3279,17 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         //创建订单房型数据
         List<TradeOrderRoomModelDO> insetList = new ArrayList<>();
         List<TradeOrderRoomModelDO> updateList = new ArrayList<>();
+
+        TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
+        Long shipId = tradeOrderDO.getShipId();
+        
         roomModelList.forEach(item -> {
             TradeOrderRoomModelDO tradeOrderRoomModelDO = BeanUtils.toBean(item, TradeOrderRoomModelDO.class);
             tradeOrderRoomModelDO.setSyncStatus("0");
             tradeOrderRoomModelDO.setOrderId(orderId);
             tradeOrderRoomModelDO.setDiscount(tradeOrderRoomModelDO.getUnitPrice().subtract(tradeOrderRoomModelDO.getRealMoney()));
             tradeOrderRoomModelDO.setOrderNo(orderNo);
+            tradeOrderRoomModelDO.setShipId(shipId);
             if(tradeOrderRoomModelDO.getId() == null){
                 tradeOrderRoomModelDO.setId(IdWorker.getId());
                 insetList.add(tradeOrderRoomModelDO);