浏览代码

1.添加获取用户信息接口

王鹏鹏 2 年之前
父节点
当前提交
b3c8a6f772

+ 5 - 27
personalcenter/src/main/java/com/yingyang/personalcenter/activity/PersonalCenterActivity.kt

@@ -3,7 +3,6 @@ package com.yingyang.personalcenter.activity
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.google.android.flexbox.FlexDirection
 import com.google.android.flexbox.FlexboxLayoutManager
-import com.yingyang.personalcenter.adapter.ComprehensiveEvaluationAdapter
 import com.yingyang.personalcenter.adapter.DiagnosisAdapter
 import com.yingyang.personalcenter.databinding.ActivityPersonalCenterBinding
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
@@ -19,12 +18,6 @@ import com.yingyangfly.baselib.utils.JumpUtil
 class PersonalCenterActivity :
     BaseMVVMActivity<ActivityPersonalCenterBinding, PersonalCenterViewModel>() {
 
-    /**
-     * 综合测评
-     */
-    private var comprehensiveEvaluationList = mutableListOf<String>()
-    private val comprehensiveEvaluationAdapter by lazy { ComprehensiveEvaluationAdapter() }
-
     /**
      * 诊断
      */
@@ -32,26 +25,8 @@ class PersonalCenterActivity :
     private val diagnosisAdapter by lazy { DiagnosisAdapter() }
 
     override fun initViews() {
-        comprehensiveEvaluationList.add("综合测评广告")
-
-        diagnosisList.add("阿尔茨海默症")
-        diagnosisList.add("阿尔茨海默症")
-        diagnosisList.add("阿尔茨海默症")
-        diagnosisList.add("阿尔茨海默症")
-        diagnosisList.add("阿尔茨海默症")
-        diagnosisList.add("阿尔茨海默症")
-        diagnosisList.add("阿尔茨海默症")
-        diagnosisList.add("阿尔茨海默症")
-        diagnosisList.add("阿尔茨海默症")
-
         binding {
-            rvComprehensiveEvaluation.layoutManager =
-                FlexboxLayoutManager(this@PersonalCenterActivity, FlexDirection.ROW)
-            rvComprehensiveEvaluation.adapter = comprehensiveEvaluationAdapter
-            comprehensiveEvaluationAdapter.setData(comprehensiveEvaluationList)
-
-            rvDiagnosis.layoutManager =
-                FlexboxLayoutManager(this@PersonalCenterActivity, FlexDirection.ROW)
+            rvDiagnosis.layoutManager = FlexboxLayoutManager(this@PersonalCenterActivity, FlexDirection.ROW)
             rvDiagnosis.adapter = diagnosisAdapter
             diagnosisAdapter.setData(diagnosisList)
         }
@@ -83,7 +58,10 @@ class PersonalCenterActivity :
         viewModel.getUserInfo(fail = {
             it.toast()
         }, success = {
-
+            binding.data = it
+            if (it.diagnoseResult.isNullOrEmpty().not()) {
+                diagnosisAdapter.setData(it.diagnoseResult)
+            }
         })
     }
 }

+ 3 - 2
personalcenter/src/main/java/com/yingyang/personalcenter/activity/PersonalCenterViewModel.kt

@@ -1,5 +1,6 @@
 package com.yingyang.personalcenter.activity
 
+import com.yingyang.personalcenter.entity.UserInfoBean
 import com.yingyang.personalcenter.net.PERSONALCENTER_API
 import com.yingyangfly.baselib.mvvm.BaseViewModel
 
@@ -10,8 +11,8 @@ class PersonalCenterViewModel : BaseViewModel() {
 
     fun getUserInfo(
         fail: ((msg: String) -> Unit)? = null,
-        success: ((success: Unit) -> Unit)? = null,
-    ) = launchFlow(false) {
+        success: ((success: UserInfoBean) -> Unit)? = null,
+    ) = launchFlow(true) {
         PERSONALCENTER_API.getUserInfo()
     }.runUI(
         success,

+ 94 - 0
personalcenter/src/main/java/com/yingyang/personalcenter/entity/UserInfoBean.kt

@@ -0,0 +1,94 @@
+package com.yingyang.personalcenter.entity
+
+/**
+ * 用户信息
+ */
+data class UserInfoBean(
+    val accountNonExpired: Boolean,
+    val accountNonLocked: Boolean,
+    val authorities: Any,
+    val avatar: String,
+    val birthDate: String,
+    val createBy: String,
+    val createTime: String,
+    val credentialsNonExpired: Boolean,
+    val diagnoseResult: List<String>,
+    val doctorId: String,
+    val doctorName: String,
+    val enabled: Boolean,
+    val hospitalDepartment: String,
+    val id: String,
+    val idcard: Any,
+    val lastLoginDate: String,
+    val mobile: String,
+    val name: String,
+    val nickName: Any,
+    val openid: String,
+    val orderEndTime: String,
+    val orderStartTime: String,
+    val orgCode: String,
+    val orgName: String,
+    val password: String,
+    val pwd: String,
+    val remark: String,
+    val status: String,
+    val updateBy: String,
+    val updateTime: String,
+    val username: String
+) {
+    fun getUserNameInfo(): String {
+        return if (name.isNullOrEmpty()) {
+            "姓名:"
+        } else {
+            "姓名:$name"
+        }
+    }
+
+    fun getBirthDateInfo(): String {
+        return if (birthDate.isNullOrEmpty()) {
+            "出生日期:"
+        } else {
+            "出生日期:$birthDate"
+        }
+    }
+
+    fun getStartTime(): String {
+        return if (orderStartTime.isNullOrEmpty()) {
+            "开通训练日期:"
+        } else {
+            "开通训练日期:$orderStartTime"
+        }
+    }
+
+    fun getEndTime(): String {
+        return if (orderEndTime.isNullOrEmpty()) {
+            "订单截止日期:"
+        } else {
+            "订单截止日期:$orderEndTime"
+        }
+    }
+
+    fun getDoctorNameInfo(): String {
+        return if (doctorName.isNullOrEmpty()) {
+            "医生:"
+        } else {
+            "医生:$doctorName"
+        }
+    }
+
+    fun getHospitalDepartmentInfo(): String {
+        return if (hospitalDepartment.isNullOrEmpty()) {
+            "院内科室:"
+        } else {
+            "院内科室:$hospitalDepartment"
+        }
+    }
+
+    fun getOrgNameInfo(): String {
+        return if (orgName.isNullOrEmpty()) {
+            "就诊医院:"
+        } else {
+            "就诊医院:$orgName"
+        }
+    }
+}

+ 3 - 2
personalcenter/src/main/java/com/yingyang/personalcenter/net/PersonalCenterApiService.kt

@@ -1,13 +1,14 @@
 package com.yingyang.personalcenter.net
 
+import com.yingyang.personalcenter.entity.UserInfoBean
 import com.yingyangfly.baselib.net.BaseResp
 import retrofit2.http.*
 
 interface PersonalCenterApiService {
 
     /**
-     * 获取首页游戏列表
+     * 获取个人中心信息接口
      */
     @POST("app/user/info")
-    suspend fun getUserInfo(): BaseResp<Unit>
+    suspend fun getUserInfo(): BaseResp<UserInfoBean>
 }

+ 12 - 31
personalcenter/src/main/res/layout/activity_personal_center.xml

@@ -6,6 +6,9 @@
 
     <data>
 
+        <variable
+            name="data"
+            type="com.yingyang.personalcenter.entity.UserInfoBean" />
     </data>
 
     <LinearLayout
@@ -74,7 +77,7 @@
                 style="@style/text_personal_center"
                 android:layout_marginStart="@dimen/divider_33px"
                 android:layout_marginTop="@dimen/divider_57px"
-                android:text="姓名:张爱国"
+                android:text="@{data.getUserNameInfo()}"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toLeftOf="@id/tvBirthday"
                 app:layout_constraintTop_toTopOf="parent" />
@@ -82,7 +85,7 @@
             <TextView
                 android:id="@+id/tvBirthday"
                 style="@style/text_personal_center"
-                android:text="出生日期:1973-08-23"
+                android:text="@{data.getBirthDateInfo()}"
                 app:layout_constraintBaseline_toBaselineOf="@+id/tvName"
                 app:layout_constraintLeft_toRightOf="@id/tvName"
                 app:layout_constraintRight_toRightOf="parent"
@@ -93,7 +96,7 @@
                 style="@style/text_personal_center"
                 android:layout_marginStart="@dimen/divider_33px"
                 android:layout_marginTop="@dimen/divider_28px"
-                android:text="开通训练日期:2023-08-01  12:30:22"
+                android:text="@{data.getStartTime()}"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toLeftOf="@id/tvOrderDeadline"
                 app:layout_constraintTop_toBottomOf="@+id/tvName" />
@@ -101,7 +104,7 @@
             <TextView
                 android:id="@+id/tvOrderDeadline"
                 style="@style/text_personal_center"
-                android:text="订单截止日期:2023-10-01  12:30:22"
+                android:text="@{data.getEndTime()}"
                 app:layout_constraintBaseline_toBaselineOf="@+id/tvOpeningTrainingDate"
                 app:layout_constraintLeft_toRightOf="@id/tvOpeningTrainingDate"
                 app:layout_constraintRight_toRightOf="parent"
@@ -112,7 +115,7 @@
                 style="@style/text_personal_center"
                 android:layout_marginStart="@dimen/divider_33px"
                 android:layout_marginTop="@dimen/divider_25px"
-                android:text="医生:钟伟"
+                android:text="@{data.getDoctorNameInfo()}"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toLeftOf="@id/tvMedicineDepartment"
                 app:layout_constraintTop_toBottomOf="@+id/tvOpeningTrainingDate" />
@@ -120,7 +123,7 @@
             <TextView
                 android:id="@+id/tvMedicineDepartment"
                 style="@style/text_personal_center"
-                android:text="院内科室:神经内科"
+                android:text="@{data.getHospitalDepartmentInfo()}"
                 app:layout_constraintBaseline_toBaselineOf="@+id/tvDoctor"
                 app:layout_constraintLeft_toRightOf="@id/tvDoctor"
                 app:layout_constraintRight_toRightOf="parent"
@@ -132,35 +135,13 @@
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/divider_33px"
                 android:layout_marginTop="@dimen/divider_25px"
-                android:text="就诊医院:首都医科大学宣武医院-脑认知健康管理中心"
+                android:text="@{data.getOrgNameInfo()}"
                 android:textColor="@color/color_FF333333"
                 android:textSize="@dimen/divider_24px"
                 app:layout_constraintLeft_toLeftOf="parent"
                 app:layout_constraintRight_toRightOf="parent"
                 app:layout_constraintTop_toBottomOf="@+id/tvDoctor" />
 
-            <TextView
-                android:id="@+id/tvComprehensiveEvaluation"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="@dimen/divider_33px"
-                android:layout_marginTop="@dimen/divider_28px"
-                android:text="@string/comprehensive_evaluation"
-                android:textColor="@color/color_FF333333"
-                android:textSize="@dimen/divider_24px"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/tvHospital" />
-
-            <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/rvComprehensiveEvaluation"
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="@dimen/divider_18px"
-                app:layout_constraintLeft_toRightOf="@id/tvComprehensiveEvaluation"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/tvHospital"
-                tools:listitem="@layout/item_comprehensive_evaluation" />
-
             <TextView
                 android:id="@+id/tvDiagnosis"
                 android:layout_width="wrap_content"
@@ -171,7 +152,7 @@
                 android:textColor="@color/color_FF333333"
                 android:textSize="@dimen/divider_24px"
                 app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/rvComprehensiveEvaluation" />
+                app:layout_constraintTop_toBottomOf="@+id/tvHospital" />
 
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/rvDiagnosis"
@@ -180,7 +161,7 @@
                 android:layout_marginTop="@dimen/divider_24px"
                 app:layout_constraintLeft_toRightOf="@id/tvDiagnosis"
                 app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/rvComprehensiveEvaluation"
+                app:layout_constraintTop_toBottomOf="@+id/tvHospital"
                 tools:listitem="@layout/item_diagnosis" />
         </androidx.constraintlayout.widget.ConstraintLayout>