Skip to content

Commit 6d7d684

Browse files
authored
fix: find cache query (#65)
1 parent 547795d commit 6d7d684

File tree

5 files changed

+13
-19
lines changed

5 files changed

+13
-19
lines changed

noweekend-core/core-api/src/main/kotlin/noweekend/core/domain/recommend/RecommendServiceImpl.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package noweekend.core.domain.recommend
22

3-
import com.fasterxml.jackson.databind.ObjectMapper
43
import noweekend.client.mcp.recommend.RecommendClient
54
import noweekend.client.mcp.recommend.model.SandwichRequest
65
import noweekend.client.mcp.recommend.model.SandwichResponse
@@ -37,7 +36,6 @@ class RecommendServiceImpl(
3736
private val weatherWriter: WeatherWriter,
3837
private val tagRecommendCacheReader: TagRecommendCacheReader,
3938
private val tagRecommendCacheWriter: TagRecommendCacheWriter,
40-
private val objectMapper: ObjectMapper,
4139
) : RecommendService {
4240

4341
override fun getWeatherRecommend(userId: String): WeatherResponse {
@@ -104,7 +102,7 @@ class RecommendServiceImpl(
104102
override fun getTagRecommend(userId: String): TagRecommendations {
105103
val userTags = tagReader.getUserTags(userId)
106104
userTagValidation(userTags)
107-
val cached = getTagRecommendCaching(RecommendType.MIXED, userTags)
105+
val cached = getTagRecommendCaching(RecommendType.MIXED, userId)
108106

109107
if (cached != null) {
110108
return cached.recommend
@@ -131,12 +129,10 @@ class RecommendServiceImpl(
131129
}
132130
}
133131

134-
private fun getTagRecommendCaching(tagRecommendType: RecommendType, userTags: UserTags): TagRecommendCache? {
135-
val tagsJson = objectMapper.writeValueAsString(userTags)
132+
private fun getTagRecommendCaching(tagRecommendType: RecommendType, userId: String): TagRecommendCache? {
136133
return tagRecommendCacheReader.findTodayCache(
137134
recommendType = tagRecommendType,
138-
tagsJson = tagsJson,
139-
searchDate = LocalDate.now(),
135+
userId = userId,
140136
)
141137
}
142138

@@ -171,7 +167,7 @@ class RecommendServiceImpl(
171167
val userTags = tagReader.getUserTags(userId)
172168
userTagValidation(userTags)
173169

174-
val cached = getTagRecommendCaching(RecommendType.ONLY_NEW, userTags)
170+
val cached = getTagRecommendCaching(RecommendType.ONLY_NEW, userId)
175171
if (cached != null) {
176172
return cached.recommend
177173
}

noweekend-core/core-domain/src/main/kotlin/noweekend/core/domain/tag/TagRecommendCacheReader.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ class TagRecommendCacheReader(
1111
) {
1212
fun findTodayCache(
1313
recommendType: RecommendType,
14-
tagsJson: String,
15-
searchDate: LocalDate = LocalDate.now(),
14+
userId: String,
1615
): TagRecommendCache? {
17-
return repository.findTodayCache(recommendType, tagsJson, searchDate)
16+
return repository.findTodayCache(recommendType, LocalDate.now(), userId)
1817
}
1918
}

noweekend-core/core-domain/src/main/kotlin/noweekend/core/domain/tag/TagRecommendCacheRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ package noweekend.core.domain.tag
33
import java.time.LocalDate
44

55
interface TagRecommendCacheRepository {
6-
fun findTodayCache(recommendType: RecommendType, tagsJson: String, searchDate: LocalDate): TagRecommendCache?
6+
fun findTodayCache(recommendType: RecommendType, searchDate: LocalDate, userId: String): TagRecommendCache?
77
fun register(tagRecommendCache: TagRecommendCache)
88
}

noweekend-storage/db-core/src/main/kotlin/noweekend/storage/db/core/tag/TagRecommendCacheCoreRepository.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,15 @@ class TagRecommendCacheCoreRepository(
1515
) : TagRecommendCacheRepository {
1616

1717
private val log = LoggerFactory.getLogger(this::class.java)
18-
1918
override fun findTodayCache(
2019
recommendType: RecommendType,
21-
tagsJson: String,
2220
searchDate: LocalDate,
21+
userId: String,
2322
): TagRecommendCache? {
24-
return jpaRepository.findByRecommendTypeAndSearchDateAndTagsJson(
23+
return jpaRepository.findByUserIdAndSearchDateAndRecommendType(
2524
recommendType = recommendType,
2625
searchDate = searchDate,
27-
tagsJson = tagsJson,
26+
userId = userId,
2827
)?.let { converter.entityToDomain(it) }
2928
}
3029

noweekend-storage/db-core/src/main/kotlin/noweekend/storage/db/core/tag/TagRecommendCacheJpaRepository.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import org.springframework.data.jpa.repository.JpaRepository
55
import java.time.LocalDate
66

77
interface TagRecommendCacheJpaRepository : JpaRepository<TagRecommendCacheEntity, String> {
8-
fun findByRecommendTypeAndSearchDateAndTagsJson(
9-
recommendType: RecommendType,
8+
fun findByUserIdAndSearchDateAndRecommendType(
9+
userId: String,
1010
searchDate: LocalDate,
11-
tagsJson: String,
11+
recommendType: RecommendType,
1212
): TagRecommendCacheEntity?
1313
}

0 commit comments

Comments
 (0)