Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/saas' into saas

zouxuan 3 gadi atpakaļ
vecāks
revīzija
be15324309

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

@@ -412,9 +412,9 @@ public class PayServiceImpl implements PayService {
             checkMaxReceipt(routeScaleDto, routeScaleDto.getMerNo());
         }
         
-        if(routeScaleDtoForGoodsSell != null){
+        /*if(routeScaleDtoForGoodsSell != null){
         	routeScaleDtos.add(routeScaleDtoForGoodsSell);
-        }
+        }*/
         
         Map<String, Object> map = getPayRoute(amount, balanceAmount, orderNo, notifyUrl, returnUrl, orderSubject, orderBody, routeScaleDtos, subCashAmount);
         
@@ -752,7 +752,7 @@ public class PayServiceImpl implements PayService {
                 routingMoney = amount.subtract(hasRouteMoney).setScale(2, BigDecimal.ROUND_HALF_UP);
             }
 
-            if (routingFee.compareTo(BigDecimal.ZERO) <= 0) {
+            if (routingMoney.compareTo(BigDecimal.ZERO) <= 0 && routeBalanceAmount.compareTo(BigDecimal.ZERO) <= 0) {
                 continue;
             }
 
@@ -875,10 +875,10 @@ public class PayServiceImpl implements PayService {
                 routeScaleDto.setSaleAmount(routingMoney);
             }
 
-            if (routeScaleDto.getAmount().compareTo(BigDecimal.ZERO) <= 0) {
+            /*if (routeScaleDto.getAmount().compareTo(BigDecimal.ZERO) <= 0) {
                 iterator.remove();
                 continue;
-            }
+            }*/
 
             for (SysPaymentConfig paymentConfigByOrganId : paymentConfigByOrganIds) {
                 if (!paymentConfigByOrganId.getOrganId().equals(routeScaleDto.getOrganId())) continue;

+ 7 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SellOrderServiceImpl.java

@@ -17,7 +17,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.GoodsDao;
 import com.ym.mec.biz.dal.dao.MusicGroupDao;
 import com.ym.mec.biz.dal.dao.SellOrderDao;
@@ -31,7 +30,6 @@ import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.entity.SporadicChargeInfo;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrderDetail;
-import com.ym.mec.biz.dal.entity.StudentRepair;
 import com.ym.mec.biz.dal.entity.SysUserCashAccountLog;
 import com.ym.mec.biz.dal.enums.AccountType;
 import com.ym.mec.biz.dal.enums.GoodsType;
@@ -575,11 +573,14 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
             	detailTotalBalance = cloudBalanceIncome;
             }
             
-            if(detailTotalPrice.subtract(detailTotalBalance).subtract(cloudIncome).compareTo(BigDecimal.ZERO) < 0){
-            	sellAmount.put("actualAmount", BigDecimal.ZERO);
-            }else{
-            	sellAmount.put("actualAmount", detailTotalPrice.subtract(detailTotalBalance).subtract(cloudIncome));
+            BigDecimal actualAmount = detailTotalPrice.multiply(order.getActualAmount()).divide(totalPrice, 2, BigDecimal.ROUND_DOWN);
+            
+            if(actualAmount.subtract(cloudIncome).compareTo(BigDecimal.ZERO) < 0){
+            	actualAmount = cloudIncome;
             }
+            
+            //返回销售收入
+        	sellAmount.put("actualAmount", actualAmount.subtract(cloudIncome));
             sellAmount.put("balance", detailTotalBalance.subtract(cloudBalanceIncome));
             return sellAmount;
         }