CouponReceiveMapper.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.ylx.massage.mapper;
  2. import java.time.LocalDateTime;
  3. import java.util.List;
  4. import java.util.Map;
  5. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  6. import com.ylx.massage.domain.vo.CouponReceiveVo;
  7. import org.apache.ibatis.annotations.Param;
  8. import com.ylx.massage.domain.CouponReceive;
  9. import org.apache.ibatis.annotations.Select;
  10. /**
  11. * 优惠券领取表(CouponReceive)表数据库访问层
  12. *
  13. * @author makejava
  14. * @since 2024-05-14 11:25:44
  15. */
  16. public interface CouponReceiveMapper extends BaseMapper<CouponReceive> {
  17. /**
  18. * 批量新增数据(MyBatis原生foreach方法)
  19. *
  20. * @param entities List<CouponReceive> 实例对象列表
  21. * @return 影响行数
  22. */
  23. int insertBatch(@Param("entities") List<CouponReceive> entities);
  24. /**
  25. * 批量新增或按主键更新数据(MyBatis原生foreach方法)
  26. *
  27. * @param entities List<CouponReceive> 实例对象列表
  28. * @return 影响行数
  29. * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
  30. */
  31. int insertOrUpdateBatch(@Param("entities") List<CouponReceive> entities);
  32. List<CouponReceiveVo> getByOpenId(String openid);
  33. Map<String, Object> selectCouponDetailForCalc(@Param("couponId") String couponId,
  34. @Param("openId") String openId);
  35. // 乐观锁核销
  36. int useCouponOptimisticLock(@Param("couponId") String couponId,
  37. @Param("openId") String openId,
  38. @Param("orderId") Long orderId,
  39. @Param("orderType") Integer orderType,
  40. @Param("useTime") LocalDateTime useTime);
  41. // 使用数量 +1
  42. int incrementUsedNum(@Param("couponId") String couponId);
  43. // 乐观锁退还
  44. int returnCouponOptimisticLock(@Param("couponId") String couponId,
  45. @Param("openId") String openId,
  46. @Param("orderId") Long orderId);
  47. // 使用数量 -1
  48. int decrementUsedNum(@Param("couponId") String couponId);
  49. }