yonge 3 năm trước cách đây
mục cha
commit
ae22a36ad1

+ 11 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PayServiceImpl.java

@@ -200,7 +200,7 @@ public class PayServiceImpl implements PayService {
         		List<StudentPaymentOrderDetail> studentPaymentOrderDetailList = studentPaymentOrderDetailService.queryOrderDetail(studentPaymentOrder.getId());
         		if (studentPaymentOrderDetailList != null && studentPaymentOrderDetailList.size() > 0) {
         			
-        			List<GoodsProcurement> goodsProcurementList = new ArrayList<GoodsProcurement>();
+        			Map<Long, GoodsProcurement> goodsProcurementMap = new HashMap<Long, GoodsProcurement>();
         			
         			String goodIds = studentPaymentOrderDetailList.stream().filter(t -> StringUtils.isNotBlank(t.getGoodsIdList())).map(StudentPaymentOrderDetail :: getGoodsIdList).collect(Collectors.joining(","));
         			if(StringUtils.isNotBlank(goodIds)){
@@ -258,9 +258,12 @@ public class PayServiceImpl implements PayService {
         										
         										goodsProcurement = goodsProcurementDao.getWithStockSurplusProcurement(goods.getId());
         										if(goodsProcurement != null){
+        											if(goodsProcurementMap.get(goodsProcurement.getId()) != null){
+        												goodsProcurement = goodsProcurementMap.get(goodsProcurement.getId());
+        											}
         											goodsProcurement.setStockSoldNum(new AtomicInteger(goodsProcurement.getStockSoldNum()).incrementAndGet());
         											goodsProcurement.setUpdateTime(date);
-            										goodsProcurementList.add(goodsProcurement);
+        											goodsProcurementMap.put(goodsProcurement.getId(), goodsProcurement);
         										}
         									}
         								}
@@ -283,9 +286,12 @@ public class PayServiceImpl implements PayService {
     										
     										goodsProcurement = goodsProcurementDao.getWithStockSurplusProcurement(goods.getId());
     										if(goodsProcurement != null){
+    											if(goodsProcurementMap.get(goodsProcurement.getId()) != null){
+    												goodsProcurement = goodsProcurementMap.get(goodsProcurement.getId());
+    											}
     											goodsProcurement.setStockSoldNum(new AtomicInteger(goodsProcurement.getStockSoldNum()).incrementAndGet());
     											goodsProcurement.setUpdateTime(date);
-        										goodsProcurementList.add(goodsProcurement);
+    											goodsProcurementMap.put(goodsProcurement.getId(), goodsProcurement);
     										}
         								}
         							}
@@ -313,8 +319,8 @@ public class PayServiceImpl implements PayService {
         				}
         			}
         			
-        			if(goodsProcurementList.size() > 0){
-        				goodsProcurementDao.batchUpdate(goodsProcurementList);
+        			if(goodsProcurementMap.size() > 0){
+        				goodsProcurementDao.batchUpdate(new ArrayList<GoodsProcurement>(goodsProcurementMap.values()));
         			}
         		}