0608~三方支付

今天用支付宝支付宠物商品订单

1.先通过 订单id获取到宠物商品详情,用商品详情设值;

2.通过宠物详情设值,然后把订单信息入库;

3.再把收货信息存入地址;

4.再拉起重定向到支付页面,调用第三方接口;

5.通过异步回调修改状态;

6.通过同步回调显示状态;

1.先通过 订单id获取到宠物商品详情,用商品详情设值;

@Override
public JSONResult createorder(OrderAdopt orderAdopt, Long currentId) {
    //1.订单信息入库
        //1.1  入参校验 通过用户id拿到宠物id
    Long petId = orderAdopt.getPetId();
    if(petId==null){
       return JSONResult.error("订单信息有误");
    }
    Long id = orderAdopt.getId();
    Example example = new Example(OrderAdopt.class);
    example.and().andEqualTo("userinfoId",id);
    //1.2根据宠物id拿到宠物信息
    Pet pet = petMapper.selectOneByExample(example);

2.通过宠物详情设值,然后把订单信息入库

Pet pet = petMapper.selectOneByExample(example);
OrderAdopt orderinfo = new OrderAdopt();
orderinfo.setCreateTime(new Date());//创建时间
orderinfo.setState(0);//修改状态 状态(0:待支付;1:支付成功;2:支付失败)
orderinfo.setPrice(pet.getSaleprice());//商品售价
String orderSn = MyUtil.getOrderSn();
orderinfo.setOrderSn(orderSn);//订单编号 ~随机数
orderinfo.setUserinfoId(currentId);//用户id
orderinfo.setLastPayTime(new Date());//支付时间
orderinfo.setShopId(pet.getShopId());//商品id
//orderinfo.setLastConfirmTime();//todo
orderAdoptMapper.insert(orderinfo);

//4.拉起订单支付页面
AlipayBean alipayBean = new AlipayBean();
alipayBean.setSubject("购买宠物名:" + pet.getName() + ";需支付金额:" + orderinfo.getPrice() + "元");
alipayBean.setTotalAmount(orderinfo.getPrice().toString());
alipayBean.setOutTradeNo(orderSn);
//alipayBean.setBusinessKey(order.getId());
//alipayBean.setShopId(order.getShopId());
return alipayService.createPayUrl(alipayBean,currentId);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值