IPointAccountService.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.ylx.point.service;
  2. import com.ylx.point.domain.dto.ApiAddPointsDTO;
  3. public interface IPointAccountService {
  4. /**
  5. * 增加用户积分
  6. *
  7. * @param openId 用户openId
  8. * @param points 积分数量(正数)
  9. * @param activityName 活动名称
  10. * @param bizOrderNo 业务订单号
  11. * @param activityId 活动ID
  12. * @param taskId 任务ID
  13. * @param taskType 任务类型
  14. * @param taskName 任务名称
  15. * @return 变动后的余额
  16. */
  17. Integer addPoints(String openId, int points, String activityName, String bizOrderNo, Long activityId, Long taskId, Integer taskType, String taskName);
  18. /**
  19. * 扣减用户积分(用于积分商品下单)
  20. * 扣减顺序:先获取的先扣减(FIFO原则)
  21. *
  22. * @param openId 用户openId
  23. * @param pointsToDeduct 需要扣减的积分数量(正数)
  24. * @param bizOrderNo 业务订单号
  25. * @param taskName 任务名称(如:积分商品兑换)
  26. * @return Integer 变动后的余额
  27. */
  28. Integer deductPoints(String openId, int pointsToDeduct, String bizOrderNo, String taskName);
  29. /**
  30. * 退款积分(用于积分商品退款)
  31. * 退回的积分没有过期时间
  32. *
  33. * @param openId 用户openId
  34. * @param pointsToRefund 需要退回的积分数量(正数)
  35. * @param bizOrderNo 业务订单号
  36. * @param activityName 活动名称(如:积分商品退款)
  37. * @return 变动后的余额
  38. */
  39. Integer refundPoints(String openId, int pointsToRefund, String bizOrderNo, String activityName);
  40. void apiAddPoints(ApiAddPointsDTO dto);
  41. }