Browse Source

fix 进行中加学生bug

周箭河 5 years ago
parent
commit
0396174f2d

+ 27 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/FeeTypeEnum.java

@@ -0,0 +1,27 @@
+package com.ym.mec.biz.dal.enums;
+
+import com.ym.mec.common.enums.BaseEnum;
+
+public enum FeeTypeEnum implements BaseEnum<String, FeeTypeEnum> {
+	SERVICE("SERVICE", "服务"),
+	SELL("SELL", "销售");
+
+	private String code;
+
+	private String desc;
+
+	private FeeTypeEnum(String code, String desc) {
+		this.code = code;
+		this.desc = desc;
+	}
+
+	@Override
+	public String getCode() {
+		return code;
+	}
+
+	public String getDesc() {
+		return desc;
+	}
+
+}

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/SellOrderService.java

@@ -72,9 +72,9 @@ public interface SellOrderService extends BaseService<Integer, SellOrder> {
 
 
     /**
     /**
      * 获取订单的实际销售金额(除去余额部分)
      * 获取订单的实际销售金额(除去余额部分)
-     * @param orderId
+     * @param orderNo
      * @return
      * @return
      */
      */
-    BigDecimal getSellActualAmount(Long orderId);
+    BigDecimal getSellActualAmount(String orderNo);
 
 
 }
 }

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

@@ -51,6 +51,8 @@ public class PayServiceImpl implements PayService {
             routeScaleDtos = noUsePaymentConfig(amount);
             routeScaleDtos = noUsePaymentConfig(amount);
         }
         }
 
 
+        //根据费用类型
+
         //根据金额获取分润
         //根据金额获取分润
         if (routeScaleDtos == null) {
         if (routeScaleDtos == null) {
             routeScaleDtos = getAmountChannel(organId, amount, receiver);
             routeScaleDtos = getAmountChannel(organId, amount, receiver);
@@ -364,4 +366,38 @@ public class PayServiceImpl implements PayService {
         return unionPay;
         return unionPay;
     }
     }
 
 
+    /**
+     *
+     * @param organId
+     * @param orderNo
+     * @param amount
+     * @return
+     */
+    private List<RouteScaleDto> getTypeRouteChannel(Integer organId, String orderNo, BigDecimal amount) {
+        SysPaymentConfig paymentConfig = sysPaymentConfigService.findPaymentConfigByOrganId(organId);
+        if (paymentConfig == null || StringUtils.isBlank(paymentConfig.getTypeRouteScale())) {
+            return null;
+        }
+
+        String typeRouteScale = paymentConfig.getTypeRouteScale();
+        List<RouteScaleDto> routeScaleDtos = JSON.parseArray(typeRouteScale, RouteScaleDto.class);
+        List<Integer> organIds = routeScaleDtos.stream().map(RouteScaleDto::getOrganId).collect(Collectors.toList());
+        List<SysPaymentConfig> paymentConfigByOrganIds = sysPaymentConfigService.findPaymentConfigByOrganIds(organIds);
+
+        for (RouteScaleDto routeScaleDto : routeScaleDtos) {
+            routeScaleDto.setPayType(paymentConfig.getPayType());
+            routeScaleDto.setAmount(amount);
+            for (SysPaymentConfig paymentConfigByOrganId : paymentConfigByOrganIds) {
+                if (!paymentConfigByOrganId.getOrganId().equals(routeScaleDto.getOrganId())) continue;
+                if (paymentConfig.getPayType().equals(PaymentChannelEnum.YQPAY)) {
+                    routeScaleDto.setMerNo(paymentConfigByOrganId.getYqMerNo());
+                } else {
+                    routeScaleDto.setMerNo(paymentConfigByOrganId.getHfMerNo());
+                }
+            }
+        }
+
+        return routeScaleDtos;
+    }
+
 }
 }

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

@@ -335,9 +335,9 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
     }
     }
 
 
     @Override
     @Override
-    public BigDecimal getSellActualAmount(Long orderId) {
-        StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.get(orderId);
-        List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailDao.getOrderDetail(orderId);
+    public BigDecimal getSellActualAmount(String orderNo) {
+        StudentPaymentOrder studentPaymentOrder = studentPaymentOrderDao.findOrderByOrderNo(orderNo);
+        List<StudentPaymentOrderDetail> orderDetails = studentPaymentOrderDetailDao.getOrderDetail(studentPaymentOrder.getId());
         //总余额支付
         //总余额支付
         BigDecimal totalBalance = studentPaymentOrder.getBalancePaymentAmount() != null ? studentPaymentOrder.getBalancePaymentAmount() : BigDecimal.ZERO;
         BigDecimal totalBalance = studentPaymentOrder.getBalancePaymentAmount() != null ? studentPaymentOrder.getBalancePaymentAmount() : BigDecimal.ZERO;
         //总价格
         //总价格