This commit is contained in:
2026-09-17 14:36:29 +09:00
7 changed files with 119 additions and 3 deletions

View File

@@ -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;
}

View File

@@ -6,6 +6,7 @@ import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.FetchType; import jakarta.persistence.FetchType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import jakarta.persistence.IdClass;
import jakarta.persistence.JoinColumn; import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne; import jakarta.persistence.ManyToOne;
import jakarta.persistence.OneToOne; import jakarta.persistence.OneToOne;
@@ -18,6 +19,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@Entity @Entity
@IdClass(AllocationId.class)
@Table(name = "allocation_m") @Table(name = "allocation_m")
@Data @Data
@NoArgsConstructor @NoArgsConstructor

View File

@@ -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;
}

View File

@@ -24,7 +24,7 @@ public class GoalEntity {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "goal_id") @Column(name = "goal_id")
private Integer goalId; private Long goalId;
@Column(name = "goal_title", nullable = true) @Column(name = "goal_title", nullable = true)
private String goalTitle; private String goalTitle;

View File

@@ -7,10 +7,11 @@ import org.springframework.data.jpa.repository.Query;
import com.example.demo.app.domain.model.CourseInfoModel; import com.example.demo.app.domain.model.CourseInfoModel;
import com.example.demo.app.infra.entity.AllocationEntity; import com.example.demo.app.infra.entity.AllocationEntity;
import com.example.demo.app.infra.entity.AllocationId;
public interface AllocationRepository extends JpaRepository<AllocationEntity, Long>{ public interface AllocationRepository extends JpaRepository<AllocationEntity, AllocationId>{
List<AllocationEntity> findByCourseId(Long courseId); List<AllocationEntity> findByCourseEntity_CourseId(Long courseId);
@Query(" SELECT co.course_id, " @Query(" SELECT co.course_id, "
+ " co.course_name, " + " co.course_name, "

View File

@@ -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<CourseForm> convertFrom(List<CourseModel> courseModelList){
return courseModelList.stream().map(CourseForm::convertFrom).toList();
}
}

View File

@@ -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<CourseInfoForm> convertFrom(List<CourseInfoModel> 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());
}
}