CouponReceiveService.java 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.ylx.coupon.service;
  2. import com.baomidou.mybatisplus.extension.service.IService;
  3. import com.ylx.common.core.domain.R;
  4. import com.ylx.coupon.domain.Coupon;
  5. import com.ylx.coupon.domain.CouponReceive;
  6. import com.ylx.massage.domain.vo.ClaimCouponRequestVO;
  7. import com.ylx.massage.domain.vo.CouponReceiveVo;
  8. import com.ylx.massage.domain.vo.CouponReceivesVO;
  9. import java.time.LocalDateTime;
  10. import java.util.List;
  11. import java.util.Map;
  12. /**
  13. * 优惠券领取表(CouponReceive)表服务接口
  14. *
  15. * @author makejava
  16. * @since 2024-05-14 11:25:45
  17. */
  18. public interface CouponReceiveService extends IService<CouponReceive> {
  19. /**
  20. * 领取优惠券
  21. * @param couponReceive
  22. * @return Coupon
  23. */
  24. Coupon submit(CouponReceive couponReceive);
  25. /**
  26. * 领取优惠券
  27. * @param couponReceive
  28. * @return
  29. */
  30. Integer submits(CouponReceivesVO couponReceive);
  31. /**
  32. * 领取优惠券
  33. * @param claimCouponRequestVO
  34. * @return R<?>
  35. */
  36. R<?> receiveVolution(ClaimCouponRequestVO claimCouponRequestVO);
  37. List<CouponReceiveVo> getByOpenId(String openid);
  38. void removeCoupons(List<CouponReceiveVo> coupons);
  39. List<Coupon> couponWindows(CouponReceive couponReceive);
  40. Map<String, Object> selectCouponDetailForCalc(String couponId, String openId);
  41. int useCouponOptimisticLock(String couponId, String openId, Long orderId, Integer orderType, LocalDateTime now);
  42. int incrementUsedNum(String couponId);
  43. int returnCouponOptimisticLock(String couponId, String openId, Long orderId);
  44. void decrementUsedNum(String couponId);
  45. }