Skip to content

Commit b4b60ae

Browse files
authored
Merge pull request #195 from kdh-92/be-refactor/#192-separate-dto
Be refactor/#192 separate dto
2 parents d0d3a10 + d2751ee commit b4b60ae

48 files changed

Lines changed: 876 additions & 859 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

backend/tiggle-root/tiggle/src/main/kotlin/com/side/tiggle/domain/category/api/CategoryApiController.kt

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.side.tiggle.domain.category.api
22

3-
import com.side.tiggle.domain.category.dto.CategoryCreateDto
4-
import com.side.tiggle.domain.category.dto.CategoryDto
3+
import com.side.tiggle.domain.category.dto.req.CategoryCreateReqDto
4+
import com.side.tiggle.domain.category.dto.req.CategoryUpdateReqDto
5+
import com.side.tiggle.domain.category.dto.resp.CategoryListRespDto
56
import com.side.tiggle.domain.category.dto.resp.CategoryRespDto
67
import com.side.tiggle.domain.category.service.CategoryService
78
import org.springframework.http.HttpStatus
@@ -17,53 +18,34 @@ class CategoryApiController(
1718

1819
@PostMapping
1920
fun createCategory(
20-
@RequestBody categoryCreateDto: CategoryCreateDto,
21+
@RequestBody categoryCreateReqDto: CategoryCreateReqDto,
2122
@RequestHeader(name = HttpHeaders.MEMBER_ID) memberId: Long
2223
): ResponseEntity<CategoryRespDto> {
23-
return ResponseEntity(
24-
CategoryRespDto.fromEntity(
25-
categoryService.createCategory(categoryCreateDto, memberId
26-
)
27-
), HttpStatus.CREATED
28-
)
29-
}
30-
31-
@GetMapping("/all")
32-
fun getAllCategory(): ResponseEntity<List<CategoryRespDto>> {
33-
return ResponseEntity(
34-
categoryService.getAllCategory()
35-
.map { CategoryRespDto.fromEntity(it) }
36-
, HttpStatus.OK
37-
)
24+
val createdCategory = categoryService.createCategory(categoryCreateReqDto, memberId)
25+
return ResponseEntity(createdCategory, HttpStatus.CREATED)
3826
}
3927

4028
@GetMapping()
4129
fun getCategoryByMemberIdOrDefaults(
4230
@RequestHeader(name = HttpHeaders.MEMBER_ID) memberId: Long
43-
): ResponseEntity<List<CategoryRespDto>> {
44-
return ResponseEntity(
45-
categoryService.getCategoryByMemberIdOrDefaults(memberId)
46-
.map { CategoryRespDto.fromEntity(it) }
47-
, HttpStatus.OK
48-
)
31+
): ResponseEntity<CategoryListRespDto> {
32+
val categories = categoryService.getCategoryByMemberIdOrDefaults(memberId)
33+
return ResponseEntity(categories, HttpStatus.OK)
4934
}
5035

5136
@PutMapping("/{id}")
5237
fun updateCategory(
5338
@PathVariable("id") categoryId: Long,
54-
@RequestBody dto: CategoryDto
39+
@RequestBody dto: CategoryUpdateReqDto
5540
): ResponseEntity<CategoryRespDto> {
56-
return ResponseEntity(
57-
CategoryRespDto.fromEntity(
58-
categoryService.updateCategory(categoryId, dto)
59-
), HttpStatus.OK
60-
)
41+
val updatedCategory = categoryService.updateCategory(categoryId, dto)
42+
return ResponseEntity(updatedCategory, HttpStatus.OK)
6143
}
6244

6345
@DeleteMapping("/{id}")
6446
fun deleteCategory(
6547
@PathVariable("id") categoryId: Long
66-
): ResponseEntity<Nothing> {
48+
): ResponseEntity<Void> {
6749
categoryService.deleteCategory(categoryId)
6850
return ResponseEntity(null, HttpStatus.OK)
6951
}

backend/tiggle-root/tiggle/src/main/kotlin/com/side/tiggle/domain/category/dto/CategoryDto.kt

Lines changed: 0 additions & 30 deletions
This file was deleted.

backend/tiggle-root/tiggle/src/main/kotlin/com/side/tiggle/domain/category/dto/CategoryCreateDto.kt renamed to backend/tiggle-root/tiggle/src/main/kotlin/com/side/tiggle/domain/category/dto/req/CategoryCreateReqDto.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package com.side.tiggle.domain.category.dto
1+
package com.side.tiggle.domain.category.dto.req
22

33
import com.side.tiggle.domain.category.model.Category
44
import com.side.tiggle.domain.member.model.Member
55

6-
data class CategoryCreateDto (
6+
data class CategoryCreateReqDto (
77
val name : String
88
) {
99
fun toEntity(member: Member): Category {
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.side.tiggle.domain.category.dto.req
2+
3+
data class CategoryUpdateReqDto (
4+
val name : String
5+
)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.side.tiggle.domain.category.dto.resp
2+
3+
data class CategoryListRespDto(
4+
val categories: List<CategoryRespDto>
5+
)

backend/tiggle-root/tiggle/src/main/kotlin/com/side/tiggle/domain/category/dto/resp/CategoryRespDto.kt

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,18 @@ data class CategoryRespDto(
99
) {
1010
companion object {
1111
fun fromEntity(category: Category?): CategoryRespDto {
12-
return try {
13-
if (category != null) {
14-
CategoryRespDto(
15-
id = category.id!!,
16-
name = category.name,
17-
defaults = category.defaults
18-
)
19-
} else {
20-
CategoryRespDto(
21-
id = null,
22-
name = "카테고리 없음",
23-
defaults = false
24-
)
25-
}
26-
} catch (e: Exception) {
27-
CategoryRespDto(
12+
return when {
13+
category == null -> CategoryRespDto(
2814
id = null,
29-
name = "삭제된 카테고리",
15+
name = "카테고리 없음",
3016
defaults = false
3117
)
18+
19+
else -> CategoryRespDto(
20+
id = category.id,
21+
name = category.name,
22+
defaults = category.defaults
23+
)
3224
}
3325
}
3426
}
Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.side.tiggle.domain.category.service
22

3-
import com.side.tiggle.domain.category.dto.CategoryCreateDto
4-
import com.side.tiggle.domain.category.dto.CategoryDto
3+
import com.side.tiggle.domain.category.dto.req.CategoryCreateReqDto
4+
import com.side.tiggle.domain.category.dto.req.CategoryUpdateReqDto
5+
import com.side.tiggle.domain.category.dto.resp.CategoryListRespDto
6+
import com.side.tiggle.domain.category.dto.resp.CategoryRespDto
57
import com.side.tiggle.domain.category.model.Category
68
import com.side.tiggle.domain.category.repository.CategoryRepository
79
import com.side.tiggle.domain.member.service.MemberService
@@ -14,46 +16,43 @@ class CategoryService(
1416
private val categoryRepository: CategoryRepository,
1517
private val memberService: MemberService
1618
) {
17-
fun createCategory(dto: CategoryCreateDto, memberId: Long): Category {
18-
val member = memberService.getMember(memberId);
19-
return categoryRepository.save(dto.toEntity(member))
19+
fun createCategory(dto: CategoryCreateReqDto, memberId: Long): CategoryRespDto {
20+
val member = memberService.getMemberOrThrow(memberId)
21+
val category = dto.toEntity(member)
22+
return CategoryRespDto.fromEntity(categoryRepository.save(category))
2023
}
2124

2225
fun getCategory(categoryId: Long): Category {
2326
return categoryRepository.findById(categoryId)
2427
.orElseThrow { NotFoundException() }
2528
}
2629

27-
fun getAllCategory(): List<Category> {
28-
return categoryRepository.findAll()
30+
fun getCategoryByMemberIdOrDefaults(memberId: Long): CategoryListRespDto {
31+
val categories = categoryRepository.findCategoryByMemberIdOrDefaults(memberId, true)
32+
val dtoList = categories.map { CategoryRespDto.fromEntity(it) }
33+
return CategoryListRespDto(dtoList)
2934
}
3035

31-
fun getCategoryByMemberIdOrDefaults(memberId: Long): List<Category> {
32-
//기본 카테코리 = true , memberId가 일치하는 카테고리 = false라서 or로 설정했습니다.
33-
return categoryRepository.findCategoryByMemberIdOrDefaults(memberId, true)
34-
}
35-
36-
fun updateCategory(id: Long, dto: CategoryDto): Category {
36+
fun updateCategory(id: Long, dto: CategoryUpdateReqDto): CategoryRespDto {
3737
val category = categoryRepository.findById(id)
3838
.orElseThrow { NotFoundException() }
39+
3940
category.apply {
4041
name = dto.name
41-
defaults = dto.defaults
4242
}
43-
return categoryRepository.save(category)
43+
44+
return CategoryRespDto.fromEntity(categoryRepository.save(category))
4445
}
4546

46-
fun deleteCategory(categoryId: Long): Category {
47+
fun deleteCategory(categoryId: Long) {
4748
val category = categoryRepository.findById(categoryId)
4849
.orElseThrow { NotFoundException() }
50+
4951
category.apply {
5052
deleted = true
5153
deletedAt = LocalDateTime.now()
5254
}
53-
return categoryRepository.save(category)
54-
}
55-
// fun deleteCategory(categoryId: Long) {
5655

57-
// categoryRepository.deleteById(categoryId)
58-
// }
56+
categoryRepository.save(category)
57+
}
5958
}

backend/tiggle-root/tiggle/src/main/kotlin/com/side/tiggle/domain/comment/api/CommentApiController.kt

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ package com.side.tiggle.domain.comment.api
22

33
import com.side.tiggle.domain.comment.dto.req.CommentCreateReqDto
44
import com.side.tiggle.domain.comment.dto.req.CommentUpdateReqDto
5+
import com.side.tiggle.domain.comment.dto.resp.CommentPageRespDto
56
import com.side.tiggle.domain.comment.dto.resp.CommentRespDto
67
import com.side.tiggle.domain.comment.service.CommentService
78
import com.side.tiggle.global.common.constants.HttpHeaders
89
import io.swagger.v3.oas.annotations.Operation
910
import io.swagger.v3.oas.annotations.Parameter
1011
import io.swagger.v3.oas.annotations.security.SecurityRequirement
1112
import io.swagger.v3.oas.annotations.tags.Tag
12-
import org.springframework.data.domain.Page
1313
import org.springframework.http.HttpStatus
1414
import org.springframework.http.ResponseEntity
1515
import org.springframework.web.bind.annotation.*
@@ -27,19 +27,18 @@ class CommentApiController(
2727
@PathVariable id: Long?,
2828
@RequestParam(name = "index", defaultValue = "0") page: Int,
2929
@RequestParam(name = "pageSize", defaultValue = "5") size: Int
30-
): ResponseEntity<Page<CommentRespDto>> {
30+
): ResponseEntity<CommentPageRespDto> {
3131
val pagedComments = commentService.getChildrenByParentId(id, page, size)
32-
val pagedResult = CommentRespDto.fromEntityPage(pagedComments, commentService)
33-
return ResponseEntity(pagedResult, HttpStatus.OK)
32+
return ResponseEntity(pagedComments, HttpStatus.OK)
3433
}
3534

3635
@PostMapping
3736
@Operation(summary = "코멘트 작성", security = [SecurityRequirement(name = "bearer-key")])
3837
fun createComment(
3938
@Parameter(hidden = true) @RequestHeader(name = HttpHeaders.MEMBER_ID) memberId: Long,
4039
@RequestBody commentDto: @Valid CommentCreateReqDto): ResponseEntity<CommentRespDto> {
41-
val respDto = CommentRespDto.fromEntity(commentService.createComment(memberId, commentDto))
42-
return ResponseEntity(respDto, HttpStatus.CREATED)
40+
val createComment = commentService.createComment(memberId, commentDto)
41+
return ResponseEntity(createComment, HttpStatus.CREATED)
4342
}
4443

4544
@PutMapping("/{id}")
@@ -49,7 +48,7 @@ class CommentApiController(
4948
@RequestHeader(name = HttpHeaders.MEMBER_ID) memberId: Long,
5049
@PathVariable("id") commentId: Long,
5150
@RequestBody dto: CommentUpdateReqDto): ResponseEntity<CommentRespDto> {
52-
val respDto = CommentRespDto.fromEntity(commentService.updateComment(memberId, commentId, dto.content))
51+
val respDto = commentService.updateComment(memberId, commentId, dto)
5352
return ResponseEntity(respDto, HttpStatus.OK)
5453
}
5554

@@ -61,4 +60,19 @@ class CommentApiController(
6160
commentService.deleteComment(memberId, commentId)
6261
return ResponseEntity(null, HttpStatus.NO_CONTENT)
6362
}
63+
64+
@GetMapping("/{id}/comments")
65+
fun getAllCommentsByTx(
66+
@PathVariable id: Long,
67+
@RequestParam(name = "pageSize", defaultValue = DEFAULT_PAGE_SIZE) pageSize: Int,
68+
@RequestParam(name = "index", defaultValue = DEFAULT_INDEX) index: Int
69+
): ResponseEntity<CommentPageRespDto> {
70+
val pagedResult = commentService.getParentsByTxId(id, index, pageSize)
71+
return ResponseEntity(pagedResult, HttpStatus.OK)
72+
}
73+
74+
companion object {
75+
private const val DEFAULT_INDEX = "0"
76+
private const val DEFAULT_PAGE_SIZE = "5"
77+
}
6478
}

backend/tiggle-root/tiggle/src/main/kotlin/com/side/tiggle/domain/comment/dto/CommentDto.kt

Lines changed: 0 additions & 37 deletions
This file was deleted.

backend/tiggle-root/tiggle/src/main/kotlin/com/side/tiggle/domain/comment/dto/req/CommentCreateReqDto.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.side.tiggle.domain.comment.dto.req
22

3-
import com.side.tiggle.domain.comment.dto.CommentDto
43
import com.side.tiggle.domain.comment.model.Comment
54
import com.side.tiggle.domain.member.model.Member
65
import com.side.tiggle.domain.transaction.model.Transaction

0 commit comments

Comments
 (0)