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);
|
}
|
}
|