|
@@ -2,10 +2,7 @@ package com.cloth.clothcashier.ui.activity;
|
|
|
|
|
|
import android.Manifest;
|
|
import android.Manifest;
|
|
import android.app.PendingIntent;
|
|
import android.app.PendingIntent;
|
|
-import android.content.BroadcastReceiver;
|
|
|
|
-import android.content.Context;
|
|
|
|
import android.content.Intent;
|
|
import android.content.Intent;
|
|
-import android.content.IntentFilter;
|
|
|
|
import android.content.pm.ActivityInfo;
|
|
import android.content.pm.ActivityInfo;
|
|
import android.graphics.Canvas;
|
|
import android.graphics.Canvas;
|
|
import android.graphics.Point;
|
|
import android.graphics.Point;
|
|
@@ -29,7 +26,6 @@ import android.widget.TextView;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.core.app.ActivityCompat;
|
|
import androidx.core.app.ActivityCompat;
|
|
import androidx.databinding.Observable;
|
|
import androidx.databinding.Observable;
|
|
-import androidx.fragment.app.DialogFragment;
|
|
|
|
import androidx.lifecycle.Observer;
|
|
import androidx.lifecycle.Observer;
|
|
import androidx.lifecycle.ViewModelProvider;
|
|
import androidx.lifecycle.ViewModelProvider;
|
|
import androidx.recyclerview.widget.DividerItemDecoration;
|
|
import androidx.recyclerview.widget.DividerItemDecoration;
|
|
@@ -50,7 +46,7 @@ import com.cloth.clothcashier.adapter.OrderTypeAdapter;
|
|
import com.cloth.clothcashier.application.MyApplication;
|
|
import com.cloth.clothcashier.application.MyApplication;
|
|
import com.cloth.clothcashier.base.BaseActivity;
|
|
import com.cloth.clothcashier.base.BaseActivity;
|
|
import com.cloth.clothcashier.base.BaseInitAlgorithm;
|
|
import com.cloth.clothcashier.base.BaseInitAlgorithm;
|
|
-import com.cloth.clothcashier.constans.DataConstans;
|
|
|
|
|
|
+import com.cloth.clothcashier.bean.PayStatusBean;
|
|
import com.cloth.clothcashier.net.Injection;
|
|
import com.cloth.clothcashier.net.Injection;
|
|
import com.cloth.clothcashier.ui.model.DishListEntity;
|
|
import com.cloth.clothcashier.ui.model.DishListEntity;
|
|
import com.cloth.clothcashier.ui.model.PreviewConfig;
|
|
import com.cloth.clothcashier.ui.model.PreviewConfig;
|
|
@@ -59,7 +55,6 @@ import com.cloth.clothcashier.util.Base64Object;
|
|
import com.cloth.clothcashier.util.DeviceHelper;
|
|
import com.cloth.clothcashier.util.DeviceHelper;
|
|
import com.cloth.clothcashier.util.DialogUtils;
|
|
import com.cloth.clothcashier.util.DialogUtils;
|
|
import com.cloth.clothcashier.util.DisplayUtil;
|
|
import com.cloth.clothcashier.util.DisplayUtil;
|
|
-import com.cloth.clothcashier.util.SharedPreferencesHelperUtil;
|
|
|
|
import com.cloth.clothcashier.util.SoundPoolManager;
|
|
import com.cloth.clothcashier.util.SoundPoolManager;
|
|
import com.cloth.clothcashier.util.StringUtil;
|
|
import com.cloth.clothcashier.util.StringUtil;
|
|
import com.cloth.clothcashier.util.TextUtil;
|
|
import com.cloth.clothcashier.util.TextUtil;
|
|
@@ -78,10 +73,8 @@ import com.donkingliang.groupedadapter.adapter.GroupedRecyclerViewAdapter;
|
|
import com.donkingliang.groupedadapter.holder.BaseViewHolder;
|
|
import com.donkingliang.groupedadapter.holder.BaseViewHolder;
|
|
import com.donkingliang.groupedadapter.layoutmanger.GroupedGridLayoutManager;
|
|
import com.donkingliang.groupedadapter.layoutmanger.GroupedGridLayoutManager;
|
|
import com.donkingliang.groupedadapter.widget.StickyHeaderLayout;
|
|
import com.donkingliang.groupedadapter.widget.StickyHeaderLayout;
|
|
-import com.hb.dialog.dialog.LoadingDialog;
|
|
|
|
import com.orhanobut.logger.Logger;
|
|
import com.orhanobut.logger.Logger;
|
|
|
|
|
|
-import java.io.File;
|
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
@@ -119,6 +112,7 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
@BindView(R.id.empty_order)
|
|
@BindView(R.id.empty_order)
|
|
RelativeLayout emptyOrder;
|
|
RelativeLayout emptyOrder;
|
|
|
|
|
|
|
|
+ private String TAG = "OrderCashierActivity";
|
|
private OrderCshierViewModel orderCshierViewModel;
|
|
private OrderCshierViewModel orderCshierViewModel;
|
|
private OrderTypeAdapter orderTypeAdapter;
|
|
private OrderTypeAdapter orderTypeAdapter;
|
|
private CarOrderAdapter carOrderAdapter;
|
|
private CarOrderAdapter carOrderAdapter;
|
|
@@ -578,8 +572,12 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
/***********************************************************************************************************************************/
|
|
/***********************************************************************************************************************************/
|
|
private void setCarTotalColor(String total) {
|
|
private void setCarTotalColor(String total) {
|
|
if (!StringUtil.isEmpty(total)) {
|
|
if (!StringUtil.isEmpty(total)) {
|
|
- SpannableString spannableString = TextUtil.setTextColor(3, total.length(), this.getResources().getColor(R.color.color_FC6667), total);
|
|
|
|
|
|
+ String totalStr = "总计:" + total;
|
|
|
|
+ SpannableString spannableString = TextUtil.setTextColor(3, totalStr.length(), this.getResources().getColor(R.color.color_FC6667), totalStr);
|
|
tvTotal.setText(spannableString);
|
|
tvTotal.setText(spannableString);
|
|
|
|
+
|
|
|
|
+ //更新副屏展示金额
|
|
|
|
+ super.updatePrice(total);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -614,7 +612,7 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
initFace();
|
|
initFace();
|
|
});
|
|
});
|
|
orderCshierViewModel.getCarTotal().observe(this, carTotal -> {
|
|
orderCshierViewModel.getCarTotal().observe(this, carTotal -> {
|
|
- setCarTotalColor("总计:" + carTotal);
|
|
|
|
|
|
+ setCarTotalColor(carTotal);
|
|
});
|
|
});
|
|
orderCshierViewModel.getPayStatusBean().observe(this, payStatusBean -> {
|
|
orderCshierViewModel.getPayStatusBean().observe(this, payStatusBean -> {
|
|
if (payStatusBean != null) {
|
|
if (payStatusBean != null) {
|
|
@@ -622,7 +620,8 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
soundPoolManager.play(0);
|
|
soundPoolManager.play(0);
|
|
orderCshierViewModel.restoreDefault();
|
|
orderCshierViewModel.restoreDefault();
|
|
dissLoadingDialog();
|
|
dissLoadingDialog();
|
|
- creatPayFailedDialog(payStatusBean.isStatus(), "");
|
|
|
|
|
|
+// createPayResultDialog(payStatusBean.isStatus(), "");
|
|
|
|
+ createPayResultDialog(payStatusBean);
|
|
orderCshierViewModel.clearCarData();
|
|
orderCshierViewModel.clearCarData();
|
|
carOrderAdapter.setNewInstance(null);
|
|
carOrderAdapter.setNewInstance(null);
|
|
} else {
|
|
} else {
|
|
@@ -630,7 +629,8 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
orderCshierViewModel.defaultRepeat();
|
|
orderCshierViewModel.defaultRepeat();
|
|
orderCshierViewModel.restoreDefault();
|
|
orderCshierViewModel.restoreDefault();
|
|
dissLoadingDialog();
|
|
dissLoadingDialog();
|
|
- creatPayFailedDialog(payStatusBean.isStatus(), payStatusBean.getReason());
|
|
|
|
|
|
+// createPayResultDialog(payStatusBean.isStatus(), payStatusBean.getReason());
|
|
|
|
+ createPayResultDialog(payStatusBean);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -802,7 +802,7 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
case R.id.btn_pay:
|
|
case R.id.btn_pay:
|
|
List<DishListEntity.JnGoodsListBean> data = carOrderAdapter.getData();
|
|
List<DishListEntity.JnGoodsListBean> data = carOrderAdapter.getData();
|
|
if (data != null && data.size() > 0) {
|
|
if (data != null && data.size() > 0) {
|
|
- creatPayDialog();
|
|
|
|
|
|
+ createSelectPayDialog();
|
|
// orderCshierViewModel.commitOrderData("1111");
|
|
// orderCshierViewModel.commitOrderData("1111");
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
@@ -909,10 +909,13 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
return layoutParams;
|
|
return layoutParams;
|
|
}
|
|
}
|
|
|
|
|
|
- private void creatPayDialog() {
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 选择支付方式弹出框
|
|
|
|
+ */
|
|
|
|
+ private void createSelectPayDialog() {
|
|
if (payWayDialog == null) {
|
|
if (payWayDialog == null) {
|
|
payWayDialog = new PopDialog(DialogUtils.creatpayWayDialog(this, v -> {
|
|
payWayDialog = new PopDialog(DialogUtils.creatpayWayDialog(this, v -> {
|
|
- seletePay(v.getId());
|
|
|
|
|
|
+ selectPay(v.getId());
|
|
}));
|
|
}));
|
|
payWayDialog.setCancelEnable(true);
|
|
payWayDialog.setCancelEnable(true);
|
|
ViewGroup.LayoutParams layoutParams = payWayDialog.getView(R.id.pay_liner).getLayoutParams();
|
|
ViewGroup.LayoutParams layoutParams = payWayDialog.getView(R.id.pay_liner).getLayoutParams();
|
|
@@ -924,8 +927,11 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
payWayDialog.showPop();
|
|
payWayDialog.showPop();
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
- private void creatPayFailedDialog(boolean status, String reason) {
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 支付结果弹出框
|
|
|
|
+ * @param payStatusBean
|
|
|
|
+ */
|
|
|
|
+ private void createPayResultDialog(PayStatusBean payStatusBean) {
|
|
if (payStatusDialog == null) {
|
|
if (payStatusDialog == null) {
|
|
payStatusDialog = new PopDialog(DialogUtils.creatpayStatusDialog(this));
|
|
payStatusDialog = new PopDialog(DialogUtils.creatpayStatusDialog(this));
|
|
ViewGroup.LayoutParams layoutParams = payStatusDialog.getView(R.id.pay_status_liner).getLayoutParams();
|
|
ViewGroup.LayoutParams layoutParams = payStatusDialog.getView(R.id.pay_status_liner).getLayoutParams();
|
|
@@ -937,48 +943,70 @@ public class OrderCashierActivity extends BaseActivity implements CameraListener
|
|
ImageView imageView = (ImageView) payStatusDialog.getView(R.id.iv_pay_failed);
|
|
ImageView imageView = (ImageView) payStatusDialog.getView(R.id.iv_pay_failed);
|
|
TextView textView = (TextView) payStatusDialog.getView(R.id.tv_pay_status);
|
|
TextView textView = (TextView) payStatusDialog.getView(R.id.tv_pay_status);
|
|
TextView pay_reason = (TextView) payStatusDialog.getView(R.id.tv_pay_reason);
|
|
TextView pay_reason = (TextView) payStatusDialog.getView(R.id.tv_pay_reason);
|
|
- if (status) {
|
|
|
|
|
|
+ if (payStatusBean.isStatus()) {
|
|
imageView.setImageResource(R.mipmap.pay_success);
|
|
imageView.setImageResource(R.mipmap.pay_success);
|
|
textView.setText("支付成功");
|
|
textView.setText("支付成功");
|
|
pay_reason.setVisibility(View.INVISIBLE);
|
|
pay_reason.setVisibility(View.INVISIBLE);
|
|
|
|
+ super.showSuccessRes(payStatusBean.getUserName(), payStatusBean.getPrice(), payStatusBean.getPersonalBalance(), payStatusBean.getSubsidyBalance());
|
|
} else {
|
|
} else {
|
|
imageView.setImageResource(R.mipmap.pay_failed);
|
|
imageView.setImageResource(R.mipmap.pay_failed);
|
|
textView.setText("支付失败");
|
|
textView.setText("支付失败");
|
|
pay_reason.setVisibility(View.VISIBLE);
|
|
pay_reason.setVisibility(View.VISIBLE);
|
|
- pay_reason.setText(reason);
|
|
|
|
|
|
+ pay_reason.setText(payStatusBean.getReason());
|
|
|
|
+ super.showFailRes(payStatusBean.getReason());
|
|
}
|
|
}
|
|
payStatusDialog.setOnDismissListener(() -> {
|
|
payStatusDialog.setOnDismissListener(() -> {
|
|
orderCshierViewModel.restoreDefault();
|
|
orderCshierViewModel.restoreDefault();
|
|
if (payStatusDialog != null) {
|
|
if (payStatusDialog != null) {
|
|
payStatusDialog.dismissPop();
|
|
payStatusDialog.dismissPop();
|
|
}
|
|
}
|
|
|
|
+ super.closeResultDisplay();
|
|
});
|
|
});
|
|
payStatusDialog.showPop();
|
|
payStatusDialog.showPop();
|
|
}
|
|
}
|
|
|
|
|
|
- private void seletePay(int id) {
|
|
|
|
- switch (id) {
|
|
|
|
- case R.id.tv_cancel_pay:
|
|
|
|
- payWayDialog.dismissPop();
|
|
|
|
- break;
|
|
|
|
- case R.id.linear_qrcode:
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 选择支付方式
|
|
|
|
+ * @param id
|
|
|
|
+ */
|
|
|
|
+ private void selectPay(int id) {
|
|
|
|
+ payWayDialog.dismissPop();
|
|
|
|
+ if(R.id.tv_cancel_pay == id){
|
|
|
|
+ }else{
|
|
|
|
+ showLoadingDialog(getResources().getString(R.string.order_paying));
|
|
|
|
+ if(R.id.linear_qrcode == id){
|
|
type = 2;
|
|
type = 2;
|
|
- payWayDialog.dismissPop();
|
|
|
|
- showLoadingDialog(getResources().getString(R.string.order_paying));
|
|
|
|
orderCshierViewModel.setCardStatus(true);
|
|
orderCshierViewModel.setCardStatus(true);
|
|
- break;
|
|
|
|
- case R.id.linear_face:
|
|
|
|
- payWayDialog.dismissPop();
|
|
|
|
- showLoadingDialog(getResources().getString(R.string.order_paying));
|
|
|
|
|
|
+ }else if(R.id.linear_face == id){
|
|
orderCshierViewModel.setFaceStatus(true);
|
|
orderCshierViewModel.setFaceStatus(true);
|
|
- break;
|
|
|
|
- case R.id.linear_card:
|
|
|
|
|
|
+ }else if(R.id.linear_card == id){
|
|
type = 1;
|
|
type = 1;
|
|
orderCshierViewModel.setCardStatus(true);
|
|
orderCshierViewModel.setCardStatus(true);
|
|
- payWayDialog.dismissPop();
|
|
|
|
- showLoadingDialog(getResources().getString(R.string.order_paying));
|
|
|
|
- break;
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// switch (id) {
|
|
|
|
+// case R.id.tv_cancel_pay:
|
|
|
|
+// payWayDialog.dismissPop();
|
|
|
|
+// break;
|
|
|
|
+// case R.id.linear_qrcode:
|
|
|
|
+// type = 2;
|
|
|
|
+// payWayDialog.dismissPop();
|
|
|
|
+// showLoadingDialog(getResources().getString(R.string.order_paying));
|
|
|
|
+// orderCshierViewModel.setCardStatus(true);
|
|
|
|
+// break;
|
|
|
|
+// case R.id.linear_face:
|
|
|
|
+// payWayDialog.dismissPop();
|
|
|
|
+// showLoadingDialog(getResources().getString(R.string.order_paying));
|
|
|
|
+// orderCshierViewModel.setFaceStatus(true);
|
|
|
|
+// break;
|
|
|
|
+// case R.id.linear_card:
|
|
|
|
+// type = 1;
|
|
|
|
+// payWayDialog.dismissPop();
|
|
|
|
+// showLoadingDialog(getResources().getString(R.string.order_paying));
|
|
|
|
+// orderCshierViewModel.setCardStatus(true);
|
|
|
|
+// break;
|
|
|
|
+// }
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|