| 
														
															@@ -217,7 +217,7 @@ public class YqPayController extends BaseController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for (int i = 0; i < courses.size(); i++) { 
														 | 
														
														 | 
														
															         for (int i = 0; i < courses.size(); i++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             MecCourse course = courses.get(i); 
														 | 
														
														 | 
														
															             MecCourse course = courses.get(i); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (mecCourse4json.getCourseId().equals(course.getCourseId())) { 
														 | 
														
														 | 
														
															             if (mecCourse4json.getCourseId().equals(course.getCourseId())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                BigDecimal price = course.getClassType() == 1 ? course.getPrice().multiply(BigDecimal.valueOf(buyCount)) : mecCourse4json.getPrice(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                BigDecimal price = course.getClassType() == 1 ? course.getPrice().multiply(BigDecimal.valueOf(buyCount)) : course.getPrice().multiply(BigDecimal.valueOf(course.getBuyCount())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 amount = amount.add(price); 
														 | 
														
														 | 
														
															                 amount = amount.add(price); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 remark += course.getClassName(); 
														 | 
														
														 | 
														
															                 remark += course.getClassName(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } else { 
														 | 
														
														 | 
														
															             } else { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -290,7 +290,7 @@ public class YqPayController extends BaseController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     //@PostMapping("/query") 
														 | 
														
														 | 
														
															     //@PostMapping("/query") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     //@Scheduled(cron = "0/3 40 11 * * ?") 
														 | 
														
														 | 
														
															     //@Scheduled(cron = "0/3 40 11 * * ?") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public String query(String merOrderNoList) throws Exception { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public Object query(String merOrderNoList) throws Exception { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String notifyUrl = ""; //回调地址 
														 | 
														
														 | 
														
															         String notifyUrl = ""; //回调地址 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<String, Object> resultMap = new LinkedHashMap<>(); 
														 | 
														
														 | 
														
															         Map<String, Object> resultMap = new LinkedHashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         resultMap.put("merOrderNoList", merOrderNoList); 
														 | 
														
														 | 
														
															         resultMap.put("merOrderNoList", merOrderNoList); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -444,4 +444,67 @@ public class YqPayController extends BaseController { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    //@Scheduled(cron = "0/3 40 11 * * ?") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @RequestMapping("/getOrderStatus") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public void getOrderStatus() throws Exception { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<Order> payingOrders = orderService.findPayingOrders(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        String merOrderNos = ""; // 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        for (int i = 0; i < payingOrders.size(); i++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            merOrderNos += payingOrders.get(i).getOrderNo() + ","; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (merOrderNos.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        merOrderNos = merOrderNos.substring(0, merOrderNos.length() - 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        String notifyUrl = ""; //回调地址 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, Object> resultMap = new LinkedHashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        resultMap.put("merOrderNoList", merOrderNos); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, Object> requestMap = new YqPayUtil(notifyUrl, resultMap).getRequestMap(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Msg queryRs = yqQueryService.orderQuery(requestMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (queryRs.getCode().equals("88")) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //更新订单状态 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            String[] statusArr = {"0", "1", "7"}; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            String responseParameters = queryRs.getResponseParameters(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            List<Map<String, String>> responseList = JSON.parseObject(responseParameters, List.class); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            for (int i = 0; i < responseList.size(); i++) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                Map<String, String> rpMap = responseList.get(i); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (Arrays.asList(statusArr).contains(rpMap.get("tradeState"))) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    this.updateOrder(rpMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Transactional 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public void updateOrder(Map<String, String> rpMap) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        int status = rpMap.get("tradeState").equals("1") ? 2 : 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Order order = orderService.getOrderByOrderNo(rpMap.get("merOrderNo")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        order.setStatus(status); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        order.setBank(rpMap.get("channelType")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (order.getPayId() == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            order.setPayId(rpMap.get("orderNo")); //更新易乾付订单号 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (status == 2) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            order.setPay(order.getAmount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            order.setPayTime(new Date()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            //推送mec 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if(order.getTuiFee() != null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                ApplyInfo applyInfo = applyInfoService.get(order.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                applyInfoService.userRegister(applyInfo.getPatriarchPhone()); //推送mec 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //失败减去已收款金额,减去报名人数 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (status == 0 && order.getTuiFee() != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            CourseGroupInfoService.get() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            courseGroupInfo.setRegNum(courseGroupInfo.getRegNum() + 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        orderService.update(order); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |