package com.estate.expert.admin.service; import com.estate.expert.admin.domain.plan.PlanState; import com.estate.expert.admin.service.common.CrudServiceBase; import com.estate.expert.admin.domain.plan.Plan; import com.estate.expert.admin.domain.plan.PlanDto; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.response.PageResp; import com.estate.expert.admin.domain.plan.PlanType; import java.util.List; /** * 检查计划服务 */ public interface PlanService extends CrudServiceBase { /** * 获取计划列表 * @param keyword 关键词 * @param planType 计划类型 * @param planStates 计划状态 * @param clientIds 客户ID列表 * @param creatorId 创建者ID * @param pageReq 分页请求 * @return 计划列表 */ PageResp list(String keyword, List planType, List planStates, List clientIds, Integer creatorId, PageReq pageReq); /** * 获取计划列表 * @param clientId 客户ID * @return 计划列表 */ List list(Integer clientId); /** * 获取计划列表 * @param keyword 关键词 * @param planType 计划类型 * @param planStates 计划状态 * @param clientIds 客户ID列表 * @param creatorId 创建者ID * @return 计划列表 */ List list(String keyword, List planType, List planStates, List clientIds, Integer creatorId); /** * 获取我的计划列表 * @param userId 用户ID * @param keyword 关键词 * @param planType 计划类型 * @param planStates 计划状态 * @param clientIds 客户ID列表 * @param pageReq 分页请求 * @return 计划列表 */ PageResp myPlans(Integer userId, String keyword, List planType, List planStates, List clientIds, PageReq pageReq); /** * 根据计划中的任务状态,更新计划状态 * @param id 计划ID */ void updateState(Integer id); }