zhijiezhao vor 1 Jahr
Ursprung
Commit
a3d565ae7a

+ 1 - 1
src/main/java/com/caimei365/order/mapper/PayOrderMapper.java

@@ -281,7 +281,7 @@ public interface PayOrderMapper {
 
     String getSplitCodeByShopOrderId(Integer shopOrderId);
 
-    void updateBySplitStatusByNo(String orderRequestNo);
+    void updateBySplitStatusByNo(String shopOrderId);
 
     QuickInfoVo findInfoByBankNumber(String quickPayBankCode);
 

+ 3 - 79
src/main/java/com/caimei365/order/service/impl/HeliPayServiceImpl.java

@@ -799,91 +799,15 @@ public class HeliPayServiceImpl implements HeliPayService {
                 log.info("延时分账异步回调验签失败------------------");
                 return "验签失败";
             }
-            //分账的时候防止相同订单号,前面加了FZ,切割掉2位还原
-            String orderRequestNo = data.getRt7_orderId().substring(5);
-            //切2位是splict account表orderRequestNo
-            String substring = data.getRt7_orderId().substring(2);
+            // 子订单id
+            String shopOrderId = data.getRt7_orderId().substring(5);
             String status = data.getRt10_orderStatus();
             log.info("【延时分账回调】>>>>>>>>>>分账状态:" + status);
             if (!"SUCCESS".equals(status)) {
                 return "分账失败";
             }
             // 修改收款分账状态为1
-            payOrderMapper.updateBySplitStatusByNo(orderRequestNo);
-
-            List<SplitAccountPo> splitAccountList = payOrderMapper.getSplitAccountList(substring);
-            if (splitAccountList != null && splitAccountList.size() > 0) {
-                Integer orderId = splitAccountList.get(0).getOrderId();
-                List<ShopOrderVo> shopOrderList = orderCommonMapper.getShopOrderListByOrderId(orderId);
-                Integer shopOrderId = null;
-                String shopOrderNo = "";
-                for (SplitAccountPo account : splitAccountList) {
-                    log.info("【延时分账回调】>>>>>>>>>>保存应付付供应商:" + account.getShopId());
-                    // 本次付供应商金额(分账金额)
-                    Double splitAmount = account.getSplitAccount();
-                    orderId = account.getOrderId();
-                    Integer shopId = account.getShopId();
-                    for (ShopOrderVo shopOrder : shopOrderList) {
-                        if (shopId.equals(shopOrder.getShopId())) {
-                            shopOrderId = shopOrder.getShopOrderId();
-                            shopOrderNo = shopOrder.getShopOrderNo();
-                            // 已付供应商金额
-                            Double paidAmount = payOrderMapper.getPaidShopAmount(shopOrderId);
-                            Double paidShop = MathUtil.add(paidAmount, splitAmount).doubleValue();
-                            shopOrder.setPayedShopAmount(paidShop);
-//                            if (MathUtil.compare(shopOrder.getShouldPayShopAmount(), paidShop) == 0) {
-                                shopOrder.setPayStatus(3);
-//                            } else {
-//                                shopOrder.setPayStatus(2);
-//                            }
-                            // 修改子订单付款状态及付款金额
-                            payOrderMapper.updateShopOrderByPayStatus(shopOrderId, paidShop, shopOrder.getPayStatus());
-                        }
-                    }
-                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                    String currentTime = format.format(new Date());
-                    // 保存付款单表
-                    PayShopPo payShop = new PayShopPo();
-                    payShop.setShopId(shopId);
-                    payShop.setName("线上支付分账");
-                    payShop.setTotalAmount(splitAmount);
-                    payShop.setWipePayment(0d);
-                    payShop.setPayType(6);
-                    payShop.setStatus(1);
-                    payShop.setDelFlag(0);
-                    payShop.setApplyTime(currentTime);
-                    payShop.setReviewTime(currentTime);
-                    payShop.setPayTime(currentTime);
-                    payOrderMapper.insertPayShop(payShop);
-                    // 保存 付供应商记录
-                    PayShopRecordPo shopRecord = new PayShopRecordPo();
-                    shopRecord.setShopId(shopId);
-                    shopRecord.setShopOrderId(shopOrderId);
-                    shopRecord.setShopOrderNo(shopOrderNo);
-                    shopRecord.setPayAmount(splitAmount);
-                    shopRecord.setWipePayment(0d);
-                    shopRecord.setPayType(6);
-                    shopRecord.setPayTime(currentTime);
-                    shopRecord.setPayShopId(payShop.getId());
-                    shopRecord.setStatus(1);
-                    shopRecord.setDelFlag(0);
-                    payOrderMapper.insertPayShopRecord(shopRecord);
-                }
-                // 子订单是否全部付款
-                boolean isPay = true;
-                for (ShopOrderVo shopOrder : shopOrderList) {
-                    if (3 != shopOrder.getPayStatus()) {
-                        isPay = false;
-                        break;
-                    }
-                }
-                // 修改主订单付款状态
-                if (isPay) {
-                    payOrderMapper.updateOrderByPayStatus(orderId, 3);
-                } else {
-                    payOrderMapper.updateOrderByPayStatus(orderId, 2);
-                }
-            }
+            payOrderMapper.updateBySplitStatusByNo(shopOrderId);
         } catch (Exception e) {
             log.error("【延时分账回调】>>>>>>>>>>分账异步通知异常", e);
             return "分账失败";

+ 1 - 1
src/main/resources/mapper/PayOrderMapper.xml

@@ -242,7 +242,7 @@
     <update id="updateBySplitStatusByNo">
         UPDATE cm_receipt_order_relation
         SET splitStatus = 1
-        WHERE orderRequestNo = #{orderRequestNo}
+        WHERE shopOrderId = #{shopOrderId}
     </update>
     <update id="updateQuickInfo">
         update cm_quickpay_info