diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/bean/AppCustomerBean.kt b/BaseModule/src/main/java/com/xscm/moduleutil/bean/AppCustomerBean.kt new file mode 100644 index 00000000..db16a369 --- /dev/null +++ b/BaseModule/src/main/java/com/xscm/moduleutil/bean/AppCustomerBean.kt @@ -0,0 +1,11 @@ +package com.xscm.moduleutil.bean + +/** + * 项目名称:羽声语音 + * 时间:2026/1/14 18:47 + * 用途:app配置的客服用户id和name + */ +class AppCustomerBean { + var user_id: String = "" + var user_name: String = "" +} \ No newline at end of file diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java index bdac6109..60f1e7dc 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/ApiServer.java @@ -449,6 +449,9 @@ public interface ApiServer { @GET(Constants.GET_MY_INFO) Call> getMyInfo(); + @GET(Constants.GET_APP_CUSTOMER_SERVICE) + Call> appCustomerService(); + @FormUrlEncoded @POST(Constants.POST_DEL_SONG) Call> delSong(@Field("room_id") String room_id, @Field("did") String did); 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 a1b9d8f3..bee5e374 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -2757,6 +2757,32 @@ public class RetrofitClient { }); } + public void appCustomerService(BaseObserver observer) { + sApiServer.appCustomerService().enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if (response.code() == 200) { + BaseModel listBaseModel = response.body(); + if (listBaseModel.getCode() == 1) + observer.onNext(listBaseModel.getData()); + else if (listBaseModel.getCode() == 301) { + setCode301(listBaseModel.getMsg()); + } else if (listBaseModel.getCode() == 0) { + ToastUtils.showShort(listBaseModel.getMsg()); + } + }else { + ToastUtils.showLong("客服信息不正确"); + LogUtils.e("appCustomerService", response.message()); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + LogUtils.e("appCustomerService", t.getMessage()); + } + }); + } + public void getUserTagList(BaseObserver> observer) { sApiServer.getUserTagList().enqueue(new Callback>>() { @Override diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/utils/SpUtil.java b/BaseModule/src/main/java/com/xscm/moduleutil/utils/SpUtil.java index 4abc56c8..bfa32c3c 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/utils/SpUtil.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/utils/SpUtil.java @@ -8,6 +8,7 @@ import android.text.TextUtils; import com.alibaba.fastjson.JSON; import com.blankj.utilcode.util.SPUtils; import com.xscm.moduleutil.base.CommonAppContext; +import com.xscm.moduleutil.bean.AppCustomerBean; import com.xscm.moduleutil.bean.UserBean; import com.xscm.moduleutil.bean.UserInfo; @@ -233,6 +234,16 @@ public class SpUtil { return SPUtils.getInstance(SPConstants.PREFERENCE_NAME).getString(SPConstants.TOKEN); } + public static void setAppCustomerBean(AppCustomerBean appCustomerBean) { + String s = JSON.toJSONString(appCustomerBean); + SPUtils.getInstance(SPConstants.PREFERENCE_NAME).put("appCustomerBean", s, true); + } + + public static AppCustomerBean getAppCustomerBean() { + String s = SPUtils.getInstance(SPConstants.PREFERENCE_NAME).getString("appCustomerBean"); + return JSON.parseObject(s, AppCustomerBean.class); + } + public static void setBoolean(String key, boolean value) { SPUtils.getInstance(SPConstants.PREFERENCE_NAME).put(key, value, true); } diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java b/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java index 47c2ac93..8ebaf6e1 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/widget/Constants.java @@ -244,6 +244,7 @@ public class Constants { public static final String CANCEL = "/api/Login/cancel";//注销账号 public static final String POST_MODIFY_HIDE_STATUS = "/api/UserData/modify_hide_status";//设置隐身进入 public static final String GET_MY_INFO = "/api/User/get_user_info";//点击我的获取个人数据 + public static final String GET_APP_CUSTOMER_SERVICE = "/api/banner/app_customer_service";//获取平台客服用户Id public static final String GET_USER_HOME = "/api/User/get_user_home";//点击获取个人数据 public static final String POST_DEL_SONG = "/api/RoomSong/del_song";//删除已点歌曲 public static final String POST_SEARCH_USER = "/api/RoomSong/search_song";//已点列表搜索 diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/WebViewActivity.java b/MainModule/src/main/java/com/xscm/modulemain/activity/WebViewActivity.java index ad051c70..378a2f65 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/WebViewActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/WebViewActivity.java @@ -34,6 +34,7 @@ import com.tencent.mm.opensdk.modelbiz.WXOpenCustomerServiceChat; import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.tencent.qcloud.tuicore.TUIConstants; +import com.tencent.qcloud.tuikit.tuichat.classicui.page.TUIC2CChatActivity; import com.tencent.qcloud.tuikit.tuichat.classicui.page.TUIGroupChatActivity; import com.xscm.modulemain.BaseMvpActivity; import com.xscm.modulemain.R; @@ -43,6 +44,7 @@ import com.xscm.moduleutil.activity.IPresenter; import com.xscm.moduleutil.activity.IView; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.base.WebUrlConstants; +import com.xscm.moduleutil.bean.AppCustomerBean; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.SpUtil; @@ -393,15 +395,25 @@ public class WebViewActivity extends BaseMvpActivity0) { + mBinding.tvXtCount.setVisibility(VISIBLE); mBinding.tvXtCount.setText(newsDataBeans.getSystem_no_read_count()+""); }else { mBinding.tvXtCount.setVisibility(View.GONE); } if (newsDataBeans.getAnnouncement_read_count()>0) { + mBinding.tvOfficialCount.setVisibility(VISIBLE); mBinding.tvOfficialCount.setText(newsDataBeans.getAnnouncement_read_count()+""); }else { mBinding.tvOfficialCount.setVisibility(View.GONE); diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/msg/presenter/NewsPresenter.java b/MainModule/src/main/java/com/xscm/modulemain/activity/msg/presenter/NewsPresenter.java index 4d83bec1..c7d8b519 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/msg/presenter/NewsPresenter.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/msg/presenter/NewsPresenter.java @@ -3,16 +3,24 @@ package com.xscm.modulemain.activity.msg.presenter; import android.content.Context; import com.xscm.modulemain.activity.msg.contacts.NewsContacts; +import com.xscm.moduleutil.bean.AppCustomerBean; import com.xscm.moduleutil.bean.NewsDataBean; import com.xscm.moduleutil.bean.UserInfo; import com.xscm.moduleutil.http.BaseObserver; import com.xscm.moduleutil.presenter.BasePresenter; +import com.xscm.moduleutil.utils.SpUtil; + +import java.lang.ref.WeakReference; import io.reactivex.disposables.Disposable; public class NewsPresenter extends BasePresenter implements NewsContacts.IHomePre { + + private NewsContacts.View mView; + public NewsPresenter(NewsContacts.View view, Context context) { super(view, context); + mView = view; } @Override @@ -25,6 +33,9 @@ public class NewsPresenter extends BasePresenter implements N @Override public void onNext(NewsDataBean newsDataBeans) { + if (MvpRef == null){ + MvpRef=new WeakReference<>(mView); + } MvpRef.get().getOfficialNoticeList(newsDataBeans); } }); @@ -40,8 +51,27 @@ public class NewsPresenter extends BasePresenter implements N @Override public void onNext(UserInfo userInfo) { + if (MvpRef == null){ + MvpRef=new WeakReference<>(mView); + } MvpRef.get().myInfoSuccess(userInfo); } }); } + + @Override + public void appCustomerService() { + api.appCustomerService(new BaseObserver(){ + + @Override + public void onSubscribe(Disposable d) { + addDisposable(d); + } + + @Override + public void onNext(AppCustomerBean appCustomerBean) { + SpUtil.setAppCustomerBean(appCustomerBean); + } + }); + } } diff --git a/MainModule/src/main/res/layout/fragment_news.xml b/MainModule/src/main/res/layout/fragment_news.xml index adf49e33..4fe80c2d 100644 --- a/MainModule/src/main/res/layout/fragment_news.xml +++ b/MainModule/src/main/res/layout/fragment_news.xml @@ -43,65 +43,6 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + 0) { Toast.makeText(getContext(), "充值不足"+userInfo.getCan_chat_money()+"元,您无法发送消息", Toast.LENGTH_LONG).show(); ARouter.getInstance().build("/modulevocal/RechargeActivity").navigation();