瀏覽代碼

1.添加获取mmse试题库接口

王鹏鹏 2 年之前
父節點
當前提交
bd6170b1c5

+ 3 - 0
baselib/src/main/java/com/yingyangfly/baselib/db/QuestionsDao.kt

@@ -11,6 +11,9 @@ interface QuestionsDao : BaseDao<QuestionsBean> {
     @Insert(onConflict = OnConflictStrategy.REPLACE)
     fun insert(element: QuestionsBean)
 
+    @Insert(onConflict = OnConflictStrategy.REPLACE)
+    override fun insertAll(list: MutableList<QuestionsBean>)
+
     @Query("select * from Questions")
     fun getAllQuestions(): MutableList<QuestionsBean>
 

+ 1 - 1
mmse/src/main/AndroidManifest.xml

@@ -4,7 +4,7 @@
 
     <application>
         <activity
-            android:name="com.yingyangfly.mmse.activity.QuestionsActivity"
+            android:name="com.yingyangfly.mmse.activity.questions.QuestionsActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
             android:screenOrientation="landscape"
             android:windowSoftInputMode="adjustResize|adjustPan" />

+ 29 - 4
mmse/src/main/java/com/yingyangfly/mmse/activity/QuestionsActivity.kt → mmse/src/main/java/com/yingyangfly/mmse/activity/questions/QuestionsActivity.kt

@@ -1,24 +1,30 @@
-package com.yingyangfly.mmse.activity
+package com.yingyangfly.mmse.activity.questions
 
 import androidx.fragment.app.Fragment
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.ActivityQuestionsBinding
-import com.yingyangfly.baselib.base.BaseActivity
+import com.yingyangfly.baselib.db.AppDataBase
+import com.yingyangfly.baselib.db.QuestionsBean
+import com.yingyangfly.baselib.db.QuestionsDao
+import com.yingyangfly.baselib.ext.toast
+import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
-import com.yingyangfly.mmse.activity.adapter.FragmentTabAdapter
 import com.yingyangfly.mmse.activity.fragment.NumberFragment
 import com.yingyangfly.mmse.activity.fragment.SelectedItemFragment
 import com.yingyangfly.mmse.activity.fragment.SingleJudgmentFragment
 import com.yingyangfly.mmse.activity.fragment.SoundRecordFragment
+import com.yingyangfly.mmse.adapter.FragmentTabAdapter
 
 /**
  * MMSE测评
  */
 @Route(path = RouterUrlCommon.mmseEvaluation)
-class QuestionsActivity : BaseActivity<ActivityQuestionsBinding>() {
+class QuestionsActivity : BaseMVVMActivity<ActivityQuestionsBinding, QuestionsViewModel>() {
 
     private var tabFragments = mutableListOf<Fragment>()
+    private var questionsList = mutableListOf<QuestionsBean>()
+    private var dao: QuestionsDao? = null
 
     override fun initViews() {
         tabFragments.clear()
@@ -43,7 +49,26 @@ class QuestionsActivity : BaseActivity<ActivityQuestionsBinding>() {
     }
 
     override fun initData() {
+        dao = AppDataBase.instance.getQuestionsDao()
+        dao?.deleteAll()
+        loadData()
+    }
 
+    /**
+     * 加载mmse试题库
+     */
+    private fun loadData() {
+        viewModel.getQuestions(fail = {
+            it.toast()
+        }, success = {
+            questionsList.clear()
+            if (it.isNullOrEmpty().not()) {
+                questionsList.addAll(it!!)
+            }
+            if (questionsList.isNullOrEmpty().not()) {
+                dao?.insertAll(questionsList)
+            }
+        })
     }
 
 }

+ 21 - 0
mmse/src/main/java/com/yingyangfly/mmse/activity/questions/QuestionsViewModel.kt

@@ -0,0 +1,21 @@
+package com.yingyangfly.mmse.activity.questions
+
+import com.yingyangfly.baselib.db.QuestionsBean
+import com.yingyangfly.baselib.mvvm.BaseViewModel
+import com.yingyangfly.mmse.net.MMSE_API
+
+class QuestionsViewModel : BaseViewModel() {
+
+    /**
+     * 获取mmse试题
+     */
+    fun getQuestions(
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: List<QuestionsBean>?) -> Unit)? = null,
+    ) = launchFlow(true) {
+        MMSE_API.getQuestions()
+    }.runUI(
+        success,
+        fail
+    )
+}

+ 1 - 1
mmse/src/main/java/com/yingyangfly/mmse/activity/adapter/FragmentTabAdapter.java → mmse/src/main/java/com/yingyangfly/mmse/adapter/FragmentTabAdapter.java

@@ -1,4 +1,4 @@
-package com.yingyangfly.mmse.activity.adapter;
+package com.yingyangfly.mmse.adapter;
 
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;

+ 6 - 0
mmse/src/main/java/com/yingyangfly/mmse/activity/fragment/NumberFragment.kt → mmse/src/main/java/com/yingyangfly/mmse/fragment/NumberFragment.kt

@@ -20,4 +20,10 @@ class NumberFragment : BaseFragment<FragmentNumberBinding>() {
 
     }
 
+    override fun onResume() {
+        super.onResume()
+
+
+    }
+
 }

+ 0 - 0
mmse/src/main/java/com/yingyangfly/mmse/activity/fragment/SelectedItemFragment.kt → mmse/src/main/java/com/yingyangfly/mmse/fragment/SelectedItemFragment.kt


+ 0 - 0
mmse/src/main/java/com/yingyangfly/mmse/activity/fragment/SingleJudgmentFragment.kt → mmse/src/main/java/com/yingyangfly/mmse/fragment/SingleJudgmentFragment.kt


+ 0 - 0
mmse/src/main/java/com/yingyangfly/mmse/activity/fragment/SoundRecordFragment.kt → mmse/src/main/java/com/yingyangfly/mmse/fragment/SoundRecordFragment.kt


+ 14 - 0
mmse/src/main/java/com/yingyangfly/mmse/net/MmseApiFactory.kt

@@ -0,0 +1,14 @@
+package com.yingyangfly.mmse.net
+
+import com.yingyangfly.baselib.net.NetConfig
+import com.yingyangfly.baselib.net.initAPI
+
+val Any.MMSE_API: MmseApiService by lazy {
+    MmseApiFactory.api
+}
+
+object MmseApiFactory {
+    val api: MmseApiService by lazy {
+        initAPI(NetConfig.API_URL, MmseApiService::class.java)
+    }
+}

+ 15 - 0
mmse/src/main/java/com/yingyangfly/mmse/net/MmseApiService.kt

@@ -0,0 +1,15 @@
+package com.yingyangfly.mmse.net
+
+
+import com.yingyangfly.baselib.db.QuestionsBean
+import com.yingyangfly.baselib.net.BaseResp
+import retrofit2.http.POST
+
+interface MmseApiService {
+
+    /**
+     * 获取mmse试题
+     */
+    @POST("app/review/findAllReview")
+    suspend fun getQuestions(): BaseResp<List<QuestionsBean>>
+}

+ 1 - 1
mmse/src/main/manifest/AndroidManifest.xml

@@ -4,7 +4,7 @@
 
     <application>
         <activity
-            android:name="com.yingyangfly.mmse.activity.QuestionsActivity"
+            android:name="com.yingyangfly.mmse.activity.questions.QuestionsActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"
             android:screenOrientation="landscape"
             android:windowSoftInputMode="adjustResize|adjustPan" />