package com.webmanage.service; import com.baomidou.mybatisplus.extension.service.IService; import com.webmanage.common.PageResult; import com.webmanage.dto.AddPointsFlowDTO; import com.webmanage.dto.DeductUserPointsDTO; import com.webmanage.dto.PointsFlowQueryDTO; import com.webmanage.entity.PointsFlow; import com.webmanage.entity.UserPoints; import java.util.List; /** * 积分流水Service接口 */ public interface PointsFlowService extends IService { /** * 分页查询个人积分流水 */ PageResult getPersonalPointsFlowPage(PointsFlowQueryDTO queryDTO); /** * 分页查询单位积分流水 */ PageResult getUnitPointsFlowPage(PointsFlowQueryDTO queryDTO); /** * 根据用户ID查询积分流水 */ List getPointsFlowByUserId(Long userId); /** * 根据单位ID查询积分流水 */ List getPointsFlowByUnitId(Long unitId); /** * 新增积分流水(根据规则自动计算) */ boolean addPointsFlowByRule(AddPointsFlowDTO addPointsFlowDTO); /** * 扣减用户积分 */ boolean deductUserPoints(DeductUserPointsDTO deductDTO); /** * 获取用户积分统计 */ UserPoints getUserPointsTotal(String userId); /** * 获取单位积分统计 */ UserPoints getUnitPointsTotal(Long unitId); /** * 获取积分流水数据类目列表 */ List getPointsFlowCategories(); }