diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java index bee5e374..22485201 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -49,6 +49,7 @@ import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; +import lombok.Getter; import okhttp3.Cache; import okhttp3.OkHttpClient; import okhttp3.ResponseBody; @@ -61,11 +62,15 @@ import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; public class RetrofitClient { public static RetrofitClient INSTANCE; + private static ApiServer sApiServer; public static final int DEFAULT_TIME_OUT = 30; private static OkHttpClient client; private final Retrofit mRetrofit; + public ApiServer getApiServer() { + return sApiServer; + } public OkHttpClient getHttpClient() { return client; } @@ -6242,7 +6247,7 @@ public class RetrofitClient { } - private void setCode301(String msg) { + public void setCode301(String msg) { try { CommonAppContext.getInstance().clearLoginInfo(); ToastUtils.showShort(msg); diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPrivateFragment.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPrivateFragment.kt index e931ab2b..1687b2eb 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPrivateFragment.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPrivateFragment.kt @@ -236,6 +236,13 @@ class RoomPrivateFragment(var mRoomInfoResp: RoomInfoResp?) : @SuppressLint("SetTextI18n") override fun sendGiftResult(success: Boolean, idx: Int) { sendGiftResult = false + if(!success){ + val itemImage = giftViewList[idx] + val itemTextView = giftTViewList[idx] + itemImage.visibility = View.VISIBLE + itemTextView.visibility = View.VISIBLE + return + } val itemImage = giftViewList[idx] val itemTextView = giftTViewList[idx] diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt index 5bb60be6..c0bba8ee 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt @@ -2,14 +2,20 @@ package com.xscm.modulemain.activity.room.presenter import android.content.Context import android.widget.ImageView +import com.blankj.utilcode.util.LogUtils +import com.blankj.utilcode.util.ToastUtils import com.xscm.modulemain.activity.room.contacts.PrivateContacts import com.xscm.moduleutil.bean.RoomGiftData import com.xscm.moduleutil.bean.RoonGiftModel import com.xscm.moduleutil.bean.WalletBean +import com.xscm.moduleutil.http.BaseModel import com.xscm.moduleutil.http.BaseObserver import com.xscm.moduleutil.http.RetrofitClient import com.xscm.moduleutil.presenter.BasePresenter import io.reactivex.disposables.Disposable +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response import java.lang.ref.WeakReference @@ -45,17 +51,45 @@ class PrivatePresenter(context: Context, val view: PrivateContacts.View?) : } override fun sendGift(mRoomId:String,giftId: String,mUserId:String,idx:Int) { - RetrofitClient.getInstance().roomGift(mRoomId,giftId,"1",mUserId,"1","","","",object : BaseObserver() { - override fun onSubscribe(d: Disposable) { - } - - override fun onNext(t: RoomGiftData) { - if (MvpRef == null) { - MvpRef = WeakReference(view) + RetrofitClient.getInstance().apiServer.roomGift(mRoomId,giftId,"1",mUserId,"1","","","") + .enqueue(object : Callback> { + override fun onResponse( + call: Call>, + response: Response> + ) { + if (MvpRef == null) { + MvpRef = WeakReference(view) + } + if (response.code() == 200) { + val data = response.body() as BaseModel + if (data.code == 1) { + if (data.data != null) { + MvpRef.get()?.sendGiftResult(true,idx) + } else { + MvpRef.get()?.sendGiftResult(false,idx) + } + } else if (data.code == 0) { + MvpRef.get()?.sendGiftResult(false,idx) + ToastUtils.showShort(data.msg) + } else if (data.code == 301) { + MvpRef.get()?.sendGiftResult(false,idx) + RetrofitClient.getInstance().setCode301(data.msg) + }else{ + MvpRef.get()?.sendGiftResult(false,idx) + ToastUtils.showLong("未知错误", response.code()) + } + } else { + MvpRef.get()?.sendGiftResult(false,idx) + ToastUtils.showLong("网络异常", response.code()); + LogUtils.e("roomGift: " + response.message()); + } } - MvpRef.get()?.sendGiftResult(true,idx) - } - }) + + override fun onFailure(call: Call>, t: Throwable) { + LogUtils.e("roomGift", t.fillInStackTrace()) + } + + }) } override fun exitRoom(roomId: String?, userId: String?) {