Bläddra i källkod

feature: 房态-换房

xiari 1 år sedan
förälder
incheckning
10b3d7251a

+ 1 - 1
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/domain/bo/ChangeRoomBo.java

@@ -80,7 +80,7 @@ public class ChangeRoomBo implements Serializable {
     /**
      * 原始订单信息
      */
-    @Valid
+//    @Valid
     @NotNull(message = "原始订单信息不能为空", groups = {AddGroup.class, EditGroup.class})
     private List<KfOrderBo> oldOrderList;
 

+ 18 - 13
ruoyi-modules/ruoyi-hotel/src/main/java/org/dromara/hotel/service/impl/KfOrderServiceImpl.java

@@ -473,22 +473,27 @@ public class KfOrderServiceImpl implements IKfOrderService {
 
         //新增新订单
         //1.根据原始订单进行新增订单
-        List<KfOrder> newOrders = MapstructUtils.convert(oldOrderList, KfOrder.class);
-        if (newOrders != null) {
-            newOrders.forEach(item -> {
-                item.setId(null);
-                item.setOrderStatus(HotelBusinessConstants.ORDER_STATUS_RZ);
-                item.setStartTime(bo.getStartTime());
-                item.setEndTime(bo.getEndTime());
+        List<KfOrder> newOrders = new ArrayList<>();
+        oldOrderList.forEach(item -> {
+            KfOrder kfOrder = baseMapper.selectById(item.getId());
+            if(kfOrder != null){
+                KfOrder convert = MapstructUtils.convert(kfOrder, KfOrder.class);
+                assert convert != null;
+                convert.setId(null);
+                convert.setOrderStatus(HotelBusinessConstants.ORDER_STATUS_RZ);
+                convert.setStartTime(bo.getStartTime());
+                convert.setEndTime(bo.getEndTime());
+                convert.setRoomCode(bo.getNewRoomCode());
                 String defaultRemark = "由"+oldRoomCode+"换到"+bo.getNewRoomCode();
                 String remark = StringUtils.isNotBlank(item.getRemark()) ? item.getRemark() + ";" + defaultRemark : defaultRemark;
-                item.setRemark(remark);
-            });
+                convert.setRemark(remark);
+                newOrders.add(convert);
+            }
+        });
 
-            baseMapper.insertBatch(newOrders);
-            //2.修改房间状态为入住
-            baseMapper.updateRoomStatus(bo.getNewRoomCode(), HotelRoomStatusEnum.YZ.code());
-        }
+        baseMapper.insertBatch(newOrders);
+        //2.修改房间状态为入住
+        baseMapper.updateRoomStatus(bo.getNewRoomCode(), HotelRoomStatusEnum.YZ.code());
 
 
         return true;