Ver Fonte

支付bugfix

zhijiezhao há 1 mês atrás
pai
commit
1426cccd7f

+ 17 - 14
src/main/java/com/caimei365/order/service/impl/HeliPayServiceImpl.java

@@ -84,6 +84,8 @@ public class HeliPayServiceImpl implements HeliPayService {
     private CmReportingClubMapper cmReportingClubMapper;
     @Resource
     private CmReportingMemberMapper cmReportingMemberMapper;
+    @Resource
+    private OrderClubMapper orderClubMapper;
     @Value("${caimei.wwwDomain}")
     private String domain;
 
@@ -424,7 +426,7 @@ public class HeliPayServiceImpl implements HeliPayService {
             });
         }
         // 线上支付与自主下单送豆(已全部收款),最后一笔线上支付成功后,赠送200采美豆
-        if (3 == order.getReceiptStatus() && 0 == order.getSecondHandOrderFlag()&&identity != 8) {
+        if (3 == order.getReceiptStatus() && 0 == order.getSecondHandOrderFlag() && identity != 8) {
             UserBeansHistoryPo beansHistory = new UserBeansHistoryPo();
             beansHistory.setUserId(order.getUserId());
             beansHistory.setOrderId(orderId);
@@ -489,22 +491,23 @@ public class HeliPayServiceImpl implements HeliPayService {
     public ResponseJson<String> link(HeliDto heliDto, HttpHeaders headers) {
         log.info("--------进入线上支付接口----------");
         // 订单信息
-        OrderVo order = orderCommonMapper.getOrderByShopOrderId(heliDto.getShopOrderId());
-        if (null == order) {
+        ShopOrderVo shopOrder = orderCommonMapper.getShopOrderById(heliDto.getShopOrderId());
+        if (null == shopOrder) {
             log.error("订单不存在");
             return ResponseJson.error("订单不存在");
         }
-        if (OrderStatus.UNCONFIRMED.getCode() == order.getStatus() ||
-                OrderStatus.RECEIVED_AND_FULL_SHIPPED.getCode() == order.getStatus() ||
-                OrderStatus.TRANSACTION_COMPLETED.getCode() == order.getStatus() ||
-                OrderStatus.ORDER_COMPLETED.getCode() == order.getStatus() ||
-                OrderStatus.CLOSED.getCode() == order.getStatus() ||
-                OrderStatus.FULL_RETURNED.getCode() == order.getStatus()) {
+        orderCommonService.setShopOrderStatus(shopOrder);
+        if (OrderStatus.UNCONFIRMED.getCode() == shopOrder.getStatus() ||
+                OrderStatus.RECEIVED_AND_FULL_SHIPPED.getCode() == shopOrder.getStatus() ||
+                OrderStatus.TRANSACTION_COMPLETED.getCode() == shopOrder.getStatus() ||
+                OrderStatus.ORDER_COMPLETED.getCode() == shopOrder.getStatus() ||
+                OrderStatus.CLOSED.getCode() == shopOrder.getStatus() ||
+                OrderStatus.FULL_RETURNED.getCode() == shopOrder.getStatus()) {
             log.error("订单状态错误");
             return ResponseJson.error("订单状态错误", null);
         }
         // 支付记录
-        List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(order.getOrderId(), order.getShopOrderIds());
+        List<DiscernReceiptVo> discernReceiptList = orderCommonMapper.getDiscernReceipt(shopOrder.getOrderId(), shopOrder.getShopOrderId().toString());
         if (!discernReceiptList.isEmpty()) {
             AtomicReference<Boolean> offlineFlag = new AtomicReference<>(false);
             discernReceiptList.forEach(discernReceipt -> {
@@ -518,7 +521,7 @@ public class HeliPayServiceImpl implements HeliPayService {
             }
         }
         log.info(">>>>>>>>>>>>>>本次付款金额:" + heliDto.getPayAmount());
-        if (MathUtil.compare(MathUtil.mul(order.getPayableAmount(), 100), heliDto.getPayAmount()) < 0) {
+        if (MathUtil.compare(MathUtil.mul(shopOrder.getNeedPayAmount(), 100), heliDto.getPayAmount()) < 0) {
             log.error("付款金额错误!");
             return ResponseJson.error("付款金额错误!", null);
         }
@@ -1033,7 +1036,7 @@ public class HeliPayServiceImpl implements HeliPayService {
             });
         }
         // 线上支付与自主下单送豆(已全部收款),最后一笔线上支付成功后,赠送200采美豆
-        if (3 == order.getReceiptStatus() && 0 == order.getSecondHandOrderFlag()&&identity != 8) {
+        if (3 == order.getReceiptStatus() && 0 == order.getSecondHandOrderFlag() && identity != 8) {
             UserBeansHistoryPo beansHistory = new UserBeansHistoryPo();
             beansHistory.setUserId(order.getUserId());
             beansHistory.setOrderId(orderId);
@@ -1116,8 +1119,8 @@ public class HeliPayServiceImpl implements HeliPayService {
             if (StringUtils.isBlank(getShopOrderId)) {
                 return ResponseJson.error("子订单为空!", null);
             }
-             shopOrderIdArr = getShopOrderId.split(",");
-             shopOrderIds = Arrays.asList(shopOrderIdArr);
+            shopOrderIdArr = getShopOrderId.split(",");
+            shopOrderIds = Arrays.asList(shopOrderIdArr);
         } else {
             if (null == shopOrderId) {
                 return ResponseJson.error("子订单为空!", null);

+ 4 - 8
src/main/java/com/caimei365/order/service/impl/PayOrderServiceImpl.java

@@ -741,13 +741,6 @@ public class PayOrderServiceImpl implements PayOrderService {
         if (order.getBalancePayFee() > 0 || totalCostPrice.get() > order.getPayTotalFee()) {
             onlinePay = 1;
         }
-        // 返回数据
-        // 佣金<50不允许走企业网银,企业网银最多支付5次;0不能企业网银,1可以
-//        int B2BpayFlag = 0;
-//        Integer payNum = orderCommonMapper.findPayB2BRecord(shopOrderId);
-//        if (null != shop.getBrokerage() && shop.getBrokerage() > 50 && payNum <= 5) {
-//            B2BpayFlag = 1;
-//        }
         Map<String, Object> map = new HashMap<>();
         if (onlinePay != 1) {
             map.put("onlinePayWays", orderCommonMapper.findOnlinePayWays(shopOrderId));
@@ -755,7 +748,10 @@ public class PayOrderServiceImpl implements PayOrderService {
         if (0 != shop.getOrganizeId()) {
             map.put("onlinePayWays", orderCommonMapper.findOnlinePayWays(shopOrderId));
         }
-//        map.put("B2BpayFlag", B2BpayFlag);
+        // 薇旖美特殊处理
+        if (1 == orderProductList.size() && 8167 == orderProductList.get(0).getProductId()) {
+            map.put("onlinePayWays", "1,2,3,4");
+        }
         String aliPayFlag = orderCommonMapper.findAliPayFlag(shop.getSplitCode(), shop.getShopId());
         map.put("userName", userName);
         map.put("shopOrder", shop);