diff --git a/src/main/java/com/hobak/happinessql/domain/activity/application/CategoryCreateService.java b/src/main/java/com/hobak/happinessql/domain/activity/application/CategoryCreateService.java new file mode 100644 index 0000000..69b5ec2 --- /dev/null +++ b/src/main/java/com/hobak/happinessql/domain/activity/application/CategoryCreateService.java @@ -0,0 +1,21 @@ +package com.hobak.happinessql.domain.activity.application; + +import com.hobak.happinessql.domain.activity.converter.CategoryConverter; +import com.hobak.happinessql.domain.activity.domain.Category; +import com.hobak.happinessql.domain.activity.dto.CategoryResponseDto; +import com.hobak.happinessql.domain.activity.repository.CategoryRepository; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Transactional +@RequiredArgsConstructor +public class CategoryCreateService { + private final CategoryRepository categoryRepository; + public CategoryResponseDto createCategory(Long userId){ + Category category = CategoryConverter.toCategory(userId); + categoryRepository.save(category); + return CategoryConverter.toCategoryResponseDto(category.getCategoryId()); + } +} diff --git a/src/main/java/com/hobak/happinessql/domain/activity/converter/CategoryConverter.java b/src/main/java/com/hobak/happinessql/domain/activity/converter/CategoryConverter.java new file mode 100644 index 0000000..bc93491 --- /dev/null +++ b/src/main/java/com/hobak/happinessql/domain/activity/converter/CategoryConverter.java @@ -0,0 +1,18 @@ +package com.hobak.happinessql.domain.activity.converter; + +import com.hobak.happinessql.domain.activity.domain.Category; +import com.hobak.happinessql.domain.activity.dto.CategoryResponseDto; + +public class CategoryConverter { + public static Category toCategory(Long userId) { + return Category.builder() + .name("기타") + .userId(userId) + .build(); + } + public static CategoryResponseDto toCategoryResponseDto(Long categoryId){ + return CategoryResponseDto.builder() + .categoryId(categoryId) + .build(); + } +} diff --git a/src/main/java/com/hobak/happinessql/domain/activity/domain/Category.java b/src/main/java/com/hobak/happinessql/domain/activity/domain/Category.java index cee5c6c..82062f9 100644 --- a/src/main/java/com/hobak/happinessql/domain/activity/domain/Category.java +++ b/src/main/java/com/hobak/happinessql/domain/activity/domain/Category.java @@ -29,8 +29,7 @@ public class Category extends BaseTimeEntity { private Long userId; @Builder - public Category(Long categoryId, String name, List activities, Long userId) { - this.categoryId = categoryId; + public Category(String name, List activities, Long userId) { this.name = name; this.activities = activities; this.userId = userId; diff --git a/src/main/java/com/hobak/happinessql/domain/activity/dto/CategoryResponseDto.java b/src/main/java/com/hobak/happinessql/domain/activity/dto/CategoryResponseDto.java new file mode 100644 index 0000000..a221f99 --- /dev/null +++ b/src/main/java/com/hobak/happinessql/domain/activity/dto/CategoryResponseDto.java @@ -0,0 +1,16 @@ +package com.hobak.happinessql.domain.activity.dto; + +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class CategoryResponseDto { + private Long categoryId; + @Builder + CategoryResponseDto(Long categoryId){ + this.categoryId = categoryId; + } +} diff --git a/src/main/java/com/hobak/happinessql/domain/user/api/UserController.java b/src/main/java/com/hobak/happinessql/domain/user/api/UserController.java index 4bd7cfe..dad6905 100644 --- a/src/main/java/com/hobak/happinessql/domain/user/api/UserController.java +++ b/src/main/java/com/hobak/happinessql/domain/user/api/UserController.java @@ -1,5 +1,6 @@ package com.hobak.happinessql.domain.user.api; +import com.hobak.happinessql.domain.activity.application.CategoryCreateService; import com.hobak.happinessql.domain.user.application.CustomUserDetailsService; import com.hobak.happinessql.domain.user.application.UserFindService; import com.hobak.happinessql.domain.user.application.UserProfileService; @@ -65,9 +66,11 @@ public DataResponseDto signIn(@RequestBody SignInDto signInDto) { public String test(){ return "success"; } + private final CategoryCreateService categoryCreateService; @PostMapping("/sign-up") public DataResponseDto signUp(@RequestBody SignUpDto signUpDto){ UserDto savedUserDto = userService.signUp(signUpDto); + categoryCreateService.createCategory(savedUserDto.getUserid()); return DataResponseDto.of("회원가입이 성공적으로 처리되었습니다."); } }