자바 의 상품 구 매 과정 강의day18(7)

결제 상태 검출-전단 코드 4.3.1 서비스 층 이 pay Service.js 에 추가 하 는 방법
//       
 this.queryPayStatus=function(out_trade_no){
  return $http.get('pay/queryPayStatus.do?out_trade_no='+out_trade_no); 
 }

2     
  payController.js       

//        
 queryPayStatus=function(out_trade_no){
  payService.queryPayStatus(out_trade_no).success(
   function(response){
    if(response.success){
     location.href="paysuccess.html"; 
    }else{     
     location.href="payfail.html";         
    }    
   }
  ); 
 }

  createNative                 

//        
 $scope.createNative=function(){
  payService.createNative().success(
   function(response){
..........        
        queryPayStatus(response.out_trade_no);//          
   }
  );   
 }

       
4.4.1      
                ,         ,           
     ,             。                    ,          ,    。 
4.4.2      
(1)   pinyougou-cart-web    PayController.java   queryPayStatus    

@RequestMapping("/queryPayStatus")
 public Result queryPayStatus(String out_trade_no){
  Result result=null;   
  int x=0;   
  while(true){
   //       
   .......   
   try {
    Thread.sleep(3000);//     
   } catch (InterruptedException e) {
e.printStackTrace(); 
   } 
   //            ,          ,              
   ,      5    
   x++; 
   if(x>=100){
    result=new  Result(false, "     "); 
    break; 
   }
  }
  return result; 
 }

(2)   payController.js 

//        
 queryPayStatus=function(out_trade_no){
  payService.queryPayStatus(out_trade_no).success(
   function(response){
    if(response.success){
     location.href="paysuccess.html"; 
    }else{
     if(response.message=='     '){
      $scope.createNative();//             
     }else{
 location.href="payfail.html"; 
     }     
    }    
   }
  ); 
 }

좋은 웹페이지 즐겨찾기