From e2286762d6248dd33089a5f8e451e4311767955d Mon Sep 17 00:00:00 2001 From: s-choi Date: Thu, 17 Sep 2026 14:27:59 +0900 Subject: [PATCH 1/5] =?UTF-8?q?[ADD]=20Allocation=E3=81=AE=E8=A4=87?= =?UTF-8?q?=E5=90=88=E3=82=AD=E3=83=BC=E3=82=AF=E3=83=A9=E3=82=B9=E3=82=92?= =?UTF-8?q?=E4=BD=9C=E6=88=90=E3=81=97=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 --- .../demo/app/infra/entity/AllocationId.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/main/java/com/example/demo/app/infra/entity/AllocationId.java diff --git a/src/main/java/com/example/demo/app/infra/entity/AllocationId.java b/src/main/java/com/example/demo/app/infra/entity/AllocationId.java new file mode 100644 index 0000000..3812864 --- /dev/null +++ b/src/main/java/com/example/demo/app/infra/entity/AllocationId.java @@ -0,0 +1,16 @@ +package com.example.demo.app.infra.entity; + +import java.io.Serializable; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class AllocationId implements Serializable { + private Long categoryEntity; + + private Long courseEntity; +} From 1c5cb6bf7a35377aec2a89343c9e0ab2cf01a34a Mon Sep 17 00:00:00 2001 From: s-choi Date: Thu, 17 Sep 2026 14:28:44 +0900 Subject: [PATCH 2/5] =?UTF-8?q?[HOTFIX]=20Entity=E3=81=AE=E3=82=AD?= =?UTF-8?q?=E3=83=BC=E3=82=92=E5=86=8D=E5=AE=9A=E7=BE=A9=E3=81=97=E3=81=BE?= =?UTF-8?q?=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/app/infra/entity/AllocationEntity.java | 2 ++ .../demo/app/infra/repository/AllocationRepository.java | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/demo/app/infra/entity/AllocationEntity.java b/src/main/java/com/example/demo/app/infra/entity/AllocationEntity.java index 2598748..bd15a2c 100644 --- a/src/main/java/com/example/demo/app/infra/entity/AllocationEntity.java +++ b/src/main/java/com/example/demo/app/infra/entity/AllocationEntity.java @@ -6,6 +6,7 @@ import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; import jakarta.persistence.Id; +import jakarta.persistence.IdClass; import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToOne; @@ -18,6 +19,7 @@ import lombok.Data; import lombok.NoArgsConstructor; @Entity +@IdClass(AllocationId.class) @Table(name = "allocation_m") @Data @NoArgsConstructor diff --git a/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java b/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java index 8817122..56913d8 100644 --- a/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java +++ b/src/main/java/com/example/demo/app/infra/repository/AllocationRepository.java @@ -7,10 +7,11 @@ import org.springframework.data.jpa.repository.Query; import com.example.demo.app.domain.model.CourseInfoModel; import com.example.demo.app.infra.entity.AllocationEntity; +import com.example.demo.app.infra.entity.AllocationId; -public interface AllocationRepository extends JpaRepository{ +public interface AllocationRepository extends JpaRepository{ - List findByCourseId(Long courseId); + List findByCourseEntity_CourseId(Long courseId); @Query(" SELECT co.course_id, " + " co.course_name, " From 6b91c91c191825648b889d36d1188e929053de2c Mon Sep 17 00:00:00 2001 From: kkazuya Date: Thu, 17 Sep 2026 14:29:59 +0900 Subject: [PATCH 3/5] =?UTF-8?q?[ADD]=20Course,=20CourseInfoForm=E3=82=92?= =?UTF-8?q?=E4=BD=9C=E6=88=90=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/presentation/form/CourseForm.java | 33 ++++++++++++++ .../app/presentation/form/CourseInfoForm.java | 44 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 src/main/java/com/example/demo/app/presentation/form/CourseForm.java create mode 100644 src/main/java/com/example/demo/app/presentation/form/CourseInfoForm.java diff --git a/src/main/java/com/example/demo/app/presentation/form/CourseForm.java b/src/main/java/com/example/demo/app/presentation/form/CourseForm.java new file mode 100644 index 0000000..57ba52e --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/form/CourseForm.java @@ -0,0 +1,33 @@ +package com.example.demo.app.presentation.form; + +import java.util.List; + +import com.example.demo.app.domain.model.CourseModel; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CourseForm { + + private Long courseId; + private String courseName; + private String description; + + + public static CourseForm convertFrom(CourseModel courseModel) { + return new CourseForm( + courseModel.getCourseId(), + courseModel.getCourseName(), + courseModel.getDescription() + ); + } + + public static List convertFrom(List courseModelList){ + return courseModelList.stream().map(CourseForm::convertFrom).toList(); + } + +} diff --git a/src/main/java/com/example/demo/app/presentation/form/CourseInfoForm.java b/src/main/java/com/example/demo/app/presentation/form/CourseInfoForm.java new file mode 100644 index 0000000..addce2f --- /dev/null +++ b/src/main/java/com/example/demo/app/presentation/form/CourseInfoForm.java @@ -0,0 +1,44 @@ +package com.example.demo.app.presentation.form; + +import java.util.List; + +import com.example.demo.app.domain.model.CourseInfoModel; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CourseInfoForm { + + private Long courseId; + + private String courseName; + + private Long categoryId; + + private String categoryName; + + private Integer allocationRatio; + + + public static CourseInfoForm convertFrom(CourseInfoModel courseInfoModel ) { + return new CourseInfoForm(courseInfoModel.getCategoryId(), courseInfoModel.getCourseName(), courseInfoModel.getCategoryId(), courseInfoModel.getCategoryName(), courseInfoModel.getAllocationRatio()); + } + + public static List convertFrom(List courseInfoModelList ) { + return courseInfoModelList.stream().map(CourseInfoForm::convertFrom).toList(); + } + + public static CourseInfoModel convertTo(CourseInfoForm courseInfoForm) { + return new CourseInfoModel( + courseInfoForm.getCourseId(), + courseInfoForm.getCourseName(), + courseInfoForm.getCategoryId(), + courseInfoForm.getCategoryName(), + courseInfoForm.getAllocationRatio()); + } + +} From 170e319dca349fb5a8a4a26adb8c0525b6ac0061 Mon Sep 17 00:00:00 2001 From: kkazuya Date: Thu, 17 Sep 2026 14:31:35 +0900 Subject: [PATCH 4/5] =?UTF-8?q?[ADD]=20CourseInfoModel=E3=82=92=E4=BD=9C?= =?UTF-8?q?=E6=88=90=E3=81=97=E3=81=BE=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/domain/model/CourseInfoModel.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/java/com/example/demo/app/domain/model/CourseInfoModel.java diff --git a/src/main/java/com/example/demo/app/domain/model/CourseInfoModel.java b/src/main/java/com/example/demo/app/domain/model/CourseInfoModel.java new file mode 100644 index 0000000..45d0dd9 --- /dev/null +++ b/src/main/java/com/example/demo/app/domain/model/CourseInfoModel.java @@ -0,0 +1,20 @@ +package com.example.demo.app.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public class CourseInfoModel { + + private Long courseId; + + private String courseName; + + private Long categoryId; + + private String categoryName; + + private Integer allocationRatio; + +} From 2e64d623b5b2d9b7cf6ab30fbc45302a71efb473 Mon Sep 17 00:00:00 2001 From: s-choi Date: Thu, 17 Sep 2026 14:32:48 +0900 Subject: [PATCH 5/5] =?UTF-8?q?[FIX]=20=E4=B8=BB=E3=82=AD=E3=83=BC?= =?UTF-8?q?=E3=81=AE=E5=9E=8B=E3=82=92=E4=BF=AE=E6=AD=A3=E3=81=97=E3=81=BE?= =?UTF-8?q?=E3=81=97=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/demo/app/infra/entity/GoalEntity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/example/demo/app/infra/entity/GoalEntity.java b/src/main/java/com/example/demo/app/infra/entity/GoalEntity.java index 7dc7068..f4bbe50 100644 --- a/src/main/java/com/example/demo/app/infra/entity/GoalEntity.java +++ b/src/main/java/com/example/demo/app/infra/entity/GoalEntity.java @@ -24,7 +24,7 @@ public class GoalEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "goal_id") - private Integer goalId; + private Long goalId; @Column(name = "goal_title", nullable = true) private String goalTitle;