1. 程式人生 > >Java之品優購課程講義_day18(10)

Java之品優購課程講義_day18(10)

讀取支付日誌
5.4.1 服務介面層

pinyougou-order-interface 工程的 OrderService.java 新增方法 

/**
  * 根據使用者查詢 payLog 
  * @param userId 
  * @return
  */
 public TbPayLog searchPayLogFromRedis(String userId);

服務實現層 
pinyougou-order-service 的 OrderServiceImpl.java 實現方法 

@Override 
 public TbPayLog searchPayLogFromRedis(String userId) {
  return (TbPayLog) redisTemplate.boundHashOps("payLog").get(userId);   
 }

控制層 
修改 pinyougou-cart-web 工程 PayController.java 的 createNative 方法 
實現思路:呼叫獲取支付日誌物件的方法,得到訂單號和金額 

@Reference 
 private OrderService orderService; 
 /**
  * 生成二維碼 
  * @return
  */
 @RequestMapping("/createNative")
 public Map createNative(){
  //獲取當前使用者   
  String 
userId=SecurityContextHolder.getContext().getAuthentication().getName(); 
  //到 redis 查詢支付日誌 
  TbPayLog payLog = orderService.searchPayLogFromRedis(userId); 
  //判斷支付日誌存在 
  if(payLog!=null){
   return
weixinPayService.createNative(payLog.getOutTradeNo(),payLog.getTotalFee()+""); 
  }else{
   return new HashMap(); 
  }  
 }