浏览代码

修改客服查看用户信息页面判断逻辑

Pq 1 年之前
父节点
当前提交
da9e5bacf2

+ 80 - 19
teacher/src/main/java/com/cooleshow/teacher/ui/mine/UserDetailActivity.java

@@ -1,6 +1,7 @@
 package com.cooleshow.teacher.ui.mine;
 
 import android.graphics.Color;
+import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.View;
 
@@ -10,9 +11,13 @@ import com.cooleshow.base.constanst.EVipType;
 import com.cooleshow.base.constanst.ExpireVipType;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.utils.ClipboardUtils;
 import com.cooleshow.base.utils.DateUtil;
 import com.cooleshow.base.utils.GlideImageLoaderUtils;
 import com.cooleshow.base.utils.TimeUtils;
+import com.cooleshow.base.utils.ToastUtil;
+import com.cooleshow.base.utils.ToastUtils;
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.chatmodule.bean.IMUserInfo;
 import com.cooleshow.chatmodule.utils.helper.ChatHelper;
 import com.cooleshow.teacher.R;
@@ -23,6 +28,8 @@ import com.cooleshow.usercenter.bean.TeacherUserInfo;
 
 import java.util.Date;
 
+import androidx.annotation.Nullable;
+
 /**
  * Author by pq, Date on 2024/7/22.
  */
@@ -34,6 +41,12 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
     private String mTargetUserId;
 
     @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        QMUIStatusBarHelper.setStatusBarLightMode(this);
+    }
+
+    @Override
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "");
         viewBinding.toolbarInclude.toolbar.setBackgroundColor(Color.TRANSPARENT);
@@ -54,6 +67,17 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
                 ChatHelper.getInstance().goChat(mTargetUserId, "");
             }
         });
+
+        viewBinding.tvCopy.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String value = viewBinding.tvUserIdValue.getText().toString().trim();
+                if (!TextUtils.isEmpty(value)) {
+                    ClipboardUtils.copyText(value);
+                    ToastUtil.getInstance().showShort("复制成功");
+                }
+            }
+        });
     }
 
     @Override
@@ -97,9 +121,16 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
         //出生年月日
         Date date = TimeUtils.string2Date(info.getFriendBirthdate());
         String s = TimeUtils.date2String(date, TimeUtils.getSafeDateFormatForDay());
+        if (TextUtils.isEmpty(s)) {
+            s = "无";
+        }
         viewBinding.tvBirthdayValue.setText(s);
         //声部
-        viewBinding.tvSubjectValue.setText(info.getFriendSubjectName());
+        String friendSubjectName = info.getFriendSubjectName();
+        if (TextUtils.isEmpty(friendSubjectName)) {
+            friendSubjectName = "无";
+        }
+        viewBinding.tvSubjectValue.setText(friendSubjectName);
 
         //vip
         handleVipStyle(info);
@@ -121,6 +152,22 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
         viewBinding.tvVipTitle.setCompoundDrawablesWithIntrinsicBounds(vipDrawable, 0, 0, 0);
         viewBinding.tvVipValue.setText(vipStatusAndTip[1]);
         viewBinding.tvVipValue.setTextColor(getResources().getColor(isVip ? com.cooleshow.base.R.color.color_ff623a : com.cooleshow.base.R.color.color_aaaaaa));
+        if (issvip) {
+            viewBinding.ivVipTag.setVisibility(View.VISIBLE);
+            viewBinding.ivVipTag.setImageResource(com.cooleshow.base.R.drawable.icon_svip_tag);
+            viewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.color_f0af88));
+        } else {
+            if (isVip) {
+                viewBinding.ivVipTag.setVisibility(View.VISIBLE);
+                viewBinding.ivVipTag.setImageResource(com.cooleshow.base.R.drawable.icon_vip_tag);
+                viewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.color_fada9b));
+            } else {
+                viewBinding.ivVipTag.setVisibility(View.INVISIBLE);
+                viewBinding.ivAvatar.setBorderColor(getResources().getColor(com.cooleshow.base.R.color.white));
+            }
+        }
+
+
     }
 
     private String[] getVipStatusAndTip(IMUserInfo.VipBean userVip, String target) {
@@ -132,31 +179,25 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
             } else {
                 eVipType = EVipType.valueOf(userVip.getVipType());
             }
+
             if (eVipType == EVipType.NOT_VIP) {
                 //非会员
-                if (userVip != null && !TextUtils.isEmpty(userVip.getExpireVipType())) {
-                    //过期
-                    results[0] = VIP_STATUS_EXPIRE;
-                    results[1] = "暂未开通";
-                    if (TextUtils.equals(userVip.getExpireVipType(), ExpireVipType.ALL_VIP.getId())) {
-                        results[1] = "已过期%s天";
-                    }
-                    if (TextUtils.equals(userVip.getExpireVipType(), target)) {
-                        results[1] = String.format("已过期%s天", getExpireDaysTip(target, userVip));
-                    }
-                } else {
-                    //未开通会员
-                    results[0] = VIP_STATUS_NOT_OPEN;
-                    results[1] = "暂未开通";
-                }
+                return getExpireTip(userVip, target, results);
             } else {
                 //会员
-                results[0] = VIP_STATUS_NORMAL;
                 boolean isPermanentVip = eVipType == EVipType.PERMANENT_SVIP;
-                if (isPermanentVip) {
+                if (TextUtils.equals(target, EVipType.SVIP.getId()) && isPermanentVip) {
+                    results[0] = VIP_STATUS_NORMAL;
                     results[1] = "永久有效";
                 } else {
-                    results[1] = String.format("剩余%s天", getDaysTip(target, userVip));
+                    String daysTip = getDaysTip(target, userVip);
+                    int i = Integer.parseInt(daysTip);
+                    if (i > 0) {
+                        results[0] = VIP_STATUS_NORMAL;
+                        results[1] = String.format("剩余%s天", daysTip);
+                    } else {
+                        return getExpireTip(userVip, target, results);
+                    }
                 }
             }
         } catch (Exception e) {
@@ -165,6 +206,26 @@ public class UserDetailActivity extends BaseMVPActivity<AcUserDetailLayoutBindin
         return results;
     }
 
+    private String[] getExpireTip(IMUserInfo.VipBean userVip, String target, String[] results) {
+        //非会员
+        if (userVip != null && !TextUtils.isEmpty(userVip.getExpireVipType())) {
+            //过期
+            results[0] = VIP_STATUS_EXPIRE;
+            results[1] = "暂未开通";
+            if (TextUtils.equals(userVip.getExpireVipType(), ExpireVipType.ALL_VIP.getId())) {
+                results[1] = String.format("已过期%s天", getExpireDaysTip(target, userVip));
+            }
+            if (TextUtils.equals(userVip.getExpireVipType(), target)) {
+                results[1] = String.format("已过期%s天", getExpireDaysTip(target, userVip));
+            }
+        } else {
+            //未开通会员
+            results[0] = VIP_STATUS_NOT_OPEN;
+            results[1] = "暂未开通";
+        }
+        return results;
+    }
+
     private String getDaysTip(String target, IMUserInfo.VipBean userVip) {
         if (TextUtils.equals(target, EVipType.SVIP.getId())) {
             return userVip.getSvipEndDays();

+ 32 - 29
teacher/src/main/res/layout/ac_user_detail_layout.xml

@@ -20,33 +20,6 @@
         layout="@layout/common_toolbar_layout" />
 
 
-    <de.hdodenhof.circleimageview.CircleImageView
-        android:id="@+id/iv_avatar"
-        android:layout_width="86dp"
-        android:layout_height="86dp"
-        android:layout_marginTop="19dp"
-        app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/toolbar_include" />
-
-    <View
-        android:id="@+id/view_line"
-        android:layout_width="1px"
-        android:layout_height="1px"
-        app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
-        app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
-        app:layout_constraintRight_toRightOf="@+id/iv_avatar" />
-
-    <ImageView
-        android:id="@+id/iv_vip_tag"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="@+id/view_line"
-        app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
-        app:layout_constraintRight_toRightOf="@+id/iv_avatar"
-        app:layout_constraintTop_toTopOf="@+id/view_line"
-        tools:src="@drawable/icon_svip_tag" />
-
     <ImageView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
@@ -105,7 +78,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="32dp"
-            android:drawableStart="@drawable/icon_mine_svip_star"
+            android:drawableStart="@drawable/icon_mine_svip_star_disable"
             android:drawablePadding="6dp"
             android:includeFontPadding="false"
             android:text="SVIP有效期"
@@ -142,7 +115,7 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="18dp"
-            android:drawableStart="@drawable/icon_mine_vip_star"
+            android:drawableStart="@drawable/icon_mine_vip_star_disable"
             android:drawablePadding="6dp"
             android:includeFontPadding="false"
             android:text="VIP有效期"
@@ -331,6 +304,36 @@
     </androidx.constraintlayout.widget.ConstraintLayout>
 
 
+    <de.hdodenhof.circleimageview.CircleImageView
+        android:id="@+id/iv_avatar"
+        android:layout_width="86dp"
+        android:layout_height="86dp"
+        android:layout_marginTop="19dp"
+        app:civ_border_width="3dp"
+        app:civ_border_color="@color/white"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/toolbar_include" />
+
+    <View
+        android:id="@+id/view_line"
+        android:layout_width="1px"
+        android:layout_height="1px"
+        app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
+        app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
+        app:layout_constraintRight_toRightOf="@+id/iv_avatar" />
+
+    <ImageView
+        android:id="@+id/iv_vip_tag"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:layout_constraintBottom_toBottomOf="@+id/view_line"
+        app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
+        app:layout_constraintRight_toRightOf="@+id/iv_avatar"
+        app:layout_constraintTop_toTopOf="@+id/view_line"
+        tools:src="@drawable/icon_svip_tag" />
+
+
     <TextView
         android:id="@+id/tv_send_msg"
         android:layout_width="match_parent"