‘linchangsheng’ 6 hónapja
szülő
commit
fddce1caf4

+ 2 - 2
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/pay/PayOrderController.java

@@ -131,8 +131,8 @@ public class PayOrderController {
                 throw new RemoteServiceException("系统繁忙,请稍后再试");
             }
             String ip = IpUtil.getIpAddr(request);
-            payOrderLogic.upIsPay(orderId);
-            WorkerOrder payStatus = payOrderLogic.paid(orderId, authCode, ip, payType);
+            WorkerOrder workerOrder = payOrderLogic.upIsPay(orderId);
+            WorkerOrder payStatus = payOrderLogic.paid(workerOrder.getWorkerOrderId(), authCode, ip, payType);
 
             return ResponseHelper.success(payStatus);
         } finally {

+ 24 - 19
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/order/PayOrderLogic.java

@@ -469,18 +469,6 @@ public class PayOrderLogic {
 
         AdminWebsit adminWebsit = adminWebsitService.getById(workerOrder.getWebsitId());
 
-        String orderIdNew = wechatLogic.queryOrder(workerOrder.getOrderId(),
-                adminWebsit.getPayWorkerCodeId());
-
-
-        if (!StringUtil.isEmpty(orderIdNew)){
-            workerOrderItemService.lambdaUpdate()
-                    .eq(WorkerOrderItem::getOrderId,workerOrder.getOrderId())
-                    .set(WorkerOrderItem::getOrderId,orderIdNew)
-                    .update();
-            workerOrderService.removeById(orderId);
-            workerOrder.setOrderId(orderIdNew);
-        }
 
 
 
@@ -515,11 +503,8 @@ public class PayOrderLogic {
         workerOrder.setWorkerName(currentCompanyWechat.getUser().getNickName());
         workerOrder.setIdentity(currentCompanyWechat.getUser().getIdCard());
         workerOrder.setOpenId(currentCompanyWechat.getUser().getMiniOpenId());
-        if (!StringUtil.isEmpty(orderIdNew)) {
-            workerOrder.insert();
-        }else {
-            workerOrder.updateById();
-        }
+        workerOrder.updateById();
+
 
         //插入手工结算数据
         if (workerOrder.getManualAmount() != null && workerOrder.getManualAmount().doubleValue() > 0) {
@@ -1202,7 +1187,7 @@ public class PayOrderLogic {
                 .orderByAsc(Brand::getSortNum).list();
     }
 
-    public void upIsPay(String orderId) {
+    public WorkerOrder upIsPay(String orderId) {
         CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
 
         WorkerOrder workerOrder = workerOrderService.getById(orderId);
@@ -1218,10 +1203,30 @@ public class PayOrderLogic {
             throw new RemoteServiceException("订单已取消支付");
         }
 
+
+
+        String orderIdNew = wechatLogic.queryOrder(workerOrder.getOrderId(),
+                adminWebsit.getPayWorkerCodeId());
+
+
+        if (!StringUtil.isEmpty(orderIdNew)){
+            workerOrderItemService.lambdaUpdate()
+                    .eq(WorkerOrderItem::getOrderId,workerOrder.getOrderId())
+                    .set(WorkerOrderItem::getOrderId,orderIdNew)
+                    .update();
+            workerOrderService.removeById(orderId);
+            workerOrder.setOrderId(orderIdNew);
+        }
+
         workerOrder.setConfigId(adminWebsit.getPayWorkerCodeId());
         workerOrder.setPayState(IsYesNoEnum.YES.getKey());
         workerOrder.setPayStateTime(new Date());
         workerOrder.setOpenId(currentCompanyWechat.getUser().getMiniOpenId());
-        workerOrder.updateById();
+        if (!StringUtil.isEmpty(orderIdNew)) {
+            workerOrder.insert();
+        }else {
+            workerOrder.updateById();
+        }
+        return workerOrder;
     }
 }