| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @GlobalTransactional(rollbackFor = Exception.class) |
| | | @Transactional |
| | | public void confirmReturnRequest(Long id) { |
| | | OrderReturnRequest orderReturnRequest = getOrderReturnRequest(id); |
| | | if (orderReturnRequest.getStatus() |
| | |
| | | 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) { |