LandingPageProjectService.java 1.3 KB
package com.aigeo.landingpage.service;

import com.aigeo.landingpage.entity.LandingPageProject;

import java.util.List;
import java.util.Optional;

/**
 * 落地页项目服务接口
 */
public interface LandingPageProjectService {
    
    /**
     * 保存项目
     */
    LandingPageProject save(LandingPageProject project);
    
    /**
     * 根据ID查找项目
     */
    Optional<LandingPageProject> findById(Integer id);
    
    /**
     * 根据公司ID查找项目列表
     */
    List<LandingPageProject> findByCompanyId(Integer companyId);
    
    /**
     * 根据用户ID查找项目列表
     */
    List<LandingPageProject> findByUserId(Integer userId);
    
    /**
     * 根据状态查找项目列表
     */
    List<LandingPageProject> findByStatus(LandingPageProject.ProjectStatus status);
    
    /**
     * 根据公司ID和状态查找项目列表
     */
    List<LandingPageProject> findByCompanyIdAndStatus(Integer companyId, LandingPageProject.ProjectStatus status);
    
    /**
     * 根据用户ID和状态查找项目列表
     */
    List<LandingPageProject> findByUserIdAndStatus(Integer userId, LandingPageProject.ProjectStatus status);
    
    /**
     * 查找所有项目
     */
    List<LandingPageProject> findAll();
    
    /**
     * 删除项目
     */
    void deleteById(Integer id);
}