commit
9eba3287b2
@ -0,0 +1,46 @@
|
|||||||
|
package cn.lili.event.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.ListUtil;
|
||||||
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
|
import cn.lili.event.OrderStatusChangeEvent;
|
||||||
|
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.enums.OrderStatusEnum;
|
||||||
|
import cn.lili.modules.order.order.service.OrderService;
|
||||||
|
import cn.lili.modules.promotion.service.MemberCouponService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 会员优惠券执行类
|
||||||
|
*
|
||||||
|
* @author paulG
|
||||||
|
* @since 2022/8/12
|
||||||
|
**/
|
||||||
|
@Service
|
||||||
|
public class MemberCouponExecute implements OrderStatusChangeEvent {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单
|
||||||
|
*/
|
||||||
|
@Autowired
|
||||||
|
private OrderService orderService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MemberCouponService memberCouponService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void orderChange(OrderMessage orderMessage) {
|
||||||
|
// 订单取消返还优惠券
|
||||||
|
if (orderMessage.getNewStatus() == OrderStatusEnum.CANCELLED) {
|
||||||
|
Order order = orderService.getBySn(orderMessage.getOrderSn());
|
||||||
|
if (CharSequenceUtil.isNotEmpty(order.getUseStoreMemberCouponIds())) {
|
||||||
|
memberCouponService.recoveryMemberCoupon(ListUtil.toList(order.getUseStoreMemberCouponIds().split(",")));
|
||||||
|
} else if (CharSequenceUtil.isNotEmpty(order.getUsePlatformMemberCouponId())) {
|
||||||
|
memberCouponService.recoveryMemberCoupon(ListUtil.toList(order.getUsePlatformMemberCouponId().split(",")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -6,6 +6,7 @@ import cn.lili.common.enums.ClientTypeEnum;
|
|||||||
import cn.lili.common.enums.PromotionTypeEnum;
|
import cn.lili.common.enums.PromotionTypeEnum;
|
||||||
import cn.lili.common.utils.BeanUtil;
|
import cn.lili.common.utils.BeanUtil;
|
||||||
import cn.lili.modules.goods.entity.enums.GoodsTypeEnum;
|
import cn.lili.modules.goods.entity.enums.GoodsTypeEnum;
|
||||||
|
import cn.lili.modules.order.cart.entity.dto.MemberCouponDTO;
|
||||||
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
|
import cn.lili.modules.order.cart.entity.dto.TradeDTO;
|
||||||
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
|
import cn.lili.modules.order.cart.entity.enums.CartTypeEnum;
|
||||||
import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum;
|
import cn.lili.modules.order.cart.entity.enums.DeliveryMethodEnum;
|
||||||
@ -238,8 +239,8 @@ public class Order extends BaseEntity {
|
|||||||
//店铺优惠券判定
|
//店铺优惠券判定
|
||||||
if (tradeDTO.getStoreCoupons() != null && !tradeDTO.getStoreCoupons().isEmpty()) {
|
if (tradeDTO.getStoreCoupons() != null && !tradeDTO.getStoreCoupons().isEmpty()) {
|
||||||
StringBuilder storeCouponIds = new StringBuilder();
|
StringBuilder storeCouponIds = new StringBuilder();
|
||||||
for (String s : tradeDTO.getStoreCoupons().keySet()) {
|
for (MemberCouponDTO value : tradeDTO.getStoreCoupons().values()) {
|
||||||
storeCouponIds.append(s).append(",");
|
storeCouponIds.append(value.getMemberCoupon().getId()).append(",");
|
||||||
}
|
}
|
||||||
this.setUseStoreMemberCouponIds(storeCouponIds.toString());
|
this.setUseStoreMemberCouponIds(storeCouponIds.toString());
|
||||||
}
|
}
|
||||||
|
@ -139,4 +139,12 @@ public interface MemberCouponService extends IService<MemberCoupon> {
|
|||||||
*/
|
*/
|
||||||
void closeMemberCoupon(List<String> couponIds);
|
void closeMemberCoupon(List<String> couponIds);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 恢复会员优惠券
|
||||||
|
*
|
||||||
|
* @param memberCouponIds 会员优惠券id列表
|
||||||
|
* @return 是否恢复成功
|
||||||
|
*/
|
||||||
|
boolean recoveryMemberCoupon(List<String> memberCouponIds);
|
||||||
|
|
||||||
}
|
}
|
@ -285,6 +285,14 @@ public class MemberCouponServiceImpl extends ServiceImpl<MemberCouponMapper, Mem
|
|||||||
this.update(memberCouponLambdaUpdateWrapper);
|
this.update(memberCouponLambdaUpdateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean recoveryMemberCoupon(List<String> memberCouponIds) {
|
||||||
|
LambdaUpdateWrapper<MemberCoupon> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
|
updateWrapper.in(MemberCoupon::getId, memberCouponIds);
|
||||||
|
updateWrapper.set(MemberCoupon::getMemberCouponStatus, MemberCouponStatusEnum.NEW.name());
|
||||||
|
return this.update(updateWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 清除无效的会员优惠券
|
* 清除无效的会员优惠券
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user