From 0c51a577db337520452022d9d6a22b720ef858d4 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 31 十二月 2024 14:13:01 +0800 Subject: [PATCH] 全部代码、数据库提交 --- xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 41 insertions(+), 10 deletions(-) diff --git a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java index b92359d..529ed9d 100644 --- a/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java +++ b/xinquan-modules/xinquan-order/src/main/java/com/xinquan/order/service/impl/OrderServiceImpl.java @@ -99,7 +99,7 @@ Meditation meditation = remoteMeditationService.getMeditationById(targetId, SecurityConstants.INNER).getData(); String meditationTitle = meditation.getMeditationTitle(); - String detailDescription = meditation.getDetailDescription(); + String detailDescription = "购买疗愈音频"; String wxOpenId = appUser.getWxOpenId(); // 创建订单 String orderNo = OrderUtil.getOrderNoForPrefix("MX"); @@ -117,7 +117,9 @@ this.save(order); }else{ order = this.getById(orderId); + order.setBizOrderNo(orderNo); order.setBuyContent("购买疗愈【"+meditationTitle+"】"); + this.updateById(order); } Long orderId9 = order.getId(); @@ -147,12 +149,12 @@ order.setBuyContent("购买疗愈【"+meditationTitle+"】"); this.updateById(order); // 创建支付订单 - createPayment(payType, orderNo, needPayAmount, meditationTitle, detailDescription, + createPayment(payType, orderNo, needPayAmount, meditationTitle, "购买疗愈", wxOpenId, orderId9, clientPlaceOrderVO); } else { // 创建支付订单 createPayment(payType, orderNo, type==null?order.getRealPayAmount():order.getRealPayAmount(), meditationTitle, - detailDescription, wxOpenId, orderId9, clientPlaceOrderVO); + "购买疗愈", wxOpenId, orderId9, clientPlaceOrderVO); } } else if (orderFrom == 2){ @@ -160,7 +162,7 @@ Course course = remoteCourseService.getCourseById(targetId).getData(); String courseTitle = course.getCourseTitle(); String wxOpenId = appUser.getWxOpenId(); - String description = course.getDescription(); + String description = "购买课程"; // 创建订单 String orderNo = OrderUtil.getOrderNoForPrefix("KC"); @@ -178,6 +180,8 @@ }else{ order = this.getById(orderId); order.setBuyContent("购买课程【"+courseTitle+"】"); + order.setBizOrderNo(orderNo); + this.updateById(order); } Long orderId8 = order.getId(); @@ -209,12 +213,12 @@ this.updateById(order); // 创建支付订单 - createPayment(payType, orderNo, needPayAmount, courseTitle, description, + createPayment(payType, orderNo, needPayAmount, courseTitle, "购买课程", wxOpenId, orderId8, clientPlaceOrderVO); } else { // 创建支付订单 createPayment(payType, orderNo, order.getRealPayAmount(), courseTitle, - description, wxOpenId, orderId8, clientPlaceOrderVO); + "购买课程", wxOpenId, orderId8, clientPlaceOrderVO); } } else if (orderFrom == 3){ @@ -299,7 +303,12 @@ balancePaymentRecord.setPayAmount(one.getRealPayAmount()); balancePaymentRecord.setPaymentType(PaymentTypeEnum.BALANCE_PAY.getCode()); balancePaymentRecord.setPaymentStatus(PaymentStatusEnum.COMPLETED.getCode()); - orderPaymentRecordService.save(balancePaymentRecord); + List<OrderPaymentRecord> list = orderPaymentRecordService.lambdaQuery().eq(OrderPaymentRecord::getOrderId, orderId) + .eq(OrderPaymentRecord::getPaymentType, 4).list(); + if (list.isEmpty()){ + orderPaymentRecordService.save(balancePaymentRecord); + } + return new BigDecimal("0"); }else { // 更新用户余额 @@ -313,7 +322,11 @@ balancePaymentRecord.setPaymentType(PaymentTypeEnum.BALANCE_PAY.getCode()); balancePaymentRecord.setPaymentStatus(PaymentStatusEnum.COMPLETED.getCode()); balancePaymentRecord.setPayAmount(appUser.getBalance()); - orderPaymentRecordService.save(balancePaymentRecord); + List<OrderPaymentRecord> list = orderPaymentRecordService.lambdaQuery().eq(OrderPaymentRecord::getOrderId, orderId) + .eq(OrderPaymentRecord::getPaymentType, 4).list(); + if (list.isEmpty()){ + orderPaymentRecordService.save(balancePaymentRecord); + } // 计算除去余额还需支付的金额 return one.getRealPayAmount() .subtract(appUser.getBalance()); @@ -372,7 +385,14 @@ clientPlaceOrderVO.setOrderId(payInfo.getString("id")); paymentRecord.setPaymentStatus(PaymentStatusEnum.TO_BE_PAID.getCode()); paymentRecord.setPayAmount(needPayAmount); - orderPaymentRecordService.save(paymentRecord); + OrderPaymentRecord list = orderPaymentRecordService.lambdaQuery().eq(OrderPaymentRecord::getOrderId, orderId) + .ne(OrderPaymentRecord::getPaymentType, 4).one(); + if (list==null){ + orderPaymentRecordService.save(paymentRecord); + }else{ + list.setPayOrderNo(payInfo.getString("id")); + orderPaymentRecordService.updateById(list); + } // 设置订单是否需要支付标识 clientPlaceOrderVO.setZeroFlag(DisabledEnum.NO.getCode()); }else{ @@ -396,7 +416,14 @@ paymentRecord.setPaymentType(PaymentTypeEnum.ALI_PAY.getCode()); paymentRecord.setPaymentStatus(PaymentStatusEnum.TO_BE_PAID.getCode()); paymentRecord.setPayOrderNo(payInfo.getString("id")); - orderPaymentRecordService.save(paymentRecord); + OrderPaymentRecord list = orderPaymentRecordService.lambdaQuery().eq(OrderPaymentRecord::getOrderId, orderId) + .ne(OrderPaymentRecord::getPaymentType, 4).one(); + if (list==null){ + orderPaymentRecordService.save(paymentRecord); + }else{ + list.setPayOrderNo(payInfo.getString("id")); + orderPaymentRecordService.updateById(list); + } clientPlaceOrderVO.setPayAmt(payInfo.getString("pay_amt")); clientPlaceOrderVO.setOrderId(payInfo.getString("id")); // 设置订单是否需要支付标识 @@ -622,7 +649,9 @@ byId.setRefundRemark("后台退款"); byId.setRefundTime(LocalDateTime.now()); byId.setPaymentStatus(3); + byId.setCancelTime(LocalDateTime.now()); two.setPaymentStatus(3); + this.updateById(byId); orderPaymentRecordService.updateById(two); switch (byId.getOrderFrom()){ @@ -668,6 +697,7 @@ byId.setRefundRemark("后台退款"); byId.setRefundTime(LocalDateTime.now()); byId.setPaymentStatus(3); + byId.setCancelTime(LocalDateTime.now()); two.setPaymentStatus(3); this.updateById(byId); orderPaymentRecordService.updateById(two); @@ -703,6 +733,7 @@ return refund.getString("error_msg"); } one.setPaymentStatus(3); + orderPaymentRecordService.updateById(one); String string = refund.getString("payment_id"); if (string!=null){ -- Gitblit v1.7.1