ソースを参照

添加邀请收益的banner接口

gogs 1 ヶ月 前
コミット
07f0878fd0

+ 6 - 0
module_me/src/main/java/com/mita/module_me/api/ShareInviteService.kt

@@ -1,6 +1,7 @@
 package com.mita.module_me.api
 
 import com.mita.module_me.model.InviteRelationship
+import com.mita.module_me.model.InviteBannerData
 import com.mita.module_me.model.ShareBankCard
 import com.mita.module_me.model.ShareBillListData
 import com.mita.module_me.model.ShareBindBankCardBody
@@ -70,4 +71,9 @@ interface ShareInviteService {
         @Query("platform") platform: String = "all"
     ): ShareApiResponse<Map<String, String>?>
 
+    @GET("api/share/app/share/invite/banner")
+    suspend fun getInviteBanner(
+        @Query("platform") platform: String = "all"
+    ): ShareApiResponse<InviteBannerData?>
+
 }

+ 9 - 0
module_me/src/main/java/com/mita/module_me/model/InviteBannerData.kt

@@ -0,0 +1,9 @@
+package com.mita.module_me.model
+
+import com.google.gson.annotations.SerializedName
+
+data class InviteBannerData(
+    @SerializedName("inviteBanner")
+    val inviteBanner: String?
+)
+

+ 12 - 0
module_me/src/main/java/com/mita/module_me/view/MeFragment.kt

@@ -300,6 +300,17 @@ class MeFragment : BaseFragment<MeViewModel>() {
 //                ivFirstRecharge.toGone()
 //            }
         }
+        viewModel.inviteBannerUrl.observe(this) { url ->
+            if (url.isNullOrBlank()) {
+                ivInvitePoster.setImageResource(R.drawable.me_invite_poster_banner)
+            } else {
+                Glide.with(ivInvitePoster)
+                    .load(url)
+                    .placeholder(R.drawable.me_invite_poster_banner)
+                    .error(R.drawable.me_invite_poster_banner)
+                    .into(ivInvitePoster)
+            }
+        }
         viewModel.isUpdateCoin.observe(this) {
             updateUserCoin()
         }
@@ -382,6 +393,7 @@ class MeFragment : BaseFragment<MeViewModel>() {
         super.onShowScreen()
         viewModel.getUserInfo()
         viewModel.getBalance()
+        viewModel.getInviteBanner()
     }
 
 //    private fun updateCoin() {

+ 25 - 1
module_me/src/main/java/com/mita/module_me/view/MeViewModel.kt

@@ -21,6 +21,7 @@ import com.yc.module_base.model.PostUserBody
 import com.yc.module_base.view.giftwall.GiftWallInfo
 import com.yc.module_base.view.giftwall.GiftWallShowBody
 import com.yc.module_me.model.MysteryMenStatus
+import com.mita.module_me.view.invite.ShareInviteRepository
 import kotlinx.coroutines.async
 
 /** Created by yc on 2021/2/25
@@ -32,9 +33,11 @@ class MeViewModel(
 ) : BaseVm(app, map, savedStateHandle) {
     public val userRepository: MeRepository by lazy { MeRepository() }
     private val commonRepository: CommonRepository by lazy { CommonRepository() }
+    private val shareInviteRepository: ShareInviteRepository by lazy { ShareInviteRepository() }
     var isFetch = MutableLiveData<Boolean>()
     var isToken = MutableLiveData<Boolean>()
     var isUpdateCoin = MutableLiveData<Boolean>()
+    var inviteBannerUrl = MutableLiveData<String>()
     val list = ObservableAdapterList<Any>()
     val bannerList = arrayListOf<Banner>()
     val userId: Long? = null
@@ -147,4 +150,25 @@ class MeViewModel(
         }
     }
 
-}
+    fun getInviteBanner(platform: String = "all") {
+        requestMix(
+            block = {
+                val res = shareInviteRepository.getInviteBanner(platform)
+                if (res.code != 200) {
+                    throw com.yc.baselibrary.net.exception.Errors.ErrorException(
+                        res.code ?: -1,
+                        res.message ?: "获取banner失败"
+                    )
+                }
+                res.data?.inviteBanner?.trim().orEmpty()
+            },
+            build = {
+                setLoadingType(LoadingType.NONE)
+                success {
+                    inviteBannerUrl.value = it
+                }
+            }
+        )
+    }
+
+}

+ 8 - 8
module_me/src/main/java/com/mita/module_me/view/invite/ExchangeViewModel.kt

@@ -43,15 +43,11 @@ class ExchangeViewModel(
     }
 
     fun submitExchange(points: Double) {
-        submitSuccess.value = false
         requestMix(
             block = {
+                val userId = LiveSession.getUserId()
                 val res = shareInviteRepository.exchange(
-                    ShareExchangeBody(
-                        userId = LiveSession.getUserId(),
-                        points = points,
-                        flowType = 1
-                    )
+                    ShareExchangeBody(userId = userId, points = points, flowType = 1)
                 )
                 if (res.code != 200) {
                     throw Errors.ErrorException(res.code ?: -1, res.message ?: "兑换失败")
@@ -69,8 +65,12 @@ class ExchangeViewModel(
         )
     }
 
-    fun formatBalance(value: Double): String {
-        return if (value % 1.0 == 0.0) String.format("%.0f", value) else String.format("%.2f", value)
+    fun formatBalance(points: Double): String {
+        return if (points % 1.0 == 0.0) {
+            String.format("%.0f", points)
+        } else {
+            String.format("%.2f", points)
+        }
     }
 }
 

+ 3 - 0
module_me/src/main/java/com/mita/module_me/view/invite/ShareInviteRepository.kt

@@ -37,4 +37,7 @@ class ShareInviteRepository : BaseRepository() {
 
     suspend fun getInviteShareConfig(platform: String = "all") =
         shareInviteService.getInviteShareConfig(platform)
+
+    suspend fun getInviteBanner(platform: String = "all") =
+        shareInviteService.getInviteBanner(platform)
 }

BIN
module_me/src/main/res/drawable-xhdpi/me_invite_poster_banner.png


BIN
module_me/src/main/res/drawable-xxhdpi/me_invite_poster_banner.png


BIN
module_me/src/main/res/drawable/me_invite_poster_banner.png


+ 1 - 1
module_me/src/main/res/layout/module_me_activity_invite_rules.xml

@@ -79,7 +79,7 @@
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:lineSpacingExtra="8dp"
-                    android:text="点&quot;邀请收益&quot;下角的二维码或者微信等分享链接,别人扫码下载自动绑定你的名下,你额外获得他充值额的4%积分,他的下级充值,你获得其充值额的1%积分。积分满百元可提现。"
+                    android:text="点&quot;邀请收益&quot;下角的二维码或者微信等分享链接,别人扫码下载自动绑定你的名下,你额外获得他充值额的4%积分,他的下级充值,你获得其充值额的1%积分。积分满百元可提现。"
                     android:textColor="#A16850"
                     android:textSize="15sp" />
 

+ 2 - 2
module_me/src/main/res/layout/module_me_fragment_me.xml

@@ -522,7 +522,7 @@
                             android:layout_marginHorizontal="@dimen/dp_16"
                             android:layout_marginTop="@dimen/dp_16"
                             android:background="@drawable/sp_r10_white"
-                            android:src="@drawable/icon_me_gift_wall_enter_tip"
+                            android:src="@drawable/me_invite_poster_banner"
                             android:scaleType="fitXY"
                             app:layout_constraintStart_toStartOf="parent"
                             app:layout_constraintTop_toBottomOf="@id/clGiftWallEnter" />
@@ -603,4 +603,4 @@
         <!--    </LinearLayout>-->
     </androidx.core.widget.NestedScrollView>
 
-</FrameLayout>
+</FrameLayout>