From 003e03c0c18a0235d249529e51a82d8a24c0fbc3 Mon Sep 17 00:00:00 2001 From: s-choi Date: Thu, 24 Sep 2026 12:42:50 +0900 Subject: [PATCH] =?UTF-8?q?[ADD]=20=E3=82=B7=E3=83=A7=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=82=AB=E3=83=83=E3=83=88=E3=81=AE=E3=81=9F=E3=82=81=E3=81=AE?= =?UTF-8?q?=E3=82=B5=E3=83=BC=E3=83=93=E3=82=B9=E3=81=A8=E3=83=AC=E3=83=9D?= =?UTF-8?q?=E3=82=B8=E3=83=88=E3=83=AA=E3=82=92=E4=BD=9C=E6=88=90=E3=81=97?= =?UTF-8?q?=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/domain/service/FixedCostService.java | 16 +++++++ .../service/impl/FixedCostServiceImpl.java | 48 +++++++++++++++++++ .../infra/repository/FixedCostRepository.java | 15 ++++++ 3 files changed, 79 insertions(+) create mode 100644 src/main/java/com/example/demo/app/domain/service/FixedCostService.java create mode 100644 src/main/java/com/example/demo/app/domain/service/impl/FixedCostServiceImpl.java create mode 100644 src/main/java/com/example/demo/app/infra/repository/FixedCostRepository.java diff --git a/src/main/java/com/example/demo/app/domain/service/FixedCostService.java b/src/main/java/com/example/demo/app/domain/service/FixedCostService.java new file mode 100644 index 0000000..52ba6fd --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/FixedCostService.java @@ -0,0 +1,16 @@ +package com.example.demo.app.domain.service; + +import java.util.List; + +import com.example.demo.app.domain.model.FixedCostModel; + +public interface FixedCostService { + + public List findAllByUserId(Long userId); + + public FixedCostModel save(FixedCostModel fixedCostModel); + + public void delete(Long fixedCostId); + + public FixedCostModel findById(Long fixedCostId); +} diff --git a/src/main/java/com/example/demo/app/domain/service/impl/FixedCostServiceImpl.java b/src/main/java/com/example/demo/app/domain/service/impl/FixedCostServiceImpl.java new file mode 100644 index 0000000..e79597d --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/service/impl/FixedCostServiceImpl.java @@ -0,0 +1,48 @@ +package com.example.demo.app.domain.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Service; + +import com.example.demo.app.domain.model.FixedCostModel; +import com.example.demo.app.domain.service.FixedCostService; +import com.example.demo.app.infra.repository.CategoryRepository; +import com.example.demo.app.infra.repository.FixedCostRepository; +import com.example.demo.app.infra.repository.UserRepository; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class FixedCostServiceImpl implements FixedCostService{ + + + private final FixedCostRepository fixedCostRepository; + private final UserRepository userRepository; + private final CategoryRepository categoryRepository; + + + public List findAllByUserId(Long userId) { + + return FixedCostModel.convertFrom(fixedCostRepository.findByUserId(userId)); + + } + + public FixedCostModel save(FixedCostModel fixedCostModel) { + + return FixedCostModel.convertFrom(fixedCostRepository.save( FixedCostModel.convertTo(fixedCostModel, userRepository.findById(fixedCostModel.getUserId()).get(), categoryRepository.findById(fixedCostModel.getCategoryId()).get()))); + + } + + public void delete(Long fixedCostId) { + + fixedCostRepository.deleteById(fixedCostId); + + } + + public FixedCostModel findById(Long fixedCostId) { + return FixedCostModel.convertFrom(fixedCostRepository.findById(fixedCostId).get()); + } + + +} diff --git a/src/main/java/com/example/demo/app/infra/repository/FixedCostRepository.java b/src/main/java/com/example/demo/app/infra/repository/FixedCostRepository.java new file mode 100644 index 0000000..fe7279d --- /dev/null +++ b/src/main/java/com/example/demo/app/infra/repository/FixedCostRepository.java @@ -0,0 +1,15 @@ +package com.example.demo.app.infra.repository; + +import java.util.List; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import com.example.demo.app.infra.entity.FixedCostEntity; + +public interface FixedCostRepository extends JpaRepository { + + @Query("select f from FixedCostEntity f where f.userEntity.userId = :userId") + public List findByUserId(Long userId); + +}