Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ interface ArticleRepository : JpaRepository<Article, Long>, ArticleRepositoryCus
@Query("SELECT a FROM Article a WHERE a.type = 'DISASTER' AND a.createdAt>:time")
fun findDisasterSituation(@Param("time") time: LocalDateTime): List<Article>

@Query("SELECT a FROM Article a WHERE a.type = 'SPONSOR' AND a.deadline > CURRENT_TIMESTAMP ORDER BY a.createdAt ASC")
@Query("SELECT a FROM Article a WHERE a.type = 'SPONSOR' AND ( a.deadline > CURRENT_TIMESTAMP OR a.deadline IS NULL ) ORDER BY a.createdAt ASC")
fun findSponsorArticle(): List<Article>
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.numberone.daepiro.domain.sponsor.dto.request

import com.amazonaws.services.cloudformation.model.ChangeSetSummary
import com.numberone.daepiro.domain.disaster.entity.DisasterType
import io.swagger.v3.oas.annotations.media.Schema
import java.time.LocalDateTime

Expand Down Expand Up @@ -29,12 +30,15 @@ data class CreateSponsorRequest(
@Schema(description = "요약", example = "요약")
val summary: String,

@Schema(description = "마감 기한", example = "2021-08-01T00:00:00")
val deadline: LocalDateTime,
@Schema(description = "마감 기한(null은 상시)", example = "2021-08-01T00:00:00")
val deadline: LocalDateTime?,

@Schema(description = "현재 하트", example = "102311")
val currentHeart: Int,

@Schema(description = "목표 하트", example = "150000")
val targetHeart: Int
val targetHeart: Int,

@Schema(description = "재난 종류", example = "지진")
val disasterType: String
)
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ data class SponsorResponse(
val id: Long,

@Schema(description = "마감 기한", example = "2025-08-01T00:00:00")
val deadline: LocalDateTime,
val deadline: LocalDateTime?,

@Schema(description = "후원사", example = "포항시")
val sponsorName: String,
Expand Down Expand Up @@ -42,6 +42,9 @@ data class SponsorResponse(

@Schema(description = "본문 내용", example = "본문 내용")
val body:String,

@Schema(description = "재난 종류", example = "지진")
val disasterType: String
) {
companion object {
fun of(
Expand All @@ -52,7 +55,7 @@ data class SponsorResponse(
}
return SponsorResponse(
id = article.id!!,
deadline = article.deadline!!,
deadline = article.deadline,
sponsorName = article.sponsorName!!,
title = article.title,
thumbnail = article.thumbnail!!,
Expand All @@ -61,7 +64,8 @@ data class SponsorResponse(
sponsorDescription = article.sponsorDescription!!,
sponsorUrl = article.sponsorUrl!!,
summary = article.summary!!,
body = article.body
body = article.body,
disasterType = article.disasterType!!.type.korean
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import com.numberone.daepiro.domain.community.entity.Article
import com.numberone.daepiro.domain.community.entity.ArticleCategory
import com.numberone.daepiro.domain.community.entity.ArticleType
import com.numberone.daepiro.domain.community.repository.article.ArticleRepository
import com.numberone.daepiro.domain.disaster.entity.DisasterType
import com.numberone.daepiro.domain.disaster.repository.DisasterTypeRepository
import com.numberone.daepiro.domain.sponsor.dto.request.CheeringRequest
import com.numberone.daepiro.domain.sponsor.dto.request.CreateSponsorRequest
import com.numberone.daepiro.domain.sponsor.dto.request.SponsorRequest
Expand All @@ -25,7 +27,8 @@ import org.springframework.transaction.annotation.Transactional
class SponsorService(
private val articleRepository: ArticleRepository,
private val cheeringRepository: CheeringRepository,
private val userRepository: UserRepository
private val userRepository: UserRepository,
private val disasterTypeRepository: DisasterTypeRepository
) {
fun getSponsors(): ApiResult<List<SponsorResponse>> {
val sponsors = articleRepository.findSponsorArticle()
Expand All @@ -50,7 +53,9 @@ class SponsorService(
summary = request.summary,
deadline = request.deadline,
currentHeart = request.currentHeart,
targetHeart = request.targetHeart
targetHeart = request.targetHeart,
disasterType = disasterTypeRepository.findByType(DisasterType.DisasterValue.kor2code(request.disasterType))
?: throw CustomException(CustomErrorContext.NOT_FOUND_DISASTER_TYPE)
)
articleRepository.save(sponsorArticle)
}
Expand Down
Loading