diff --git a/src/main/java/devkor/com/teamcback/domain/building/entity/BuildingImage.java b/src/main/java/devkor/com/teamcback/domain/building/entity/BuildingImage.java index 774344e6..37d00d8f 100644 --- a/src/main/java/devkor/com/teamcback/domain/building/entity/BuildingImage.java +++ b/src/main/java/devkor/com/teamcback/domain/building/entity/BuildingImage.java @@ -34,6 +34,11 @@ public class BuildingImage { @JoinColumn(name = "building_id") private Building building; + private Double leftTopLat; + private Double leftTopLong; + private Double rightBottomLat; + private Double rightBottomLong; + public BuildingImage(Double floor, String imageUrl, Building building) { this.floor = floor; this.image = imageUrl; diff --git a/src/main/java/devkor/com/teamcback/domain/notification/controller/VersionController.java b/src/main/java/devkor/com/teamcback/domain/notification/controller/VersionController.java new file mode 100644 index 00000000..76a44c95 --- /dev/null +++ b/src/main/java/devkor/com/teamcback/domain/notification/controller/VersionController.java @@ -0,0 +1,36 @@ +package devkor.com.teamcback.domain.notification.controller; + +import devkor.com.teamcback.domain.koyeon.entity.Koyeon; +import devkor.com.teamcback.domain.notification.service.VersionService; +import devkor.com.teamcback.global.response.CommonResponse; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/notifications/version") +public class VersionController { + + private final VersionService versionService; + + /*** + * 앱 버전 조회 + */ + @GetMapping("") + @Operation(summary = "앱 버전 조회", description = "버전 다른 경우 업데이트 필요 알림") + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "정상 처리 되었습니다."), + @ApiResponse(responseCode = "404", description = "Not Found", + content = @Content(schema = @Schema(implementation = CommonResponse.class))), + }) + public CommonResponse getVersion() { + return CommonResponse.success(versionService.getVersion()); + } +} diff --git a/src/main/java/devkor/com/teamcback/domain/notification/entity/Version.java b/src/main/java/devkor/com/teamcback/domain/notification/entity/Version.java new file mode 100644 index 00000000..0c4969ab --- /dev/null +++ b/src/main/java/devkor/com/teamcback/domain/notification/entity/Version.java @@ -0,0 +1,19 @@ +package devkor.com.teamcback.domain.notification.entity; + +import jakarta.persistence.*; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Entity +@Getter +@Table(name = "tb_version") +@NoArgsConstructor +public class Version { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(nullable = false) + private String version; +} diff --git a/src/main/java/devkor/com/teamcback/domain/notification/repository/VersionRepository.java b/src/main/java/devkor/com/teamcback/domain/notification/repository/VersionRepository.java new file mode 100644 index 00000000..e2486fd7 --- /dev/null +++ b/src/main/java/devkor/com/teamcback/domain/notification/repository/VersionRepository.java @@ -0,0 +1,7 @@ +package devkor.com.teamcback.domain.notification.repository; + +import devkor.com.teamcback.domain.notification.entity.Version; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface VersionRepository extends JpaRepository { +} diff --git a/src/main/java/devkor/com/teamcback/domain/notification/service/VersionService.java b/src/main/java/devkor/com/teamcback/domain/notification/service/VersionService.java new file mode 100644 index 00000000..3a1001d7 --- /dev/null +++ b/src/main/java/devkor/com/teamcback/domain/notification/service/VersionService.java @@ -0,0 +1,27 @@ +package devkor.com.teamcback.domain.notification.service; + +import devkor.com.teamcback.domain.koyeon.entity.Koyeon; +import devkor.com.teamcback.domain.notification.entity.Version; +import devkor.com.teamcback.domain.notification.repository.VersionRepository; +import devkor.com.teamcback.domain.schoolcalendar.entity.SchoolCalendar; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@RequiredArgsConstructor +public class VersionService { + + private final VersionRepository versionRepository; + + /** + * 고연전 여부 확인 + */ + @Transactional(readOnly = true) + public String getVersion() { + Version version = versionRepository.findById(1L).orElse(null); + + if (version == null) return ""; + return version.getVersion(); + } +}