瀏覽代碼

优化菜谱

wbspool 2 年之前
父節點
當前提交
d1c453745b

+ 48 - 0
BusinessStep/src/main/java/com/develop/step/CookStepActivity2.kt

@@ -17,12 +17,14 @@ import com.develop.food.base.manager.FloatWindowManager
 import com.develop.food.base.repo.CURRENT_USER_ID
 import com.develop.food.base.repo.FoodDataProvider
 import com.develop.food.base.repo.entity.UserHistoryRecipes
+import com.develop.food.base.repo.entity.UserRecipeStepRemark
 import com.develop.food.base.router.Screens
 import com.develop.food.base.utils.*
 import com.develop.food.base.widgets.CancelConfirmDialog
 import com.develop.food.base.widgets.TimePickerView
 import com.develop.step.viewmodel.CookStepStatus
 import com.develop.step.viewmodel.CookStepUiData
+import com.develop.step.widgets.NoteEditDialog
 import com.kuyuntech.cofarcooking.device.sdk.constant.core.CommonEventTypes
 import com.kuyuntech.cofarcooking.device.sdk.constant.core.DevStatus
 import com.kuyuntech.cofarcooking.device.sdk.constant.core.HeatModes
@@ -71,6 +73,7 @@ class CookStepActivity2 : CookStepToolActivity() {
                     viewModel.stepUiData.doingModify = true
                 }
             }
+
         binding.viewAlarm.setOnClickListener {
             audioMute = !audioMute
             if (audioMute) {
@@ -81,12 +84,57 @@ class CookStepActivity2 : CookStepToolActivity() {
             }
         }
         initData()
+
+        binding.viewRemark.setOnClickListener {
+            Log.i("dd",CURRENT_USER_ID.toString() + recipeNumber.toString() + currentStepIndex.toString());
+            var data = FoodDataProvider.getUserDatabase().userInfoDao().queryUserRecipeStepRemark(
+                CURRENT_USER_ID,recipeNumber.toString(),viewModel.stepIndex.toString());
+            var dialog = NoteEditDialog();
+            dialog.text = data?.remark
+            dialog.listener = object :NoteEditDialog.OnDialogClickListener{
+                override fun onComplete(remark:String) {
+                    viewModel.recipe?.let {
+
+
+                        if(data == null){
+                             data = UserRecipeStepRemark(
+                                recipeNumber = it.number.toString(),
+                                stepNumber = viewModel.stepIndex.toString(),
+                                userId = CURRENT_USER_ID,
+                                remark = remark
+                            )
+                        }else{
+                            data!!.remark = remark;
+                        }
+
+                        FoodDataProvider.getUserDatabase().userInfoDao().insertUserRecipeStepRemark(
+                            data!!
+                        );
+
+
+                    }
+
+                }
+
+                override fun onClear() {
+                }
+
+            };
+            dialog.showDialog(supportFragmentManager, "NoteEditDialog")
+
+        }
+
     }
 
     private fun initData() {
         viewModel.queryRecipeCookStep(recipeNumber ?: "", currentStepIndex)
         viewModel.stepDisplay.observe(this) { it ->
             coverPath = FoodDataProvider.getImagePath(it.source.photoVideoFilePath)
+
+
+
+
+
             if (CofarSDK.devInfo().status == DevStatus.STOP.toInt()) {
                 CofarSDK.changeModeWithoutCfg(
                     "$recipeNumber:${viewModel.stepIndex}",

+ 22 - 1
BusinessStep/src/main/java/com/develop/step/widgets/NoteEditDialog.kt

@@ -11,6 +11,10 @@ class NoteEditDialog: FullScreenTransparentDialog() {
 
     private lateinit var binding: ItemNoteDialogBinding
 
+    var listener:OnDialogClickListener?=null;
+
+    var text:String?="";
+
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
@@ -23,12 +27,29 @@ class NoteEditDialog: FullScreenTransparentDialog() {
               removeSelf()
         }
         binding.viewComplete.setOnClickListener {
+
+              listener?.onComplete(binding.etNote.text.toString());
               removeSelf()
         }
         binding.viewEdit.setOnClickListener {
-              removeSelf()
+            binding.etNote.text.clear();
+            listener?.onClear();
+        }
+        if(text != null){
+            binding.etNote.text.insert(0,text)
+
         }
+
         return binding.root
     }
 
+    fun configListener(listener:OnDialogClickListener){
+        this.listener = listener;
+    }
+
+    interface OnDialogClickListener {
+        fun onComplete(remark:String)
+        fun onClear()
+    }
+
 }

+ 6 - 0
app/build.gradle

@@ -16,9 +16,15 @@ android {
         versionName "3015.1.0.0.0170.2"
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+        javaCompileOptions {
+            annotationProcessorOptions {
+                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
+            }
+        }
         kapt {
             arguments {
                 arg("AROUTER_MODULE_NAME", project.getName())
+                arg("room.schemaLocation", "$projectDir/schemas".toString())
             }
         }
     }

+ 2 - 2
gradle.properties

@@ -21,8 +21,8 @@ android.enableJetifier=true
 kotlin.code.style=official
 
 #systemProp.https.nonProxyHosts=localhost
-#systemProp.https.proxyPort=1080
+#systemProp.https.proxyPort=1087
 #systemProp.http.proxyHost=127.0.0.1
 #systemProp.http.nonProxyHosts=localhost
 #systemProp.https.proxyHost=127.0.0.1
-#systemProp.http.proxyPort=1080
+#systemProp.http.proxyPort=1087

+ 10 - 1
libBase/build.gradle

@@ -13,6 +13,15 @@ android {
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
+
+
+        kapt {
+            arguments {
+                arg("AROUTER_MODULE_NAME", project.getName())
+                arg("room.schemaLocation", "$projectDir/schemas".toString())
+            }
+        }
+
     }
 
     buildTypes {
@@ -38,5 +47,5 @@ dependencies {
     api 'androidx.appcompat:appcompat:1.3.0'
     api 'com.google.android.material:material:1.4.0'
     api project(path: ':libThirdParty')
-    kapt 'androidx.room:room-compiler:2.3.0'
+    kapt 'androidx.room:room-compiler:2.4.3'
 }

+ 6 - 3
libBase/src/main/java/com/develop/food/base/repo/db/UserDatabase.kt

@@ -1,5 +1,7 @@
 package com.develop.food.base.repo.db
 
+import android.annotation.SuppressLint
+import androidx.room.AutoMigration
 import androidx.room.Database
 import androidx.room.RoomDatabase
 import com.develop.food.base.repo.db.dao.DevConfigDao
@@ -7,9 +9,10 @@ import com.develop.food.base.repo.db.dao.UserInfoDao
 import com.develop.food.base.repo.entity.*
 
 @Database(
-    entities = [DevVersion::class, UserInfo::class, UserFavoriteRecipes::class, UserHistoryRecipes::class, UserTag::class, UserOnLineRecipes::class],
-    version = 1,
-    exportSchema = false
+    entities = [DevVersion::class, UserInfo::class, UserFavoriteRecipes::class, UserHistoryRecipes::class, UserTag::class, UserOnLineRecipes::class,UserRecipeStepRemark::class],
+    version = 2,
+    autoMigrations = [AutoMigration(from = 1, to = 2)],
+    exportSchema = true,
 )
 abstract class UserDatabase : RoomDatabase() {
 

+ 7 - 0
libBase/src/main/java/com/develop/food/base/repo/db/dao/UserInfoDao.kt

@@ -50,4 +50,11 @@ interface UserInfoDao {
 
     @Query("select * from user_online_recipes")
     fun queryUserOnLineRecipesIds(): List<UserOnLineRecipes>
+
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    fun insertUserRecipeStepRemark(userRecipeStepRemark:UserRecipeStepRemark)
+
+    @Query("select * from user_recipe_step_remark where userId = :userId and recipeNumber =:recipeNumber and  stepNumber=:stepNumber")
+    fun queryUserRecipeStepRemark(userId: Long, recipeNumber: String, stepNumber: String):UserRecipeStepRemark?
+
 }

+ 20 - 0
libBase/src/main/java/com/develop/food/base/repo/entity/UserRecipeStepRemark.kt

@@ -0,0 +1,20 @@
+package com.develop.food.base.repo.entity
+
+import androidx.room.Entity
+import androidx.room.PrimaryKey
+
+@Entity(tableName = "user_recipe_step_remark")
+class UserRecipeStepRemark(
+
+    var userId: Long,
+
+    var remark: String,
+
+    var recipeNumber: String, //喜欢的菜谱id
+
+    var stepNumber : String, //喜欢的菜谱id
+
+    @PrimaryKey(autoGenerate = true)
+    var id: Long = 0,
+
+)

+ 2 - 2
libThirdParty/build.gradle

@@ -71,8 +71,8 @@ dependencies {
     api 'de.hdodenhof:circleimageview:3.1.0'
     api 'com.tencent.bugly:crashreport:latest.release'
 
-    api 'androidx.room:room-common:2.3.0'
-    api 'androidx.room:room-runtime:2.3.0'
+    api 'androidx.room:room-common:2.4.3'
+    api 'androidx.room:room-runtime:2.4.3'
     api 'com.github.eurigo:dexmakerhook:1.0'
     api 'com.blankj:utilcodex:1.31.0'
     api 'com.google.zxing:core:3.3.0'