package com.ylx.point.service; public interface IPointAccountService { /** * 增加用户积分 * @param openId 用户openId * @param points 积分数量(正数) * @param activityName 活动名称 * @param bizOrderNo 业务订单号 * @param activityId 活动ID * @param taskId 任务ID * @param taskType 任务类型 * @return 变动后的余额 */ Integer addPoints(String openId, int points, String activityName, String bizOrderNo, Long activityId, Long taskId, Integer taskType); /** * 扣减用户积分(用于积分商品下单) * 扣减顺序:先获取的先扣减(FIFO原则) * @param openId 用户openId * @param pointsToDeduct 需要扣减的积分数量(正数) * @param bizOrderNo 业务订单号 * @param activityName 活动名称(如:积分商品兑换) * @return 变动后的余额 */ Integer deductPoints(String openId, int pointsToDeduct, String bizOrderNo, String activityName); /** * 退款积分(用于积分商品退款) * 退回的积分没有过期时间 * @param openId 用户openId * @param pointsToRefund 需要退回的积分数量(正数) * @param bizOrderNo 业务订单号 * @param activityName 活动名称(如:积分商品退款) * @return 变动后的余额 */ Integer refundPoints(String openId, int pointsToRefund, String bizOrderNo, String activityName); }