package com.zhentao.service;

import com.zhentao.common.PageResult;
import com.zhentao.dto.DynamicQueryDTO;
import com.zhentao.vo.DynamicVO;

/**
 * 用户动态服务接口
 */
public interface UserDynamicsService {
    
    /**
     * 分页查询动态列表
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResult<DynamicVO> getDynamicList(DynamicQueryDTO queryDTO);

    /**
     * 根据ID查询动态详情
     * @param dynamicId 动态ID
     * @param userId 当前用户ID
     * @return 动态详情
     */
    DynamicVO getDynamicDetail(Integer dynamicId, Integer userId);

    /**
     * 查询某个用户的动态列表
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    PageResult<DynamicVO> getUserDynamics(DynamicQueryDTO queryDTO);

    /**
     * 增加动态浏览数
     * @param dynamicId 动态ID
     */
    void increaseViewCount(Integer dynamicId);

    /**
     * 管理员封禁/删除动态
     * @param dynamicId 动态ID
     * @param action    2=封禁 3=删除（与前端枚举对应）
     * @param reason    处理原因（必填）
     */
    boolean adminModerate(Integer dynamicId, Integer action, String reason);
}


