Browse Source

年龄处理

zhangshenjie 1 year ago
parent
commit
f43ac3f95c

+ 63 - 25
BusinessAuth/src/main/java/com/develop/auth/ui/MemberProfileFragment.kt

@@ -2,6 +2,7 @@ package com.develop.auth.ui
 
 import android.graphics.Color
 import android.os.Bundle
+import android.util.Log
 import android.view.LayoutInflater
 import android.view.ViewGroup
 import androidx.lifecycle.MutableLiveData
@@ -32,7 +33,7 @@ import com.develop.common.ui.CommonBVMFragment
 
 class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, MemberViewModel>() {
 
-    private var selectAge = 0
+    private var selectAge = -1
     private var selectGender = 0
 
     override fun createViewBinding(
@@ -46,25 +47,28 @@ class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, Me
         viewModel.queryUserInfo()
         binding.tvChooseAge.setOnClickListener {
             AgeSelectDialog(hostActivity) { index, change ->
-                selectAge = if (index == 0) {
-                    0
-                } else if (index == 1) {
-                    20
-                } else {
-                    index + 19
-                }
+                selectAge =
+//                    if (index == 0) {
+//                    0
+//                } else if (index == 1) {
+//                    20
+//                } else {
+//                    index + 19
+//                }
+
+                    if (index == 0) {
+                        0
+                    } else if (index == 1) {
+                        1
+                    } else if (index == 2) {
+                        2
+                    } else if (index == 3) {
+                        3
+                    } else {
+                        0
+                    }
 
-                //if (index == 0) {
-                //                    "<20"
-                //                } else if (index == 1) {
-                //                    "20-40"
-                //                } else if (index == 2) {
-                //                    "41-60"
-                //                }else if (index == 3) {
-                //                    ">60"
-                //                }
-
-                binding.tvChooseAge.text = selectAge.toString()
+                binding.tvChooseAge.text = ageStr(selectAge)
                 binding.tvChooseAge.setTextColor(Color.BLACK)
             }.showDialog(childFragmentManager, "AgeSelectDialog")
         }
@@ -76,15 +80,18 @@ class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, Me
                 selectGender = it
                 when (selectGender) {
                     2 -> {
-                        binding.tvChooseSex.text =resources.getString(com.develop.common.R.string.male)
+                        binding.tvChooseSex.text =
+                            resources.getString(com.develop.common.R.string.male)
                     }
 
                     1 -> {
-                        binding.tvChooseSex.text =resources.getString(com.develop.common.R.string.female)
+                        binding.tvChooseSex.text =
+                            resources.getString(com.develop.common.R.string.female)
                     }
 
                     else -> {
-                        binding.tvChooseSex.text =resources.getString(com.develop.common.R.string.none)
+                        binding.tvChooseSex.text =
+                            resources.getString(com.develop.common.R.string.none)
                     }
                 }
                 binding.tvChooseSex.setTextColor(Color.BLACK)
@@ -123,7 +130,21 @@ class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, Me
         viewModel.apply {
             userInfoLiveData.observe(viewLifecycleOwner) {
                 it?.apply {
-                    selectAge = userAge
+
+                    //做好改版前 0 20-80 的年龄兼容
+                    if (userAge in 0..3){
+                        //改动只返回0-3的年龄值,所对应的<20,20-40,41-60,>60
+                        selectAge = userAge
+                    }else if (userAge in 20..40){
+                        selectAge = 1
+                    }else if (userAge in 41..60){
+                        selectAge = 2
+                    }else if (userAge>60){
+                        selectAge = 3
+                    }else{
+                        selectAge = 0
+                    }
+//                    selectAge = userAge
                     selectGender = userGender?.toInt() ?: 0
                     binding.etNickname.setText(userName ?: "")
                     viewModel.chooseAvatar.value = userAvatar?.toInt()
@@ -143,13 +164,14 @@ class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, Me
                             binding.tvChooseSex.setTextColor(Color.BLACK)
                         }
                     }
-                    if (selectAge > 0) {
-                        binding.tvChooseAge.text = selectAge.toString()
+                    if (selectAge !=-1) {
+                        binding.tvChooseAge.text = ageStr(selectAge)
                         binding.tvChooseAge.setTextColor(Color.BLACK)
                     }
                 }
             }
             perfectInfoLiveData.observe(viewLifecycleOwner) {
+                Log.e("TAG perfect", "perfect:${it.toString()}")
                 dismissPlainDialog()
                 it.msg?.apply {
                     showToast(this)
@@ -212,6 +234,22 @@ class MemberProfileFragment : CommonBVMFragment<FragmentMemberProfileBinding, Me
         viewModel.perfectInfo(nickname, sex.toString(), portrait.toString(), age.toString())
     }
 
+    //处理年龄改动问题
+    private fun  ageStr(index :Int):String{
+        var age = when(index){
+            0->{
+                "<20"
+            } 1->{
+                "20-40"
+            } 2->{
+                "41-60"
+            } 3->{
+                ">60"
+            }else -> {"<20"}
+        }
+        return age
+
+    }
     override fun createViewModel(): MemberViewModel {
         return getViewModelOfActivity(MemberViewModel::class.java)
     }

+ 2 - 2
BusinessAuth/src/main/java/com/develop/auth/viewmodel/MemberViewModel.kt

@@ -95,6 +95,7 @@ class MemberViewModel : BaseViewModel() {
         Post<VerifyCodeResult>(Api.SEND_VERIFY_CODE) {
             body = SendVerifyCodeBody.genSendVerifyCodeBody(email)
         }.await().apply {
+
             mVerifyCodeKey = verifyCodeKey
             sendEmailLiveData.postValue(
                 AuthModel(
@@ -139,7 +140,6 @@ class MemberViewModel : BaseViewModel() {
         Post<PerfectInfoResult>(Api.PERFECT_INFO) {
             body = PerfectInfoBody.genPerfectInfoBody(nickName, sex, portrait, age)
         }.await().apply {
-
             perfectInfoLiveData.postValue(
                 AuthModel(
                     true,
@@ -158,7 +158,7 @@ class MemberViewModel : BaseViewModel() {
             userInfoLiveData.postValue(userInfo)
         }
     }.catch {
-//        perfectInfoLiveData.postValue(AuthModel(false, it.message))
+        perfectInfoLiveData.postValue(AuthModel(false, it.message))
     }
 
     fun queryUserInfo() {

+ 8 - 8
BusinessCommon/src/main/java/com/develop/common/dialog/AgeSelectDialog.kt

@@ -53,14 +53,14 @@ class AgeSelectDialog(
 
     private fun createAgeListData(): List<String> {
         val list = mutableListOf<String>()
-        list.add(0,"0")
-        for (index in 20..80) {
-            list.add(index.toString())
-        }
-        // list.add(0,"<20")
-        //        list.add(1,"20-40")
-        //        list.add(2,"41-60")
-        //        list.add(3,">60")
+//        list.add(0,"0")
+//        for (index in 20..80) {
+//            list.add(index.toString())
+//        }
+         list.add(0, "<20")
+        list.add(1, "20-40")
+        list.add(2, "41-60")
+        list.add(3, ">60")
         return list
     }
 }

+ 2 - 2
libBase/src/main/java/com/develop/base/ext/GlobaExt.kt

@@ -188,7 +188,7 @@ fun getSN(): String {
     var serial: String
 
     if (BuildConfig.DEBUG) {
-//        return "045A21030020123010190001"
+        return "045A21030020123010190001"
 //    return "000A30150020123010190001"
 //     return "002A30150020123010190001"
 //     return "000A10390020123010190001"
@@ -200,7 +200,7 @@ fun getSN(): String {
 //    return  "017A20060020123010190001"
 //    return "010D10390020123010190001"
 //    return "000A10390020123010190009"
-    return  "032D21060020123010190001"
+//    return  "032D21060020123010190001"
 //        return "000A50370020123010190011"
 //    return  "030A10390020123010190002"
 //        return "029C21010020123010190001"