fix: 修复售后订单完成后没有返还优惠券问题
This commit is contained in:
parent
8391596e2a
commit
4ea6660402
@ -2,11 +2,14 @@ package cn.lili.event.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.collection.ListUtil;
|
||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
|
import cn.lili.event.AfterSaleStatusChangeEvent;
|
||||||
import cn.lili.event.OrderStatusChangeEvent;
|
import cn.lili.event.OrderStatusChangeEvent;
|
||||||
|
import cn.lili.modules.order.aftersale.entity.dos.AfterSale;
|
||||||
import cn.lili.modules.order.order.entity.dos.Order;
|
import cn.lili.modules.order.order.entity.dos.Order;
|
||||||
import cn.lili.modules.order.order.entity.dto.OrderMessage;
|
import cn.lili.modules.order.order.entity.dto.OrderMessage;
|
||||||
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
|
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
|
||||||
import cn.lili.modules.order.order.service.OrderService;
|
import cn.lili.modules.order.order.service.OrderService;
|
||||||
|
import cn.lili.modules.order.trade.entity.enums.AfterSaleStatusEnum;
|
||||||
import cn.lili.modules.promotion.service.MemberCouponService;
|
import cn.lili.modules.promotion.service.MemberCouponService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -18,7 +21,7 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2022/8/12
|
* @since 2022/8/12
|
||||||
**/
|
**/
|
||||||
@Service
|
@Service
|
||||||
public class MemberCouponExecute implements OrderStatusChangeEvent {
|
public class MemberCouponExecute implements OrderStatusChangeEvent, AfterSaleStatusChangeEvent {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单
|
* 订单
|
||||||
@ -33,15 +36,30 @@ public class MemberCouponExecute implements OrderStatusChangeEvent {
|
|||||||
public void orderChange(OrderMessage orderMessage) {
|
public void orderChange(OrderMessage orderMessage) {
|
||||||
// 订单取消返还优惠券
|
// 订单取消返还优惠券
|
||||||
if (orderMessage.getNewStatus() == OrderStatusEnum.CANCELLED) {
|
if (orderMessage.getNewStatus() == OrderStatusEnum.CANCELLED) {
|
||||||
Order order = orderService.getBySn(orderMessage.getOrderSn());
|
this.refundCoupon(orderMessage.getOrderSn());
|
||||||
if (CharSequenceUtil.isNotEmpty(order.getUseStoreMemberCouponIds())) {
|
|
||||||
memberCouponService.recoveryMemberCoupon(ListUtil.toList(order.getUseStoreMemberCouponIds().split(",")));
|
|
||||||
}
|
|
||||||
if (CharSequenceUtil.isNotEmpty(order.getUsePlatformMemberCouponId())) {
|
|
||||||
memberCouponService.recoveryMemberCoupon(ListUtil.toList(order.getUsePlatformMemberCouponId().split(",")));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterSaleStatusChange(AfterSale afterSale) {
|
||||||
|
// 售后完成返还优惠券
|
||||||
|
if (afterSale.getServiceStatus().equals(AfterSaleStatusEnum.COMPLETE.name())) {
|
||||||
|
this.refundCoupon(afterSale.getOrderSn());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退款返还优惠券
|
||||||
|
* @param orderSn 订单编号
|
||||||
|
*/
|
||||||
|
private void refundCoupon(String orderSn) {
|
||||||
|
Order order = orderService.getBySn(orderSn);
|
||||||
|
if (CharSequenceUtil.isNotEmpty(order.getUseStoreMemberCouponIds())) {
|
||||||
|
memberCouponService.recoveryMemberCoupon(ListUtil.toList(order.getUseStoreMemberCouponIds().split(",")));
|
||||||
|
}
|
||||||
|
if (CharSequenceUtil.isNotEmpty(order.getUsePlatformMemberCouponId())) {
|
||||||
|
memberCouponService.recoveryMemberCoupon(ListUtil.toList(order.getUsePlatformMemberCouponId().split(",")));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user