admin
2021-05-14 1b4b3fed2569ac21ad6feb0a3a2c051175e7c36e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package com.tejia.lijin.app.ui.mine;
 
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.style.ForegroundColorSpan;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
 
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.target.Target;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.tejia.lijin.app.ShoppingApplication;
import com.tejia.lijin.app.util.user.UserUtil;
import com.wpc.library.okhttp.OkHttpUtils;
import com.wpc.library.widget.ResizableImageView;
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
import com.tejia.lijin.app.R;
import com.tejia.lijin.app.ShoppingApi;
import com.tejia.lijin.app.entity.RankInfo;
import com.tejia.lijin.app.ui.BaseActivity;
import com.tejia.lijin.app.util.GlideCircleTransform;
import com.tejia.lijin.app.util.TopStatusSettings;
 
import org.apache.http.Header;
import org.json.JSONObject;
 
public class AccountGradeActivity extends BaseActivity implements View.OnClickListener {
 
    private TextView tv_left, tv_middle, tv_update_time, tv_order_type_and_num, tv_special_hint;
    private ImageView iv_portrait, iv_user_grade, iv_level;
    ResizableImageView iv_grade_compare_list;
    FrameLayout fl_top2;
 
    String tag="customer/getRankInfo";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_account_grade);
        TopStatusSettings.setStatusViewAndDeepColor(this);
        tv_left = findViewById(R.id.tv_top_bar_left);
        tv_middle = findViewById(R.id.tv_top_bar_middle);
        tv_update_time = findViewById(R.id.tv_update_time);
        fl_top2 = findViewById(R.id.fl_top2);
        tv_order_type_and_num = findViewById(R.id.tv_order_type_and_num);
        tv_special_hint = findViewById(R.id.tv_special_hint);
        iv_portrait = findViewById(R.id.iv_portrait);
        iv_level = findViewById(R.id.iv_level);
        iv_user_grade = findViewById(R.id.iv_user_grade);
        iv_grade_compare_list = findViewById(R.id.iv_grade_compare_list);
        tv_left.setOnClickListener(this);
 
        tv_middle.setText("账户等级");
    }
 
    @Override
    protected void onResume() {
        super.onResume();
        getRankInfo();
    }
 
    /**
     * 获取账户信息
     */
    private void getRankInfo() {
        ShoppingApi.getRankInfo(AccountGradeActivity.this, UserUtil.getUid(ShoppingApplication.application), new BasicTextHttpResponseHandler() {
            @Override
            public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
                if (jsonObject.optInt("code") == 0) {
                    Gson gson = new GsonBuilder().serializeNulls().create();
                    RankInfo rankInfo = gson.fromJson(jsonObject.optJSONObject("data")
                            .optJSONObject("rankInfo").toString(), new TypeToken<RankInfo>() {
                    }.getType());
                    Glide.with(AccountGradeActivity.this).load(rankInfo.getUserInfo().getPortrait())
                            .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
                            .transform(new GlideCircleTransform(AccountGradeActivity.this)).into(iv_portrait);
                    Glide.with(AccountGradeActivity.this).load(rankInfo.getUserRank().getPicture())
                            .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).into(iv_user_grade);
                    Glide.with(AccountGradeActivity.this).load(rankInfo.getUserRank().getIcon())
                            .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).into(iv_level);
                    Glide.with(AccountGradeActivity.this).load(rankInfo.getRankContrast())
                            .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).into(iv_grade_compare_list);
                    tv_update_time.setText("更新时间: " + rankInfo.getRankUpdateTime());
                    tv_special_hint.setText(rankInfo.getRankTip());
 
                    if (rankInfo.getGalaMsg() != null && rankInfo.getGalaMsg().size() > 0) {
                        fl_top2.setVisibility(View.VISIBLE);
                        String content = "";
                        for (int i = 0; i < rankInfo.getGalaMsg().size(); i++) {
                            content += rankInfo.getGalaMsg().get(i).getContent();
                        }
                        Spannable span = new SpannableString(content);
                        String temp = "";
                        for (int i = 0; i < rankInfo.getGalaMsg().size(); i++) {
                            span.setSpan(new ForegroundColorSpan(Color.parseColor(rankInfo.getGalaMsg().get(i).getColor())),
                                    temp.length(), temp.length() + rankInfo.getGalaMsg().get(i)
                                            .getContent().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                            temp += rankInfo.getGalaMsg().get(i).getContent();
                        }
                        tv_order_type_and_num.setText(span);
                    } else {
                        fl_top2.setVisibility(View.GONE);
                    }
                }
            }
        });
    }
 
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.tv_top_bar_left:
                finish();
                break;
        }
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        OkHttpUtils.getInstance().cancelTag(tag);
    }
}