Class ProjectPatentServiceImpl

java.lang.Object
inha.git.project.api.service.patent.ProjectPatentServiceImpl
All Implemented Interfaces:
ProjectPatentService

@Service @Transactional public class ProjectPatentServiceImpl extends Object implements ProjectPatentService
ProjectPatentServiceImpl은 프로젝트 특허 관련 비즈니스 로직을 처리합니다.
  • Constructor Details

    • ProjectPatentServiceImpl

      public ProjectPatentServiceImpl()
  • Method Details

    • searchPatent

      @Transactional(readOnly=true) public SearchPatentResponse searchPatent(User user, Integer projectIdx, PatentType type)
      Specified by:
      searchPatent in interface ProjectPatentService
    • searchPatentPage

      @Transactional(readOnly=true) public org.springframework.data.domain.Page<PatentResponses> searchPatentPage(Integer pageIndex, Integer size)
      특허 페이징 조회 메서드
      Specified by:
      searchPatentPage in interface ProjectPatentService
      Parameters:
      pageIndex - 페이지 인덱스
      size - 페이지 사이즈
      Returns:
      특허 페이징 조회 결과
    • createPatent

      public PatentResponse createPatent(User user, CreatePatentRequest createPatentRequest, org.springframework.web.multipart.MultipartFile file)
      특허 정보를 등록합니다.
      Specified by:
      createPatent in interface ProjectPatentService
      Parameters:
      user - 등록을 요청한 사용자 정보
      createPatentRequest - 등록할 특허 정보
      file - 증빙자료 파일
      Returns:
      등록된 특허 정보
      Throws:
      BaseException - PROJECT_NOT_FOUND: 프로젝트를 찾을 수 없는 경우 USER_NOT_PROJECT_OWNER: 등록 권한이 없는 경우 ALREADY_REGISTERED_PATENT: 이미 등록된 특허가 있는 경우
    • updatePatent

      public PatentResponse updatePatent(User user, Integer patentIdx, UpdatePatentRequest updatePatentRequest, org.springframework.web.multipart.MultipartFile file)
      특허 정보를 수정합니다.
      Specified by:
      updatePatent in interface ProjectPatentService
      Parameters:
      user - 수정을 요청한 사용자 정보
      patentIdx - 수정할 특허 ID
      updatePatentRequest - 수정할 특허 정보
      file - 새로운 증빙자료 파일 (선택적)
      Returns:
      수정된 특허 정보
      Throws:
      BaseException - NOT_EXIST_PATENT: 특허를 찾을 수 없는 경우 USER_NOT_PROJECT_OWNER: 수정 권한이 없는 경우
    • deletePatent

      public PatentResponse deletePatent(User user, Integer patentIdx)
      특허 삭제 메서드
      Specified by:
      deletePatent in interface ProjectPatentService
      Parameters:
      user - 로그인한 사용자 정보
      patentIdx - 삭제할 특허 ID
      Returns:
      PatentResponse 특허 정보