diff --git a/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java b/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java index 7727c78..e30e6f1 100644 --- a/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/impl/mobile/WxPayServiceImpl.java @@ -35,6 +35,7 @@ import com.ycwl.basic.mapper.VideoMapper; import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq; import com.ycwl.basic.model.pc.order.entity.OrderEntity; import com.ycwl.basic.model.pc.order.entity.OrderItemEntity; +import com.ycwl.basic.model.pc.order.req.OrderUpdateReq; import com.ycwl.basic.model.pc.order.resp.OrderRespVO; import com.ycwl.basic.model.pc.payment.entity.PaymentEntity; import com.ycwl.basic.model.pc.source.entity.MemberSourceEntity; @@ -45,9 +46,6 @@ import com.ycwl.basic.model.wx.WxchatCallbackSuccessData; import com.ycwl.basic.repository.OrderRepository; import com.ycwl.basic.service.HttpService; import com.ycwl.basic.service.mobile.WxPayService; -import com.ycwl.basic.service.pc.OrderService; -import com.ycwl.basic.utils.ApiResponse; -import com.ycwl.basic.utils.DateUtils; import com.ycwl.basic.utils.SnowFlakeUtil; import com.ycwl.basic.utils.WXPayUtil; import lombok.extern.slf4j.Slf4j; @@ -89,8 +87,6 @@ public class WxPayServiceImpl implements WxPayService { @Autowired private WechatConfig wechatConfig; @Autowired - private OrderService orderService; - @Autowired private PaymentMapper paymentMapper; @Autowired private StatisticsMapper statisticsMapper; @@ -98,6 +94,8 @@ public class WxPayServiceImpl implements WxPayService { private OrderRepository orderRepository; @Autowired private OrderBiz orderBiz; + @Autowired + private OrderMapper orderMapper; @Override public WxPayRespVO createOrder(WXPayOrderReqVO req) { @@ -244,9 +242,9 @@ public class WxPayServiceImpl implements WxPayService { } @Override - public Boolean refundOrder(String orderId) throws Exception { - OrderRespVO orderDetail = orderService.detail(Long.parseLong(orderId)).getData(); - BigDecimal payPrice = orderDetail.getPayPrice(); + public Boolean refundOrder(String orderId) { + OrderEntity order = orderRepository.getOrder(Long.parseLong(orderId)); + BigDecimal payPrice = order.getPayPrice(); long priceInCents = payPrice.multiply(new BigDecimal(NumberConstant.HUNDRED)).longValue(); // 转换为分(int) Config config = @@ -269,7 +267,11 @@ public class WxPayServiceImpl implements WxPayService { request.setOutRefundNo(SnowFlakeUtil.getId()); Refund refundResult = service.create(request); if (refundResult.getStatus() == SUCCESS) { - orderService.updateOrderState(Long.parseLong(orderId), OrderStateEnum.REFUNDED, null); + OrderUpdateReq orderUpdateReq = new OrderUpdateReq(); + orderUpdateReq.setId(Long.parseLong(orderId)); + orderUpdateReq.setRefundStatus(OrderStateEnum.REFUNDED.getType()); + orderUpdateReq.setRefundAt(new Date()); + orderMapper.update(orderUpdateReq); return true; } else { return false;