|
@@ -1166,11 +1166,27 @@ public class SubmitServiceImpl implements SubmitService {
|
|
|
}
|
|
|
//有优惠金额,最高手续费=支付金额*0.65%>10取0.65,不大于取10(合利宝最高0.65%)
|
|
|
double realPay = shopOrderList.get(i).getRealPay();
|
|
|
- double charge = MathUtil.mul(realPay, 0.0065, 2).doubleValue() > 10 ? MathUtil.mul(realPay, 0.0065, 2).doubleValue() : 10;
|
|
|
- //佣金>最高手续费可以线上,否则线下
|
|
|
+ //佣金
|
|
|
double bro = MathUtil.sub(realPay, shopOrderList.get(i).getShouldPayShopAmount()).doubleValue();
|
|
|
- if (bro < charge) {
|
|
|
+ //成本>实付不能线上
|
|
|
+ if (bro < 0) {
|
|
|
onlinePay.set(false);
|
|
|
+ } else {
|
|
|
+ double WXCharge = MathUtil.mul(realPay, 0.0065, 2).doubleValue();
|
|
|
+ double AliCharge = MathUtil.mul(realPay, 0.0025, 2).doubleValue();
|
|
|
+ double B2CCharge = MathUtil.mul(realPay, 0.002, 2).doubleValue();
|
|
|
+ //佣金和手续费比较,佣金>手续费则可以走当前支付渠道
|
|
|
+ //支持子订单佣金小于最小手续费时,也能进行线上支付,此时不限制支付方式(佣金大于最大手续费或小于最小手续费支持全渠道付款)
|
|
|
+ String payWays = "";
|
|
|
+ payWays += bro > WXCharge ? "1" : "";
|
|
|
+ payWays += bro > AliCharge ? ",2" : "";
|
|
|
+ payWays += bro > B2CCharge ? ",3" : "";
|
|
|
+ payWays += bro > 10 ? ",4" : "";
|
|
|
+ //小于所有的情况下线下补手续费,开放所有渠道
|
|
|
+ if ("".equals(payWays)) {
|
|
|
+ payWays = "1,2,3,4";
|
|
|
+ }
|
|
|
+ shopOrderList.get(i).setOnlinePayWays(payWays);
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
@@ -1180,12 +1196,28 @@ public class SubmitServiceImpl implements SubmitService {
|
|
|
double realPay = so.getNeedPayAmount();
|
|
|
so.setRealPay(realPay);
|
|
|
so.setEachDiscount(0d);
|
|
|
- double charge = MathUtil.mul(realPay, 0.0065, 2).doubleValue() > 10 ? MathUtil.mul(realPay, 0.0065, 2).doubleValue() : 10;
|
|
|
double bro = so.getBrokerage();
|
|
|
so.setRealPay(realPay);
|
|
|
so.setEachDiscount(0d);
|
|
|
- if (bro < charge) {
|
|
|
+ //成本>实付不能线上
|
|
|
+ if (bro < 0) {
|
|
|
onlinePay.set(false);
|
|
|
+ } else {
|
|
|
+ double WXCharge = MathUtil.mul(realPay, 0.0065, 2).doubleValue();
|
|
|
+ double AliCharge = MathUtil.mul(realPay, 0.0025, 2).doubleValue();
|
|
|
+ double B2CCharge = MathUtil.mul(realPay, 0.002, 2).doubleValue();
|
|
|
+ //佣金和手续费比较,佣金>手续费则可以走当前支付渠道
|
|
|
+ //支持子订单佣金小于最小手续费时,也能进行线上支付,此时不限制支付方式(佣金大于最大手续费或小于最小手续费支持全渠道付款)
|
|
|
+ String payWays = "";
|
|
|
+ payWays += bro > WXCharge ? "1" : "";
|
|
|
+ payWays += bro > AliCharge ? ",2" : "";
|
|
|
+ payWays += bro > B2CCharge ? ",3" : "";
|
|
|
+ payWays += bro > 10 ? ",4" : "";
|
|
|
+ //小于所有的情况下线下补手续费,开放所有渠道
|
|
|
+ if ("".equals(payWays)) {
|
|
|
+ payWays = "1,2,3,4";
|
|
|
+ }
|
|
|
+ so.setOnlinePayWays(payWays);
|
|
|
}
|
|
|
});
|
|
|
}
|