A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

前端代码
4.3.1 前端服务层
pinyougou-seckill-web 的 seckillGoodsService.js
[AppleScript] 纯文本查看 复制代码
//提交订单 
 this.submitOrder=function(seckillId){ 
  return $http.get('seckillOrder/submitOrder.do?seckillId='+seckillId); 
 } 

前端控制层
pinyougou-seckill-web 的 seckillGoodsController.js
[AppleScript] 纯文本查看 复制代码
//提交订单 
 $scope.submitOrder=function(){ 
  seckillGoodsService.submitOrder($scope.entity.id).success( 
   function(response){ 
    if(response.success){ 
     alert("下单成功,请在 1 分钟内完成支付"); 
     location.href="pay.html"; 
    }else{ 
     alert(response.message); 
    } 
   } 
  );   
 } 

页面
修改 seckill-item.html
[AppleScript] 纯文本查看 复制代码
<a ng-click="submitOrder()" target="_blank" class="sui-btn  btn-danger addshopcar">
秒杀抢购</a> 

品优购-秒杀支付
5.1 需求分析
用户成功下单后,跳转到支付页面。支付页显示微信支付二维码。用户完成支付后,保 存订单到数据库。
5.2 生成支付二维码
5.2.1 后端代码
(1)pinyougou-seckill-web 工程引入 pinyougou-pay-interface 依赖
(2)修改 pinyougou-seckill-interface 的 SeckillOrderService.java
[AppleScript] 纯文本查看 复制代码
/** 
  * 根据用户名查询秒杀订单 
  * @param userId 
  */ 
 public TbSeckillOrder searchOrderFromRedisByUserId(String userId); 

(3)修改 pinyougou-seckill-service 的 SeckillOrderServiceImpl.java
[AppleScript] 纯文本查看 复制代码
@Override 
 public TbSeckillOrder  searchOrderFromRedisByUserId(String userId) {   
  return (TbSeckillOrder) 
redisTemplate.boundHashOps("seckillOrder").get(userId); 
 }

(1)在 pinyougou-seckill-web 新建 PayController.java  
[AppleScript] 纯文本查看 复制代码
/** 
 * 支付控制层 
 * @author Administrator 
 * 
 */ 
@RestController 
@RequestMapping("/pay") 
public class PayController { 
  
 @Reference 
 private  WeixinPayService weixinPayService; 
  
 @Reference 
 private SeckillOrderService seckillOrderService;  
 
 /** 
  * 生成二维码 
  * @return 
  */ 
 @RequestMapping("/createNative") 
 public Map createNative(){ 
  //获取当前用户   
  String 
userId=SecurityContextHolder.getContext().getAuthentication().getName(); 
  //到 redis 查询秒杀订单 
TbSeckillOrder seckillOrder = 
seckillOrderService.searchOrderFromRedisByUserId(userId); 
  //判断秒杀订单存在 
  if(seckillOrder!=null){ 
   long fen=  (long)(seckillOrder.getMoney().doubleValue()*100);//金额(分)
 
   return weixinPayService.createNative(seckillOrder.getId()+"",+fen+""); 
  }else{ 
   return new HashMap(); 
  }   
 } 
}

5.2.2 前端代码
将pinyougou-cart-web工程的 payService.js  payController.js  pay.html  qrious.min.js 拷贝到 pinyougou-seckill-web 工程    payController.js 暂时注释对查询的调用。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马