Quellcode durchsuchen

快捷支付分账

zhijiezhao vor 2 Jahren
Ursprung
Commit
7f660dd472

+ 20 - 3
src/main/java/com/caimei/modules/order/service/SplitAccountService.java

@@ -39,7 +39,7 @@ public class SplitAccountService extends BaseService {
     @Resource
     private NewShopOrderDao newShopOrderDao;
 
-    @Transactional(readOnly = false,rollbackFor = Exception.class)
+    @Transactional(readOnly = false, rollbackFor = Exception.class)
     public void SplitAccount(String shopOrderIds) {
         logger.info("【手动分账开始】>>>>>>>>>>手动分账");
         Calendar calendar = Calendar.getInstance();
@@ -47,7 +47,7 @@ public class SplitAccountService extends BaseService {
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String currentTime = format.format(calendar.getTime());
         // 查询未分账已支付收款
-        List<OrderReceiptRelationPo> orderRelations = newOrderDao.getUndividedPaidReceipt(currentTime,shopOrderIds);
+        List<OrderReceiptRelationPo> orderRelations = newOrderDao.getUndividedPaidReceipt(currentTime, shopOrderIds);
         if (null != orderRelations && orderRelations.size() > 0) {
             for (OrderReceiptRelationPo orderRelation : orderRelations) {
                 logger.info("【分账】>>>>>>>>>>子订单id:" + orderRelation.getShopOrderId() + "进入分账");
@@ -68,6 +68,13 @@ public class SplitAccountService extends BaseService {
                 if (8 == orderRelation.getPayType() || 13 == orderRelation.getPayType() || 15 == orderRelation.getPayType()) {
                     payParam.setPayWay("WX");
                 }
+                //快捷支付 借记卡支付28,贷记卡支付29
+                if (28 == orderRelation.getPayType()) {
+                    payParam.setPayWay("DEBIT");
+                }
+                if (29 == orderRelation.getPayType()) {
+                    payParam.setPayWay("CREDIT");
+                }
                 List<SplitAccountPo> splitBillDetail = setSplitAccountDetail(shopOrder, payParam);
                 HashMap<String, BigDecimal> sbm = new HashMap<>();
                 for (SplitAccountPo splitAccountPo : splitBillDetail) {
@@ -96,7 +103,7 @@ public class SplitAccountService extends BaseService {
                         splitBillRule.setSplitBillAmount(value);
                         splitBillRule.setSplitBillMerchantNo(key);
                         splitBillRules.add(splitBillRule);
-                    }else{
+                    } else {
                         // 成本分账处理
                         // 子订单的splitcode和分账对象的splitcode一样的是留在账户里的钱,实际在付款完成后,付款状态就为已付款,分账状态就为已分账
                         // 为维持业务完整性,保持原来的分账流程不变
@@ -268,6 +275,16 @@ public class SplitAccountService extends BaseService {
         } else if ("WX".equals(payParam.getPayWay())) {
             //微信0.65%
             procedureFee = MathUtil.mul(payAmount, 0.0065, 2).doubleValue();
+        } else if ("DEBIT".equals(payParam.getPayWay())) {
+            procedureFee = MathUtil.mul(payAmount, 0.003, 2).doubleValue();
+            if (procedureFee < 0.1) {
+                procedureFee = 0.1;
+            }
+        } else if ("CREDIT".equals(payParam.getPayWay())) {
+            procedureFee = MathUtil.mul(payAmount, 0.006, 2).doubleValue();
+            if (procedureFee < 0.1) {
+                procedureFee = 0.1;
+            }
         } else {
             //手续费 其他0.25%
             procedureFee = MathUtil.mul(payAmount, 0.0025, 2).doubleValue();