package com.dreamspace.uucampus.ui.activity.Order;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.dreamspace.uucampus.R;
import com.dreamspace.uucampus.api.ApiManager;
import com.dreamspace.uucampus.common.utils.CommonUtils;
import com.dreamspace.uucampus.common.utils.NetUtils;
import com.dreamspace.uucampus.model.api.AddGoodsCommentRes;
import com.dreamspace.uucampus.model.api.ContentReq;
import com.dreamspace.uucampus.ui.base.AbsActivity;
import com.dreamspace.uucampus.ui.dialog.ProgressDialog;
import com.dreamspace.uucampus.widget.RatingBar;
import butterknife.Bind;
import retrofit.Callback;
import retrofit.RetrofitError;
import retrofit.client.Response;
/**
* Created by Lx on 2015/10/22.
* 商品评论界面,进入此界面需要传入order_id,good_id
*/
public class CommentAct extends AbsActivity{
@Bind(R.id.comment_rating_bar)
RatingBar ratingBar;
@Bind(R.id.rating_tv)
TextView ratingTv;
@Bind(R.id.comment_et)
EditText commentEt;
@Bind(R.id.submit_comment_btn)
Button submitBtn;
private int stars = 0;
private String orderId;
private String goodId;
private boolean actDestory = false;
private ProgressDialog progressDialog;
public static final String ORDER_ID = "ORDER_ID";
public static final String GOOD_ID = "GOOD_ID";
@Override
protected int getContentView() {
return R.layout.activity_comment;
}
@Override
protected void prepareDatas() {
orderId = getIntent().getExtras().getString(ORDER_ID);
goodId = getIntent().getExtras().getString(GOOD_ID);
}
@Override
protected void initViews() {
getSupportActionBar().setTitle(getString(R.string.comment1));
initListeners();
}
@Override
protected View getLoadingTargetView() {
return null;
}
private void initListeners(){
ratingBar.setOnRatingChangeListener(new RatingBar.OnRatingChangeListener() {
@Override
public void onRatingChange(int i) {
switch (i) {
case 1:
ratingTv.setText(getString(R.string.very_unsatisfied));
stars = 1;
break;
case 2:
ratingTv.setText(getString(R.string.unsatisfied));
stars = 2;
break;
case 3:
ratingTv.setText(getString(R.string.soso));
stars = 3;
break;
case 4:
ratingTv.setText(getString(R.string.satisfied));
stars = 4;
break;
case 5:
ratingTv.setText(getString(R.string.very_satisfied));
stars = 5;
break;
}
}
});
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isValid()){
initProgressDialog();
progressDialog.show();
addCommit(commentEt.getText().toString());
}
}
});
}
//检查用户是否评星,评价
private boolean isValid(){
if(stars < 1){
showToast(getString(R.string.plz_score));
return false;
}else if(CommonUtils.isEmpty(commentEt.getText().toString())
|| commentEt.getText().toString().length() < 10){
showToast(getString(R.string.comment_cant_less_than_10));
return false;
}
return true;
}
private void addCommit(String content){
if(!NetUtils.isNetworkConnected(this)){
showNetWorkError();
progressDialog.dismiss();
return;
}
ContentReq contentReq = new ContentReq();
contentReq.setOrder_id(orderId);
contentReq.setContent(content);
contentReq.setScore(stars);
ApiManager.getService(this).addGoodsComment(goodId, contentReq, new Callback<AddGoodsCommentRes>() {
@Override
public void success(AddGoodsCommentRes addGoodsCommentRes, Response response) {
if (addGoodsCommentRes != null && !actDestory) {
progressDialog.dismiss();
Toast.makeText(CommentAct.this, getString(R.string.comment_success), Toast.LENGTH_SHORT).show();
setResult(RESULT_OK);
finish();
}
}
@Override
public void failure(RetrofitError error) {
progressDialog.dismiss();
showInnerError(error);
}
});
}
@Override
protected void onDestroy() {
actDestory = true;
super.onDestroy();
}
private void initProgressDialog(){
if(progressDialog != null){
return;
}
progressDialog = new ProgressDialog(this);
progressDialog.setContent(getString(R.string.in_comment));
}
}