package com.partynetwork.iparty.assistant;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import com.partynetwork.dataprovider.DataProvider.IJsonResultListener;
import com.partynetwork.dataprovider.json.NetworkEntity;
import com.partynetwork.dataprovider.json.struct.Assistant_getOrderByIdRequest;
import com.partynetwork.dataprovider.json.struct.Assistant_getOrderByIdResponse;
import com.partynetwork.dataprovider.json.struct.Assistant_setAppraisalForOrderRequest;
import com.partynetwork.dataprovider.util.StringUtil;
import com.partynetwork.dataprovider.util.T;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.AppContext;
import com.partynetwork.iparty.app.common.BitmapManager;
import com.partynetwork.iparty.info.OrderInfo;
import com.partynetwork.myview.mytoast.OkPopup;
public class OrderEvaluateActivity extends Activity implements
IJsonResultListener {
public static String ORDER_ID = "orderId";
/**
* 发起人
*/
@ViewInject(R.id.name)
private TextView name;
/**
* 海报
*/
@ViewInject(R.id.photo)
private ImageView photo;
/**
* party名称
*/
@ViewInject(R.id.party_name)
private TextView title;
/**
* 金额
*/
@ViewInject(R.id.money)
private TextView money;
/**
* 评价内容
*/
@ViewInject(R.id.content)
private EditText content;
/**
* 下一步
*/
@ViewInject(R.id.next)
private TextView next;
/**
* 好评
*/
@ViewInject(R.id.evaluate_good_iv)
private ImageView evaluateGood;
/**
* 中评
*/
@ViewInject(R.id.evaluate_middle_iv)
private ImageView evaluateMiddle;
/**
* 差评
*/
@ViewInject(R.id.evaluate_bad_iv)
private ImageView evaluateBad;
private List<ImageView> evaluateList = new ArrayList<ImageView>();
/** 消息提示框 */
private OkPopup mOkPopup;
/** 订单Id */
private int orderId;
/** 评价等级 */
private int evaluatePosition;
/** 数据源 */
private OrderInfo info;
/**
*
* 覆盖方法
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.order_evaluate);
ViewUtils.inject(this);
init();
}
/**
* 初始化
*/
private void init() {
orderId = getIntent().getIntExtra(ORDER_ID, 0);
mOkPopup = new OkPopup(this);
evaluateList.add(evaluateGood);
evaluateList.add(evaluateMiddle);
evaluateList.add(evaluateBad);
sendRequest();
}
/**
* 发送请求
*/
private void sendRequest() {
Assistant_getOrderByIdRequest request = new Assistant_getOrderByIdRequest();
request.setOrderId(orderId);
AppContext.getInstance().getmDataProvider()
.getJsonFromNetwork(request, this);
}
/**
* 事件监听
*
* @param view
*/
@OnClick({ R.id.menu_head_left, R.id.next, R.id.evaluate_good_iv,
R.id.evaluate_middle_iv, R.id.evaluate_bad_iv })
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
// 关闭
finish();
break;
case R.id.next:
// 确认退款
sendEvaluateRequest();
break;
case R.id.evaluate_good_iv:
choose(0);
break;
case R.id.evaluate_middle_iv:
choose(1);
break;
case R.id.evaluate_bad_iv:
choose(2);
break;
default:
break;
}
}
/**
* 初始化数据
*/
private void initData() {
if (info == null) {
return;
}
// 订单背景图
new BitmapManager().loadBitmap(info.getEventFrontCoverUrl(), photo);
// 标题
StringUtil.setText(title, info.getEventTitle());
// 发起者
StringUtil.setText(name, info.getOrganizerNickName());
// 金额
this.money.setText("¥:" + StringUtil.formatFloat(info.getComboMoney()));
}
/**
* 选择
*
* @param position
*/
private void choose(int position) {
evaluatePosition = position;
for (int i = 0; i < evaluateList.size(); i++) {
ImageView imageView = evaluateList.get(i);
if (position == i) {
imageView.setImageResource(R.drawable.contacts_selected);
} else {
imageView.setImageResource(R.drawable.contacts_normal);
}
}
}
/**
* 发送请求
*/
private void sendEvaluateRequest() {
String content = StringUtil.checkEditText(this.content);
if (evaluatePosition == 2) {
if (content.equals("")) {
mOkPopup.setTitle("差评是需要填写详细的评价内容的哦!");
mOkPopup.showAtLocation(this.title);
return;
}
}
AppContext context=(AppContext) getApplication();
Assistant_setAppraisalForOrderRequest request = new Assistant_setAppraisalForOrderRequest();
request.setOrderId(orderId);
request.setUserId(context.getLoginUid());
request.setIsIncognito(0);
request.setIsExplanation(0);
request.setAppraisalContent(content);
request.setAppraisalGrade(evaluatePosition);
AppContext.getInstance().getmDataProvider()
.getJsonFromNetwork(request, this);
}
@Override
public void onNetworkRequest() {
// TODO 自动生成的方法存根
}
@Override
public void onResultSuccess(NetworkEntity entity) {
if (entity
.getRequest()
.getAction()
.equals(new Assistant_setAppraisalForOrderRequest().getAction())) {
T.showTips(this, R.drawable.tips_smile, "评价成功!");
finish();
} else if (entity.getRequest().getAction()
.equals(new Assistant_getOrderByIdRequest().getAction())) {
/** 订单 */
Assistant_getOrderByIdResponse mResponse = (Assistant_getOrderByIdResponse) entity
.getResponse();
info = mResponse.getDetails();
initData();
}
}
@Override
public void onResultFail(String result) {
T.showTips(this, R.drawable.tips_error, result);
}
}