Skip to content

Commit 33f8443

Browse files
authored
Merge pull request #269 from DevKor-github/develop
main <- develop
2 parents 621f70b + 4c77e87 commit 33f8443

103 files changed

Lines changed: 3063 additions & 185 deletions

File tree

Some content is hidden

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

.github/workflows/cd-dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
with:
6464
host: ${{ secrets.HOST_NAME }}
6565
username: ${{ secrets.USER_NAME }}
66-
password: ${{ secrets.USER_PASSWORD }}
66+
key: ${{ secrets.SSH_KEY }}
6767
port: ${{ secrets.PORT }}
6868
script: |
6969
docker pull ${{ secrets.DOCKER_USER }}/kodaero:latest

.github/workflows/cd.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ jobs:
6363
with:
6464
host: ${{ secrets.HOST_NAME }}
6565
username: ${{ secrets.USER_NAME }}
66-
password: ${{ secrets.USER_PASSWORD }}
66+
key: ${{ secrets.SSH_KEY }}
6767
port: ${{ secrets.PORT }}
6868
script: |
6969
docker pull ${{ secrets.DOCKER_USER }}/kodaero:latest

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,7 @@ out/
4040

4141
### 환경 변수 ###
4242
.env
43+
44+
###claude###
45+
.claude
46+
.serena

src/main/java/devkor/com/teamcback/domain/ble/dto/response/BLEDeviceListRes.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package devkor.com.teamcback.domain.ble.dto.response;
22

3+
import devkor.com.teamcback.domain.place.entity.Place;
34
import lombok.Getter;
45
import lombok.Setter;
56

@@ -11,11 +12,13 @@ public class BLEDeviceListRes {
1112
private String deviceName;
1213
private Long placeId;
1314
private Integer capacity;
15+
private String imageUrl;
1416

15-
public BLEDeviceListRes(Long id, String deviceName, Long placeId, int capacity) {
17+
public BLEDeviceListRes(Long id, String deviceName, Long placeId, int capacity, String imageUrl) {
1618
this.id = id;
1719
this.deviceName = deviceName;
1820
this.placeId = placeId;
1921
this.capacity = capacity;
22+
this.imageUrl = imageUrl;
2023
}
2124
}

src/main/java/devkor/com/teamcback/domain/ble/service/BLEService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,13 @@ public List<BLEDeviceListRes> getBLEDeviceList() {
175175

176176
for (BLEDevice device : devices) {
177177
Long placeId = null;
178+
String imageUrl = null;
178179
if (device.getPlace() != null) {
179180
placeId = device.getPlace().getId();
181+
imageUrl = device.getPlace().getImageUrl();
180182
}
181183

182-
BLEDeviceListRes dto = new BLEDeviceListRes(device.getId(), device.getDeviceName(), placeId, device.getCapacity());
184+
BLEDeviceListRes dto = new BLEDeviceListRes(device.getId(), device.getDeviceName(), placeId, device.getCapacity(), imageUrl);
183185

184186
result.add(dto);
185187
}

src/main/java/devkor/com/teamcback/domain/bookmark/dto/response/CreateBookmarkRes.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package devkor.com.teamcback.domain.bookmark.dto.response;
22

33
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4-
import devkor.com.teamcback.domain.bookmark.entity.Bookmark;
5-
import io.swagger.v3.oas.annotations.media.Schema;
6-
import lombok.Getter;
74

85
@JsonIgnoreProperties
96
public class CreateBookmarkRes {

src/main/java/devkor/com/teamcback/domain/bookmark/service/BookmarkService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ public class BookmarkService {
4545
* 즐겨찾기 업데이트
4646
*/
4747
@Transactional
48-
@UpdateScore(addScore = 1)
4948
public CreateBookmarkRes createBookmark(Long userId, CreateBookmarkReq req) {
5049
User user = findUser(userId);
5150

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
package devkor.com.teamcback.domain.common.repository;
22

33
import devkor.com.teamcback.domain.common.entity.File;
4+
import devkor.com.teamcback.domain.review.repository.CustomFileRepository;
45
import org.springframework.data.jpa.repository.JpaRepository;
56

67
import java.util.List;
78

8-
public interface FileRepository extends JpaRepository<File, Long> {
9+
public interface FileRepository extends JpaRepository<File, Long>, CustomFileRepository {
910
List<File> findAllByFileUuid(String fileUuid);
1011

12+
List<File> findTop10AllByFileUuidOrderBySortNumAsc(String fileUuid);
13+
14+
List<File> findTop5AllByFileUuidOrderBySortNumAsc(String fileUuid);
15+
16+
List<File> findTop3AllByFileUuidOrderBySortNumAsc(String fileUuid);
17+
1118
File findByFileUuidAndSortNum(String fileUuid, Long sortNum);
19+
20+
boolean existsByFileUuid(String fileUuid);
1221
}

src/main/java/devkor/com/teamcback/domain/common/util/FileUtil.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ public void uploadThumb(File savedFile, MultipartFile file, Integer width, Integ
137137
InputStream inputStream = new ByteArrayInputStream(os.toByteArray());
138138

139139
// 저장
140-
String thumbSavedName = s3Util.uploadFile(inputStream, savedFile.getFileUuid(), filePath, file.getContentType());
140+
String thumbSavedName = s3Util.uploadFile(inputStream, savedFile.getFileOriginalName(), filePath, file.getContentType());
141141
savedFile.setThumbSavedName(thumbSavedName);
142142
}
143143

@@ -167,6 +167,22 @@ public void deleteFile(String fileUuid) {
167167
fileRepository.deleteAll(savedFileList);
168168
}
169169

170+
public List<File> getFiles(String fileUuid) {
171+
return fileRepository.findAllByFileUuid(fileUuid);
172+
}
173+
174+
public List<File> getTop10Files(String fileUuid) {
175+
return fileRepository.findTop10AllByFileUuidOrderBySortNumAsc(fileUuid);
176+
}
177+
178+
public List<File> getTop5Files(String fileUuid) {
179+
return fileRepository.findTop5AllByFileUuidOrderBySortNumAsc(fileUuid);
180+
}
181+
182+
public List<File> getTop3Files(String fileUuid) {
183+
return fileRepository.findTop3AllByFileUuidOrderBySortNumAsc(fileUuid);
184+
}
185+
170186
public List<String> getOriginalFiles(String fileUuid) {
171187
List<String> fileList = fileRepository.findAllByFileUuid(fileUuid).stream().map(File::getFileSavedName).toList();
172188

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package devkor.com.teamcback.domain.operatingtime.controller;
2+
3+
import devkor.com.teamcback.domain.operatingtime.dto.request.SavePlaceOperatingTimeConditionReq;
4+
import devkor.com.teamcback.domain.operatingtime.dto.request.SavePlaceOperatingTimeReq;
5+
import devkor.com.teamcback.domain.operatingtime.dto.response.GetPlaceOperatingTimeRes;
6+
import devkor.com.teamcback.domain.operatingtime.dto.response.SavePlaceOperatingTimeConditionRes;
7+
import devkor.com.teamcback.domain.operatingtime.dto.response.SavePlaceOperatingTimeRes;
8+
import devkor.com.teamcback.domain.operatingtime.service.AdminOperatingTimeService;
9+
import devkor.com.teamcback.global.response.CommonResponse;
10+
import io.swagger.v3.oas.annotations.Operation;
11+
import io.swagger.v3.oas.annotations.Parameter;
12+
import io.swagger.v3.oas.annotations.media.Content;
13+
import io.swagger.v3.oas.annotations.media.Schema;
14+
import io.swagger.v3.oas.annotations.responses.ApiResponse;
15+
import io.swagger.v3.oas.annotations.responses.ApiResponses;
16+
import jakarta.validation.Valid;
17+
import lombok.RequiredArgsConstructor;
18+
import org.springframework.web.bind.annotation.*;
19+
20+
@RestController
21+
@RequiredArgsConstructor
22+
@RequestMapping("/api/admin/operating-time")
23+
public class AdminOperatingTimeController {
24+
private final AdminOperatingTimeService adminOperatingTimeService;
25+
26+
@GetMapping("/places/{placeId}")
27+
@Operation(summary = "장소의 운영시간 검색",
28+
description = "장소 id로 운영시간 검색")
29+
@ApiResponses(value = {
30+
@ApiResponse(responseCode = "200", description = "정상 처리 되었습니다."),
31+
@ApiResponse(responseCode = "404", description = "장소를 찾을 수 없습니다.",
32+
content = @Content(schema = @Schema(implementation = CommonResponse.class))),
33+
})
34+
public CommonResponse<GetPlaceOperatingTimeRes> getPlaceOperatingTime(
35+
@Parameter(name = "placeId", description = "장소 ID") @PathVariable Long placeId) {
36+
return CommonResponse.success(adminOperatingTimeService.getPlaceOperatingTime(placeId));
37+
}
38+
39+
@PutMapping("/places/{placeId}")
40+
@Operation(summary = "장소의 운영시간 저장",
41+
description = "장소가 각 요일별로 고정된 운영시간을 가지는 경우(00:00-00:00 형식 포함)")
42+
@ApiResponses(value = {
43+
@ApiResponse(responseCode = "200", description = "정상 처리 되었습니다."),
44+
@ApiResponse(responseCode = "404", description = "장소를 찾을 수 없습니다.",
45+
content = @Content(schema = @Schema(implementation = CommonResponse.class))),
46+
})
47+
public CommonResponse<SavePlaceOperatingTimeRes> savePlaceOperatingTime(
48+
@Parameter(name = "placeId", description = "장소 ID") @PathVariable Long placeId,
49+
@Parameter(description = "요일별 운영 시간") @RequestBody SavePlaceOperatingTimeReq req) {
50+
return CommonResponse.success(adminOperatingTimeService.savePlaceOperatingTime(placeId, req));
51+
}
52+
53+
@PostMapping("/places/{placeId}")
54+
@Operation(summary = "장소의 조건 및 운영시간 저장(별도로 요일별 대표 운영 시간도 저장해야 함)",
55+
description = "장소가 조건에 따라 유동적인 운영시간을 가지는 경우")
56+
@ApiResponses(value = {
57+
@ApiResponse(responseCode = "200", description = "정상 처리 되었습니다."),
58+
@ApiResponse(responseCode = "404", description = "장소를 찾을 수 없습니다.",
59+
content = @Content(schema = @Schema(implementation = CommonResponse.class))),
60+
})
61+
public CommonResponse<SavePlaceOperatingTimeConditionRes> savePlaceOperatingTimeCondition(
62+
@Parameter(name = "placeId", description = "장소 ID") @PathVariable Long placeId,
63+
@Parameter(description = "조건 및 운영 시간") @RequestBody @Valid SavePlaceOperatingTimeConditionReq req) {
64+
return CommonResponse.success(adminOperatingTimeService.savePlaceOperatingTimeCondition(placeId, req));
65+
}
66+
}

0 commit comments

Comments
 (0)