Przeglądaj źródła

订单修改完成

yq 3 lat temu
rodzic
commit
b9efdf86c6

+ 7 - 0
src/main/java/com/usky/dxtop/controller/web/OrderController.java

@@ -176,5 +176,12 @@ public class OrderController extends BaseController {
         return AjaxResult.success(orderService.dateCollect(type,startTime,endTime));
     }
 
+    @RepeatSubmit
+    @PostMapping("/backPayPath")
+    public AjaxResult backPayPath(@RequestBody Order order){
+        return AjaxResult.success(orderService.backPayPath(order));
+    }
+
+
 }
 

+ 7 - 0
src/main/java/com/usky/dxtop/service/OrderService.java

@@ -124,4 +124,11 @@ public interface OrderService extends IService<Order> {
      */
     List<Map<String,Object>> dateCollect(Integer dateType,Date startTime,Date endTime);
 
+    /**
+     * 后台充值支付页面
+     * @param order
+     * @return
+     */
+    String backPayPath(Order order);
+
 }

+ 18 - 9
src/main/java/com/usky/dxtop/service/impl/OrderServiceImpl.java

@@ -91,6 +91,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     private SysFileService sysFileService;
     @Autowired
     private TopApiConfiger topApiConfiger;
+    @Autowired
+    private ISysConfigService sysConfigService;
 
     @Transactional(rollbackFor = Exception.class)
     @Override
@@ -98,6 +100,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         order.setPayType(OrderPayType.XJ.getPayCode());
         order.setScene(OrderSceneCode.BACK_STAGE.getCode());
         verifyOrder(order);
+        this.save(order);
         callCardTopApi(order);
         return this.updateById(order);
     }
@@ -148,6 +151,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Override
     public String getTopScanPayApi(Order order){
         verifyOrder(order);
+        this.save(order);
         TreeMap<String, String> params = topApiConfiger.generateScanPayApiParam(order.getOrderNumber(),
                                         new Double(Arith.mul(order.getMoney().doubleValue(),100)).intValue(), null,
                 null,null,null,null,null,null);
@@ -242,18 +246,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 //交易等待
                 payWaiting(order);
             }else if ("1".equals(trxstatus)){
-                //交易未存在证明用户未支付
-                if (!"交易不存在".equals(obj.get("msg").toString())){
+                Object msg = obj.get("msg");
+                if (null != msg && "交易不存在".equals(msg.toString())){
+
+                }else {
                     payError(order);
                 }
             }
         }else {
-            if ("交易订单不存在".equals(obj.get("errorMessage"))){
-                //用户未扫码
-                //针对这种情况不做处理,交由第三方来处理
-            }else {
-                orderError(order);
-            }
+            orderError(order);
         }
         callApiLogService.saveOrUpdate(order.getOrderNumber(), FIND_ORDER_INFO, topApiConfiger.dealSelectUrl, param, result);
     }
@@ -476,6 +477,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             openId = order.getOpenId();
         }
         verifyOrder(order);
+        this.save(order);
         String orderNumber = order.getOrderNumber();
         TreeMap<String, String> params = topApiConfiger.generateUnifyParam(orderNumber,new Double(Arith.mul(order.getMoney().doubleValue(),100)).intValue(),
                 topApiConfiger.notifyUrl, null,
@@ -543,6 +545,13 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return list;
     }
 
+    @Override
+    public String backPayPath(Order order) {
+        verifyOrder(order);
+        String payPath = sysConfigService.selectConfigByKey("app.pay.path");
+        return String.format("%s?backOrder=%s", payPath, JSON.toJSON(order));
+    }
+
     /**
      * 完善没有的数据
      * @param list
@@ -603,6 +612,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             if (count >= 10){
                 order.setOrderFlag(OrderStatus.PAYMENT_ERROR_NO_DEBIT.getCode());
                 this.updateById(order);
+                treeMap.remove(orderNumber);
             }else {
                 if (OrderStatus.NO_PAYMENT.getCode().equals(order.getOrderFlag())){
                     order.setOrderFlag(OrderStatus.AWAIT_PAY.getCode());
@@ -674,6 +684,5 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 order.setChannelName(order.getChannelName());
             }
         }
-        this.save(order);
     }
 }

+ 1 - 1
src/main/java/com/usky/dxtop/service/impl/QrCodeServiceImpl.java

@@ -72,7 +72,7 @@ public class QrCodeServiceImpl extends ServiceImpl<QrCodeMapper, QrCode> impleme
         String payPath = sysConfigService.selectConfigByKey("app.pay.path");
         IPage<QrCode> page = new Page<>(current, size);
         page = baseMapper.list(page,name);
-        page.getRecords().forEach(qrCode -> qrCode.setQrPath(String.format("%s%s", payPath, qrCode.getTopChannelId())));
+        page.getRecords().forEach(qrCode -> qrCode.setQrPath(String.format("%s?type=%s", payPath, qrCode.getTopChannelId())));
         return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
     }