Commit 8fbea4e5 by 宁斌

1.2.1測試版

parent 5f8fe0fe
...@@ -29,14 +29,14 @@ android { ...@@ -29,14 +29,14 @@ android {
buildTypes { buildTypes {
debug { debug {
buildConfigField "boolean", "LOG_DEBUG", rootProject.ext.buildType["debugLogDebug"] buildConfigField "boolean", "LOG_DEBUG", "true"
buildConfigField "boolean", "USE_CANARY", rootProject.ext.buildType["debugUseCanary"] buildConfigField "boolean", "USE_CANARY", "true"
minifyEnabled false minifyEnabled false
proguardFiles 'proguard.cfg' proguardFiles 'proguard.cfg'
} }
release { release {
buildConfigField "boolean", "LOG_DEBUG", rootProject.ext.buildType["releaseLogDebug"] buildConfigField "boolean", "LOG_DEBUG", "false"
buildConfigField "boolean", "USE_CANARY", rootProject.ext.buildType["releaseUseCanary"] buildConfigField "boolean", "USE_CANARY", "false"
minifyEnabled false minifyEnabled false
zipAlignEnabled false zipAlignEnabled false
proguardFiles 'proguard.cfg' proguardFiles 'proguard.cfg'
......
package com.gingersoft.supply_chain.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.supply_chain.di.module.WareHousingDetailsModule;
import com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract;
import com.jess.arms.di.scope.FragmentScope;
import com.gingersoft.supply_chain.mvp.ui.fragment.warehouse.WareHousingDetailsFragment;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
@Component(modules = WareHousingDetailsModule.class, dependencies = AppComponent.class)
public interface WareHousingDetailsComponent {
void inject(WareHousingDetailsFragment fragment);
@Component.Builder
interface Builder {
@BindsInstance
WareHousingDetailsComponent.Builder view(WareHousingDetailsContract.View view);
WareHousingDetailsComponent.Builder appComponent(AppComponent appComponent);
WareHousingDetailsComponent build();
}
}
\ No newline at end of file
package com.gingersoft.supply_chain.di.module;
import com.jess.arms.di.scope.FragmentScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract;
import com.gingersoft.supply_chain.mvp.model.WareHousingDetailsModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public abstract class WareHousingDetailsModule {
@Binds
abstract WareHousingDetailsContract.Model bindWareHousingDetailsModel(WareHousingDetailsModel model);
}
\ No newline at end of file
package com.gingersoft.supply_chain.mvp.contract;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface WareHousingDetailsContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
}
}
package com.gingersoft.supply_chain.mvp.model;
import android.app.Application;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.FragmentScope;
import javax.inject.Inject;
import com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public class WareHousingDetailsModel extends BaseModel implements WareHousingDetailsContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public WareHousingDetailsModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
}
\ No newline at end of file
package com.gingersoft.supply_chain.mvp.presenter;
import android.app.Application;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.http.imageloader.ImageLoader;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject;
import com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 01/12/2021 14:28
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public class WareHousingDetailsPresenter extends BasePresenter<WareHousingDetailsContract.Model, WareHousingDetailsContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public WareHousingDetailsPresenter(WareHousingDetailsContract.Model model, WareHousingDetailsContract.View rootView) {
super(model, rootView);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mApplication = null;
}
}
package com.gingersoft.supply_chain.mvp.ui.fragment.warehouse;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.gingersoft.supply_chain.R;
import com.gingersoft.supply_chain.di.component.DaggerWareHousingDetailsComponent;
import com.gingersoft.supply_chain.mvp.contract.WareHousingDetailsContract;
import com.gingersoft.supply_chain.mvp.presenter.WareHousingDetailsPresenter;
import com.gingersoft.supply_chain.mvp.ui.fragment.BaseSupplyChainFragment;
import com.jess.arms.di.component.AppComponent;
/**
* ================================================
* Description: 入庫庫存詳情
*/
public class WareHousingDetailsFragment extends BaseSupplyChainFragment<WareHousingDetailsPresenter> implements WareHousingDetailsContract.View {
public static WareHousingDetailsFragment newInstance() {
WareHousingDetailsFragment fragment = new WareHousingDetailsFragment();
return fragment;
}
@Override
public void setupFragmentComponent(@NonNull AppComponent appComponent) {
DaggerWareHousingDetailsComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
.build()
.inject(this);
}
@Override
public View initView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_ware_housing_details, container, false);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_f0"
android:orientation="vertical">
<include layout="@layout/supply_chain_top_bar" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="@drawable/shape_theme_eight_corners_bg"
app:layout_collapseMode="parallax">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_5"
android:paddingBottom="@dimen/dp_5">
<TextView
android:id="@+id/tv_order_details_supplier_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="@dimen/dp_16"
tools:text="海鮮天地" />
<TextView
android:id="@+id/tv_order_details_order_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:textColor="@color/white"
android:textSize="@dimen/dp_14"
tools:text="訂單號:DD0001" />
<TextView
android:id="@+id/tv_order_details_create_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:textColor="@color/white"
android:textSize="@dimen/dp_14"
tools:text="2020-11-20 12:00" />
</LinearLayout>
<TextView
android:id="@+id/tv_order_details_order_state"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:layout_marginRight="@dimen/dp_10"
android:textColor="@color/white"
android:textSize="@dimen/dp_18"
tools:text="部分收貨" />
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_order_details_food_list"
android:layout_width="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="@dimen/dp_10"
android:background="@color/white"
android:orientation="vertical"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="@dimen/dp_20"
android:paddingRight="@dimen/dp_20">
<CheckBox
android:id="@+id/cb_order_details_all_selected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="全選"
android:textColor="@color/color_3c"
android:textSize="@dimen/dp_14" />
<TextView
style="@style/supplier_chain_222_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20"
android:text="食材種類:"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_order_details_food_type_total"
style="@style/supplier_chain_222_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/required_color"
tools:text="3" />
<View
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
android:layout_weight="1" />
<TextView
style="@style/supplier_chain_222_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20"
android:text="總計:"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_order_details_total_amount"
style="@style/supplier_chain_222_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/required_color"
tools:text="$300.00" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="@dimen/dp_20"
android:paddingTop="@dimen/dp_10"
android:paddingRight="@dimen/dp_20">
<TextView
style="@style/supplier_chain_222_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="文件上傳:" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv_order_details_click_upload"
style="@style/supplier_chain_222_16"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="end"
android:layout_weight="1"
android:text="點擊上傳"
android:textColor="@color/click_upload_text_color" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="@color/color_53" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:orientation="horizontal"
android:paddingLeft="@dimen/dp_20"
android:paddingRight="@dimen/dp_20">
<TextView
style="@style/supplier_chain_222_16"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="備註:" />
<EditText
android:id="@+id/ed_order_details_remark"
style="@style/supplier_chain_222_16"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="手動輸入"
android:textColorHint="@color/color_c9" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_5"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10">
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/tv_order_details_buy_again"
style="@style/Style_Btn_Green"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="再次購買" />
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/tv_order_details_partial_receipt"
style="@style/Style_Btn_Yellow"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_12"
android:layout_weight="1"
android:gravity="center"
android:text="部分收貨" />
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id="@+id/tv_order_details_receipt"
style="@style/Style_Btn_Brick_Red"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_12"
android:layout_weight="1"
android:gravity="center"
android:text="收貨" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.mvp.action.order; package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.text.TextUtils; import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.logan.LoganManager; import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.patterns.Strategy; import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam; import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener; import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosAction; import com.gingersoft.gsa.cloud.pay.pos.PosAction;
...@@ -16,7 +14,6 @@ import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.VoidRespose; ...@@ -16,7 +14,6 @@ import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse; import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.jess.arms.base.BaseFragmentActivity; import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.delegate.IActivity;
import com.jess.arms.mvp.IView; import com.jess.arms.mvp.IView;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
...@@ -30,12 +27,12 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; ...@@ -30,12 +27,12 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
public class CancelOrder implements Strategy<OrderManagerResponse> { public class CancelOrder implements Strategy<OrderManagerResponse> {
private final String TAG = "CancelOrder"; private final String TAG = "CancelOrder";
private BaseFragmentActivity mActivity; private BaseFragmentActivity mActivity;
private IView mRootView; private IView mRootView;
public CancelOrder(BaseFragmentActivity fragmentActivity, IView rootView) { public CancelOrder(BaseFragmentActivity fragmentActivity, IView rootView){
this.mActivity = fragmentActivity; this.mActivity = fragmentActivity;
this.mRootView = rootView; this.mRootView = rootView;
} }
...@@ -46,8 +43,6 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -46,8 +43,6 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
private void showCancelDialog(OrderManagerResponse datasBean) { private void showCancelDialog(OrderManagerResponse datasBean) {
...@@ -57,10 +52,10 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -57,10 +52,10 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
dialogBuilder.setMessage("是否取消訂單?"); dialogBuilder.setMessage("是否取消訂單?");
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> { dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss(); dialog.dismiss();
if (datasBean.withHywebPay() && AppDevices.isHywebPos()) { if (datasBean.withHywebPay()) {
hywebOrderCancle(datasBean); hywebOrderCancle(datasBean);
} else { } else {
if (cancelListener != null) { if(cancelListener != null){
cancelListener.cancel(datasBean.getId()); cancelListener.cancel(datasBean.getId());
} }
} }
...@@ -84,7 +79,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -84,7 +79,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onPosSuccess(VoidRespose response) { public void onPosSuccess(VoidRespose response) {
LoganManager.w_code(TAG, "onPosSuccess: " + response.toString()); LoganManager.w_code(TAG, "onPosSuccess: " + response.toString());
if (cancelListener != null) { if(cancelListener != null){
cancelListener.refeshOrders(); cancelListener.refeshOrders();
} }
} }
...@@ -92,8 +87,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -92,8 +87,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onPosException(Exception e) { public void onPosException(Exception e) {
LoganManager.w_code(TAG, "onPosException: " + e.getMessage()); LoganManager.w_code(TAG, "onPosException: " + e.getMessage());
PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class); if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) {
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -102,8 +96,6 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -102,8 +96,6 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.VOID); statusExceptionParam.setPosAction(PosAction.VOID);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
} }
} }
...@@ -135,14 +127,11 @@ public class CancelOrder implements Strategy<OrderManagerResponse> { ...@@ -135,14 +127,11 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
} }
private OnCancelListener cancelListener; private OnCancelListener cancelListener;
public void setCancelListener(OnCancelListener cancelListener) { public void setCancelListener(OnCancelListener cancelListener) {
this.cancelListener = cancelListener; this.cancelListener = cancelListener;
} }
public interface OnCancelListener{
public interface OnCancelListener {
void cancel(long orderId); void cancel(long orderId);
void refeshOrders(); void refeshOrders();
} }
} }
...@@ -95,8 +95,7 @@ public class ModifyOrderAction implements Strategy<OrderManagerResponse> { ...@@ -95,8 +95,7 @@ public class ModifyOrderAction implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
} }
...@@ -60,8 +60,6 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> { ...@@ -60,8 +60,6 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
private void startPrintOrder(OrderManagerResponse orderDetailItem, List<OrderDetail> orderDetailList) { private void startPrintOrder(OrderManagerResponse orderDetailItem, List<OrderDetail> orderDetailList) {
...@@ -98,48 +96,45 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> { ...@@ -98,48 +96,45 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
doshokuOrder.setBillMoney(payMethodList); doshokuOrder.setBillMoney(payMethodList);
} }
if (orderDetailItem.withHywebPay() && AppDevices.isHywebPos()) { if (orderDetailItem.withHywebPay()) {
printPosStub(orderDetailItem,doshokuOrder,dataBean); if (AppDevices.isHywebPos()) {
}else { PosPay.printStub(mActivity, mRootView, orderDetailItem.getPayTxnId(), new OnPosActionListener() {
printBill(orderDetailItem,doshokuOrder, dataBean,false); @Override
} public void onPosSuccess(HywebPosResponse response) {
} printBill(doshokuOrder, dataBean);
}
private void printPosStub(OrderManagerResponse orderDetailItem, DoshokuOrder doshokuOrder, TableBean.DataBean dataBean) { @Override
PosPay.printStub(mActivity, mRootView, orderDetailItem.getPayTxnId(), new OnPosActionListener() { public void onPosException(Exception e) {
@Override
public void onPosSuccess(HywebPosResponse response) {
if(printlListener != null){
printlListener.printPosStubResult(true);
}
printBill(orderDetailItem,doshokuOrder, dataBean,true);
}
@Override }
public void onPosException(Exception e) {
if(printlListener != null){
printlListener.printPosStubResult(false);
}
printBill(orderDetailItem,doshokuOrder, dataBean,true);
}
@Override @Override
public void onPosInvalid(String e) { public void onPosInvalid(String e) {
printBill(orderDetailItem,doshokuOrder, dataBean,true);
}
@Override }
public void onUpdateStatusSuccess(HywebPosResponse response) {
} @Override
public void onUpdateStatusSuccess(HywebPosResponse response) {
@Override }
public void onUpdateStatusError(Throwable e) {
@Override
public void onUpdateStatusError(Throwable e) {
}
});
} else {
printBill(doshokuOrder, dataBean);
} }
}); } else {
printBill(doshokuOrder, dataBean);
}
} }
private void printBill(OrderManagerResponse orderDetailItem,DoshokuOrder doshokuOrder, TableBean.DataBean dataBean,boolean printStub) { private void printBill(DoshokuOrder doshokuOrder, TableBean.DataBean dataBean) {
PrintContent printContent = new PrintContentAdapter().adaptationBillContent(doshokuOrder, dataBean); PrintContent printContent = new PrintContentAdapter().adaptationBillContent(doshokuOrder, dataBean);
CC.obtainBuilder(ComponentName.COMPONENT_PRINT) CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.setActionName("printActivity") .setActionName("printActivity")
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_BILL) .addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_BILL)
...@@ -147,13 +142,11 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> { ...@@ -147,13 +142,11 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess()); Log.e("error", "是否成功打印:" + result.isSuccess());
if (printStub) {
printPosStub(orderDetailItem,doshokuOrder,dataBean);
}
doshokuOrder.initialization(); doshokuOrder.initialization();
}); });
} }
private ArrayList<BillItem> getOrderMoneyList(OrderManagerResponse orderDetailItem, double totalMoney) { private ArrayList<BillItem> getOrderMoneyList(OrderManagerResponse orderDetailItem, double totalMoney) {
List<SectionTextItem3> printOrderMoneyList = new ArrayList<>(); List<SectionTextItem3> printOrderMoneyList = new ArrayList<>();
ArrayList<BillItem> printBillOrderMoneyList = new ArrayList<>(); ArrayList<BillItem> printBillOrderMoneyList = new ArrayList<>();
...@@ -274,12 +267,4 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> { ...@@ -274,12 +267,4 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
} }
return payMethodList; return payMethodList;
} }
private PrintOrderAction.OnPrintlListener printlListener;
public void setPrintlListener(OnPrintlListener printlListener) {
this.printlListener = printlListener;
}
public interface OnPrintlListener{
void printPosStubResult(boolean success);
}
} }
...@@ -30,7 +30,7 @@ import java.util.List; ...@@ -30,7 +30,7 @@ import java.util.List;
*/ */
public class RefundOrder implements Strategy<OrderManagerResponse> { public class RefundOrder implements Strategy<OrderManagerResponse> {
private final String TAG = "RefundlOrder"; private final String TAG = "RefundlOrder";
private BaseFragmentActivity mActivity; private BaseFragmentActivity mActivity;
private IView mRootView; private IView mRootView;
...@@ -46,8 +46,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -46,8 +46,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
private void showHywebRefundDialog(OrderManagerResponse datasBean) { private void showHywebRefundDialog(OrderManagerResponse datasBean) {
...@@ -89,8 +88,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -89,8 +88,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onPosException(Exception e) { public void onPosException(Exception e) {
LoganManager.w_code(TAG, "onPosException: " + e.getMessage()); LoganManager.w_code(TAG, "onPosException: " + e.getMessage());
PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class); if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) {
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -99,8 +97,6 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -99,8 +97,6 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.REFUND); statusExceptionParam.setPosAction(PosAction.REFUND);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else {
mActivity.start(statusExceptionFragment);
} }
} }
...@@ -118,8 +114,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -118,8 +114,7 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onUpdateStatusError(Throwable e) { public void onUpdateStatusError(Throwable e) {
LoganManager.w_code(TAG, "onUpdateStatusError: " + e.getMessage()); LoganManager.w_code(TAG, "onUpdateStatusError: " + e.getMessage());
PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class); if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) {
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -128,8 +123,6 @@ public class RefundOrder implements Strategy<OrderManagerResponse> { ...@@ -128,8 +123,6 @@ public class RefundOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.REFUND); statusExceptionParam.setPosAction(PosAction.REFUND);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
} }
} }
}); });
......
...@@ -42,8 +42,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -42,8 +42,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void destroy() { public void destroy() {
mActivity = null;
mRootView = null;
} }
private void showKeyboardDialog(OrderManagerResponse datasBean) { private void showKeyboardDialog(OrderManagerResponse datasBean) {
...@@ -77,8 +75,7 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -77,8 +75,7 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onPosException(Exception e) { public void onPosException(Exception e) {
LoganManager.w_code(TAG, "onPosException: " + e.getMessage()); LoganManager.w_code(TAG, "onPosException: " + e.getMessage());
PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class); if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) {
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -87,8 +84,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -87,8 +84,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.TIP); statusExceptionParam.setPosAction(PosAction.TIP);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
} }
} }
...@@ -105,8 +100,7 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -105,8 +100,7 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
@Override @Override
public void onUpdateStatusError(Throwable e) { public void onUpdateStatusError(Throwable e) {
LoganManager.w_code(TAG, "onUpdateStatusError: " + e.getMessage()); LoganManager.w_code(TAG, "onUpdateStatusError: " + e.getMessage());
PosActionStatusExceptionFragment statusExceptionFragment = (PosActionStatusExceptionFragment) mActivity.findFragment(PosActionStatusExceptionFragment.class); if (mActivity.findFragment(PosActionStatusExceptionFragment.class) == null) {
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
statusExceptionParam.setTxnId(datasBean.getPayTxnId()); statusExceptionParam.setTxnId(datasBean.getPayTxnId());
statusExceptionParam.setAmount(datasBean.getAmount()); statusExceptionParam.setAmount(datasBean.getAmount());
...@@ -115,8 +109,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> { ...@@ -115,8 +109,6 @@ public class TipsOrder implements Strategy<OrderManagerResponse> {
statusExceptionParam.setPayMethodName("VISA測試"); statusExceptionParam.setPayMethodName("VISA測試");
statusExceptionParam.setPosAction(PosAction.TIP); statusExceptionParam.setPosAction(PosAction.TIP);
mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam)); mActivity.loadRootFragment(R.id.rl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else{
mActivity.start(statusExceptionFragment);
} }
} }
}); });
......
package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import android.app.Activity;
import android.text.InputType;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.order.discount.NomalDiscount;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.KeyboardDialog;
import com.jess.arms.utils.ArmsUtils;
import java.util.List;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:賬單折扣邏輯
*/
public class BillDiscountAction implements Strategy<Discount> {
private Activity mContext;
/**
* 賬單折扣列表
*/
private List<NomalDiscount> mNomalDiscountList;
private OnCallBackListener mListener;
public BillDiscountAction(Activity context, OnCallBackListener listener) {
this.mContext = context;
this.mListener = listener;
}
public void setNomalDiscountList(List<NomalDiscount> nomalDiscountList) {
this.mNomalDiscountList = nomalDiscountList;
}
@Override
public void action(Discount discount) {
if (mListener == null) {
return;
}
if (isOnlyOnce(discount)) {
//此折扣只一次
ArmsUtils.makeText(mContext, "此折扣只一次");
return;
}
boolean hasExclusive = hasExclusiveDiscount();
if (hasExclusive) {
//有獨佔折扣
exclusiveDiscount(discount);
return;
} else {
if (discount.getExclusive() == 1 && mNomalDiscountList.size() > 0) {
//獨佔折扣
exclusiveDiscount(discount);
return;
}
}
switch (discount.getType()) {
case Discount.DISCOUNT_TYPE_CUSTOM_AMOUNT:
showCustomAmountDialog(discount, false);
break;
case Discount.DISCOUNT_TYPE_KEYBOARD:
showKeyboardDialog(discount, false);
break;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default:
mListener.preformAddDiscount(discount.clone());
break;
}
}
private void exclusiveDiscount(Discount discount) {
if (mListener != null) {
showExclusiveTipDialog(discount);
}
}
/**
* 是否有獨佔折扣
*
* @return
*/
private boolean hasExclusiveDiscount() {
for (NomalDiscount nomalDiscount : mNomalDiscountList) {
if (nomalDiscount.getDiscount().getExclusive() == 1) {
return true;
}
}
return false;
}
/**
* 此折扣是否只一次
*
* @param discount
* @return
*/
private boolean isOnlyOnce(Discount discount) {
if (discount.getOnlyOnce() == 1) {
for (NomalDiscount nomalDiscount : mNomalDiscountList) {
Discount item = nomalDiscount.getDiscount();
if (discount.getId().longValue() == item.getId().longValue()) {
return true;
}
}
}
return false;
}
/**
* 顯示自定義金額彈窗
*
* @param discount
*/
private void showCustomAmountDialog(Discount discount, boolean exclusiveReplace) {
CommonTipDialog.showEditDialog(mContext, discount.getRemark(), "請輸入折扣金額", InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL, new CommonTipDialog.OnEditTextListener() {
@Override
public void inputText(String text) {
discount.setAmount(Double.parseDouble(text));
if (mListener != null) {
if (exclusiveReplace) {
mListener.exclusiveRemoveOthers(mNomalDiscountList);
}
mListener.preformAddDiscount(discount.clone());
}
}
});
}
/**
* 顯示子弟你金額彈窗 鍵盤
*
* @param discount
*/
private void showKeyboardDialog(Discount discount, boolean exclusiveReplace) {
new KeyboardDialog(mContext)
.build()
.setOnCallBackListener(new KeyboardDialog.OnCallBackListener() {
@Override
public void onSure(String number) {
discount.setAmount(Double.parseDouble(number));
if (mListener != null) {
if (exclusiveReplace) {
mListener.exclusiveRemoveOthers(mNomalDiscountList);
}
mListener.preformAddDiscount(discount.clone());
}
}
})
.show();
}
/**
* 提示有獨佔折扣是否替換
*
* @param discount
*/
private void showExclusiveTipDialog(Discount discount) {
CommonTipDialog.showDoubtDialog2(mContext, "有獨佔折扣,是否替換", new CommonTipDialog.OnCallbackListener() {
@Override
public void onSure() {
switch (discount.getType()) {
case Discount.DISCOUNT_TYPE_CUSTOM_AMOUNT:
showCustomAmountDialog(discount, true);
break;
case Discount.DISCOUNT_TYPE_KEYBOARD:
showKeyboardDialog(discount, true);
break;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default:
mListener.exclusiveRemoveOthers(mNomalDiscountList);
mListener.preformAddDiscount(discount.clone());
break;
}
}
});
}
public interface OnCallBackListener {
void exclusiveRemoveOthers(List<NomalDiscount> nomalDiscountList);
void preformAddDiscount(Discount discount);
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import android.app.Activity;
import android.text.InputType;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.discount.MultyDiscount;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.KeyboardDialog;
import com.jess.arms.utils.ArmsUtils;
import java.util.List;
/**
* @author : bin
* @create date: 2020-10-28
* @update date: 2020-10-28
* @description:美食折扣邏輯
*/
public class MealDiscountAction implements Strategy<Discount> {
private Activity mContext;
/**
* 選中的食品或套餐組
*/
private List<OrderDetail> mSelectMixOrderMealList;
private List<MultyDiscount> mMultyDiscountList;
private MealDiscountAction.OnCallBackListener mListener;
public MealDiscountAction(Activity context, List<MultyDiscount> multyDiscountList, MealDiscountAction.OnCallBackListener listener) {
this.mContext = context;
this.mMultyDiscountList = multyDiscountList;
this.mListener = listener;
}
public void setSelectMixOrderMealList(List<OrderDetail> selectMixOrderMealList) {
this.mSelectMixOrderMealList = selectMixOrderMealList;
}
@Override
public void action(Discount discount) {
if (mListener == null || mSelectMixOrderMealList == null || mSelectMixOrderMealList.size() == 0) {
return;
}
double mixTotalAomout = getMixTotalAomout(mSelectMixOrderMealList);
if(discount.getType() == 0 && discount.getAmount() > mixTotalAomout){
//金額折扣總額不能超過 食品總金額
ArmsUtils.makeText(mContext, "折扣金額不可以超過食品總金額!");
return;
}
if (discount.getMinBillAmount() > mixTotalAomout) {
//最小賬單金額
ArmsUtils.makeText(mContext, "小於最小賬單金額$" + discount.getMinBillAmount() + " 無法使用此折扣");
return;
}
if (isOnlyOnce(discount)) {
//此折扣只一次
ArmsUtils.makeText(mContext, "此折扣只一次");
return;
}
boolean hasExclusive = hasExclusiveDiscount();
if (hasExclusive) {
//有獨佔折扣
exclusiveDiscount(discount);
return;
} else {
int discountSize = getDiscountSize();
if (discount.getExclusive() == 1 && discountSize > 0) {
//獨佔折扣
exclusiveDiscount(discount);
return;
}
}
switch (discount.getType()) {
case Discount.DISCOUNT_TYPE_CUSTOM_AMOUNT:
showCustomAmountDialog(discount, false);
break;
case Discount.DISCOUNT_TYPE_KEYBOARD:
showKeyboardDialog(discount, false);
break;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default:
mListener.preformAddDiscount(discount.clone());
break;
}
}
private void exclusiveDiscount(Discount discount) {
if (mListener != null) {
showExclusiveTipDialog(discount);
}
}
/**
* 食品是否有獨佔折扣
*
* @return
*/
private boolean hasExclusiveDiscount() {
for (OrderDetail orderMealItem : mSelectMixOrderMealList) {
if (orderMealItem.getDiscount() != null && orderMealItem.getDiscount().getExclusive() == 1) {
return true;
}
}
return false;
}
/**
* 此折扣是否只一次
*
* @param discount
* @return
*/
private boolean isOnlyOnce(Discount discount) {
if (discount.getOnlyOnce() == 1) {
for (OrderDetail orderMealItem : mSelectMixOrderMealList) {
Discount item = orderMealItem.getDiscount();
if (item != null && discount.getId().longValue() == item.getId().longValue()) {
return true;
}
}
}
return false;
}
/**
* 顯示自定義金額彈窗
*
* @param discount
*/
private void showCustomAmountDialog(Discount discount, boolean exclusiveReplace) {
CommonTipDialog.showEditDialog(mContext, discount.getRemark(), "請輸入折扣金額", InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL, new CommonTipDialog.OnEditTextListener() {
@Override
public void inputText(String text) {
discount.setAmount(Double.parseDouble(text));
if (mListener != null) {
if (exclusiveReplace) {
mListener.exclusiveRemoveOthers();
}
mListener.preformAddDiscount(discount.clone());
}
}
});
}
/**
* 顯示子弟你金額彈窗 鍵盤
*
* @param discount
*/
private void showKeyboardDialog(Discount discount, boolean exclusiveReplace) {
new KeyboardDialog(mContext)
.build()
.setOnCallBackListener(new KeyboardDialog.OnCallBackListener() {
@Override
public void onSure(String number) {
discount.setAmount(Double.parseDouble(number));
if (mListener != null) {
if (exclusiveReplace) {
mListener.exclusiveRemoveOthers();
}
mListener.preformAddDiscount(discount.clone());
}
}
})
.show();
}
/**
* 提示有獨佔折扣是否替換
*
* @param discount
*/
private void showExclusiveTipDialog(Discount discount) {
CommonTipDialog.showDoubtDialog2(mContext, "有獨佔折扣,是否替換", new CommonTipDialog.OnCallbackListener() {
@Override
public void onSure() {
switch (discount.getType()) {
case Discount.DISCOUNT_TYPE_CUSTOM_AMOUNT:
showCustomAmountDialog(discount, true);
break;
case Discount.DISCOUNT_TYPE_KEYBOARD:
showKeyboardDialog(discount, true);
break;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default:
mListener.exclusiveRemoveOthers();
mListener.preformAddDiscount(discount.clone());
break;
}
}
});
}
/**
* 獲取折扣數量
*
* @return
*/
private int getDiscountSize() {
int size = 0;
for (OrderDetail orderMealItem : mSelectMixOrderMealList) {
if (orderMealItem.getDiscount() != null) {
size++;
}
}
return size;
}
/**
* 獲取套餐總金額
*
* @param mixOrderMealList
* @return
*/
private double getMixTotalAomout(List<OrderDetail> mixOrderMealList) {
double mixTotalAomout = 0.0;
for (OrderDetail orderDetail : mixOrderMealList) {
mixTotalAomout = MoneyUtil.sum(mixTotalAomout, orderDetail.getPrice());
}
return mixTotalAomout;
}
public interface OnCallBackListener {
void exclusiveRemoveOthers();
void preformAddDiscount(Discount discount);
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.function;
import com.gingersoft.gsa.cloud.common.function.FModule;
import com.gingersoft.gsa.cloud.table.R;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
public class TableFunctionFactory {
public static final String BottomGroup = "/bottom/";
public static final class Bottom {
}
/**
* 餐檯頁
*/
public static final FModule[] bottom = {
new FModule("init", R.mipmap.table_init, 0),
new FModule("initSkyorder", R.mipmap.table_paper, 0),
new FModule("move", R.mipmap.table_move, 0),
new FModule("skyorder", 0, 0),
new FModule("splite", R.mipmap.table_splite, 0),
new FModule("table/bottom/parper", R.mipmap.table_paper, 0),
};
}
...@@ -150,7 +150,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -150,7 +150,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
this.mAppManager = null; this.mAppManager = null;
this.mImageLoader = null; this.mImageLoader = null;
this.mApplication = null; this.mApplication = null;
if (mNomalDiscountAction != null) { if(mNomalDiscountAction != null){
mNomalDiscountAction.destroy(); mNomalDiscountAction.destroy();
} }
stopTablePolling(); stopTablePolling();
...@@ -249,7 +249,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -249,7 +249,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override @Override
public void onItemDeleteClick(BillItem datasBean, int position) { public void onItemDeleteClick(BillItem datasBean, int position) {
removeBillItemByPosition(position); removeBillItem(position);
} }
}); });
} }
...@@ -385,7 +385,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -385,7 +385,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mergeMainFoodNumber(mOrderMealList); mergeMainFoodNumber(mOrderMealList);
} }
PrintContent printContent = new PrintContentAdapter().adaptationServingPaperContent(DoshokuOrder.getInstance(), mTableInfo); PrintContent printContent = new PrintContentAdapter().adaptationServingPaperContent(DoshokuOrder.getInstance(),mTableInfo);
CC.obtainBuilder(ComponentName.COMPONENT_PRINT) CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.setActionName("printActivity") .setActionName("printActivity")
...@@ -432,7 +432,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -432,7 +432,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mergeMainFoodNumber(mOrderMealList); mergeMainFoodNumber(mOrderMealList);
} }
PrintContent printContent = new PrintContentAdapter().adaptationPrintSlipContent(DoshokuOrder.getInstance(), mTableInfo); PrintContent printContent = new PrintContentAdapter().adaptationPrintSlipContent(DoshokuOrder.getInstance(),mTableInfo);
CC.obtainBuilder(ComponentName.COMPONENT_PRINT) CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_SLIP)//印單 .addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_SLIP)//印單
...@@ -810,17 +810,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -810,17 +810,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private void updateOrderDetails(BaseOrderResponse info) { private void updateOrderDetails(BaseOrderResponse info) {
if (mDoshokuOrder != null && info.getData() != null) { if (mDoshokuOrder != null && info.getData() != null) {
mTableInfo.setPerson(info.getData().getPerson());
mTableInfo.setCreateTime(info.getData().getCreateTime());
mDoshokuOrder.setOpenTableInfo(mTableInfo);
mDoshokuOrder.setOrderPlaced(info.getData());
if (info.getData().getOrderDetails() != null) { if (info.getData().getOrderDetails() != null) {
//组装食品信息
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails()));
mDoshokuOrder.setNewFoodList(orderDetailList); mTableInfo.setPerson(info.getData().getPerson());
//緩存訂單信息
mDoshokuOrder.setOrderPlaced(new OrderResponse(info.getData()));
//緩存食品信息
// List<OrderDetail> orderDetailList = OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails());
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails()));
mOrderMealList.clear(); mOrderMealList.clear();
mOrderMealList.addAll(orderDetailList); mOrderMealList.addAll(orderDetailList);
...@@ -877,7 +874,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -877,7 +874,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
return true; return true;
} }
public void removeBillItemByPosition(int index) {
public void removeBillItem(int index) {
if (index < mBillItemList.size()) { if (index < mBillItemList.size()) {
BillItem billItem = mBillItemList.get(index); BillItem billItem = mBillItemList.get(index);
if (billItem instanceof DiscountItem) { if (billItem instanceof DiscountItem) {
...@@ -890,12 +888,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -890,12 +888,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
/** /**
* 修改訂單包含修改或刪除過的的食品 * 修改訂單包含修改或刪除過的的食品
*
* @return * @return
*/ */
private boolean hasModifyFoods() { private boolean hasModifyFoods() {
for (OrderDetail orderDetail : getOrderFoodLists()) { for (OrderDetail orderDetail : getOrderFoodLists()) {
if (orderDetail.isModify()) { if(orderDetail.isModify()){
return true; return true;
} }
} }
......
...@@ -97,7 +97,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -97,7 +97,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
private OrderCenterAdapter mOrderCenterAdapter; private OrderCenterAdapter mOrderCenterAdapter;
private List<OrderManagerResponse> mOrderItemList = new ArrayList<>(); private List<OrderManagerResponse> mOrderItemList = new ArrayList<>();
private OrderManagerResponse mCheckedOrderBean;
@Inject @Inject
public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) { public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) {
...@@ -113,7 +112,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -113,7 +112,6 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
this.mAppManager = null; this.mAppManager = null;
this.mImageLoader = null; this.mImageLoader = null;
this.mApplication = null; this.mApplication = null;
this.IActivity = null;
} }
public void initOrderAdapter(Context context) { public void initOrderAdapter(Context context) {
...@@ -128,32 +126,24 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -128,32 +126,24 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
intent.putExtra("orderDetailItem", datasBean); intent.putExtra("orderDetailItem", datasBean);
mRootView.launchActivity(intent); mRootView.launchActivity(intent);
} }
@Override
public void onPrintClick(OrderManagerResponse datasBean, int position) {
}
@Override
public void onModifyClick(OrderManagerResponse datasBean, int position) {
}
@Override @Override
public void onCheckedChanged(OrderManagerResponse checkedOrder) { public void onCancelClick(OrderManagerResponse datasBean, int position) {
if (checkedOrder.isChecked()) {
mCheckedOrderBean = checkedOrder;
} else {
mCheckedOrderBean = null;
}
IActivity.setOnCheckedChangedListener(mCheckedOrderBean);
} }
@Override @Override
public void onReloadExceptionStatus(OrderManagerResponse orderBean, String txnId) { public void onRefundClick(OrderManagerResponse datasBean, int position) {
PosActionStatusExceptionFragment statusExceptionFragment = IActivity.findFragment(PosActionStatusExceptionFragment.class); }
if (statusExceptionFragment == null) {
PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam(); @Override
statusExceptionParam.setTxnId(txnId); public void onTipsClick(OrderManagerResponse datasBean, int position) {
statusExceptionParam.setAmount(orderBean.getTotalAmount());
statusExceptionParam.setOrderId(orderBean.getId());
statusExceptionParam.setOrderNo(orderBean.getOrderNo());
statusExceptionParam.setPayMethodName(orderBean.getPayNames());
statusExceptionParam.setPosAction(orderBean.getPosActionByMatterId());
IActivity.loadRootFragment(R.id.fl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
}else {
IActivity.start(statusExceptionFragment);
}
} }
}); });
} }
...@@ -173,8 +163,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -173,8 +163,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
} }
} }
public OrderManagerResponse getCheckedOrderBean() { public OrderManagerResponse getSelectedOrderItem(){
return mCheckedOrderBean; for (OrderManagerResponse orderItem:mOrderItemList) {
if(orderItem.isChecked()){
return orderItem;
}
}
return null;
} }
} }
...@@ -74,7 +74,7 @@ public class BaseOrderConterPresenter<M extends IModel,V extends IView> extends ...@@ -74,7 +74,7 @@ public class BaseOrderConterPresenter<M extends IModel,V extends IView> extends
} }
public void orderTips(BaseFragmentActivity activity,OrderManagerResponse orderItem,TipsOrder.OnRefundListener listener){ public void orderTips(BaseFragmentActivity activity,OrderManagerResponse orderItem,TipsOrder.OnRefundListener listener){
TipsOrder tipsOrder = new TipsOrder(activity,mRootView); TipsOrder tipsOrder = new TipsOrder(activity,mRootView);
tipsOrder.action(orderItem); tipsOrder.action(orderItem);
tipsOrder.setTipsListener(listener); tipsOrder.setTipsListener(listener);
} }
......
...@@ -8,7 +8,6 @@ import com.gingersoft.gsa.cloud.common.utils.MoneyUtil; ...@@ -8,7 +8,6 @@ import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse; import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod; import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.util.PayMethodUtils; import com.gingersoft.gsa.cloud.pay.util.PayMethodUtils;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract; import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
...@@ -57,7 +56,6 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo ...@@ -57,7 +56,6 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
@Inject @Inject
AppManager mAppManager; AppManager mAppManager;
@Inject @Inject
public OrderDetailPresenter(OrderDetailContract.Model model, OrderDetailContract.View rootView) { public OrderDetailPresenter(OrderDetailContract.Model model, OrderDetailContract.View rootView) {
super(model, rootView); super(model, rootView);
...@@ -89,6 +87,8 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo ...@@ -89,6 +87,8 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
if (result.getData() != null) { if (result.getData() != null) {
OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class); OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class);
mRootView.returnOrderDetail(orderDetailItem); mRootView.returnOrderDetail(orderDetailItem);
//刷新訂單列表
EventBus.getDefault().post(true, "updateOrderListEvent");
} else { } else {
mRootView.showMessage("獲取賬單失敗"); mRootView.showMessage("獲取賬單失敗");
} }
...@@ -116,7 +116,7 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo ...@@ -116,7 +116,7 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class); OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class);
mRootView.returnOrderDetail(orderDetailItem); mRootView.returnOrderDetail(orderDetailItem);
//刷新訂單列表 //刷新訂單列表
EventBus.getDefault().post(true, PosActionStatusExceptionFragment.REFREAFSH_ORDER_EVENT); EventBus.getDefault().post(true, "updateOrderListEvent");
} else { } else {
mRootView.showMessage("獲取賬單失敗"); mRootView.showMessage("獲取賬單失敗");
} }
......
...@@ -5,7 +5,6 @@ import android.os.Bundle; ...@@ -5,7 +5,6 @@ import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.LinearLayout; import android.widget.LinearLayout;
...@@ -16,7 +15,6 @@ import androidx.fragment.app.Fragment; ...@@ -16,7 +15,6 @@ import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager; import androidx.viewpager.widget.ViewPager;
import com.gingersoft.gsa.cloud.order.contract.OrderStatusContract; import com.gingersoft.gsa.cloud.order.contract.OrderStatusContract;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2; import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderCenterComponent; import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderCenterComponent;
...@@ -32,7 +30,6 @@ import com.jess.arms.base.BaseFragmentActivity; ...@@ -32,7 +30,6 @@ import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.delegate.IActivity; import com.jess.arms.base.delegate.IActivity;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
import com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter; import com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter;
import com.qmuiteam.qmui.util.QMUIDisplayHelper; import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.util.QMUIResHelper; import com.qmuiteam.qmui.util.QMUIResHelper;
...@@ -76,23 +73,12 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -76,23 +73,12 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
@BindView(R2.id.ll_bottom) @BindView(R2.id.ll_bottom)
LinearLayout ll_bottom; LinearLayout ll_bottom;
@BindView(R2.id.btn_print_order)
QMUIAlphaButton btn_print_order;
@BindView(R2.id.btn_cancel_order)
QMUIAlphaButton btn_cancel_order;
@BindView(R2.id.btn_refund)
QMUIAlphaButton btn_refund;
@BindView(R2.id.btn_tips)
QMUIAlphaButton btn_tips;
@BindView(R2.id.btn_modify_order)
QMUIAlphaButton btn_modify_order;
private AllOrderFragment mNormalOrderFragment, mCancelOrderFragment, mVoidOrderFragment; private AllOrderFragment mNormalOrderFragment, mCancelOrderFragment, mVoidOrderFragment;
//當前顯示頁下標 //當前顯示頁下標
private int mCurrentFragmentIndex = 0; private int mCurrentFragmentIndex = 0;
//標題 //標題
private String[] mTabTitles = {"已付款", "已取消"}; private String[] mTabTitles = {"已付款", "已取消"};
// private String[] mTabTitles = {"堂食"}; // private String[] mTabTitles = {"堂食"};
//是否已經初始化數據,默認初始化第一個頁面 //是否已經初始化數據,默認初始化第一個頁面
private boolean[] mPageDataInit = {true, false, false}; private boolean[] mPageDataInit = {true, false, false};
...@@ -120,68 +106,73 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -120,68 +106,73 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
lp_content = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); lp_content = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
initTabAndPager(); initTabAndPager();
mPresenter.loadOrderList(OrderManagerResponse.ORDER_TYPE_DOSHOKU + "", getStatusByFragmentIndex(), 0, 10, null, false); mPresenter.loadOrderList(OrderManagerResponse.ORDER_TYPE_DOSHOKU + "",getStatusByFragmentIndex(), 0, 10, null, false);
} }
@Subscriber(tag = PosActionStatusExceptionFragment.REFREAFSH_ORDER_EVENT) @Override
private void refreafshOrder(boolean refreafsh) { protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
}
@Subscriber(tag = "updateOrderListEvent")
private void updateOrderList(boolean update) {
refeshOrderList(getStatusByFragmentIndex()); refeshOrderList(getStatusByFragmentIndex());
} }
public void refeshOrderList(String status) { public void refeshOrderList(String status) {
setPageIndex(0); setPageIndex(0);
mPresenter.loadOrderList(OrderManagerResponse.ORDER_TYPE_DOSHOKU + "", status, 0, 10, null, false); mPresenter.loadOrderList(OrderManagerResponse.ORDER_TYPE_DOSHOKU + "",status, 0, 10, null, false);
} }
public void loadOrderList(String orderType, String status, RefreshLayout refreshLayout, boolean isLoadMore) { public void loadOrderList(String orderType,String status, RefreshLayout refreshLayout, boolean isLoadMore) {
mPresenter.loadOrderList(orderType, status, getPageIndex(), getPageSize(), refreshLayout, isLoadMore); mPresenter.loadOrderList(orderType, status, getPageIndex(), getPageSize(), refreshLayout, isLoadMore);
} }
public void cancelOrder(long orderId, String orderType, String status) { public void cancelOrder(long orderId, String orderType,String status) {
mPresenter.cancelOrder(orderId, orderType, status); mPresenter.cancelOrder(orderId, orderType,status);
} }
@OnClick({R2.id.btn_print_order, R2.id.btn_modify_order, R2.id.btn_tips, R2.id.btn_cancel_order, R2.id.btn_refund}) @OnClick({R2.id.btn_print_order,R2.id.btn_modify_order,R2.id.btn_tips,R2.id.btn_cancel_order,R2.id.btn_refund})
public void OnClick(View v) { public void OnClick(View v){
OrderManagerResponse orderItem = getCurrentOrderFragment().getCheckedOrderBean(); OrderManagerResponse orderItem = getCurrentOrderFragment().getSelectedOrderItem();
if (orderItem != null) { if(orderItem != null){
int id = v.getId(); int id = v.getId();
if (id == R.id.btn_print_order) { if(id == R.id.btn_print_order){
mPresenter.printOrder(this, orderItem); mPresenter.printOrder(this,orderItem);
} else if (id == R.id.btn_modify_order) { }else if(id == R.id.btn_modify_order){
if (orderItem.getRestaurantTable() == null) { if (orderItem.getRestaurantTable() == null) {
showMessage("餐檯不存在,無法修改訂單"); showMessage("餐檯不存在,無法修改訂單");
return; return;
} }
mPresenter.modifyOrder(this, orderItem); mPresenter.modifyOrder(this,orderItem);
} else if (id == R.id.btn_tips) { }else if(id == R.id.btn_tips){
mPresenter.orderTips(this, orderItem, new TipsOrder.OnRefundListener() { mPresenter.orderTips(this, orderItem, new TipsOrder.OnRefundListener() {
@Override @Override
public void refeshOrders() { public void refeshOrders() {
refreafshOrder(true); refeshOrderList(getStatusByFragmentIndex());
} }
}); });
} else if (id == R.id.btn_cancel_order) { }else if(id == R.id.btn_cancel_order){
mPresenter.orderCancel(this, orderItem, new CancelOrder.OnCancelListener() { mPresenter.orderCancel(this, orderItem, new CancelOrder.OnCancelListener() {
@Override @Override
public void cancel(long orderId) { public void cancel(long orderId) {
cancelOrder(orderId, getOrderType(), getStatusByFragmentIndex()); cancelOrder(orderId, getOrderType(),getStatusByFragmentIndex());
} }
@Override @Override
public void refeshOrders() { public void refeshOrders() {
refreafshOrder(true);
} }
}); });
} else if (id == R.id.btn_refund) { }else if(id == R.id.btn_refund){
mPresenter.orderRefund(this, orderItem, new RefundOrder.OnRefundListener() { mPresenter.orderRefund(this, orderItem, new RefundOrder.OnRefundListener() {
@Override @Override
public void refeshOrders() { public void refeshOrders() {
refreafshOrder(true); refeshOrderList(getStatusByFragmentIndex());
} }
}); });
} }
} else { }else {
showMessage("請選中需要操作的訂單!"); showMessage("請選中需要操作的訂單!");
} }
} }
...@@ -251,7 +242,7 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -251,7 +242,7 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
pagerAdapter.createFragment(index); pagerAdapter.createFragment(index);
if (!mPageDataInit[index]) { if (!mPageDataInit[index]) {
//未初始化數據,獲取數據 //未初始化數據,獲取數據
loadOrderList(getCurrentOrderFragment().getOrderType(), getStatusByFragmentIndex(), null, false); loadOrderList(getCurrentOrderFragment().getOrderType(),getStatusByFragmentIndex(), null, false);
} }
mPageDataInit[mCurrentFragmentIndex] = true; mPageDataInit[mCurrentFragmentIndex] = true;
...@@ -372,29 +363,6 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -372,29 +363,6 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
} }
@Override @Override
public void setOnCheckedChangedListener(OrderManagerResponse checkOrderBean) {
if (checkOrderBean != null) {
if (checkOrderBean.isCurrDeviceOrder()) {
setBtnEnabled(btn_cancel_order, true);
setBtnEnabled(btn_modify_order, true);
} else {
setBtnEnabled(btn_cancel_order, false);
setBtnEnabled(btn_modify_order, false);
}
setBtnEnabled(btn_print_order, true);
} else {
setBtnEnabled(btn_print_order, false);
setBtnEnabled(btn_cancel_order, false);
setBtnEnabled(btn_modify_order, false);
}
}
private void setBtnEnabled(Button btn, boolean enabled) {
btn.setEnabled(enabled);
btn.setClickable(enabled);
}
@Override
public AllOrderFragment getCurrentOrderFragment() { public AllOrderFragment getCurrentOrderFragment() {
switch (mCurrentFragmentIndex) { switch (mCurrentFragmentIndex) {
case 1: case 1:
...@@ -412,12 +380,12 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent ...@@ -412,12 +380,12 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
} }
@Override @Override
public String getStatusByFragmentIndex() { public String getStatusByFragmentIndex(){
switch (mCurrentFragmentIndex) { switch (mCurrentFragmentIndex) {
case 1: case 1:
return OrderStatusContract.STATUS_6 + ""; return OrderStatusContract.STATUS_6+"";
default: default:
return OrderStatusContract.STATUS_4 + "," + OrderStatusContract.STATUS_5; return OrderStatusContract.STATUS_4+","+OrderStatusContract.STATUS_5;
} }
} }
......
...@@ -7,8 +7,8 @@ ext { ...@@ -7,8 +7,8 @@ ext {
targetSdkVersion : 29, targetSdkVersion : 29,
//正式版: 1.0.3 3 //正式版: 1.0.3 3
//內部測試版:1.2.0 20 //內部測試版:1.2.0 20
versionCode : 21, versionCode : 20,
versionName : "1.2.1" versionName : "1.2.0"
] ]
version = [ version = [
...@@ -24,13 +24,6 @@ ext { ...@@ -24,13 +24,6 @@ ext {
canarySdkVersion : "1.5.4", canarySdkVersion : "1.5.4",
] ]
buildType = [
debugLogDebug : "true",
debugUseCanary : "true",
releaseLogDebug : "true",
releaseUseCanary: "false"
]
dependencies = [ dependencies = [
//support //support
"appcompat-v7" : 'androidx.appcompat:appcompat:1.0.2',//不要超過1.0.2,不然android5.1.1用webview會有問題 "appcompat-v7" : 'androidx.appcompat:appcompat:1.0.2',//不要超過1.0.2,不然android5.1.1用webview會有問題
...@@ -134,6 +127,7 @@ ext { ...@@ -134,6 +127,7 @@ ext {
"yzjRecyclerView" : "com.yanzhenjie.recyclerview:x:1.3.2", "yzjRecyclerView" : "com.yanzhenjie.recyclerview:x:1.3.2",
//搜索view //搜索view
"MultiSearchView" : "com.github.iammert:MultiSearchView:0.3", "MultiSearchView" : "com.github.iammert:MultiSearchView:0.3",
// 狀態欄基础依赖包,必须要依赖 // 狀態欄基础依赖包,必须要依赖
"immersionbar" : "com.gyf.immersionbar:immersionbar:3.0.0", "immersionbar" : "com.gyf.immersionbar:immersionbar:3.0.0",
// fragment快速实现(可选) // fragment快速实现(可选)
...@@ -143,9 +137,7 @@ ext { ...@@ -143,9 +137,7 @@ ext {
//美團點評-日誌監聽https://github.com/Meituan-Dianping/Logan/tree/master/Example/Logan-Android //美團點評-日誌監聽https://github.com/Meituan-Dianping/Logan/tree/master/Example/Logan-Android
"logan" : 'com.dianping.android.sdk:logan:1.2.4', "logan" : 'com.dianping.android.sdk:logan:1.2.4',
//滴滴開源 哆啦A夢:辅助开发工具、测试效率工具、视觉辅助工具 //滴滴開源 哆啦A夢:辅助开发工具、测试效率工具、视觉辅助工具
"doraemonkit" : 'com.didichuxing.doraemonkit:dokitx:3.3.3', "doraemonkit" : 'com.didichuxing.doraemonkit:dokitx:3.3.3'
//popup
'xpopup' : 'com.lxj:xpopup:2.2.10'
] ]
} }
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path path="" name="files_root" />
</paths>
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