admin
2022-08-09 399ac289f80b7a40aa4210341db6b447cacdcf14
app/src/main/java/com/tejia/lijin/app/ui/main/MineFragment.java
@@ -50,7 +50,10 @@
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
import com.tejia.lijin.app.ShoppingApplication;
import com.tejia.lijin.app.ui.message.UserMessageActivity;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivity;
import com.tejia.lijin.app.ui.sellwellcommodity.SellWellGoods;
import com.tejia.lijin.app.util.ui.HomeUIUtil;
import com.umeng.analytics.MobclickAgent;
import com.viewpagerindicator.CirclePageIndicator;
@@ -91,9 +94,6 @@
import com.tejia.lijin.app.ui.mine.SettingActivity;
import com.tejia.lijin.app.ui.mine.ShareHistoryActivity31;
import com.tejia.lijin.app.ui.mine.WelfareCenterActivity;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivityJD;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivityPDD;
import com.tejia.lijin.app.ui.recommend.GoodsDetailActivityTB;
import com.tejia.lijin.app.ui.recommend.RecommendTopAdapter2;
import com.tejia.lijin.app.updateApp.UpdateApp;
import com.tejia.lijin.app.util.JumpActivityUtil;
@@ -128,7 +128,7 @@
public class MineFragment extends RetainViewFragment implements View.OnClickListener, PermissionInterface {
    private TextView tv_user_num;
    private ImageView iv_portrait;
    private ImageView iv_portrait, iv_rank;
    private TextView tv_nickName;
    //用户昵称与邀请码
@@ -189,30 +189,19 @@
    @Override
    public void onCreateView(View contentView, Bundle savedInstanceState) {
        mineFunctionsManager = new MineFunctionsManager(getContext());
        String inviteCode = UserUtil.getInviteCode(getContext(), null);
        String inviteCode = UserUtil.getInviteCode(getContext());
        init(contentView);
        listener(contentView);
        app = new UpdateApp(getActivity(), getResources().getString(R.string.update_key));
        mPermissionsChecker = new PermissionHelper(getActivity(), this);
//        startActivity(new Intent(getContext(),ShareBrowserActivity.class).putExtra("url","http://192.168.3.16:52330/index.html"));
    }
    private void init(View contentView) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            Window window = getActivity().getWindow();
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.setStatusBarColor(Color.TRANSPARENT);
            //设置状态栏文字颜色及图标为深色
//            getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
        }
        //设置状态栏文字颜色及图标为深色
        getActivity().getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
        this.options = new DisplayImageOptions.Builder()
                .showImageForEmptyUri(R.drawable.ic_default_portrait)
                .showImageOnFail(R.drawable.ic_default_portrait)
                .showImageOnLoading(R.drawable.ic_default_portrait)
                .showImageForEmptyUri(R.drawable.ic_mine_default_portrait)
                .showImageOnFail(R.drawable.ic_mine_default_portrait)
                .showImageOnLoading(R.drawable.ic_mine_default_portrait)
                .resetViewBeforeLoading(true)
                .cacheInMemory(true)
                .cacheOnDisk(true)
@@ -221,6 +210,7 @@
                .displayer(new CircleBitmapDisplayer(300))
                .build();
        iv_rank = contentView.findViewById(R.id.iv_rank);
        fl_msg = contentView.findViewById(R.id.fl_msg);
        tv_msg_count = contentView.findViewById(R.id.tv_msg_count);
@@ -236,8 +226,8 @@
        ll_top = contentView.findViewById(R.id.ll_top);
        view_mine_end_bg = contentView.findViewById(R.id.view_mine_end_bg);
        ll_top.setBackground(HomeUIUtil.getHomeTopBg("#FF227B", "#FF2A3E"));
        view_mine_end_bg.setBackground(HomeUIUtil.getHomeTopBg("#FF227B", "#FF2A3E"));
        ll_top.setBackground(HomeUIUtil.getHomeTopBg(getContext()));
        view_mine_end_bg.setBackground(HomeUIUtil.getHomeTopBg(getContext()));
        tv_user_numlayout = contentView.findViewById(R.id.tv_user_numlayout);
@@ -265,6 +255,7 @@
    private List<Functions> getFunctions() {
        List<Functions> list = new ArrayList<>();
        list.add(new Functions("礼金红包", R.drawable.icon_mine_hb, "jumpLijinHB"));
        list.add(new Functions("订单", R.drawable.icon_mine_order, "jumpOrder"));
        list.add(new Functions("找回订单", R.drawable.icon_mine_find_order, "jumpFindOrder"));
        list.add(new Functions("收藏", R.drawable.icon_mine_collect, "jumpCollect"));
@@ -312,53 +303,35 @@
    @Override
    public void onResume() {
        super.onResume();
        initUserView();
        getUserConfig();
        getUnReadMsgCount(UserUtil.getUid(getContext()) + "");
        MobclickAgent.onPageStart("我的");
        SharedPreferences sp = tv_nickName.getContext().getSharedPreferences("user", MODE_PRIVATE);
        if (sp.getBoolean("isLogin", false)) {
        getLijinUserLevel();
        getUnReadMsgCount(UserUtil.getUid(getContext()));
        vp_banner.postDelayed(mAutoScroller, 2000);
    }
    private void initUserView() {
        if (UserUtil.isLogin(getContext())) {
            tv_user_numlayout.setVisibility(View.VISIBLE);
            tv_user_num.setVisibility(View.VISIBLE);
            ll_nick_name_vip.setVisibility(View.VISIBLE);
            tv_nickName.setVisibility(View.VISIBLE);
            String uid = sp.getString("uid", "0");
            if (lastTime > 0 && (System.currentTimeMillis() - lastTime > 30 * 1000)) {
                clickState = 0;
            }
            if (!uid.equalsIgnoreCase("0")) {
                String userInfo = sp.getString("userinfo", "");
                if (!StringUtils.isEmpty(userInfo)) {
                    try {
                        JSONObject jsonObject = new JSONObject(userInfo);
                        showInfo(jsonObject);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
                String rewardInfo = sp.getString("estimatereward", "");
                getUserInfo(uid);
            }
            UserInfo user = UserUtil.getUserInfo(getContext());
            showInfo(user);
            getUserInfo(UserUtil.getUid(getContext()));
        } else {
            noLogin();
        }
        vp_banner.postDelayed(mAutoScroller, 2000);
    }
    /**
     * 展示用户信息
     */
    private void showInfo(JSONObject jsonObject) {
        if (jsonObject.optJSONObject("data") == null) {
            return;
        }
        JSONObject data = jsonObject.optJSONObject("data");
        Gson gson = new GsonBuilder().serializeNulls().create();
        UserInfo info = gson.fromJson(jsonObject.optJSONObject("data").optJSONObject("user").toString(), new TypeToken<UserInfo>() {
        }.getType());
    private void showInfo(UserInfo info) {
        if (info == null) {
            return;
        }
        fl_msg.setVisibility(View.VISIBLE);
        ImageLoader.getInstance().displayImage(info.getPortrait(), iv_portrait, options);
        tv_nickName.setText(info.getNickName());
        String balance = info.getMyHongBao();
@@ -471,8 +444,7 @@
    @Override
    public void onClick(View v) {
        final SharedPreferences sp = getActivity().getSharedPreferences("user", Context.MODE_PRIVATE);
        boolean isLogin = sp.getBoolean("isLogin", false);
        boolean isLogin = UserUtil.isLogin(getContext());
        clickState = 0;
        switch (v.getId()) {
            case R.id.vp_close:
@@ -486,13 +458,13 @@
                break;
            case R.id.fl_msg:
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()) + "", true))
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
                    return;
                startActivity(new Intent(getContext(), UserMessageActivity.class));
                break;
            case R.id.tv_nickname:
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()) + "", true))
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
                    return;
                if (!isLogin) {//登录淘宝
                    UserUtil.jumpLogin(tv_nickName.getContext());
@@ -503,7 +475,7 @@
            //头像
            case R.id.iv_portrait:
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()) + "", true))
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
                    return;
                UserCustomEvent.userMyInfo(ll_notice.getContext());
                if (!isLogin) {//登录
@@ -515,7 +487,7 @@
                break;
            //账户余额
            case R.id.ll_balance:
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()) + "", true))
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
                    return;
                UserCustomEvent.userBalance(tv_user_num.getContext());
                if (isLogin) {
@@ -531,7 +503,7 @@
                    }, 200);
                    ShoppingApi.getUserMoneyInfo(getContext(), getContext().getSharedPreferences("user", Context.MODE_PRIVATE).getString("uid", ""), new BasicTextHttpResponseHandler() {
                    ShoppingApi.getUserMoneyInfo(getContext(), UserUtil.getUid(ShoppingApplication.application), new BasicTextHttpResponseHandler() {
                        @Override
                        public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                            ll_balance.setEnabled(true);
@@ -562,7 +534,7 @@
            case R.id.iv_vip:
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()) + "", true))
                if (!LoginAndInviteStatusUtil.acessNext(getContext(), UserUtil.getUid(getContext()), true))
                    return;
                //跳转到vip
                if (userInviteLevel != null && !StringUtils.isEmpty(userInviteLevel.getLink()))
@@ -633,14 +605,14 @@
    private UserInviteLevel userInviteLevel;//用户邀请等级
    /****用户信息*/
    private void getUserInfo(final String uid) {
    private void getUserInfo(final Long uid) {
        ShoppingApi.getUserInfo2(tv_nickName.getContext(), uid, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optString("code").equalsIgnoreCase("0")) {
                    JSONObject data = jsonObject.optJSONObject("data");
                    String inviteCode = data.optString("invitCode");
                    UserUtil.setInviteCode(getContext(), uid, inviteCode);
                    UserUtil.setInviteCode(getContext(), inviteCode);
                    vipLink = data.optString("vipLink");
                    moduleState = data.optJSONObject("moduleState");
                    if (mineFunctionsManager != null)
@@ -652,23 +624,10 @@
                    if (inviteLevel != null) {
                        userInviteLevel = gson.fromJson(inviteLevel.toString(), UserInviteLevel.class);
                    }
                    showInfo(jsonObject);//展示用户个人信息
                    final UserInfo info = gson.fromJson(data.optJSONObject("user").toString(), new TypeToken<UserInfo>() {
                    }.getType());
                    SharedPreferences sp = tv_nickName.getContext().getSharedPreferences("user", MODE_PRIVATE);
                    SharedPreferences.Editor editor = sp.edit();
                    editor.putBoolean("isLogin", true);
                    editor.putBoolean("isFirstInput", false);
                    editor.putString("uid", info.getId());
                    editor.putString("openid", info.getOpenid());
                    editor.putString("portrait", info.getPortrait());
                    editor.putString("userinfo", jsonObject.toString());
                    if (StringUtils.isEmpty(info.getWxOpenId())) {
                        editor.putBoolean("isWxBind", false);
                    } else {
                        editor.putBoolean("isWxBind", true);
                    }
                    editor.commit();
                    showInfo(info);//展示用户个人信息
                    UserUtil.loginSuccess(getContext(), info);
                    /**bindPhone 绑定手机弹窗*/
                    if (jsonObject.optJSONObject("data").optBoolean("bindPhone", false)) {
                        if (System.currentTimeMillis() - bindPhonetime < 1000) {//小于1秒不进入
@@ -694,7 +653,7 @@
                    }
                } else if (jsonObject.optInt("code") == 80001) {
                    if (tv_nickName.getContext().getSharedPreferences("user", MODE_PRIVATE).getBoolean("isLogin", false)) {
                    if (UserUtil.isLogin(getContext())) {
                        loginOut();
                        UserUtil.logout(tv_nickName.getContext());
                        noLogin();
@@ -815,12 +774,55 @@
        });
    }
    private void getLijinUserLevel() {
        if (!UserUtil.isLogin(getContext())) {
            iv_rank.setVisibility(View.GONE);
            return;
        }
        ShoppingApi.getLijinUserLevel(getContext(), UserUtil.getUid(getContext()), new BasicTextHttpResponseHandler() {
            @Override
            public void onStart() {
                super.onStart();
            }
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optInt("code") == 0) {
                    JSONObject data = jsonObject.optJSONObject("data");
                    String userLevel = data.optString("userLevel");
                    final String vipLink = data.optString("lijinVipLink");
                    try {
                        iv_rank.setImageResource(getResources().getIdentifier("icon_rank_" + userLevel, "drawable", getContext().getPackageName()));
                    } catch (Exception e) {
                    }
                    iv_rank.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            startActivity(new Intent(getContext(), ShareBrowserActivity.class).putExtra("url", vipLink));
                        }
                    });
                    iv_rank.setVisibility(View.VISIBLE);
                }
                super.onSuccessPerfect(statusCode, headers, jsonObject);
            }
            @Override
            public void onFinish() {
                super.onFinish();
            }
        });
    }
    /**
     * 我的信息-提醒记录
     *
     * @param uid
     */
    private void user_recordBind(String uid) {
    private void user_recordBind(Long uid) {
        ShoppingApi.setRecordBind(tv_nickName.getContext(), uid, null);
    }
@@ -852,23 +854,26 @@
                String content = data.getStringExtra(Constant.CODED_CONTENT);
                if (content.contains("taobao://")) {
//                    Intent intent = new Intent(tv_user_num.getContext(), GoodsDetailBrowerActivity.class);
                    Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivityTB.class);
                    Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivity.class);
                    String id = content.substring(content.indexOf("//") + 2);
                    intent.putExtra("id", id);
                    intent.putExtra("from", "scan");
                    intent.putExtra("goodsId", id);
                    intent.putExtra("goodsType", com.tejia.lijin.app.util.Constant.GOODS_TYPE_TB);
                    startActivity(intent);
                } else if (content.contains("jd://")) {
//                    Intent intent = new Intent(tv_user_num.getContext(), GoodsDetailBrowerActivity.class);
                    Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivityJD.class);
                    Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivity.class);
                    String id = content.substring(content.indexOf("//") + 2);
                    intent.putExtra("id", id);
                    intent.putExtra("goodsId", id);
                    intent.putExtra("goodsType", com.tejia.lijin.app.util.Constant.GOODS_TYPE_JD);
                    intent.putExtra("from", "scan");
                    startActivity(intent);
                } else if (content.contains("pdd://")) {
//                    Intent intent = new Intent(tv_user_num.getContext(), GoodsDetailBrowerActivity.class);
                    Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivityPDD.class);
                    Intent intent = new Intent(tv_nickName.getContext(), GoodsDetailActivity.class);
                    String id = content.substring(content.indexOf("//") + 2);
                    intent.putExtra("id", id);
                    intent.putExtra("goodsId", id);
                    intent.putExtra("goodsType", com.tejia.lijin.app.util.Constant.GOODS_TYPE_PDD);
                    intent.putExtra("from", "scan");
                    startActivity(intent);
                } else {
@@ -1027,7 +1032,6 @@
    @Override
    public void onPause() {
        super.onPause();
        MobclickAgent.onPageEnd("我的");
        lastTime = System.currentTimeMillis();
        toast_dialog.dialog_dismiss();
        ll_balance.setEnabled(true);
@@ -1139,7 +1143,7 @@
     *
     * @param uid
     */
    private void getUnReadMsgCount(String uid) {
    private void getUnReadMsgCount(Long uid) {
        ShoppingApi.getUnReadMsgCount(getContext(), uid, new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {