lhm 3 年之前
父节点
当前提交
229cb7b836

+ 32 - 0
kmall-admin/src/main/java/com/kmall/admin/haikong/utils/DeepCopyUtils.java

@@ -0,0 +1,32 @@
+package com.kmall.admin.haikong.utils;
+
+import java.io.*;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 深拷贝工具类
+ * @author lhm
+ * @createDate 2021-12-21
+ */
+public class DeepCopyUtils {
+
+    public static <T> Collection<T> depCopy(Collection<T> srcList) {
+        ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
+        try {
+            ObjectOutputStream out = new ObjectOutputStream(byteOut);
+            out.writeObject(srcList);
+
+            ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
+            ObjectInputStream inStream = new ObjectInputStream(byteIn);
+            List<T> destList = (List<T>) inStream.readObject();
+            return destList;
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (ClassNotFoundException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+}

+ 3 - 2
kmall-admin/src/main/java/com/kmall/admin/service/impl/OrderServiceImpl.java

@@ -36,6 +36,7 @@ import com.kmall.admin.fromcomm.dao.SysConfigDao;
 import com.kmall.admin.fromcomm.entity.SysUserEntity;
 import com.kmall.admin.haikong.constant.*;
 import com.kmall.admin.haikong.dto.*;
+import com.kmall.admin.haikong.utils.DeepCopyUtils;
 import com.kmall.admin.haikong.utils.ListUtils;
 import com.kmall.admin.haikong.utils.XmlUtils;
 import com.kmall.admin.haikong.vo.*;
@@ -2627,8 +2628,8 @@ public class OrderServiceImpl implements OrderService {
 
                     }
                     if (pointsType.equals(Constants.MemberScoreRulesEnum.ONE.getCode())) {
-                        Collection<GoodsEntity> goodsEntityCollection = goodsDataMap.values();
-                        goodsEntityCollection.forEach(goodsEntity -> {
+                        Collection<GoodsEntity> entityCollection = DeepCopyUtils.depCopy(goodsDataMap.values());
+                        entityCollection.forEach(goodsEntity -> {
                             // 商品类别
                             Integer categoryId = goodsEntity.getCategoryId();
                             String sku = goodsEntity.getSku();