package com.itbox.grzl.activity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import android.view.View;
import android.widget.RatingBar;
import android.widget.TextView;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
import com.activeandroid.content.ContentProvider;
import com.activeandroid.query.Update;
import com.itbox.fx.net.GsonResponseHandler;
import com.itbox.fx.widget.CircleImageView;
import com.itbox.grzl.Api;
import com.itbox.grzl.AppContext;
import com.zhaoliewang.grzl.R;
import com.itbox.grzl.api.ConsultationApi;
import com.itbox.grzl.bean.Account;
import com.itbox.grzl.bean.RespResult;
import com.itbox.grzl.bean.TeacherExtension;
import com.itbox.grzl.bean.UserListItem;
import com.itbox.grzl.constants.AccountTable;
import com.itbox.grzl.constants.TeacherExtensionTable;
import com.itbox.grzl.engine.TeacherEngine;
import com.itbox.grzl.engine.UserEngine;
import com.nostra13.universalimageloader.core.ImageLoader;
public class TeacherDetialActivity extends BaseActivity implements
LoaderCallbacks<Cursor> {
private ConsultationApi api;
private UserListItem teacher;
@InjectView(R.id.iv_avatar)
CircleImageView avatarImageView;
@InjectView(R.id.tv_name)
TextView nameTextView;
@InjectView(R.id.ratingbar)
RatingBar mRatingBar;
@InjectView(R.id.tv_jobtype)
TextView jobtypeTextView;
@InjectView(R.id.tv_teachertype)
TextView teachertypeTextView;
@InjectView(R.id.tv_teacher_description)
TextView teacherDescriptionTextView;
@InjectView(R.id.tv_buy_count)
TextView buyCountTextView;
@InjectView(R.id.tv_answer_count)
TextView answerCountTextView;
private ImageLoader mImageLoader;
@InjectView(R.id.tv_picture_consultation)
TextView pictureConsultationTextView;
@InjectView(R.id.tv_phone_consultation)
TextView phoneConsultationTextView;
@InjectView(R.id.tv_attention)
TextView tv_attention;
@InjectView(R.id.tv_attention_count)
TextView tv_attention_count;
private TeacherExtension teacherExtension;
private boolean isAttention;
private int attentioncount;
@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
teacher = (UserListItem) getIntent().getSerializableExtra("teacher");
if (teacher == null) {
return;
}
setContentView(R.layout.activity_teacher_detial);
ButterKnife.inject(this);
showLeftBackButton();
setTitle(teacher.getUserrealname() + "咨询详情");
teacherExtension = new TeacherExtension();
api = new ConsultationApi();
api.getTeacherMoreInfo(teacher.getUserid());
mImageLoader = ImageLoader.getInstance();
mImageLoader.displayImage(
Api.User.getAvatarUrl(teacher.getUseravatarversion()),
avatarImageView);
nameTextView.setText(teacher.getUserrealname());
String jobName = AppContext.getJobName(Integer.valueOf(teacher
.getJobtype()));
jobtypeTextView.setText(jobName);
String teacherType = teacher.getTeachertype();
if ("1".equals(teacherType)) {
teachertypeTextView.setText("专业导师");
} else {
teachertypeTextView.setText("人力导师");
}
teacherDescriptionTextView
.setText("简介" + teacher.getUserintroduction());
buyCountTextView.setText(teacher.getBuycount() + "人购买");
answerCountTextView.setText("回答" + teacher.getAnswercount() + "次");
mRatingBar.setRating(Float.valueOf(teacher.getTeacherlevel()));
getSupportLoaderManager().initLoader(0, null, this);
// 检查关注
UserEngine.checkAttention(teacher.getUserid(),
new GsonResponseHandler<RespResult>(RespResult.class) {
@Override
public void onSuccess(RespResult resp) {
if (resp.isSuccess()) {
tv_attention.setText("已关注");
isAttention = true;
}
}
});
// 获取关注数量
UserEngine.getUserList(teacher.getUserid(),
new GsonResponseHandler<Account>(Account.class) {
@Override
public void onSuccess(Account user) {
super.onSuccess(user);
if (user != null) {
attentioncount = Integer.parseInt(user
.getAttentioncount());
tv_attention_count.setText("粉丝 " + attentioncount);
}
}
});
}
@OnClick(R.id.tv_attention)
public void addAttention(View v) {
if (isAttention) {
showProgressDialog("取消关注...");
// 取消关注
UserEngine.deleteAttention(teacher.getUserid(),
new GsonResponseHandler<RespResult>(RespResult.class) {
@Override
public void onFinish() {
dismissProgressDialog();
}
@Override
public void onSuccess(RespResult resp) {
if (resp.isSuccess()) {
tv_attention.setText("加关注");
isAttention = false;
tv_attention_count.setText("粉丝 "
+ (--attentioncount));
}
}
});
} else {
// 加关注
showProgressDialog("添加关注...");
UserEngine.addAttention(teacher.getUserid(),
new GsonResponseHandler<RespResult>(RespResult.class) {
@Override
public void onFinish() {
dismissProgressDialog();
}
@Override
public void onSuccess(RespResult resp) {
if (resp.isSuccess()) {
tv_attention.setText("已关注");
attentioncount++;
tv_attention_count.setText("粉丝 "
+ attentioncount);
isAttention = true;
}
}
});
}
}
@OnClick(R.id.ll_picture_consultation)
public void enterPictureConsultationDetial() {
Intent intent = new Intent(this, ConsultationDetialActivity.class);
intent.putExtra("teacherExtension", teacherExtension);
intent.putExtra("teacher", teacher);
intent.putExtra("consultation_name", "图文咨询 " + getPicturePrice());
intent.putExtra("type", "picture");
startActivity(intent);
}
private String getPicturePrice() {
return Double.parseDouble(teacherExtension.getPictureprice()) > 0 ? "¥"
+ teacherExtension.getPictureprice() : "免费";
}
private String getPhonePrice() {
return Double.parseDouble(teacherExtension.getPhoneprice()) > 0 ? "¥"
+ teacherExtension.getPhoneprice() : "免费";
}
@OnClick(R.id.ll_phone_consultation)
public void enterPhoneConsultationDetial() {
Intent intent = new Intent(this, ConsultationDetialActivity.class);
intent.putExtra("teacher", teacher);
intent.putExtra("teacherExtension", teacherExtension);
intent.putExtra("consultation_name",
"电话资讯 " + getPhonePrice());
intent.putExtra("type", "phone");
startActivity(intent);
}
@OnClick(R.id.ll_my_course)
public void enterMyCourse() {
Intent intent = new Intent(this, EventTeacherActivity.class);
intent.putExtra("teacher", teacher);
startActivity(intent);
}
@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
return new CursorLoader(this, ContentProvider.createUri(
TeacherExtension.class, null), null,
TeacherExtensionTable.COLUMN_USERID + "=?",
new String[] { teacher.getUserid() }, null);
}
@Override
public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor) {
if (cursor != null && cursor.moveToNext()) {
teacherExtension.loadFromCursor(cursor);
pictureConsultationTextView.setText("图文咨询 " + getPicturePrice());
phoneConsultationTextView.setText("电话咨询 " + getPicturePrice());
}
}
@Override
public void onLoaderReset(Loader<Cursor> arg0) {
}
}