无关风月
2025-01-01 ca070436770f715572405880cfe548c02f639c73
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/CallBackController.java
@@ -57,11 +57,21 @@
    public R alipayCallback(Long orderId) throws AlipayApiException {
//            String outTradeNo = stringStringMap.get("out_trade_no");
            TOrder one = orderService.getById(orderId);
        Boolean check = AlipayTradeQuery.check(one.getCode());
            TOrder order = orderService.getById(orderId);
        Boolean check = AlipayTradeQuery.check(order.getCode());
        if (check) {
            one.setPaymentStatus(2);
            orderService.updateById(one);
            order.setPaymentStatus(2);
            orderService.updateById(order);
//            if (one.getGoodType()==1){
//                try {
//                    TCourse byId = courseService.getById(one.getGoodId());
//                    byId.setBuyNum(byId.getBuyNum()+1);
//                    courseService.updateById(byId);
//                }catch (Exception e){
//                    e.printStackTrace();
//                }
//
//            }
            return R.ok();
        }else {
            return R.fail("请支付");
@@ -80,23 +90,23 @@
        Transaction transaction;
        transaction = notificationParser.parse(WeChatUtil.handleNodifyRequestParam(request), Transaction.class);
        if (transaction.getTradeState() == Transaction.TradeStateEnum.SUCCESS) {
                    TOrder one = orderService.lambdaQuery().eq(TOrder::getCode, transaction.getOutTradeNo()).one();
                    one.setPaymentStatus(2);
                    one.setSerialNumber(transaction.getTransactionId());
            one.setPayTime(LocalDateTime.now());
                    TOrder order = orderService.lambdaQuery().eq(TOrder::getCode, transaction.getOutTradeNo()).one();
                    order.setPaymentStatus(2);
                    order.setSerialNumber(transaction.getTransactionId());
            order.setPayTime(LocalDateTime.now());
            one.setPaymentType(1);
                    orderService.updateById(one);
                    if (one.getGoodType()==1){
                        try {
                            TCourse byId = courseService.getById(one.getGoodId());
                            byId.setBuyNum(byId.getBuyNum()+1);
                            courseService.updateById(byId);
                        }catch (Exception e){
                            e.printStackTrace();
                        }
            order.setPaymentType(1);
            orderService.updateById(order);
            if (order.getGoodType()==1){
                try {
                    TCourse course = courseService.getById(order.getGoodId());
                    course.setBuyNum(course.getBuyNum()+1);
                    courseService.updateById(course);
                }catch (Exception e){
                    e.printStackTrace();
                }
                    }
            }
        }
        return R.ok(null,"SUCCESS");
    }
@@ -114,12 +124,13 @@
                amountReq.setTotal(byId.getPaymentAmount().multiply(BigDecimal.valueOf(100)).longValue());
                amountReq.setCurrency("CNY");
                createRequest.setAmount(amountReq);
                createRequest.setNotifyUrl("http://www.zhipingwang.com.cn:8081/call-back/buy");
                createRequest.setNotifyUrl("https://0ifzoxq2516g.guyubao.com/call-back/buy");
                createRequest.setOutTradeNo(byId.getCode());
                createRequest.setOutRefundNo("TK" + WeChatUtil.generateTradeNumber());
                Refund refund = refundService.create(createRequest);
                byId.setPaymentStatus(3);
                byId.setCancelTime(LocalDateTime.now());
                orderService.updateById(byId);
            }catch (Exception e){
                e.printStackTrace();