| | |
| | | @Override |
| | | @CacheEvict(key = "#memberId") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void receiveCoupon(String couponId, String memberId, String memberName) { |
| | | public MemberCoupon receiveCoupon(String couponId, String memberId, String memberName) { |
| | | Coupon coupon = couponService.getById(couponId); |
| | | if (coupon != null) { |
| | | this.receiverCoupon(couponId, memberId, memberName, coupon); |
| | | return this.receiverCoupon(couponId, memberId, memberName, coupon); |
| | | } else { |
| | | throw new ServiceException(ResultCode.COUPON_NOT_EXIST); |
| | | } |
| | |
| | | return this.update(updateWrapper); |
| | | } |
| | | |
| | | private void receiverCoupon(String couponId, String memberId, String memberName, Coupon coupon) { |
| | | private MemberCoupon receiverCoupon(String couponId, String memberId, String memberName, Coupon coupon) { |
| | | this.checkCouponLimit(couponId, memberId); |
| | | MemberCoupon memberCoupon = new MemberCoupon(coupon); |
| | | memberCoupon.setMemberId(memberId); |
| | |
| | | memberCoupon.setPlatformFlag((PromotionTools.PLATFORM_ID).equals(coupon.getStoreId())); |
| | | this.save(memberCoupon); |
| | | couponService.receiveCoupon(couponId, 1); |
| | | return memberCoupon; |
| | | } |
| | | } |