Pārlūkot izejas kodu

回退操作,根据历史表回退

ZHOUTD 2 nedēļas atpakaļ
vecāks
revīzija
bb095a2757

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

@@ -43,12 +43,10 @@ import com.yc.ship.module.his.dal.dataobject.tradedetailbase.HisTradeDetailBaseD
 import com.yc.ship.module.his.dal.dataobject.tradeorder.HisTradeOrderDO;
 import com.yc.ship.module.his.dal.dataobject.tradeordercountry.HisTradeOrderCountryDO;
 import com.yc.ship.module.his.dal.dataobject.tradeorderfloor.HisTradeOrderFloorDO;
-import com.yc.ship.module.his.dal.dataobject.tradeOrderPolicy.HisTradeOrderPolicyDO;
 import com.yc.ship.module.his.dal.dataobject.tradeorderroommodel.HisTradeOrderRoomModelDO;
 import com.yc.ship.module.his.dal.dataobject.tradeordertotal.HisTradeOrderTotalDO;
 import com.yc.ship.module.his.dal.dataobject.tradeorderuser.HisTradeOrderUserDO;
 import com.yc.ship.module.his.dal.dataobject.tradevisitor.HisTradeVisitorDO;
-import com.yc.ship.module.his.dal.mysql.tradeOrderPolicy.HisTradeOrderPolicyMapper;
 import com.yc.ship.module.his.dal.mysql.tradedetail.HisTradeDetailMapper;
 import com.yc.ship.module.his.dal.mysql.tradedetailbase.HisTradeDetailBaseMapper;
 import com.yc.ship.module.his.dal.mysql.tradeorder.HisTradeOrderMapper;
@@ -58,6 +56,14 @@ import com.yc.ship.module.his.dal.mysql.tradeorderroommodel.HisTradeOrderRoomMod
 import com.yc.ship.module.his.dal.mysql.tradeordertotal.HisTradeOrderTotalMapper;
 import com.yc.ship.module.his.dal.mysql.tradeorderuser.HisTradeOrderUserMapper;
 import com.yc.ship.module.his.dal.mysql.tradevisitor.HisTradeVisitorMapper;
+import com.yc.ship.module.his.service.tradedetail.HisTradeDetailService;
+import com.yc.ship.module.his.service.tradedetailbase.HisTradeDetailBaseService;
+import com.yc.ship.module.his.service.tradeordercountry.HisTradeOrderCountryService;
+import com.yc.ship.module.his.service.tradeorderfloor.HisTradeOrderFloorService;
+import com.yc.ship.module.his.service.tradeorderroommodel.HisTradeOrderRoomModelService;
+import com.yc.ship.module.his.service.tradeordertotal.HisTradeOrderTotalService;
+import com.yc.ship.module.his.service.tradeorderuser.HisTradeOrderUserService;
+import com.yc.ship.module.his.service.tradevisitor.HisTradeVisitorService;
 import com.yc.ship.module.infra.api.config.ConfigApi;
 import com.yc.ship.module.marketing.api.policy.PolicyApi;
 import com.yc.ship.module.member.api.address.MemberAddressApi;
@@ -188,8 +194,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @Resource
     private PolicyApi policyApi;
     @Resource
-    private HisTradeOrderPolicyMapper hisTradeOrderPolicyMapper;
-    @Resource
     private NotifyMessageSendApi notifyMessageSendApi;
 
     @Resource
@@ -300,6 +304,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @Resource
     private ConfigUtils configUtils;
 
+
     public final static String AGENCY_LOGIN_INFO = "agencyLoginInfo";
 
 
@@ -2525,9 +2530,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
     @Transactional(rollbackFor = Exception.class)
     @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.ORDER_MODIFY)
     public CommonResult<?> motifyOtcOrder(LoginUser loginUser, TradeOrderOtcCreateVO createVO) {
-        // 获取分销商id
         Long distributorId = createVO.getDistributorId() != null ? createVO.getDistributorId() : loginUser.getDistributorId();
-        // 获取门店id
         Long storeId = createVO.getStoreId() != null ? createVO.getStoreId() : loginUser.getStoreId();
         //获取当前分销商信息
         if (distributorId == null) {
@@ -2543,26 +2546,21 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         if (storeId != null) {
             storeInfo = storeApi.getStoreInfo(storeId);
         }
-        // 查询订单信息
         Long orderId = createVO.getOrderId();
         TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(orderId);
         if (tradeOrderDO == null) {
             return CommonResult.error(ORDER_NOT_EXIST);
         }
-        // 判断订单是否开票,开票则不允许修改
         if (tradeOrderDO.getIsInvoice() != null && tradeOrderDO.getIsInvoice() == 1) {
             return CommonResult.error(ORDER_ISINVOICE);
         }
-        // 审核类型:0-无需审核,2-二级审核,3-三级审核,4-四级审核
         int auditType = 0;
         String orderNo = tradeOrderDO.getOrderNo();
         Long oldvoyageId = tradeOrderDO.getVoyageId();
         Long newvoyageId = createVO.getVoyageId();
-        // 航次ID
         if (newvoyageId == null) {
             return CommonResult.error(ORDER_NOT_VOYAGE);
         }
-        // 不允许修改航次
         if(!Objects.equals(oldvoyageId, newvoyageId)){
             return CommonResult.error(ORDER_NOT_VOYAGE_CHANGE);
         }
@@ -2572,7 +2570,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         try {
             lock.lock(60, TimeUnit.SECONDS);
             Date updateTime = new Date();
-            // 构建创建订单的参数
             ShipTradeOrderCreateReqVO shipTradeOrderCreateReqVO = BeanUtils.toBean(createVO, ShipTradeOrderCreateReqVO.class);
             shipTradeOrderCreateReqVO.setDistributorId(loginUser.getDistributorId());
             shipTradeOrderCreateReqVO.setGroupNo(createVO.getGroupNo());
@@ -2581,7 +2578,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             shipTradeOrderCreateReqVO.setDeposi(createVO.getSummary().getDeposi());
             shipTradeOrderCreateReqVO.setOrderSort(tradeOrderDO.getOrderSort());
             shipTradeOrderCreateReqVO.setIsRead(0);
-            // 订单金额
             TradeOrderTotalVO summary = createVO.getSummary();
             BigDecimal realAmount = summary.getRealMoney()==null?BigDecimal.ZERO:summary.getRealMoney()  ;
             BigDecimal orderMoney = summary.getOrderMoney();
@@ -2589,7 +2585,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             shipTradeOrderCreateReqVO.setAmount(orderMoney);
             shipTradeOrderCreateReqVO.setPayAmount(realAmount);
             if ((orderMoney != null && realAmount != null && (realAmount.compareTo(orderMoney) != 0) || shipTradeOrderCreateReqVO.getAmount().compareTo(tradeOrderDO.getAmount())!=0)) {
-                // 判断订单金额是否发生变化,记录变更日志
                 //shipTradeOrderCreateReqVO.setConfirmType(1);
                 TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
                 tradeOrderBindDO.setId(IdWorker.getId());
@@ -2599,7 +2594,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 tradeOrderBindDO.setRemark("modify订单金额修改,订单金额:" + orderMoney + ",订单修改后实际金额:" + realAmount);
                 shipTradeOrderCreateReqVO.setTradeOrderBindDO(tradeOrderBindDO);
             } else if (createVO.getSummary().getDeposi() != null && shipTradeOrderCreateReqVO.getDeposi().compareTo(tradeOrderDO.getDeposi())!=0) {
-                // 判断定金金额是否发生变化,记录变更日志
                 //shipTradeOrderCreateReqVO.setConfirmType(1);
                 TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
                 tradeOrderBindDO.setId(IdWorker.getId());
@@ -2610,7 +2604,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 shipTradeOrderCreateReqVO.setTradeOrderBindDO(tradeOrderBindDO);
                 shipTradeOrderCreateReqVO.setDeposiStatus(1);
             }else if (!createVO.getPolicyList().isEmpty()) {
-                // 判断是否提交了营销政策,记录变更日志
                 //shipTradeOrderCreateReqVO.setConfirmType(1);
                 TradeOrderBindDO tradeOrderBindDO = new TradeOrderBindDO();
                 tradeOrderBindDO.setId(IdWorker.getId());
@@ -2629,7 +2622,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             if (createVO.getSummary().getRealOrderMoney() != null) {
                 shipTradeOrderCreateReqVO.setPayAmount(createVO.getSummary().getRealOrderMoney());
             }
-            // 设置订单联系人信息
             ShipTradeOrderCreateReqVO.OrderUser orderUser = new ShipTradeOrderCreateReqVO.OrderUser();
             orderUser.setContactName(createVO.getLinkMan());
             orderUser.setMobile(createVO.getLinkMobile());
@@ -2639,7 +2631,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             shipTradeOrderCreateReqVO.setIsYd(createVO.getIsYd());
             shipTradeOrderCreateReqVO.setTravelDate(createVO.getBoardingTime());
             shipTradeOrderCreateReqVO.setOrderNo(orderNo);
-            // 设置订单属性
+
             ShipTradeOrderCreateReqVO.OrderProperty orderProperty = new ShipTradeOrderCreateReqVO.OrderProperty();
             orderProperty.setSellMethod(SellMethodEnum.OTC.getType());
             orderProperty.setSourceId(distributorDO.getId() + "");
@@ -2648,21 +2640,18 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 orderProperty.setStoreId(storeInfo.getId());
                 orderProperty.setStoreName(storeInfo.getName());
             }
-            // 构建订单明细
             orderProperty.setSellMethod(SellMethodEnum.OTC.getType());
             shipTradeOrderCreateReqVO.setOrderProperty(orderProperty);
             ShipTradeOrderCreateReqVO.OrderItem orderItem = new ShipTradeOrderCreateReqVO.OrderItem();
             List<ShipTradeOrderCreateReqVO.OrderDetail> detailList = new ArrayList<>();
             ShipTradeOrderCreateReqVO.OrderDetail orderDetail = new ShipTradeOrderCreateReqVO.OrderDetail();
-            // 处理游客信息
             for (TradeVistorReqVO tradeVistorReqVO : createVO.getTourist()) {
                 List<ShipTradeOrderCreateReqVO.Visitor> visitorList = new ArrayList<>();
                 ShipTradeOrderCreateReqVO.OrderDetail visitorDetailId = new ShipTradeOrderCreateReqVO.OrderDetail();
-//                BeanUtils.copyProperties(orderDetail, ShipTradeOrderCreateReqVO.OrderDetail.class);
+                BeanUtils.copyProperties(orderDetail, ShipTradeOrderCreateReqVO.OrderDetail.class);
                 visitorDetailId.setPrice(tradeVistorReqVO.getPrice());
                 visitorDetailId.setOriginPrice(tradeVistorReqVO.getPrice());
                 visitorDetailId.setProductType(0);
-                visitorDetailId.setVisitorId(Long.valueOf(tradeVistorReqVO.getId()));
                 visitorDetailId.setBoardingTime(createVO.getBoardingTime());
                 visitorDetailId.setLeaveTime(createVO.getLeaveTime());
                 ShipTradeOrderCreateReqVO.Visitor visitor = getVisitor1(tradeVistorReqVO);
@@ -2674,7 +2663,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                 visitorDetailId.setProductType(0);
                 detailList.add(visitorDetailId);
             }
-            // 处理附加产品
             BigDecimal spuMoney = new BigDecimal(0);
             for (TradeSpuReqVO tradeSpuReqVO : createVO.getSpuList()) {
                 ShipTradeOrderCreateReqVO.OrderDetail orderDetail1 = new ShipTradeOrderCreateReqVO.OrderDetail();
@@ -2694,7 +2682,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                     BigDecimal price = tradeSpuReqVO.getPrice() == null ? BigDecimal.ZERO : tradeSpuReqVO.getPrice();
                     spuMoney = spuMoney.add(price);
                 }
-                orderDetail1.setId(tradeSpuReqVO.getId());
                 orderDetail1.setVisitorList(visitorList1);
                 orderDetail1.setProductId(tradeSpuReqVO.getProductId() + "");
                 orderDetail1.setPrice(tradeSpuReqVO.getPrice());
@@ -2707,7 +2694,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             orderItem.setDetailList(detailList);
             shipTradeOrderCreateReqVO.setItemlList(Collections.singletonList(orderItem));
             shipTradeOrderCreateReqVO.setSpuAmount(spuMoney);
-            // 验证修改时间是否在允许范围内
             Date travelDate = tradeOrderDO.getTravelDate();
             if (loginUser.getDistributorId() != null && DateUtil.compare(DateUtil.beginOfDay(travelDate), DateUtil.offsetDay(new Date(), 3)) < 0) {
                 return CommonResult.error(500, "已过最晚修改时间");
@@ -2718,10 +2704,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             }
             shipTradeOrderCreateReqVO.setUpdateTime(updateTime);
             shipTradeOrderCreateReqVO.setOldtradeOrderDO(tradeOrderDO);
-            // 查询旧的订单汇总信息
             TradeOrderTotalDO oldTradeOrderTotal = tradeOrderTotalMapper.selectOne(new LambdaQueryWrapper<TradeOrderTotalDO>().eq(TradeOrderTotalDO::getOldOrderId, orderId));
             shipTradeOrderCreateReqVO.setOldtradeOrderTotalDO(oldTradeOrderTotal);
-            // 构建新的订单汇总信息
             TradeOrderTotalDO tradeOrderTotalDO = BeanUtils.toBean(summary, TradeOrderTotalDO.class);
             if(tradeOrderTotalDO.getUpFloorTotalMoney()==null){
                 tradeOrderTotalDO.setUpFloorTotalMoney(BigDecimal.ZERO);
@@ -2769,48 +2753,27 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             Long neworderId = result.getCheckedData().getOrderId();
             Integer neworderStatus = result.getCheckedData().getOrderStatus();
             String content  = result.getCheckedData().getContent();
-            HisTradeOrderTotalDO latestHisRecord = hisTradeOrderTotalMapper.selectOne(new LambdaQueryWrapper<HisTradeOrderTotalDO>()
-                    .eq(HisTradeOrderTotalDO::getId, oldTradeOrderTotal.getId())
-                    .orderByDesc(HisTradeOrderTotalDO::getVersion)
-                    .last("limit 1"));
-            HisTradeOrderTotalDO hisTradeOrderTotalDO = new HisTradeOrderTotalDO();
-
-            BeanUtils.copyProperties(oldTradeOrderTotal,hisTradeOrderTotalDO);
-            hisTradeOrderTotalDO.setHisId(IdWorker.getId());
-            hisTradeOrderTotalDO.setCurrentVersion(1);
-            if(latestHisRecord!=null){
-                // 版本号加1
-                hisTradeOrderTotalDO.setVersion(latestHisRecord.getVersion()+1);
-            }
-            // 将历史订单汇总表其他数据的当前版本
-            hisTradeOrderTotalMapper.update(new LambdaUpdateWrapper<HisTradeOrderTotalDO>()
-                    .set(HisTradeOrderTotalDO::getCurrentVersion, 0)
-                    .set(HisTradeOrderTotalDO::getUpdateTime, updateTime)
-                    .eq(HisTradeOrderTotalDO::getId, oldTradeOrderTotal.getId()));
-            hisTradeOrderTotalMapper.insert(hisTradeOrderTotalDO);
-
-            // 20260427 以前删除逻辑
-//            tradeOrderTotalMapper.update(new LambdaUpdateWrapper<TradeOrderTotalDO>()
-//                    .set(TradeOrderTotalDO::getDeleted, 1)
-//                    .set(TradeOrderTotalDO::getUpdateTime, updateTime)
-//                    .eq(TradeOrderTotalDO::getOldOrderId, orderId)
-//            );
-            tradeOrderTotalDO.setId(oldTradeOrderTotal.getId());
-            tradeOrderTotalDO.setOldOrderId(orderId);
-            tradeOrderTotalMapper.updateById(tradeOrderTotalDO);
-            // 处理订单房型数据
-            updateRoomModel(createVO.getRoomModelList(),orderId,orderNo);
-//            //创建订单房型数据
-//            List<TradeOrderRoomModelDO> list = new ArrayList<>();
-//            List<TradeOrderRoomModelVO> roomModelList = createVO.getRoomModelList();
-//            roomModelList.forEach(item -> {
-//                TradeOrderRoomModelDO tradeOrderRoomModelDO = BeanUtils.toBean(item, TradeOrderRoomModelDO.class);
-//                tradeOrderRoomModelDO.setId(IdWorker.getId());
-//                tradeOrderRoomModelDO.setOrderId(orderId);
-//                tradeOrderRoomModelDO.setDiscount(tradeOrderRoomModelDO.getUnitPrice().subtract(tradeOrderRoomModelDO.getRealMoney()));
-//                tradeOrderRoomModelDO.setOrderNo(orderNo);
-//                list.add(tradeOrderRoomModelDO);
-//            });
+
+            tradeOrderTotalMapper.update(new LambdaUpdateWrapper<TradeOrderTotalDO>()
+                    .set(TradeOrderTotalDO::getDeleted, 1)
+                    .set(TradeOrderTotalDO::getUpdateTime, updateTime)
+                    .eq(TradeOrderTotalDO::getOldOrderId, orderId)
+            );
+            tradeOrderTotalDO.setId(IdWorker.getId());
+            tradeOrderTotalDO.setOldOrderId(neworderId);
+            tradeOrderTotalMapper.insert(tradeOrderTotalDO);
+
+            //创建订单房型数据
+            List<TradeOrderRoomModelDO> list = new ArrayList<>();
+            List<TradeOrderRoomModelVO> roomModelList = createVO.getRoomModelList();
+            roomModelList.forEach(item -> {
+                TradeOrderRoomModelDO tradeOrderRoomModelDO = BeanUtils.toBean(item, TradeOrderRoomModelDO.class);
+                tradeOrderRoomModelDO.setId(IdWorker.getId());
+                tradeOrderRoomModelDO.setOrderId(neworderId);
+                tradeOrderRoomModelDO.setDiscount(tradeOrderRoomModelDO.getUnitPrice().subtract(tradeOrderRoomModelDO.getRealMoney()));
+                tradeOrderRoomModelDO.setOrderNo(orderNo);
+                list.add(tradeOrderRoomModelDO);
+            });
             BigDecimal oldleaderAmount = oldTradeOrderTotal.getLeaderAmount();
             BigDecimal oldwithAmount = oldTradeOrderTotal.getWithAmount();
             BigDecimal oldotherMoney = oldTradeOrderTotal.getOtherMoney();
@@ -2823,23 +2786,10 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
             //1.先删除原来的
             List<OrderPolicyDO> orderPolicyList = orderPolicyMapper.selectList(OrderPolicyDO::getOrderId, orderId);
             boolean isAudit = true;
-//            orderPolicyMapper.deleteByOrderId(orderId);
-            insertHisOrderPolicy(orderPolicyList,orderId);
+            orderPolicyMapper.deleteByOrderId(orderId);
             List<OrderPolicyDO> orderPolicyDOList = new ArrayList<>();
             List<TradeOrderPolicyReqVO> policyList = createVO.getPolicyList();
-            List<OrderPolicyDO> insetOrderPolicyDOList = new ArrayList<>();
-            List<OrderPolicyDO> updateOrderPolicyDOList = new ArrayList<>();
             if (policyList != null) {
-                // 传入的优惠政策id
-                List<Long> newIds = CollUtil.emptyIfNull(policyList).stream()
-                        .map(TradeOrderPolicyReqVO::getId)
-                        .filter(Objects::nonNull)
-                        .collect(Collectors.toList());
-                // 找出需要删除的优惠政策(数据库中存在但新数据中不存在的)
-                List<Long> deleteOrderPolicyIds = orderPolicyList.stream()
-                        .map(OrderPolicyDO::getId)
-                        .filter(id -> !newIds.contains(id))
-                        .collect(Collectors.toList());
                 policyList.forEach(policy -> {
                     OrderPolicyDO orderPolicyDO = new OrderPolicyDO();
                     orderPolicyDO.setOrderId(orderId);
@@ -2860,31 +2810,21 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
                     }
                     orderPolicyDO.setAmount(policy.getAmount());
                     orderPolicyDO.setRooms(policy.getRooms());
-                    if(policy.getId()!=null){
-                        orderPolicyDO.setId(policy.getId());
-                        updateOrderPolicyDOList.add(orderPolicyDO);
-                    }else{
-                        insetOrderPolicyDOList.add(orderPolicyDO);
-                    }
-//                    orderPolicyDOList.add(orderPolicyDO);
+                    orderPolicyDOList.add(orderPolicyDO);
                 });
-                if (!updateOrderPolicyDOList.isEmpty()) {
-                    orderPolicyMapper.updateBatch(updateOrderPolicyDOList);
-                    orderPolicyDOList.addAll(updateOrderPolicyDOList);
-                }
-                if(!insetOrderPolicyDOList.isEmpty()){
-                    orderPolicyMapper.insertBatch(insetOrderPolicyDOList);
-                    orderPolicyDOList.addAll(insetOrderPolicyDOList);
-                }
-                if(!orderPolicyDOList.isEmpty()){
+                if (!orderPolicyDOList.isEmpty()) {
                     //TODO: 判断优惠政策是否需要审核
-                    String changedFields11 = com.yc.ship.module.trade.utils.BeanUtils.getChangedFields(orderPolicyList, updateOrderPolicyDOList);
+                    String changedFields11 = com.yc.ship.module.trade.utils.BeanUtils.getChangedFields(orderPolicyList, orderPolicyDOList);
                     if(StringUtils.isEmpty(changedFields11)){
                         isAudit = false;
                     }
+                    orderPolicyMapper.insertBatch(orderPolicyDOList);
                 }
             }
-
+            tradeOrderRoomModelMapper.deleteByOrderId(orderId);
+            if (!list.isEmpty()) {
+                tradeOrderRoomModelMapper.insertBatch(list);
+            }
             String desc = "";
             if (!Objects.equals(shipTradeOrderCreateReqVO.getRemark(), tradeOrderDO.getRemark()) || !Objects.equals(shipTradeOrderCreateReqVO.getLinkMobile(), tradeOrderDO.getLinkMobile()) || !Objects.equals(shipTradeOrderCreateReqVO.getLinkMan(), tradeOrderDO.getLinkMan())) {
                 auditType = 2;
@@ -3000,125 +2940,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
         }
     }
 
-    /**
-     * 保存历史优惠政策
-     * @param policyList
-     * @param orderId
-     */
-    private void insertHisOrderPolicy(List<OrderPolicyDO> policyList,Long orderId){
-        // 历史优惠政策记录
-        List<HisTradeOrderPolicyDO> hisTradeOrderPolicyDOList = new ArrayList<>();
-        // 获取历史优惠政策中最新的记录
-        HisTradeOrderPolicyDO latestHisTradeOrderPolicy = hisTradeOrderPolicyMapper.selectOne(new LambdaQueryWrapper<HisTradeOrderPolicyDO>()
-                .eq(HisTradeOrderPolicyDO::getOrderId, orderId)
-                .orderByDesc(HisTradeOrderPolicyDO::getVersion)
-                .last("limit 1"));
-        Integer version;
-        if(latestHisTradeOrderPolicy!=null){
-            version = latestHisTradeOrderPolicy.getVersion() + 1;
-        } else {
-            version = 0;
-        }
-        if (CollUtil.isNotEmpty(policyList)) {
-            //创建订单优惠政策数据
-            policyList.forEach(item -> {
-                HisTradeOrderPolicyDO hisTradeOrderPolicyDO = new HisTradeOrderPolicyDO();
-                BeanUtils.copyProperties(item,hisTradeOrderPolicyDO);
-                hisTradeOrderPolicyDO.setHisId(IdWorker.getId());
-                hisTradeOrderPolicyDO.setCurrentVersion(1);
-                hisTradeOrderPolicyDO.setVersion(version);
-                hisTradeOrderPolicyDOList.add(hisTradeOrderPolicyDO);
-
-            });
-        }
-        hisTradeOrderPolicyMapper.update(new LambdaUpdateWrapper<HisTradeOrderPolicyDO>()
-                .set(HisTradeOrderPolicyDO::getCurrentVersion, 0)
-                .set(HisTradeOrderPolicyDO::getUpdateTime, new Date())
-                .eq(HisTradeOrderPolicyDO::getOrderId, orderId));
-        if(!hisTradeOrderPolicyDOList.isEmpty()){
-            hisTradeOrderPolicyMapper.insertBatch(hisTradeOrderPolicyDOList);
-        }
-    }
-
-    /**
-     * 修改订单房型,保存历史房型
-     * @param roomModelList
-     * @param orderId
-     * @param orderNo
-     */
-    private void updateRoomModel(List<TradeOrderRoomModelVO> roomModelList,Long orderId,String orderNo){
-        // 查询现在数据库中的房型数据
-        List<TradeOrderRoomModelDO> tradeOrderRoomModelList = tradeOrderRoomModelMapper.selectListByOrderId(orderId);
-        // 历史房型记录
-        List<HisTradeOrderRoomModelDO> hisTradeOrderRoomModelList = new ArrayList<>();
-        // 获取历史房型中最新的记录
-        HisTradeOrderRoomModelDO latestHisOrderRoomModel = hisTradeOrderRoomModelMapper.selectOne(new LambdaQueryWrapper<HisTradeOrderRoomModelDO>()
-                .eq(HisTradeOrderRoomModelDO::getOrderId, orderId)
-                .orderByDesc(HisTradeOrderRoomModelDO::getVersion)
-                .last("limit 1"));
-        Integer version;
-        if(latestHisOrderRoomModel!=null){
-            version = latestHisOrderRoomModel.getVersion() + 1;
-        } else {
-            version = 0;
-        }
-        // 删除的房型数据
-        if (CollUtil.isNotEmpty(tradeOrderRoomModelList)) {
-            // 获取传入的房型ID列表
-            List<Long> newRoomModelIds = CollUtil.emptyIfNull(roomModelList).stream()
-                    .map(TradeOrderRoomModelVO::getId)
-                    .filter(Objects::nonNull)
-                    .collect(Collectors.toList());
-
-            // 找出需要删除的房型(数据库中存在但新数据中不存在的)
-            List<Long> deleteRoomModelIds = tradeOrderRoomModelList.stream()
-                    .map(TradeOrderRoomModelDO::getId)
-                    .filter(id -> !newRoomModelIds.contains(id))
-                    .collect(Collectors.toList());
-            tradeOrderRoomModelList.forEach(item -> {
-                HisTradeOrderRoomModelDO hisTradeOrderRoomModelDO = new HisTradeOrderRoomModelDO();
-                BeanUtils.copyProperties(item,hisTradeOrderRoomModelDO);
-                hisTradeOrderRoomModelDO.setHisId(IdWorker.getId());
-                hisTradeOrderRoomModelDO.setCurrentVersion(1);
-                hisTradeOrderRoomModelDO.setVersion(version);
-                hisTradeOrderRoomModelList.add(hisTradeOrderRoomModelDO);
-            });
-            // 执行删除操作
-            if (CollUtil.isNotEmpty(deleteRoomModelIds)) {
-                tradeOrderRoomModelMapper.deleteByIds(deleteRoomModelIds);
-            }
-        }
-        //创建订单房型数据
-        List<TradeOrderRoomModelDO> insetList = new ArrayList<>();
-        List<TradeOrderRoomModelDO> updateList = new ArrayList<>();
-        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);
-            if(tradeOrderRoomModelDO.getId() == null){
-                tradeOrderRoomModelDO.setId(IdWorker.getId());
-                insetList.add(tradeOrderRoomModelDO);
-            }else{
-                updateList.add(tradeOrderRoomModelDO);
-            }
-        });
-        hisTradeOrderRoomModelMapper.update(new LambdaUpdateWrapper<HisTradeOrderRoomModelDO>()
-                .set(HisTradeOrderRoomModelDO::getCurrentVersion, 0)
-                .set(HisTradeOrderRoomModelDO::getUpdateTime, new Date())
-                .eq(HisTradeOrderRoomModelDO::getOrderId, orderId));
-        if(!hisTradeOrderRoomModelList.isEmpty()){
-            hisTradeOrderRoomModelMapper.insertBatch(hisTradeOrderRoomModelList);
-        }
-        if (!insetList.isEmpty()) {
-            tradeOrderRoomModelMapper.insertBatch(insetList);
-        }
-        if (!updateList.isEmpty()) {
-            tradeOrderRoomModelMapper.updateBatch(updateList);
-        }
-    }
-
 
     @Override
     public TradeOrderRespNewVO getOrderInfoNew(Long id) {