|  | @@ -217,7 +217,7 @@ public class YqPayController extends BaseController {
 | 
	
		
			
				|  |  |          for (int i = 0; i < courses.size(); i++) {
 | 
	
		
			
				|  |  |              MecCourse course = courses.get(i);
 | 
	
		
			
				|  |  |              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);
 | 
	
		
			
				|  |  |                  remark += course.getClassName();
 | 
	
		
			
				|  |  |              } else {
 | 
	
	
		
			
				|  | @@ -290,7 +290,7 @@ public class YqPayController extends BaseController {
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  |      //@PostMapping("/query")
 | 
	
		
			
				|  |  |      //@Scheduled(cron = "0/3 40 11 * * ?")
 | 
	
		
			
				|  |  | -    public String query(String merOrderNoList) throws Exception {
 | 
	
		
			
				|  |  | +    public Object query(String merOrderNoList) throws Exception {
 | 
	
		
			
				|  |  |          String notifyUrl = ""; //回调地址
 | 
	
		
			
				|  |  |          Map<String, Object> resultMap = new LinkedHashMap<>();
 | 
	
		
			
				|  |  |          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);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |