package cn.lili.event.impl; import cn.hutool.core.text.CharSequenceUtil; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.event.MemberRegisterEvent; import cn.lili.modules.member.entity.dos.Member; import cn.lili.modules.member.service.MemberService; import cn.lili.modules.promotion.entity.dto.CouponActivityTrigger; import cn.lili.modules.promotion.entity.enums.CouponActivityTypeEnum; import cn.lili.modules.promotion.service.CouponActivityService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; /** * 注册赠券活动 * * @author Bulbasaur * @since 2021/5/24 10:48 上午 */ @Component public class RegisteredCouponActivityExecute implements MemberRegisterEvent { @Autowired private CouponActivityService couponActivityService; @Autowired private MemberService memberService; @Autowired private Cache cache; /** * 获取进行中的注册赠券的优惠券活动 * 发送注册赠券 * * @param member 会员 */ @Override public void memberRegister(Member member) { //用户注册赠券 couponActivityService.trigger(CouponActivityTrigger.builder() .nickName(member.getNickName()) .userId(member.getId()) .couponActivityTypeEnum(CouponActivityTypeEnum.REGISTERED) .build()); //邀请人赠券 String memberId = (String) cache.get(CachePrefix.INVITER.getPrefix() + member.getId()); if (CharSequenceUtil.isNotEmpty(memberId)) { //邀请人 Member inviter = memberService.getById(memberId); couponActivityService.trigger(CouponActivityTrigger.builder() .nickName(inviter.getNickName()) .userId(inviter.getId()) .couponActivityTypeEnum(CouponActivityTypeEnum.INVITE_NEW) .build()); } } }