支付宝回调之后修改账单的状态


//这个是回调地址之后更新一些订单状态的方法

    public ServerResponse aliCallback(Map<String,String> params){ //订单号
       Long orderNo = Long.parseLong(params.get("out_trade_no")); //支付宝的交易号
        String tradeNo = params.get("trade_no"); //支付宝的交易状态
        String tradeStatus = params.get("trade_status"); //在这个方法里面查询一下,看一下这个订单号码是否存在
        Order order = orderMapper.selectByOrderNo(orderNo); if(order == null){ return ServerResponse.createByErrorMessage("非快乐慕商城的订单,回调忽略"); } //在这里调用枚举类,判断订单是否已经支付
        if(order.getStatus() >= Const.OrderStatusEnum.PAID.getCode()){ return ServerResponse.createBySuccess("支付宝重复调用"); } //这里调用的是支付宝官方的枚举 //“TRADE_STATUS_TRADE_SUCCESS”是交易完成的意思
        if(Const.AlipayCallback.TRADE_STATUS_TRADE_SUCCESS.equals(tradeStatus)){ //记录交易的时间,这个字符串是固定的
            order.setPaymentTime(DateTimeUtil.strToDate(params.get("gmt_payment"))); order.setStatus(Const.OrderStatusEnum.PAID.getCode()); orderMapper.updateByPrimaryKeySelective(order); //把订单状态改成已付款
 } PayInfo payInfo = new PayInfo(); payInfo.setUserId(order.getUserId()); payInfo.setOrderNo(order.getOrderNo()); payInfo.setPayPlatform(Const.PayPlatformEnum.ALIPAY.getCode()); payInfo.setPlatformNumber(tradeNo); payInfo.setPlatformStatus(tradeStatus); payInfoMapper.insert(payInfo); return ServerResponse.createBySuccess(); }

如果你感觉本文对你有帮助,欢迎进群一起探讨交流:点我加群


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM