v1.2.9.3 fix on generated diet JSON handling

This commit is contained in:
bossanyit 2023-06-15 16:31:22 +02:00
parent 4362988c4a
commit 7ea9164f66
2 changed files with 186 additions and 177 deletions

View File

@ -82,6 +82,8 @@ class DietController(private val dietRepository: DietRepository, private val mea
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val todayString = now.format(formatter)
var diet: Diet? = dietRepository.findTheLastEmptyDiet(dietUserId)
val dietSaved: Diet?
this.openAiKey = openaiKey
if (diet == null) {
diet = Diet(
dietUserId = dietUserId,
@ -91,17 +93,17 @@ class DietController(private val dietRepository: DietRepository, private val mea
generating = 1
)
diet = dietRepository.save(diet)
println("new diet: $diet.dietId")
}
var result: String?
this.openAiKey = openaiKey
if (!test) {
val systemInput = "Te egy táplálkozási szakértő vagy. A feladat egy étrend elkészítése ebben a 3 lépésben:\n" +
val systemInput =
"Te egy táplálkozási szakértő vagy. A feladat egy étrend elkészítése ebben a 3 lépésben:\n" +
"\n" +
"1. Vizsgáld meg az input adatokat, és készítsd el az étrendet\n" +
"2. Ellenőrizd az ételeket, hogy tényleg létezik-e olyan, és megfelel az input adatok feltételeinek\n" +
"3. Ellenőrizd a kimeneti formátumot. Csak a megadott kimeneti formátumban válaszolj"
"3. Ellenőrizd a kimeneti formátumot. Csak a megadott JSON kimeneti formátumban válaszolj, semmilyen más formátum nem elfogadott.\n"
val deferred = GlobalScope.async {
@ -116,6 +118,7 @@ class DietController(private val dietRepository: DietRepository, private val mea
runBlocking {
result = deferred.await().toString()
result = extractJson(result!!)
println("extracted json: $result")
}
if (result == null || result!!.isEmpty()) {
@ -268,12 +271,17 @@ class DietController(private val dietRepository: DietRepository, private val mea
"}"
}
val gson = Gson()
diet.dietText = result!!
diet.startDate = todayString
diet.premium = 1
val dietSaved = dietRepository.save(diet)
dietSaved = dietRepository.save(diet)
} else {
dietSaved = diet
}
val gson = Gson()
val dietJson = JSONObject(diet.dietText)
val mealPlansJson = dietJson.getJSONArray("DIET")

View File

@ -168,11 +168,12 @@ class DietTest {
dietRepository.delete(newDiet2)
}
//@Test
@Test
fun `find the last empty diet successfully`() {
val diet: Diet? = dietRepository.findTheLastEmptyDiet(2)
assertNotNull(diet)
assertEquals(diet.premium, 1)
println("DietID: ${diet.dietId}")
}
@Test
@ -200,7 +201,7 @@ class DietTest {
"]}"
mockMvc.perform(
MockMvcRequestBuilders.post("/api/diet/generate_premium/2/true")
MockMvcRequestBuilders.post("/api/diet/generate_premium/2/false")
.contentType(MediaType.APPLICATION_JSON)
.header("Authorization", "Bearer $authToken")
.content(input)