From 742b3a07750b5dc7245567a9e2294e2a1bd2e0c0 Mon Sep 17 00:00:00 2001 From: zxj <275873859@qq.com> Date: Thu, 7 Aug 2025 11:49:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E7=90=86=E4=BA=86=E4=B8=8A=E4=B8=80?= =?UTF-8?q?=E6=AC=A1=E7=9A=84=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/sw/dualscreen/ext/StringExt.kt | 2 +- .../dualscreen/presentation/SecondaryScreenPresentation.kt | 7 +++++-- .../com/sw/dualscreen/presentation/UserNutritionUtils.kt | 7 +++++-- .../main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt | 1 + 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/sw/dualscreen/ext/StringExt.kt b/app/src/main/java/com/sw/dualscreen/ext/StringExt.kt index 9bc3416..5ca465b 100644 --- a/app/src/main/java/com/sw/dualscreen/ext/StringExt.kt +++ b/app/src/main/java/com/sw/dualscreen/ext/StringExt.kt @@ -6,7 +6,7 @@ package com.sw.dualscreen.ext * 多于2个字:张*某 */ fun String?.maskName(): String { - if (this == null || this.isEmpty()) return "" + if (this == null || this.isEmpty()) return "-" return when { length == 2 -> "${this[0]}*" diff --git a/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt b/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt index bf0acb4..d3f6b31 100644 --- a/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt +++ b/app/src/main/java/com/sw/dualscreen/presentation/SecondaryScreenPresentation.kt @@ -157,7 +157,10 @@ class SecondaryScreenPresentation( Timber.d("step1") currentStep = 1 //回复上一次的设置 - lastWeight = 0.0 +// lastWeight = 0.0 + dinnerTypeInfo = null + currentFood = null + userNutritionData = null lastFood = null lastCalcResultInfo = null recognitionWeight = 0.0 @@ -189,7 +192,7 @@ class SecondaryScreenPresentation( binding.flPreview.visibility = View.GONE binding.flFace.visibility = View.VISIBLE - binding.ivFaceBg.visibility = View.GONE + binding.ivFaceBg.visibility = View.VISIBLE binding.tvFaceTip.visibility = View.VISIBLE binding.tvBottomTip.visibility = View.VISIBLE itemUserNutritionBinding.clNutritionData.visibility = View.GONE diff --git a/app/src/main/java/com/sw/dualscreen/presentation/UserNutritionUtils.kt b/app/src/main/java/com/sw/dualscreen/presentation/UserNutritionUtils.kt index 3f5ccf2..0fccc3a 100644 --- a/app/src/main/java/com/sw/dualscreen/presentation/UserNutritionUtils.kt +++ b/app/src/main/java/com/sw/dualscreen/presentation/UserNutritionUtils.kt @@ -20,6 +20,7 @@ object UserNutritionUtils { weight: Double, dinnerType: String ): CalcResultInfo { + // 初始化变量 var foodKcal = 0.0 var totalKcal = 0.0 @@ -27,7 +28,7 @@ object UserNutritionUtils { // 处理食物信息 foodKcal = calculateValue(foodInfo.stFoodInfoMaterial?.energyKcal, weight) - + Timber.d("calculateNutrition foodKcal = ${foodKcal}, energyKcal = ${foodInfo.stFoodInfoMaterial?.energyKcal}, weight = $weight") grain = calculateValue(foodInfo.stFoodInfoPagodaAPPVO?.grainValue(), weight) fruits = calculateValue(foodInfo.stFoodInfoPagodaAPPVO?.fruitsValue(), weight) vegetable = calculateValue(foodInfo.stFoodInfoPagodaAPPVO?.vegetableValue(), weight) @@ -35,18 +36,20 @@ object UserNutritionUtils { // 合并用户数据 grain += userModel.stFoodInfoPagoda?.grainValue() ?: 0.0 + fruits += userModel.stFoodInfoPagoda?.fruitsValue() ?: 0.0 vegetable = vegetable.plus(userModel.stFoodInfoPagoda?.vegetableValue() ?: 0.0) meat += userModel.stFoodInfoPagoda?.meatValue() ?: 0.0 totalKcal = foodKcal + userModel.energyValue() + Timber.d("calculateNutrition totalKcal = ${totalKcal}, energyValue = ${userModel.energyValue()}") if (totalKcal < 0){ totalKcal = 0.0 } // 判断当餐最大热量 val maxKcal = userModel.totalEnergyCalculateScoreValue() * calculateDinnerTypeRatio(dinnerType) / 10 - + Timber.d("calculateNutrition maxKcal = ${maxKcal}, CalculateScoreValue = ${userModel.totalEnergyCalculateScoreValue()}") val pagoda = userModel.stFoodInfoPagoda val fruitsInfo = parseRecommend(pagoda?.fruitsRecommend, fruits) val vegetableInfo = parseRecommend(pagoda?.vegetableRecommend, vegetable) diff --git a/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt b/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt index 17fa65c..503e822 100644 --- a/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt +++ b/app/src/main/java/com/sw/dualscreen/viewmodel/UserViewModel.kt @@ -190,6 +190,7 @@ class UserViewModel : BaseViewModel() { fun getDinnerType() { Timber.d("getDinnerType") + _dinnerTypeInfo.value = null launchWithLoading { val response = repository.getDinnerType() if (parseResponse(response)) {