Commit 1632103a authored by linfeng's avatar linfeng

Merge branch 'dev-member-john' of http://113.105.137.151:22280/lify/rvapp

parents 43112fbb f02312c2
......@@ -3,7 +3,6 @@ package com.rv.rvmine.adapter;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
......@@ -39,14 +38,14 @@ public class TravelerListAdapter extends BaseQuickAdapter<TravelerListBean.DataB
helper.itemView.findViewById(R.id.cb_draveler).setVisibility(View.GONE);
} else {
if (item.getStatus()) {
helper.setChecked(R.id.cb_draveler, true);
helper.setImageResource(R.id.cb_draveler, R.drawable.common_icon_select);
} else {
helper.setChecked(R.id.cb_draveler, false);
helper.setImageResource(R.id.cb_draveler, R.drawable.common_icon_unselect);
}
helper.setOnCheckedChangeListener(R.id.cb_draveler, new CompoundButton.OnCheckedChangeListener() {
helper.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
public void onClick(View view) {
boolean status = item.getStatus();
boolean result = false;
if (mListener != null) {
......@@ -58,26 +57,7 @@ public class TravelerListAdapter extends BaseQuickAdapter<TravelerListBean.DataB
} else {
mListener.showError();
}
((CheckBox) helper.itemView.findViewById(R.id.cb_draveler)).setChecked(status);
}
});
helper.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// ((CheckBox)helper.itemView.findViewById(R.id.cb_draveler)).setChecked(item.getStatus());
// boolean status = item.getStatus();
// boolean result = false;
// if (mListener != null) {
// result = mListener.select(item, status ? 0 : 1);
// }
// if (result) { // 动作成功
// status = !status;
// item.setStatus(status);
// } else {
// mListener.showError();
// }
((CheckBox) helper.itemView.findViewById(R.id.cb_draveler)).setChecked(!item.getStatus());
helper.setImageResource(R.id.cb_draveler, status ? R.drawable.common_icon_select : R.drawable.common_icon_unselect);
}
});
}
......
......@@ -40,6 +40,7 @@ import java.sql.Array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
......@@ -49,7 +50,9 @@ import butterknife.BindView;
import butterknife.OnClick;
/**
* 选择出游人
* 选择出游人 / 选择出游人
* <p>
* 添加
*/
@Route(path = Constance.ACTIVITY_URL_CHOOSEAVISITOR)
public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter> {
......@@ -70,10 +73,9 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
private DeletePopupWindow deletePopupWindow;
private List<TravelerListBean.DataBean> visitors = new ArrayList<>();
private TravelerListBean.DataBean deletBean = null;
private List<TravelerListBean.DataBean> adults = new ArrayList<>();
private List<TravelerListBean.DataBean> childs = new ArrayList<>();
private List<Integer> adults;
private List<Integer> childs;
private String hasChoIdCards; // 传过来的已经选择的身份证
private int adultNumber; //成人数量
private int childBumber; // 小孩数量
......@@ -94,6 +96,24 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
if (childBumber > 0) {
childs = new ArrayList<>(childBumber);
}
String hasChoiceAdults = intent.getStringExtra("hasChoiceAdults");
if (!TextUtils.isEmpty(hasChoiceAdults)) {
String[] choiceAdult = hasChoiceAdults.split(";");
if (adults != null && choiceAdult.length > 0) {
for (String s : choiceAdult) {
adults.add(Integer.valueOf(s));
}
}
}
String hasChoiceChilds = intent.getStringExtra("hasChoiceChilds");
if (!TextUtils.isEmpty(hasChoiceChilds)) {
String[] choiceChilds = hasChoiceChilds.split(";");
if (childs != null && choiceChilds.length > 0) {
for (String s : choiceChilds) {
childs.add(Integer.valueOf(s));
}
}
}
StringBuilder builder = new StringBuilder();
builder.append("请选择");
......@@ -112,7 +132,6 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
btnConfim.setVisibility(View.VISIBLE);
}
hasChoIdCards = intent.getStringExtra("hasChoice");
if (openType == 0) {
titleView.setTitle("出游人");
} else {
......@@ -162,7 +181,6 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
}
deletePopupWindow.showAsDropDown(view, view.getWidth() / 2 - deletePopupWindow.getContentView().getMeasuredWidth() / 2,
-deletePopupWindow.getContentView().getHeight());
}
......@@ -170,68 +188,53 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
public void onViewClicked(View view) {
int id = view.getId();
if (id == R.id.btn_confirm) {
if (mAdapter != null) {
int remainChild = 0;
int remainAdult = 0;
if (childs != null) {
remainChild = childBumber - childs.size();
}
if (adults != null) {
remainAdult = adultNumber - adults.size();
int remainChild = 0;
int remainAdult = 0;
if (childs != null) {
remainChild = childBumber - childs.size();
}
if (adults != null) {
remainAdult = adultNumber - adults.size();
}
if (remainAdult != 0 || remainChild != 0) {
showToast("你还有" + (remainAdult + remainChild) + "位出游人还未选择");
return;
}
ArrayList<String> names = new ArrayList<>();
ArrayList<String> phones = new ArrayList<>();
ArrayList<String> idcards = new ArrayList<>();
ArrayList<String> ids = new ArrayList<>();
for (TravelerListBean.DataBean bean : visitors) {
if (adults != null && adults.contains(bean.getId())) {
names.add(bean.getName());
phones.add(bean.getPhone());
idcards.add(bean.getIdCard());
ids.add(bean.getId() + "");
}
if (remainAdult != 0 || remainChild != 0) {
showToast("你还有" + (remainAdult + remainChild) + "位出游人还未选择");
return;
}
for (TravelerListBean.DataBean bean : visitors) {
if (childs != null && childs.contains(bean.getId())) {
names.add(bean.getName());
phones.add(bean.getPhone());
idcards.add(bean.getIdCard());
ids.add(bean.getId() + "");
}
ArrayList<String> names = new ArrayList<>();
ArrayList<String> phones = new ArrayList<>();
ArrayList<String> idcards = new ArrayList<>();
ArrayList<String> ids = new ArrayList<>();
if (adults != null)
for (TravelerListBean.DataBean bean : adults) {
names.add(bean.getName());
phones.add(bean.getPhone());
idcards.add(bean.getIdCard());
ids.add(bean.getId() + "");
}
if (childs != null)
for (TravelerListBean.DataBean bean : childs) {
names.add(bean.getName());
phones.add(bean.getPhone());
idcards.add(bean.getIdCard());
ids.add(bean.getId() + "");
}
Intent intent1 = getIntent();
intent1.putStringArrayListExtra("name", names);
intent1.putStringArrayListExtra("phone", phones);
intent1.putStringArrayListExtra("idcard", idcards);
intent1.putStringArrayListExtra("id", ids);
setResult(RESULT_OK, intent1);
finish();
}
Intent intent = getIntent();
intent.putStringArrayListExtra("name", names);
intent.putStringArrayListExtra("phone", phones);
intent.putStringArrayListExtra("idcard", idcards);
intent.putStringArrayListExtra("id", ids);
setResult(RESULT_OK, intent);
finish();
}
}
// @Override
// public void finish() {
// if (openType != 0) {
// Intent intent = new Intent();
// ArrayList<TravelerListBean.DataBean> selects;
//// if (selectBean == null) {
//// selectBean = mAdapter.getHasSelectBean();
//// }
//// if (selectBean != null) {
// intent.putExtra("name", selectBean.getName());
// intent.putExtra("phone", selectBean.getPhone());
// intent.putExtra("idcard", selectBean.getIdCard());
// intent.putExtra("id", selectBean.getId());
// setResult(RESULT_OK, intent);
//// }
//
// }
// super.finish();
// }
@Override
public void finish() {
super.finish();
}
@Override
protected void loadData(Bundle savedInstanceState, Intent intent) {
......@@ -254,9 +257,9 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
mAdapter.notifyDataSetChanged();
}
if (adults != null)
adults.remove(deletBean);
adults.remove(deletBean.getId());
if (childs != null)
childs.remove(deletBean);
childs.remove(deletBean.getId());
deletBean = null;
}
}
......@@ -289,21 +292,21 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
return;
}
visitors.clear();
// if (adults != null) adults.clear();
// if (childs != null) childs.clear();
for (TravelerListBean.DataBean b : bean.getData()) {
if (!TextUtils.isEmpty(hasChoIdCards) && hasChoIdCards.contains(b.getIdCard())) {
b.setStatus(true);
if (b.getIsChild() == 0) {
if (adults != null)
adults.add(b);
} else {
if (childs != null)
childs.add(b);
if (b.getIsChild() == 0) { // 成人
if (adults != null && adults.contains(b.getId())) {
b.setStatus(true);
}
} else { // 儿童
if (childs != null && childs.contains(b.getId())) {
b.setStatus(true);
}
}
visitors.add(b);
}
dealAdults();
dealChilds();
Collections.sort(visitors, new Comparator<TravelerListBean.DataBean>() {
@Override
......@@ -321,6 +324,43 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
}
}
private void dealAdults() {
if (adults != null) {
Iterator<Integer> iterator = adults.iterator();
while (iterator.hasNext()) {
Integer integer = iterator.next();
boolean isContain = false;
for (TravelerListBean.DataBean bean : visitors) {
if (bean.getId() == integer.intValue()) {
isContain = true;
}
}
if (!isContain) {
iterator.remove();
}
}
}
}
private void dealChilds() {
if (childs != null) {
Iterator<Integer> iterator = childs.iterator();
while (iterator.hasNext()) {
Integer integer = iterator.next();
boolean isContain = false;
for (TravelerListBean.DataBean bean : visitors) {
if (bean.getId() == integer.intValue()) {
isContain = true;
}
}
if (!isContain) {
iterator.remove();
}
}
}
}
private void deleteDriver() {
if (deletBean != null) {
Map<String, Object> headMap = new LinkedHashMap<>();
......@@ -335,34 +375,22 @@ public class ChooseAVisitorActivity extends BaseStatusActivity<CommonPresenter>
public boolean select(TravelerListBean.DataBean bean, int action) {
if (bean != null) {
if (bean.getIsChild() == 0) { // 成人
if (adultNumber == 0) {
return false;
}
if (action == 0) { // 取消选中
return adults.remove(bean);
} else { // 选中
if (adults.contains(bean)) {
return false;
}
if (adults.size() >= adultNumber) {
return false;
}
return adults.add(bean);
if (adultNumber == 0) return false;
if (action == 0) return adults.remove(bean.getId());
else { // 选中
if (adults.contains(bean.getId())) return false;
if (adults.size() >= adultNumber) return false;
return adults.add(bean.getId());
}
} else { // 儿童
if (childBumber == 0) {
return false;
}
if (action == 0) {
return childs.remove(bean);
} else {
if (childs.contains(bean)) {
return false;
}
if (childs.size() >= childBumber) {
return false;
}
return childs.add(bean);
if (childBumber == 0) return false;
if (action == 0) return childs.remove(bean.getId());
else {
if (childs.contains(bean.getId())) return false;
if (childs.size() >= childBumber) return false;
return childs.add(bean.getId());
}
}
}
......
......@@ -17,13 +17,10 @@
android:layout_marginBottom="@dimen/size_15"
android:orientation="horizontal">
<CheckBox
android:checked="false"
android:focusable="false"
android:focusableInTouchMode="false"
<ImageView
android:id="@+id/cb_draveler"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="@dimen/size_15"
android:layout_height="@dimen/size_15"
android:layout_gravity="center_vertical" />
<LinearLayout
......
......@@ -8,6 +8,7 @@ import android.support.annotation.Nullable;
import android.support.v4.widget.PopupWindowCompat;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
......@@ -150,7 +151,7 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
double childPrice = dataBean.getChildPrice();
double adultPrice = dataBean.getPrice();
price = Arith.mul(Double.valueOf(childNum), Double.valueOf(childPrice)) + Arith.mul(Double.valueOf(adultNum), Double.valueOf(adultPrice));
tvPaymentAmount.setText(String.format("¥%1$s",new BigDecimal(price).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
tvPaymentAmount.setText(String.format("¥%1$s", new BigDecimal(price).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
for (int i = 0; i < Integer.valueOf(dataBean.getAdultNum()); i++) {
BeanVisitorInformation travelMember = new BeanVisitorInformation();
......@@ -175,18 +176,24 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
mPosition = position;
tourist = (BeanVisitorInformation) adapter.getItem(position);
StringBuffer buffer = new StringBuffer();
StringBuffer bufferAdults = new StringBuffer();
StringBuffer bufferChilds = new StringBuffer();
for (BeanVisitorInformation information : mVisitorInformationAdapter.getData()) {
if (information != null) {
buffer.append(information.getIdCard())
.append(";");
if ("0".equals(information.getIsChild()) && !TextUtils.isEmpty(information.getId())) {
bufferAdults.append(information.getId()).append(";");
} else if("1".equals(information.getIsChild()) && !TextUtils.isEmpty(information.getId())) {
bufferChilds.append(information.getId()).append(";");
}
}
}
ARouter.getInstance().build(Constance.ACTIVITY_URL_CHOOSEAVISITOR)
.withInt("adult_number", Integer.valueOf(dataBean.getAdultNum()))
.withInt("child_number", Integer.valueOf(dataBean.getChildNum()))
.withString("hasChoiceAdults", bufferAdults.length() == 0 ? "" : bufferAdults.substring(0, bufferAdults.length() - 1))
.withString("hasChoiceChilds", bufferChilds.length() == 0 ? "" : bufferChilds.substring(0, bufferChilds.length() - 1))
.withInt("openType", 1)
.withString("hasChoice", buffer.toString())
.navigation(mActivity, 104);
}
});
......@@ -296,7 +303,7 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
childrenBean3.setVal("¥" + info.getData().getInsurePrice() * (adultNum + childNum) * day);
childrenBeanList.add(childrenBean3);
tvPaymentAmount.setText(String.format("¥%1$s", new BigDecimal(price + (info.getData().getInsurePrice() * (adultNum + childNum) * day)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
tvPaymentAmount.setText(String.format("¥%1$s", new BigDecimal(price + (info.getData().getInsurePrice() * (adultNum + childNum) * day)).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
} else {
tvPaymentAmount.setText(String.format("¥%1$s", new BigDecimal(price).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()));
}
......
......@@ -130,6 +130,8 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
.subscribe(new Consumer<PaymentSuccessfulEvent>() {
@Override
public void accept(PaymentSuccessfulEvent payEvent) throws Exception {
Class aClass = Class.forName("com.rv.rvmine.rxbusevent.UserInfoEvent");
RxBus.post(aClass.newInstance());
startActivityForResult(OrderListActivity.getIntent(MemberCenterActivity.this, 3), REQUEST_PAY);
}
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment