From ed4f07531b9cb0794e976a14cee3b591dec8d4f6 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期六, 20 七月 2024 21:22:23 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java | 26 ++++++++++++++++++++++++-- 1 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java index 5870ba1..3937bb6 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java @@ -8,6 +8,7 @@ import com.ruoyi.common.core.enums.AuditStatusEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.PaymentMethodEnum; +import com.ruoyi.common.core.enums.PointStatusEnum; import com.ruoyi.common.core.enums.RequestTypeEnum; import com.ruoyi.common.core.enums.ReturnRequestStatusEnum; import com.ruoyi.common.core.exception.ServiceException; @@ -28,11 +29,14 @@ import com.ruoyi.system.api.domain.Order; import com.ruoyi.system.api.domain.dto.LogisticsDTO; import com.ruoyi.system.api.domain.dto.MemberDTO; +import com.ruoyi.system.api.domain.dto.MemberPointsDTO; import com.ruoyi.system.api.domain.dto.OrderReturnDTO; +import com.ruoyi.system.api.domain.dto.updMembeOneDTO; import com.ruoyi.system.api.domain.vo.Express100VO; import com.ruoyi.system.api.domain.vo.OrderReturnVO; import com.ruoyi.system.api.feignClient.MemberClient; import com.ruoyi.system.api.feignClient.SysUserClient; +import io.seata.spring.annotation.GlobalTransactional; import java.time.LocalDateTime; import java.util.List; import java.util.Map; @@ -248,7 +252,8 @@ } @Override - @Transactional(rollbackFor = Exception.class) + @GlobalTransactional(rollbackFor = Exception.class) + @Transactional public void confirmReturnRequest(Long id) { OrderReturnRequest orderReturnRequest = getOrderReturnRequest(id); if (orderReturnRequest.getStatus() @@ -268,14 +273,31 @@ String orderNo = order.getOrderNo(); Paylog paylog = paylogService.lambdaQuery().eq(Paylog::getOutTradeNo, orderNo) .last("limit 1").one(); - PaymentMethodEnum paymentMethod = order.getPaymentMethod(); if (StringUtils.isNotNull(paylog)) { + PaymentMethodEnum paymentMethod = order.getPaymentMethod(); boolean result = handleRefund(paymentMethod, paylog, orderNo); if (result) { paylog.setState(3);// 已退款 paylogService.updateById(paylog); } } + // 扣除订单积分 + Member member = memberClient.getMembeOne(order.getMemberId(), SecurityConstants.INNER) + .getData(); + if (StringUtils.isNotNull(member)) { + MemberPointsDTO memberPointsDTO = new MemberPointsDTO(); + memberPointsDTO.setMemberId(order.getMemberId()); + memberPointsDTO.setPointsType(1); + memberPointsDTO.setPointsStatus(PointStatusEnum.INCREASE); + memberPointsDTO.setPoints(order.getPoints()); + memberClient.addMemberPoints(memberPointsDTO); + + updMembeOneDTO updMembeOneDTO = new updMembeOneDTO(); + updMembeOneDTO.setMemberId(order.getMemberId()); + updMembeOneDTO.setType(2); + updMembeOneDTO.setTotalPoints(Math.max(member.getTotalPoints() - order.getPoints(), 0)); + memberClient.updMembeOne(updMembeOneDTO, SecurityConstants.INNER); + } } private boolean handleRefund(PaymentMethodEnum paymentMethod, Paylog paylog, String orderNo) { -- Gitblit v1.7.1