Skip to content

Commit 0e556c7

Browse files
authored
Merge pull request #217 from DevKor-github/develop
main <- develop
2 parents 788ff09 + 558a8ee commit 0e556c7

53 files changed

Lines changed: 892 additions & 146 deletions

Some content is hidden

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

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ build/
55
!**/src/main/**/build/
66
!**/src/test/**/build/
77
application-test.yml
8+
logback-spring.xml
89

910
### STS ###
1011
.apt_generated

build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,12 @@ dependencies {
117117

118118
// Logging
119119
implementation 'net.logstash.logback:logstash-logback-encoder:7.4'
120+
121+
// thumbnail
122+
implementation 'net.coobird:thumbnailator:0.4.19'
123+
124+
// elasticsearch
125+
// implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch'
120126
}
121127

122128
dependencyManagement {

src/main/java/devkor/com/teamcback/domain/bookmark/entity/Bookmark.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package devkor.com.teamcback.domain.bookmark.entity;
22

33
import devkor.com.teamcback.domain.bookmark.dto.request.CreateBookmarkReq;
4-
import devkor.com.teamcback.domain.common.BaseEntity;
4+
import devkor.com.teamcback.domain.common.entity.BaseEntity;
55
import devkor.com.teamcback.domain.common.LocationType;
66
import jakarta.persistence.*;
77
import java.util.ArrayList;

src/main/java/devkor/com/teamcback/domain/bookmark/entity/Category.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import devkor.com.teamcback.domain.bookmark.dto.request.CreateCategoryReq;
44
import devkor.com.teamcback.domain.bookmark.dto.request.ModifyCategoryReq;
5-
import devkor.com.teamcback.domain.common.BaseEntity;
5+
import devkor.com.teamcback.domain.common.entity.BaseEntity;
66
import devkor.com.teamcback.domain.user.entity.User;
77
import jakarta.persistence.CascadeType;
88
import jakarta.persistence.Column;

src/main/java/devkor/com/teamcback/domain/bookmark/entity/CategoryBookmark.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package devkor.com.teamcback.domain.bookmark.entity;
22

3-
import devkor.com.teamcback.domain.common.BaseEntity;
3+
import devkor.com.teamcback.domain.common.entity.BaseEntity;
44
import jakarta.persistence.Entity;
55
import jakarta.persistence.FetchType;
66
import jakarta.persistence.GeneratedValue;
77
import jakarta.persistence.GenerationType;
88
import jakarta.persistence.Id;
99
import jakarta.persistence.JoinColumn;
1010
import jakarta.persistence.ManyToOne;
11-
import jakarta.persistence.PostRemove;
1211
import jakarta.persistence.Table;
1312
import lombok.Getter;
1413
import lombok.NoArgsConstructor;
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package devkor.com.teamcback.domain.building.controller;
2+
3+
import devkor.com.teamcback.domain.building.dto.response.SaveBuildingImageRes;
4+
import devkor.com.teamcback.domain.building.dto.response.SaveBuildingMainImageRes;
5+
import devkor.com.teamcback.domain.building.service.AdminBuildingService;
6+
import devkor.com.teamcback.global.response.CommonResponse;
7+
import io.swagger.v3.oas.annotations.Operation;
8+
import io.swagger.v3.oas.annotations.Parameter;
9+
import io.swagger.v3.oas.annotations.media.Content;
10+
import io.swagger.v3.oas.annotations.media.Schema;
11+
import io.swagger.v3.oas.annotations.responses.ApiResponse;
12+
import io.swagger.v3.oas.annotations.responses.ApiResponses;
13+
import lombok.RequiredArgsConstructor;
14+
import org.springframework.http.MediaType;
15+
import org.springframework.web.bind.annotation.*;
16+
import org.springframework.web.multipart.MultipartFile;
17+
18+
@RestController
19+
@RequiredArgsConstructor
20+
@RequestMapping("/api/admin/buildings")
21+
public class AdminBuildingController {
22+
23+
private final AdminBuildingService adminBuildingService;
24+
25+
@PostMapping(value = "/{buildingId}/image", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
26+
@Operation(summary = "건물 대표 사진 저장", description = "건물 대표 사진 저장")
27+
@ApiResponses(value = {
28+
@ApiResponse(responseCode = "200", description = "정상 처리 되었습니다."),
29+
@ApiResponse(responseCode = "404", description = "건물을 찾을 수 없습니다.",
30+
content = @Content(schema = @Schema(implementation = CommonResponse.class))),
31+
@ApiResponse(responseCode = "401", description = "권한이 없습니다.",
32+
content = @Content(schema = @Schema(implementation = CommonResponse.class))),
33+
@ApiResponse(responseCode = "403", description = "잘못된 입력입니다.",
34+
content = @Content(schema = @Schema(implementation = CommonResponse.class))),
35+
})
36+
public CommonResponse<SaveBuildingMainImageRes> saveBuildingMainImage(
37+
@Parameter(name = "buildingId", description = "건물 ID")
38+
@PathVariable Long buildingId,
39+
@Parameter(description = "저장할 사진 파일")
40+
@RequestPart("image") MultipartFile image
41+
) {
42+
return CommonResponse.success(
43+
adminBuildingService.saveBuildingMainImage(buildingId, image));
44+
}
45+
}

src/main/java/devkor/com/teamcback/domain/building/dto/response/GetBuildingImageRes.java

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package devkor.com.teamcback.domain.building.dto.response;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4+
import io.swagger.v3.oas.annotations.media.Schema;
5+
6+
@Schema(description = "건물 메인 사진 저장 완료")
7+
@JsonIgnoreProperties
8+
public class SaveBuildingMainImageRes {
9+
}

src/main/java/devkor/com/teamcback/domain/building/dto/response/SearchBuildingImageRes.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,12 @@ public SearchBuildingImageRes(BuildingImage buildingImage) {
2020
this.floor = buildingImage.getFloor();
2121
this.image = buildingImage.getImage();
2222
}
23+
24+
public SearchBuildingImageRes(BuildingImage buildingImage, String image) {
25+
this.buildingImageId = buildingImage.getId();
26+
this.buildingId = buildingImage.getBuilding().getId();
27+
this.buildingName = buildingImage.getBuilding().getName();
28+
this.floor = buildingImage.getFloor();
29+
this.image = image;
30+
}
2331
}

src/main/java/devkor/com/teamcback/domain/building/entity/Building.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package devkor.com.teamcback.domain.building.entity;
22

3-
import devkor.com.teamcback.domain.common.BaseEntity;
3+
import devkor.com.teamcback.domain.common.entity.BaseEntity;
44
import devkor.com.teamcback.domain.routes.entity.Node;
55
import jakarta.persistence.Column;
66
import jakarta.persistence.Entity;
@@ -27,7 +27,10 @@ public class Building extends BaseEntity {
2727
@Column(nullable = false)
2828
private String name;
2929

30-
private String imageUrl;
30+
private String imageUrl; // 추후 삭제
31+
32+
@Setter
33+
private String fileUuid;
3134

3235
@Column(nullable = false)
3336
private String detail;

0 commit comments

Comments
 (0)