package com.zhentao.service;

import com.zhentao.entity.SuccessCase;
import com.zhentao.vo.CaseTimelineVO;
import com.zhentao.vo.SuccessCaseVO;

import java.util.List;
import java.util.Map;

/**
 * 成功案例服务接口
 */
public interface SuccessCaseService {
    
    /**
     * 获取成功案例列表
     * 
     * @return 案例列表
     */
    List<SuccessCaseVO> getCaseList();
    
    /**
     * 获取成功案例详情
     * 
     * @param caseNo 案例编号
     * @return 案例详情
     */
    SuccessCaseVO getCaseDetail(String caseNo);
    
    /**
     * 获取案例时间线
     * 
     * @param caseNo 案例编号
     * @return 时间线列表
     */
    List<CaseTimelineVO> getTimeline(String caseNo);
    
    // ==================== 管理端接口 ====================
    
    /**
     * 【管理端】分页查询案例列表
     * 
     * @param page 页码
     * @param pageSize 每页数量
     * @return 分页结果
     */
    Map<String, Object> getAdminCaseList(Integer page, Integer pageSize);
    
    /**
     * 【管理端】根据ID获取案例详情
     * 
     * @param caseId 案例ID
     * @return 案例详情
     */
    SuccessCase getAdminCaseById(Integer caseId);
    
    /**
     * 【管理端】创建案例
     * 
     * @param successCase 案例信息
     * @return 创建的案例
     */
    SuccessCase createCase(SuccessCase successCase);
    
    /**
     * 【管理端】更新案例
     * 
     * @param caseId 案例ID
     * @param successCase 案例信息
     * @return 更新结果
     */
    boolean updateCase(Integer caseId, SuccessCase successCase);
    
    /**
     * 【管理端】删除案例
     * 
     * @param caseId 案例ID
     * @return 删除结果
     */
    boolean deleteCase(Integer caseId);
}


