Browse Source

订单取消增加取消弹窗

zk 1 year ago
parent
commit
7ba75468be

+ 3 - 0
app/src/main/java/com/datarecovery/master/data/api/bean/OrderBean.java

@@ -64,6 +64,9 @@ public class OrderBean {
     }
     }
 
 
     public String getCreateTime() {
     public String getCreateTime() {
+        if ("null".equals(createTime)) {
+            return "";
+        }
         return createTime;
         return createTime;
     }
     }
 
 

+ 14 - 1
app/src/main/java/com/datarecovery/master/module/order/OrderFragment.java

@@ -9,11 +9,13 @@ import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.LinearLayoutManager;
 
 
 import com.atmob.app.lib.base.BaseFragment;
 import com.atmob.app.lib.base.BaseFragment;
+import com.datarecovery.master.R;
 import com.datarecovery.master.data.api.bean.OrderBean;
 import com.datarecovery.master.data.api.bean.OrderBean;
 import com.datarecovery.master.data.api.bean.PayOptions;
 import com.datarecovery.master.data.api.bean.PayOptions;
 import com.datarecovery.master.databinding.FragmentOrderBinding;
 import com.datarecovery.master.databinding.FragmentOrderBinding;
 import com.datarecovery.master.dialog.AlipayQrCodeDialog;
 import com.datarecovery.master.dialog.AlipayQrCodeDialog;
 import com.datarecovery.master.dialog.CommonLoadingDialog;
 import com.datarecovery.master.dialog.CommonLoadingDialog;
+import com.datarecovery.master.dialog.CommonSureDialog;
 import com.datarecovery.master.dialog.WechatPayQrCodeDialog;
 import com.datarecovery.master.dialog.WechatPayQrCodeDialog;
 import com.datarecovery.master.utils.BoxingUtil;
 import com.datarecovery.master.utils.BoxingUtil;
 import com.gyf.immersionbar.ImmersionBar;
 import com.gyf.immersionbar.ImmersionBar;
@@ -32,6 +34,7 @@ public class OrderFragment extends BaseFragment<FragmentOrderBinding> {
     private CommonLoadingDialog loadingDialog;
     private CommonLoadingDialog loadingDialog;
     private AlipayQrCodeDialog alipayQrCodeDialog;
     private AlipayQrCodeDialog alipayQrCodeDialog;
     private WechatPayQrCodeDialog wechatPayQrCodeDialog;
     private WechatPayQrCodeDialog wechatPayQrCodeDialog;
+    private CommonSureDialog cancelOrderDialog;
 
 
 
 
     @Override
     @Override
@@ -47,7 +50,7 @@ public class OrderFragment extends BaseFragment<FragmentOrderBinding> {
         orderItemAdapter.setOrderActionHandler(new OrderItemAdapter.OrderActionHandler() {
         orderItemAdapter.setOrderActionHandler(new OrderItemAdapter.OrderActionHandler() {
             @Override
             @Override
             public void cancel(OrderBean orderBean) {
             public void cancel(OrderBean orderBean) {
-                orderViewModel.cancelOrder(orderBean);
+                showCancelDialog(orderBean);
             }
             }
 
 
             @Override
             @Override
@@ -59,6 +62,16 @@ public class OrderFragment extends BaseFragment<FragmentOrderBinding> {
         binding.swiperLayout.setOnRefreshListener(() -> orderViewModel.refreshOrderPageList());
         binding.swiperLayout.setOnRefreshListener(() -> orderViewModel.refreshOrderPageList());
     }
     }
 
 
+    private void showCancelDialog(OrderBean orderBean) {
+        if (cancelOrderDialog == null) {
+            cancelOrderDialog = new CommonSureDialog(requireActivity());
+            cancelOrderDialog.setDialogTitle(R.string.dialog_kind_tips).setDialogContent(R.string.order_cancel_content);
+        }
+        cancelOrderDialog.setOnDialogClickListener(() -> orderViewModel.cancelOrder(orderBean));
+        cancelOrderDialog.show();
+
+    }
+
     private void initObserver() {
     private void initObserver() {
         orderViewModel.getOnSubscribeSuccessEvent().observe(getViewLifecycleOwner(), this::dismissQrCodeDialog);
         orderViewModel.getOnSubscribeSuccessEvent().observe(getViewLifecycleOwner(), this::dismissQrCodeDialog);
         orderViewModel.getShowWxQRPaymentEvent().observe(getViewLifecycleOwner(), this::showWxQrCodeDialog);
         orderViewModel.getShowWxQRPaymentEvent().observe(getViewLifecycleOwner(), this::showWxQrCodeDialog);

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -207,4 +207,5 @@
     <string name="order_success">订单已完成</string>
     <string name="order_success">订单已完成</string>
     <string name="order_todo_pay">订单待支付</string>
     <string name="order_todo_pay">订单待支付</string>
     <string name="order_number">订单号</string>
     <string name="order_number">订单号</string>
+    <string name="order_cancel_content">您确定要取消订单吗?取消后将无法支付此订单。</string>
 </resources>
 </resources>