diff --git a/consumer/src/main/java/cn/lili/event/impl/MemberPointExecute.java b/consumer/src/main/java/cn/lili/event/impl/MemberPointExecute.java index 5083bb79..5d3a7d33 100644 --- a/consumer/src/main/java/cn/lili/event/impl/MemberPointExecute.java +++ b/consumer/src/main/java/cn/lili/event/impl/MemberPointExecute.java @@ -1,6 +1,7 @@ package cn.lili.event.impl; +import cn.hutool.core.convert.Convert; import cn.lili.common.utils.CurrencyUtil; import cn.lili.common.utils.StringUtils; import cn.lili.event.AfterSaleStatusChangeEvent; @@ -98,6 +99,12 @@ public class MemberPointExecute implements MemberRegisterEvent, GoodsCommentComp //赠送会员积分 memberService.updateMemberPoint(point.longValue(), PointTypeEnum.INCREASE.name(), order.getMemberId(), "会员下单,赠送积分" + point + "分"); //取消订单恢复积分 + } else if (orderMessage.getNewStatus().equals(OrderStatusEnum.CANCELLED)) { + //根据订单编号获取订单数据,如果为积分订单则跳回 + Order order = orderService.getBySn(orderMessage.getOrderSn()); + if (order.getOrderPromotionType().equals(OrderPromotionTypeEnum.POINTS.name()) && order.getPriceDetailDTO().getPayPoint() != null) { + memberService.updateMemberPoint(Convert.toLong(order.getPriceDetailDTO().getPayPoint()), PointTypeEnum.INCREASE.name(), order.getMemberId(), "订单取消,恢复积分:" + order.getPriceDetailDTO().getPayPoint() + "分"); + } } }