소스 검색

Merge branch 'saas' into master_saas

yonge 3 년 전
부모
커밋
3799430426

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

@@ -338,7 +338,7 @@ public class PayServiceImpl implements PayService {
             checkMaxReceipt(routeScaleDto, routeScaleDto.getMerNo());
         }
 
-        return getPayRoute(amount, balanceAmount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody, routeScaleDtos);
+        return getPayRoute(amount, balanceAmount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody, routeScaleDtos, subCashAmount);
     }
 
     @Override
@@ -594,7 +594,7 @@ public class PayServiceImpl implements PayService {
         return amount.add(totalHasReceipt).compareTo(totalMaxReceipt) >= 0;
     }
 
-    private Map<String, Object> getPayRoute(BigDecimal amount, BigDecimal balanceAmount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, List<RouteScaleDto> routeScaleDtos) throws Exception {
+    private Map<String, Object> getPayRoute(BigDecimal amount, BigDecimal balanceAmount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, List<RouteScaleDto> routeScaleDtos, BigDecimal shareAmount) throws Exception {
         Map<String, List<RouteScaleDto>> routeScaleDtosMap = routeScaleDtos.stream().collect(Collectors.groupingBy(RouteScaleDto::getMerNo));
 
         //合并同账号的数据
@@ -696,9 +696,9 @@ public class PayServiceImpl implements PayService {
             if (tempRoutingList.size() == 1 && YqPayUtil.merNo.equals(tempRoutingList.get(0).get("routingMerNo").toString())) {
                 tempRoutingList = null;
             }
-            payMap = YqPayUtil.getPayMap(amount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody, YqPayUtil.merNo, tempRoutingList);
+            payMap = YqPayUtil.getPayMap(amount.add(shareAmount), orderNo, notifyUrl, returnUrl, orderSubject, orderBody, YqPayUtil.merNo, tempRoutingList);
         } else {
-            payMap = Payment.getPayMap(amount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody);
+            payMap = Payment.getPayMap(amount.add(shareAmount), orderNo, notifyUrl, returnUrl, orderSubject, orderBody);
         }
         String routingMerNos = String.join(",", routingMerNoSet);
 

+ 11 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -767,11 +767,11 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 			List<Goods> batchUpdateGoodsList = new ArrayList<Goods>();
 			
 			List<String> changeAccessoriesList = null;
+			List<String> originalAccessories = new ArrayList<String>();
 	        
 	        if(StringUtils.isNotBlank(subjectChange.getOriginalAccessories())){
 	        	changeAccessoriesList = Arrays.asList(subjectChange.getOriginalAccessories().split(","));
 	        	
-	        	List<String> originalAccessories = new ArrayList<String>();
 	        	if(StringUtils.isNotBlank(subjectChange.getChangeAccessories())){
 	        		originalAccessories = Arrays.asList(subjectChange.getChangeAccessories().split(","));
 	        	}
@@ -781,7 +781,12 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 	        		changeAccessoriesList.add(subjectChange.getOriginalMusical()+"");
 	        	}
 	        }
-	        String goodsIdsStr = changeAccessoriesList.stream().map(t -> t.toString()).collect(Collectors.joining(","));
+	        List<StudentPaymentOrderDetail> studentPaymentOrderDetailList = studentPaymentOrderDetailService.queryOrderDetail(subjectChange.getOriginalOrderId().longValue());
+	        String goodsIdsStr = studentPaymentOrderDetailList.stream().filter(t -> StringUtils.isNotBlank(t.getMinuendStockGoodsIdList())).map(t -> t.getMinuendStockGoodsIdList()).collect(Collectors.joining(","));
+	        originalAccessories = Arrays.asList(goodsIdsStr.split(","));
+	        originalAccessories.removeAll(changeAccessoriesList);
+	        
+	        goodsIdsStr = originalAccessories.stream().map(t -> t.toString()).collect(Collectors.joining(","));
             //增加商品库存
             if(StringUtils.isNotBlank(goodsIdsStr)){
             	List<Goods> goodsList = goodsService.getGoodsWithLocked(goodsIdsStr);
@@ -791,6 +796,10 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
 					batchUpdateGoodsList.add(subGoods);
             	}
             }
+            
+            if(batchUpdateGoodsList.size() > 0){
+            	goodsService.batchUpdate(batchUpdateGoodsList);
+            }
         }
 
         if (studentPaymentOrder.getStatus() == DealStatusEnum.CLOSE || studentPaymentOrder.getStatus() == DealStatusEnum.FAILED) {