Commit f920b567 by Wyh

Merge remote-tracking branch 'origin/master'

parents 97c4767f b28ba3bd
...@@ -18,7 +18,6 @@ package com.qmuiteam.qmui.alpha; ...@@ -18,7 +18,6 @@ package com.qmuiteam.qmui.alpha;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;
import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintLayout;
/** /**
......
...@@ -19,10 +19,8 @@ package com.qmuiteam.qmui.layout; ...@@ -19,10 +19,8 @@ package com.qmuiteam.qmui.layout;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.util.AttributeSet; import android.util.AttributeSet;
import com.qmuiteam.qmui.alpha.QMUIAlphaConstraintLayout; import com.qmuiteam.qmui.alpha.QMUIAlphaConstraintLayout;
import com.qmuiteam.qmui.alpha.QMUIAlphaLinearLayout; import com.qmuiteam.qmui.alpha.QMUIAlphaLinearLayout;
import androidx.annotation.ColorInt; import androidx.annotation.ColorInt;
/** /**
......
...@@ -68,6 +68,8 @@ public interface OrderContentContract { ...@@ -68,6 +68,8 @@ public interface OrderContentContract {
void startActivityForResult(int Code, Class clazz, Intent intent); void startActivityForResult(int Code, Class clazz, Intent intent);
void sendSuccess(); void sendSuccess();
void setTransferTableName(String tableName);
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
...@@ -84,5 +86,7 @@ public interface OrderContentContract { ...@@ -84,5 +86,7 @@ public interface OrderContentContract {
Observable<TableDetail> getTable(int tableId); Observable<TableDetail> getTable(int tableId);
Observable<BaseRespose> transferFood(RequestBody requestBody); Observable<BaseRespose> transferFood(RequestBody requestBody);
Observable<BaseResult> getSplitTables(int tableId);
} }
} }
...@@ -118,6 +118,12 @@ public class OrderContentModel extends BaseModel implements OrderContentContract ...@@ -118,6 +118,12 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
} }
@Override @Override
public Observable<BaseResult> getSplitTables(int tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getSplitTables(tableId);
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody requestBody) { public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class) return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(requestBody); .toOrderPay(requestBody);
......
...@@ -1615,7 +1615,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1615,7 +1615,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (def == mid) { if (def == mid) {
modifier.setDefmodifier("1"); modifier.setDefmodifier("1");
} else { } else {
modifier.setDefmodifier("0"); if(TextUtils.isEmpty(modifier.getDefmodifier()) || "0".equals(modifier.getDefmodifier())){
modifier.setDefmodifier("0");
}
} }
} }
} }
...@@ -1655,7 +1657,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1655,7 +1657,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (def == fid) { if (def == fid) {
comboItem.setDefmodifier("1"); comboItem.setDefmodifier("1");
} else { } else {
comboItem.setDefmodifier("0"); if(TextUtils.isEmpty(comboItem.getDefmodifier()) || "0".equals(comboItem.getDefmodifier())){
comboItem.setDefmodifier("0");
}
} }
} }
} }
......
...@@ -16,8 +16,10 @@ import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney; ...@@ -16,8 +16,10 @@ import com.gingersoft.gsa.cloud.base.common.bean.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean; import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail; import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean; import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.TableExtBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage; import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.constans.GoldConstants; import com.gingersoft.gsa.cloud.constans.GoldConstants;
import com.gingersoft.gsa.cloud.constans.PrintConstans; import com.gingersoft.gsa.cloud.constans.PrintConstans;
...@@ -37,6 +39,8 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity; ...@@ -37,6 +39,8 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderMoneyAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderMoneyAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderTopFunctionAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderTopFunctionAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.DiscountDialog; import com.gingersoft.gsa.cloud.table.mvp.ui.widget.DiscountDialog;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.SplitTableDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.jess.arms.di.scope.ActivityScope; import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader; import com.jess.arms.http.imageloader.ImageLoader;
...@@ -94,6 +98,10 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -94,6 +98,10 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private GetTableTimer tableTimer; private GetTableTimer tableTimer;
private Disposable mGetTablesDataDisposable; private Disposable mGetTablesDataDisposable;
/**
* 分檯弹窗
*/
private SplitTableDialog mSplitTableDialog;
private DiscountDialog.Builder mDiscountDialog; private DiscountDialog.Builder mDiscountDialog;
...@@ -507,8 +515,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -507,8 +515,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}); });
} }
public void getTable(int tableId, TextView tv_table_name) { public void getTable(TableBean.DataBean dataBean) {
mModel.getTable(tableId) mModel.getTable(dataBean.getId())
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null)) .doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread()) .subscribeOn(AndroidSchedulers.mainThread())
...@@ -530,7 +538,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -530,7 +538,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
} else { } else {
mRootView.showMessage(tableBean.getTableName() + "號檯操作中"); mRootView.showMessage(tableBean.getTableName() + "號檯操作中");
} }
tv_table_name.setText(tableBean.getTableName()); mRootView.setTransferTableName(tableBean.getTableName());
} else { } else {
mRootView.showMessage(result.getErrMsg()); mRootView.showMessage(result.getErrMsg());
} }
...@@ -548,6 +556,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -548,6 +556,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
RequestBody requestBody = new FormBody.Builder() RequestBody requestBody = new FormBody.Builder()
.add("tableId", String.valueOf(OpenTableManage.getDefault().getTableBean().getId())) .add("tableId", String.valueOf(OpenTableManage.getDefault().getTableBean().getId()))
.add("targetId", String.valueOf(dataBean.getId())) .add("targetId", String.valueOf(dataBean.getId()))
.add("tableNumber", OpenTableManage.getDefault().getTableBean().getTableNumber())
.add("targetTableNumber", dataBean.getTableNumber())
.add("orderId", String.valueOf(MyOrderManage.getInstance().getOrderId())) .add("orderId", String.valueOf(MyOrderManage.getInstance().getOrderId()))
.add("orderDetailsIds", ids) .add("orderDetailsIds", ids)
.build(); .build();
...@@ -597,6 +607,87 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -597,6 +607,87 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}); });
} }
public void getSplitTables(int tableId) {
mModel.getSplitTables(tableId)
.subscribeOn(Schedulers.io())
// .doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
// .doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onSubscribe(Disposable d) {
super.onSubscribe(d);
mSplitTableDialog.clearItems();
mSplitTableDialog.setProgressVisibility(true);
}
@Override
public void onNext(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
if (info.getData() != null) {
TableExtBean tableExtBean = JsonUtils.parseObject(info.getData(), TableExtBean.class);
List<TableBean.DataBean> dataBeanList = assemblyTableExts(tableExtBean.getRestaurantTable(), tableExtBean.getRestaurantTableExtList());
mSplitTableDialog.addItems(dataBeanList);
mSplitTableDialog.notifyDataSetChanged();
} else {
mSplitTableDialog.showEmptyView(true, 0, null);
}
} else {
mSplitTableDialog.showEmptyView(false, 0, null);
}
mSplitTableDialog.setProgressVisibility(false);
}
@Override
public void onError(Throwable t) {
super.onError(t);
mSplitTableDialog.setProgressVisibility(false);
mSplitTableDialog.showEmptyView(false, 0, t);
}
private List<TableBean.DataBean> assemblyTableExts(TableBean.DataBean mainTable, List<TableExtBean.DataBean> restaurantTableExtList) {
List<TableBean.DataBean> dataBeans = new ArrayList<>();
//添加主檯
dataBeans.add(mainTable);
//添加分檯
for (TableExtBean.DataBean dataBean : restaurantTableExtList) {
dataBeans.add(TableBean.splitTableTransformTable2(mainTable, dataBean));
}
return dataBeans;
}
});
}
public void showSplitTableDialog(int tableId) {
if (mSplitTableDialog == null) {
mSplitTableDialog = new SplitTableDialog(IActivity);
mSplitTableDialog.setOnClickListener(new SplitTableDialog.OnClickListener() {
@Override
public void onItemClick(SplitTableDialog dialog, TableBean.DataBean dataBean, int position) {
//獲取餐檯狀態
getTable(dataBean);
}
});
mSplitTableDialog.setOnRetryListener(new BaseRetryDialog.OnRetryListener() {
@Override
public void onRetryClick() {
getSplitTables(tableId);
}
});
}
mSplitTableDialog.setMainTableId(tableId);
mSplitTableDialog.build().show();
getSplitTables(tableId);
}
private void showDiscountDialog() { private void showDiscountDialog() {
if (mDiscountDialog == null) { if (mDiscountDialog == null) {
mDiscountDialog = new DiscountDialog.Builder(IActivity); mDiscountDialog = new DiscountDialog.Builder(IActivity);
......
...@@ -331,7 +331,12 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -331,7 +331,12 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
public void clickTableItem(TableBean.DataBean dataBean) { public void clickTableItem(TableBean.DataBean dataBean) {
switch (mCurrentOperatType) { switch (mCurrentOperatType) {
case OrderConentOperatTypeConstant.transfer_food_2: case OrderConentOperatTypeConstant.transfer_food_2:
mPresenter.getTable(dataBean.getId(), tv_table_name); if (dataBean.getSplitStatus() == 1) {
mPresenter.showSplitTableDialog(dataBean.getId());
} else {
//獲取餐檯狀態
mPresenter.getTable(dataBean);
}
break; break;
default: default:
break; break;
...@@ -549,6 +554,11 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -549,6 +554,11 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
} }
@Override @Override
public void setTransferTableName(String tableName) {
tv_table_name.setText(tableName + "號檯操作中");
}
@Override
public void startActivityForResult(int Code, Class clazz, Intent intent) { public void startActivityForResult(int Code, Class clazz, Intent intent) {
if (intent == null) { if (intent == null) {
intent = new Intent(mContext, clazz); intent = new Intent(mContext, clazz);
......
...@@ -32,6 +32,7 @@ import com.jess.arms.utils.ArmsUtils; ...@@ -32,6 +32,7 @@ import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.alpha.QMUIAlphaLinearLayout; import com.qmuiteam.qmui.alpha.QMUIAlphaLinearLayout;
import com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout; import com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout;
import com.qmuiteam.qmui.alpha.QMUIAlphaTextView; import com.qmuiteam.qmui.alpha.QMUIAlphaTextView;
import com.qmuiteam.qmui.layout.QMUIConstraintLayout;
import com.qmuiteam.qmui.layout.QMUILinearLayout; import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.layout.QMUIRelativeLayout; import com.qmuiteam.qmui.layout.QMUIRelativeLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.util.QMUIDisplayHelper;
...@@ -115,7 +116,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> { ...@@ -115,7 +116,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
class TableItemHolder extends BaseHolder<TableBean.DataBean> { class TableItemHolder extends BaseHolder<TableBean.DataBean> {
@BindView(R2.id.ll_container) @BindView(R2.id.ll_container)
QMUIRelativeLayout ll_container; QMUIConstraintLayout ll_container;
@BindView(R2.id.rl_table) @BindView(R2.id.rl_table)
QMUIAlphaRelativeLayout rl_table; QMUIAlphaRelativeLayout rl_table;
@BindView(R2.id.btn_table) @BindView(R2.id.btn_table)
......
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