From fb0b852445ebe4085e725446a334be4d03d09927 Mon Sep 17 00:00:00 2001 From: YuLim2 Date: Thu, 30 Mar 2023 15:49:52 +0900 Subject: [PATCH 1/8] FIX: name of id is not matching with table --- .../java/com/soogung/simblue/domain/group/domain/Member.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/soogung/simblue/domain/group/domain/Member.java b/src/main/java/com/soogung/simblue/domain/group/domain/Member.java index 13808b7..6eaf863 100644 --- a/src/main/java/com/soogung/simblue/domain/group/domain/Member.java +++ b/src/main/java/com/soogung/simblue/domain/group/domain/Member.java @@ -17,7 +17,7 @@ public class Member extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "group_id") + @Column(name = "member_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) From 231f849beb85de6ad6942d8a8d64b39144f3bf12 Mon Sep 17 00:00:00 2001 From: YuLim2 Date: Thu, 30 Mar 2023 15:51:28 +0900 Subject: [PATCH 2/8] FEAT: findAll function overloading --- .../domain/group/domain/repository/GroupRepository.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/soogung/simblue/domain/group/domain/repository/GroupRepository.java b/src/main/java/com/soogung/simblue/domain/group/domain/repository/GroupRepository.java index 8792477..a4469f9 100644 --- a/src/main/java/com/soogung/simblue/domain/group/domain/repository/GroupRepository.java +++ b/src/main/java/com/soogung/simblue/domain/group/domain/repository/GroupRepository.java @@ -3,5 +3,9 @@ import com.soogung.simblue.domain.group.domain.Group; import org.springframework.data.repository.CrudRepository; +lsimport java.util.List; + public interface GroupRepository extends CrudRepository { + + List findAll(); } From e0a8b65bfcb86c88b078cd94c9e35d887e82dbd6 Mon Sep 17 00:00:00 2001 From: YuLim2 Date: Thu, 30 Mar 2023 15:52:38 +0900 Subject: [PATCH 3/8] ADD: Create group --- .../group/presentation/GroupController.java | 32 +++++++++++++++++++ .../dto/request/GroupRequest.java | 31 ++++++++++++++++++ .../group/service/CreateGroupService.java | 22 +++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java create mode 100644 src/main/java/com/soogung/simblue/domain/group/presentation/dto/request/GroupRequest.java create mode 100644 src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java diff --git a/src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java b/src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java new file mode 100644 index 0000000..733a25e --- /dev/null +++ b/src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java @@ -0,0 +1,32 @@ +package com.soogung.simblue.domain.group.presentation; + +import com.soogung.simblue.domain.group.presentation.dto.request.GroupRequest; +import com.soogung.simblue.domain.group.presentation.dto.response.GroupListResponse; +import com.soogung.simblue.domain.group.service.CreateGroupService; +import com.soogung.simblue.domain.group.service.QueryGroupService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +@RestController +@RequestMapping("/group") +@RequiredArgsConstructor +public class GroupController { + + private final CreateGroupService createGroupService; + + private final QueryGroupService queryGroupService; + + @PostMapping + public void createGroup(@RequestBody @Valid GroupRequest request) { + createGroupService.execute(request); + } + + @GetMapping + public GroupListResponse getListGroups(){ + return queryGroupService.execute(); + } + +} diff --git a/src/main/java/com/soogung/simblue/domain/group/presentation/dto/request/GroupRequest.java b/src/main/java/com/soogung/simblue/domain/group/presentation/dto/request/GroupRequest.java new file mode 100644 index 0000000..5b39baf --- /dev/null +++ b/src/main/java/com/soogung/simblue/domain/group/presentation/dto/request/GroupRequest.java @@ -0,0 +1,31 @@ +package com.soogung.simblue.domain.group.presentation.dto.request; + +import com.soogung.simblue.domain.group.domain.Group; +import com.soogung.simblue.domain.group.domain.type.GroupType; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +@Getter +@AllArgsConstructor +@NoArgsConstructor +public class GroupRequest { + + @NotNull + @Size(min = 1, max = 20) + private String name; + + @NotNull + private GroupType type; + + public Group toEntity() { + return Group.builder() + .name(name) + .type(type) + .build(); + } + +} diff --git a/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java b/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java new file mode 100644 index 0000000..6deb270 --- /dev/null +++ b/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java @@ -0,0 +1,22 @@ +package com.soogung.simblue.domain.group.service; + +import com.soogung.simblue.domain.group.domain.Group; +import com.soogung.simblue.domain.group.domain.repository.GroupRepository; +import com.soogung.simblue.domain.group.presentation.dto.request.GroupRequest; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import javax.transaction.Transactional; + +@Service +@RequiredArgsConstructor +public class CreateGroupService { + + final GroupRepository groupRepository; + + @Transactional + public void execute(GroupRequest request) { + Group group = groupRepository.save(request.toEntity()); + } + +} From b12605c5b8da585df30f060fa643e1dbbd19f617 Mon Sep 17 00:00:00 2001 From: YuLim2 Date: Thu, 30 Mar 2023 15:53:09 +0900 Subject: [PATCH 4/8] ADD: Get group list --- .../dto/response/GroupListResponse.java | 17 +++++++++++ .../dto/response/GroupResponse.java | 24 ++++++++++++++++ .../group/service/QueryGroupService.java | 28 +++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 src/main/java/com/soogung/simblue/domain/group/presentation/dto/response/GroupListResponse.java create mode 100644 src/main/java/com/soogung/simblue/domain/group/presentation/dto/response/GroupResponse.java create mode 100644 src/main/java/com/soogung/simblue/domain/group/service/QueryGroupService.java diff --git a/src/main/java/com/soogung/simblue/domain/group/presentation/dto/response/GroupListResponse.java b/src/main/java/com/soogung/simblue/domain/group/presentation/dto/response/GroupListResponse.java new file mode 100644 index 0000000..fd15b3c --- /dev/null +++ b/src/main/java/com/soogung/simblue/domain/group/presentation/dto/response/GroupListResponse.java @@ -0,0 +1,17 @@ +package com.soogung.simblue.domain.group.presentation.dto.response; + +import com.soogung.simblue.domain.group.domain.Group; +import com.soogung.simblue.domain.group.domain.type.GroupType; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; + +import java.util.List; + +@Getter +@AllArgsConstructor +public class GroupListResponse { + + private List groupList; + +} diff --git a/src/main/java/com/soogung/simblue/domain/group/presentation/dto/response/GroupResponse.java b/src/main/java/com/soogung/simblue/domain/group/presentation/dto/response/GroupResponse.java new file mode 100644 index 0000000..776dd9e --- /dev/null +++ b/src/main/java/com/soogung/simblue/domain/group/presentation/dto/response/GroupResponse.java @@ -0,0 +1,24 @@ +package com.soogung.simblue.domain.group.presentation.dto.response; + +import com.soogung.simblue.domain.group.domain.Group; +import com.soogung.simblue.domain.group.domain.type.GroupType; +import lombok.Builder; +import lombok.Getter; + +@Getter +@Builder +public class GroupResponse { + + private Long id; + private String name; + private GroupType type; + + public static GroupResponse of(Group group) { + return GroupResponse.builder() + .id(group.getId()) + .name(group.getName()) + .type(group.getType()) + .build(); + } + +} diff --git a/src/main/java/com/soogung/simblue/domain/group/service/QueryGroupService.java b/src/main/java/com/soogung/simblue/domain/group/service/QueryGroupService.java new file mode 100644 index 0000000..79a64d7 --- /dev/null +++ b/src/main/java/com/soogung/simblue/domain/group/service/QueryGroupService.java @@ -0,0 +1,28 @@ +package com.soogung.simblue.domain.group.service; + +import com.soogung.simblue.domain.application.presentation.dto.response.ApplicationResponse; +import com.soogung.simblue.domain.group.domain.Group; +import com.soogung.simblue.domain.group.domain.repository.GroupRepository; +import com.soogung.simblue.domain.group.presentation.dto.response.GroupListResponse; +import com.soogung.simblue.domain.group.presentation.dto.response.GroupResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import org.springframework.transaction.annotation.Transactional; +import java.util.stream.Collectors; + +@Service +@RequiredArgsConstructor +public class QueryGroupService { + + private final GroupRepository groupRepository; + + @Transactional(readOnly = true) + public GroupListResponse execute(){ + return new GroupListResponse( + groupRepository.findAll() + .stream().map(GroupResponse::of).collect(Collectors.toList()) + ); + } + +} From f8d7f2e1eeac4ae273504bbd44bd30591b555ce2 Mon Sep 17 00:00:00 2001 From: YuLim2 Date: Thu, 30 Mar 2023 17:35:19 +0900 Subject: [PATCH 5/8] FIX: worng spelling --- .../domain/group/domain/repository/GroupRepository.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/soogung/simblue/domain/group/domain/repository/GroupRepository.java b/src/main/java/com/soogung/simblue/domain/group/domain/repository/GroupRepository.java index a4469f9..3203475 100644 --- a/src/main/java/com/soogung/simblue/domain/group/domain/repository/GroupRepository.java +++ b/src/main/java/com/soogung/simblue/domain/group/domain/repository/GroupRepository.java @@ -3,7 +3,8 @@ import com.soogung.simblue.domain.group.domain.Group; import org.springframework.data.repository.CrudRepository; -lsimport java.util.List; +import java.util.List; + public interface GroupRepository extends CrudRepository { From d82b53fcd398b3d51e2d6ec10afaf13119319981 Mon Sep 17 00:00:00 2001 From: YuLim2 <80025122+YuLim2@users.noreply.github.com> Date: Thu, 30 Mar 2023 19:37:57 +0900 Subject: [PATCH 6/8] Update src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 김한울 --- .../simblue/domain/group/service/CreateGroupService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java b/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java index 6deb270..9328953 100644 --- a/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java +++ b/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java @@ -12,7 +12,7 @@ @RequiredArgsConstructor public class CreateGroupService { - final GroupRepository groupRepository; + private final GroupRepository groupRepository; @Transactional public void execute(GroupRequest request) { From 622a5940dc0ad2a6241cccebbbed0d8ad137d2fa Mon Sep 17 00:00:00 2001 From: YuLim2 <80025122+YuLim2@users.noreply.github.com> Date: Thu, 30 Mar 2023 19:38:06 +0900 Subject: [PATCH 7/8] Update src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 김한울 --- .../simblue/domain/group/service/CreateGroupService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java b/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java index 9328953..770625e 100644 --- a/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java +++ b/src/main/java/com/soogung/simblue/domain/group/service/CreateGroupService.java @@ -16,7 +16,7 @@ public class CreateGroupService { @Transactional public void execute(GroupRequest request) { - Group group = groupRepository.save(request.toEntity()); + groupRepository.save(request.toEntity()); } } From bf353d0f7c2c692d323ae33b2aa99574e80475af Mon Sep 17 00:00:00 2001 From: YuLim2 <80025122+YuLim2@users.noreply.github.com> Date: Thu, 30 Mar 2023 19:38:36 +0900 Subject: [PATCH 8/8] Update src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 김한울 --- .../simblue/domain/group/presentation/GroupController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java b/src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java index 733a25e..94f480c 100644 --- a/src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java +++ b/src/main/java/com/soogung/simblue/domain/group/presentation/GroupController.java @@ -25,7 +25,7 @@ public void createGroup(@RequestBody @Valid GroupRequest request) { } @GetMapping - public GroupListResponse getListGroups(){ + public GroupListResponse getGroupList(){ return queryGroupService.execute(); }