|
|
@@ -9,6 +9,7 @@ import com.ym.mec.biz.dal.dto.RouteScaleDto;
|
|
|
import com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder;
|
|
|
import com.ym.mec.biz.dal.entity.SysAccount;
|
|
|
import com.ym.mec.biz.dal.entity.SysPaymentConfig;
|
|
|
+import com.ym.mec.biz.dal.enums.FeeTypeEnum;
|
|
|
import com.ym.mec.biz.dal.enums.PaymentChannelEnum;
|
|
|
import com.ym.mec.biz.dal.enums.PaymentChannelTypeEnum;
|
|
|
import com.ym.mec.biz.service.*;
|
|
|
@@ -41,6 +42,8 @@ public class PayServiceImpl implements PayService {
|
|
|
private SysPaymentConfigService sysPaymentConfigService;
|
|
|
@Autowired
|
|
|
private StudentPaymentRouteOrderDao studentPaymentRouteOrderDao;
|
|
|
+ @Autowired
|
|
|
+ private SellOrderService sellOrderService;
|
|
|
|
|
|
@Override
|
|
|
public Map<String, Object> getPayMap(BigDecimal amount, BigDecimal balanceAmount, String orderNo, String notifyUrl, String returnUrl, String orderSubject, String orderBody, Integer organId, String receiver) throws Exception {
|
|
|
@@ -384,9 +387,15 @@ public class PayServiceImpl implements PayService {
|
|
|
List<Integer> organIds = routeScaleDtos.stream().map(RouteScaleDto::getOrganId).collect(Collectors.toList());
|
|
|
List<SysPaymentConfig> paymentConfigByOrganIds = sysPaymentConfigService.findPaymentConfigByOrganIds(organIds);
|
|
|
|
|
|
+ BigDecimal sellActualAmount = sellOrderService.getSellActualAmount(orderNo);
|
|
|
+
|
|
|
for (RouteScaleDto routeScaleDto : routeScaleDtos) {
|
|
|
routeScaleDto.setPayType(paymentConfig.getPayType());
|
|
|
- routeScaleDto.setAmount(amount);
|
|
|
+ if(routeScaleDto.getFeeType().equals(FeeTypeEnum.SELL)){
|
|
|
+ routeScaleDto.setAmount(sellActualAmount);
|
|
|
+ }else {
|
|
|
+ routeScaleDto.setAmount(amount.subtract(sellActualAmount));
|
|
|
+ }
|
|
|
for (SysPaymentConfig paymentConfigByOrganId : paymentConfigByOrganIds) {
|
|
|
if (!paymentConfigByOrganId.getOrganId().equals(routeScaleDto.getOrganId())) continue;
|
|
|
if (paymentConfig.getPayType().equals(PaymentChannelEnum.YQPAY)) {
|