56 lines
1.4 KiB
Java
56 lines
1.4 KiB
Java
package com.emotion.service;
|
|
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
|
import com.emotion.common.PageResult;
|
|
import com.emotion.dto.request.UserStatsCreateRequest;
|
|
import com.emotion.dto.request.UserStatsIncrementRequest;
|
|
import com.emotion.dto.request.UserStatsPageRequest;
|
|
import com.emotion.dto.request.UserStatsUpdateValueRequest;
|
|
import com.emotion.dto.response.UserStatsResponse;
|
|
import com.emotion.entity.UserStats;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 用户统计服务接口
|
|
*
|
|
* @author huazhongmin
|
|
* @date 2025-07-23
|
|
*/
|
|
public interface UserStatsService extends IService<UserStats> {
|
|
|
|
/**
|
|
* 分页查询用户统计响应
|
|
*/
|
|
PageResult<UserStatsResponse> getPageWithResponse(UserStatsPageRequest request);
|
|
|
|
/**
|
|
* 更新用户统计值
|
|
*/
|
|
boolean updateStatsValue(UserStatsUpdateValueRequest request);
|
|
|
|
/**
|
|
* 增加用户统计值
|
|
*/
|
|
boolean incrementStatsValue(UserStatsIncrementRequest request);
|
|
|
|
/**
|
|
* 重新计算用户统计
|
|
*/
|
|
boolean recalculateUserStats(String userId);
|
|
|
|
/**
|
|
* 重新计算所有用户统计
|
|
*/
|
|
boolean recalculateAllUserStats();
|
|
|
|
/**
|
|
* 创建或更新用户统计响应
|
|
*/
|
|
UserStatsResponse createOrUpdateUserStatsWithResponse(UserStatsCreateRequest request);
|
|
|
|
/**
|
|
* 删除过期的统计数据
|
|
*/
|
|
boolean deleteExpiredStats(Integer days);
|
|
} |