Quellcode durchsuchen

大件删除车辆

wangzhuo vor 2 Jahren
Ursprung
Commit
9ad506d511

+ 30 - 0
blade-service/blade-land/src/main/java/org/springblade/land/service/impl/OrderServiceImpl.java

@@ -17,6 +17,7 @@
 package org.springblade.land.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -62,6 +63,7 @@ import java.math.RoundingMode;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
+import java.util.stream.Stream;
 
 /**
  * 陆运订单表 服务实现类
@@ -1252,6 +1254,34 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, LandOrder> implem
 			}
 		}
 
+		// ======== 删除运输信息 ========
+		List<OrderItem> orderItemList = order.getOrderItemList();
+		LambdaQueryWrapper<OrderItem> qw = new LambdaQueryWrapper<>();
+		qw.eq(OrderItem::getOrderId, order.getId())
+			.isNotNull(OrderItem::getParentId)
+			.eq(OrderItem::getIsDeleted, 0);
+		List<OrderItem> orderItems = orderItemMapper.selectList(qw);
+		Map<Long, OrderItem> longOrderItemMap = new HashMap<>();
+
+		for (OrderItem orderItem : orderItemList) {
+			longOrderItemMap.put(orderItem.getId(), orderItem);
+		}
+
+		ArrayList<Long> orderItemsIdDelete = new ArrayList<>();
+		for (OrderItem orderItem : orderItems) {
+			OrderItem orderItem1 = longOrderItemMap.get(orderItem.getId());
+			if (orderItem1 == null) {
+				orderItemsIdDelete.add(orderItem.getId());
+			}
+		}
+
+		for (Long l : orderItemsIdDelete) {
+			OrderItem orderItem = orderItemMapper.selectById(l);
+			orderItem.setIsDeleted(1);
+			orderItemMapper.updateById(orderItem);
+		}
+		// =============================
+
 		order.getOrderItemList().forEach(item -> {
 			item.setBillNo(order.getBillNo());
 			item.setShippingMode(order.getShippingMode());