CouponFontService.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.cyksj.service.coupon;
  2. import cn.hutool.core.date.DateTime;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.cyksj.model.entity.CouponUser;
  5. import com.cyksj.model.entity.OrderDon;
  6. import com.cyksj.model.request.ChannelPopularizeCouponReq;
  7. import com.cyksj.model.request.CouponCollectReq;
  8. import com.cyksj.model.views.CouponUserView;
  9. /*
  10. *项目名: netflix
  11. *文件名: CouponFontService
  12. *创建者: JavaZou
  13. *创建时间:2022/11/18 13:34
  14. */
  15. public interface CouponFontService {
  16. /**
  17. * 领取优惠券
  18. */
  19. void collectCoupon(CouponCollectReq couponCollectReq, Long userId);
  20. /**
  21. * 领取推荐优惠券
  22. */
  23. void collectRecommendCoupon(CouponCollectReq couponCollectReq, Long userId);
  24. /**
  25. * 一键领取推荐优惠券
  26. */
  27. void collectWholeRecommendCoupon(Long userId);
  28. /**
  29. * 可用/不可用优惠券
  30. */
  31. Page<CouponUserView> getAvailableCouponList(Long skuId, Long couponId, Long userId, Boolean isRenew, Long start, Long limit);
  32. /**
  33. * 优惠券状态
  34. */
  35. void setCouponUserStatus(CouponUserView data, DateTime now);
  36. Integer collectRecommendCouponNum(Long userId, Boolean isNewUser);
  37. /**
  38. * 更新优惠券有效时间
  39. */
  40. void updateCouponUserValidTime(Long couponId, CouponUser couponUser);
  41. /**
  42. * 归还优惠券
  43. */
  44. void updateOrderDonCouponStatus(OrderDon orderDon);
  45. /**
  46. * 渠道推广用户领取优惠券
  47. */
  48. void receiveChannelPopularizeCoupon(ChannelPopularizeCouponReq req);
  49. /**
  50. * 渠道推广一键领取优惠券
  51. */
  52. void collectAllChannelCoupons(long userId, Long popularizeId);
  53. /**
  54. * 新用户福利优惠券
  55. */
  56. CouponUserView getNewUserWelfareCoupons(long userId, Long couponId);
  57. CouponUserView getCouponDetailById(long userId, Long couponId);
  58. CouponUserView receiveCoupon(long userId, Long couponId, CouponUser.Channel channel);
  59. }