yq 3 роки тому
батько
коміт
f2e2c0e757

+ 19 - 17
src/main/java/com/usky/dxtop/service/impl/OrderServiceImpl.java

@@ -233,19 +233,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Override
     public void checkOrder(Order order,String result,String param){
         JSONObject obj= JSON.parseObject(result);
-        if ("0000".equals(obj.get("status"))){
+        String trxstatus = obj.get("trxstatus").toString();
+        if ("0000".equals(obj.get("status").toString())){
             //交易成功
-            if ("2".equals(obj.get("trxstatus"))) {
+            if ("2".equals(trxstatus)) {
                 paySuccess(order);
-            }else if ("0".equals(obj.get("trxstatus"))){
+            }else if ("0".equals(trxstatus)){
                 //交易等待
                 payWaiting(order);
-            }else {
-                payError(order);
+            }else if ("1".equals(trxstatus)){
+                //交易未存在证明用户未支付
+                if (!"交易不存在".equals(obj.get("msg").toString())){
+                    payError(order);
+                }
             }
         }else {
             if ("交易订单不存在".equals(obj.get("errorMessage"))){
-                //两种情况,用户未扫码,用户扫码未支付
+                //用户未扫码
                 //针对这种情况不做处理,交由第三方来处理
             }else {
                 orderError(order);
@@ -261,18 +265,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void paySuccess(Order order){
-        boolean b = isCheckOrder(order.getOrderNumber());
-        //判断是不是游客充值
-        if (null == order.getUserId() || 0 == order.getUserId()){
-            b = false;
-        }
-        if (b){
-            //调用卡充值api
-            callCardTopApi(order);
-        }else {
-            order.setOrderFlag(OrderStatus.COMPLETE.getCode());
+        if (isCheckOrder(order.getOrderNumber())){
+            //判断是不是游客充值
+            if (null == order.getUserId() || 0 == order.getUserId()){
+                order.setOrderFlag(OrderStatus.COMPLETE.getCode());
+            }else {
+                //调用卡充值api
+                callCardTopApi(order);
+            }
+            this.updateById(order);
         }
-        this.updateById(order);
     }