Commit 968adff5 by 宁斌

1、删除已送单钱包优惠券闪退问题 2、有使用钱包优惠券结账问题 3、yedpay事项查询状态处理

parent f3a08642
......@@ -42,7 +42,7 @@ public interface HomeContract {
Observable<BaseResult> syncRestaurantExtendedConfiguration(int restaurantId);
Observable<CheckVersionRequest> checkAppVersion(String version,int brandId ,int restaurantId );
Observable<CheckVersionRequest> checkAppVersion(String version,int mobileType,int type, int brandId, int restaurantId);
Observable<Object> loginOut(RequestBody requestBody);
......
......@@ -8,6 +8,7 @@ import com.tbruyelle.rxpermissions2.RxPermissions;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Query;
/**
......@@ -36,7 +37,7 @@ public interface NewMainContract {
Observable<BaseResult> syncRestaurantExtendedConfiguration(int restaurantId);
Observable<CheckVersionRequest> checkAppVersion(String version, int brandId, int restaurantId);
Observable<CheckVersionRequest> checkAppVersion(String version, int mobileType, int type, int brandId, int restaurantId);
Observable<Object> loginOut(RequestBody requestBody);
......
......@@ -71,9 +71,9 @@ public class HomeModel extends BaseModel implements HomeContract.Model {
}
@Override
public Observable<CheckVersionRequest> checkAppVersion(String version, int brandId, int restaurantId) {
public Observable<CheckVersionRequest> checkAppVersion(String version,int mobileType,int type, int brandId, int restaurantId) {
return mRepositoryManager.obtainRetrofitService(MainService.class)
.checkAppVersion(version,brandId,restaurantId);
.checkAppVersion(version,mobileType,type,brandId,restaurantId);
}
@Override
......
......@@ -57,9 +57,9 @@ public class NewMainModel extends BaseModel implements NewMainContract.Model {
}
@Override
public Observable<CheckVersionRequest> checkAppVersion(String version, int brandId, int restaurantId) {
public Observable<CheckVersionRequest> checkAppVersion(String version, int mobileType, int type, int brandId, int restaurantId) {
return mRepositoryManager.obtainRetrofitService(MainService.class)
.checkAppVersion(version,brandId,restaurantId);
.checkAppVersion(version,mobileType,type,brandId,restaurantId);
}
@Override
......
......@@ -21,9 +21,9 @@ import retrofit2.http.Query;
*/
public interface MainService {
@Headers({"Domain-Name: update_version"})
@Headers({"Domain-Name: system_url"})
@GET("system/checkAppVersionGsa" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<CheckVersionRequest> checkAppVersion(@Query("version") String version,@Query("brandId") int brandId,@Query("restaurantId") int restaurantId );
Observable<CheckVersionRequest> checkAppVersion(@Query("version") String version,@Query("mobileType") int mobileType,@Query("type") int type,@Query("brandId") int brandId,@Query("restaurantId") int restaurantId );
@FormUrlEncoded
@POST(Api.sync_restaurant_base_table_configuration + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
......
......@@ -160,6 +160,7 @@ public class HomePresenter extends BasePresenter<HomeContract.Model, HomeContrac
public void checkAppVersion() {
mModel.checkAppVersion(DeviceUtils.getVersionName(mApplication) + "|" + DeviceUtils.getVersionCode(mApplication),
2,2,
RestaurantInfoManager.newInstance().getBrandId(),
RestaurantInfoManager.newInstance().getRestaurantId())
.subscribeOn(Schedulers.io())
......
......@@ -98,7 +98,10 @@ public class NewMainPresenter extends BasePresenter<NewMainContract.Model, NewMa
// .add("type", "2")
// .build();
mModel.checkAppVersion(DeviceUtils.getVersionName(mApplication) + "|" + DeviceUtils.getVersionCode(mApplication),
RestaurantInfoManager.newInstance().getBrandId(), RestaurantInfoManager.newInstance().getRestaurantId())
2,
2,
RestaurantInfoManager.newInstance().getBrandId(),
RestaurantInfoManager.newInstance().getRestaurantId())
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
......
......@@ -24,7 +24,7 @@ import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.component.ComponentAction;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.order.bean.event.MealPayResultParam;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.R;
import com.gingersoft.gsa.cloud.pay.R2;
......@@ -361,7 +361,7 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter>
}
private void printBill() {
PrintContent printContent = new PrintContentAdapter().adaptationBillContent(DoshokuOrder.getInstance(),mMealPayResultParam.getTableBean());
PrintContent printContent = new PrintContentAdapter().adaptationBillContent(MealOrder.getInstance(),mMealPayResultParam.getTableBean());
CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.setActionName("printActivity")
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_BILL)
......@@ -371,7 +371,7 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter>
.callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess());
//清空開檯數據
DoshokuOrder.getInstance().initialization();
MealOrder.getInstance().initialization();
setResult(Activity.RESULT_OK, null);
killMyself();
});
......
......@@ -10,18 +10,12 @@ import com.gingersoft.gsa.cloud.common.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.print.bean.PrintBillContent;
import com.gingersoft.gsa.cloud.print.bean.base.PrintBillItem;
import com.gingersoft.gsa.cloud.print.bean.base.PrintFoodItem;
import com.joe.print.mvp.model.bean.BillingBean;
import com.joe.print.mvp.model.bean.HtmlLable;
import com.joe.print.mvp.print.common.HtmlContract;
......@@ -96,8 +90,8 @@ public class PrintBill extends PrinterRoot<PrintBillContent> {
* 訂單
*/
String orderNum = "單號:";
if (TextUtil.isNotEmptyOrNullOrUndefined(DoshokuOrder.getInstance().getOrderNo())) {
orderNum = "單號:" + DoshokuOrder.getInstance().getOrderNo();
if (TextUtil.isNotEmptyOrNullOrUndefined(MealOrder.getInstance().getOrderNo())) {
orderNum = "單號:" + MealOrder.getInstance().getOrderNo();
}
htmlLables.addAll(getRowInformation(new HtmlLable[]{new HtmlLable(LABLE_COLUMN, "餐檯:" + mPrintBillContent.getTableName())}, 24));
htmlLables.addAll(getRowInformation(new HtmlLable[]{new HtmlLable(LABLE_COLUMN, "人數:" + mPrintBillContent.getPerson())}, 24));
......@@ -244,13 +238,13 @@ public class PrintBill extends PrinterRoot<PrintBillContent> {
private OrderDetails.DataBean getOrderMemberInfo() {
OrderDetails.DataBean dataBean = new OrderDetails.DataBean();
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
MemberInfo memberInfo = MealOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
dataBean.setMEMBER_NAME(memberInfo.getMemberName());
dataBean.setPHONE(memberInfo.getPhone());
dataBean.setNowPoints(DoshokuOrder.getInstance().getNowPoints());
dataBean.setAddPoints(DoshokuOrder.getInstance().getAddPoints());
dataBean.setOldPoints(DoshokuOrder.getInstance().getOldPoints());
dataBean.setNowPoints(MealOrder.getInstance().getNowPoints());
dataBean.setAddPoints(MealOrder.getInstance().getAddPoints());
dataBean.setOldPoints(MealOrder.getInstance().getOldPoints());
}
return dataBean;
}
......
......@@ -9,10 +9,9 @@ import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.print.bean.PrintServingPaperContent;
import com.gingersoft.gsa.cloud.print.bean.base.PrintFoodItem;
import com.joe.print.R;
......@@ -59,8 +58,8 @@ public class PrintServe extends PrinterRoot<PrintServingPaperContent> {
if (mPrintServingPaperContent == null) {
return new String[]{"<html><body></body></html>"};
}
List<OrderDetail> foodList = DoshokuOrder.getInstance().getShoppingCart().getOrderCommodityList();
TableBean.DataBean tableBean = DoshokuOrder.getInstance().getOpenTableInfo();
List<OrderDetail> foodList = MealOrder.getInstance().getShoppingCart().getOrderCommodityList();
TableBean.DataBean tableBean = MealOrder.getInstance().getOpenTableInfo();
if (foodList.size() == 0 || tableBean == null) {
return new String[]{"<html><body></body></html>"};
......@@ -102,8 +101,8 @@ public class PrintServe extends PrinterRoot<PrintServingPaperContent> {
* 訂單
*/
String orderNum = "單號:";
if (TextUtil.isNotEmptyOrNullOrUndefined(DoshokuOrder.getInstance().getOrderNo())) {
orderNum = "單號:" + DoshokuOrder.getInstance().getOrderNo();
if (TextUtil.isNotEmptyOrNullOrUndefined(MealOrder.getInstance().getOrderNo())) {
orderNum = "單號:" + MealOrder.getInstance().getOrderNo();
}
htmlLables.addAll(getRowInformation(new HtmlLable[]{new HtmlLable(LABLE_COLUMN, "餐檯:" + mPrintServingPaperContent.getTableName())}, 24));
htmlLables.addAll(getRowInformation(new HtmlLable[]{new HtmlLable(LABLE_COLUMN, "人數:" + mPrintServingPaperContent.getPerson())}, 24));
......
......@@ -8,16 +8,10 @@ import android.widget.LinearLayout;
import com.gingersoft.gsa.cloud.common.constans.AppConstans;
import com.gingersoft.gsa.cloud.common.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.print.bean.PrintSlipContent;
import com.gingersoft.gsa.cloud.print.bean.base.PrintBillItem;
import com.gingersoft.gsa.cloud.print.bean.base.PrintFoodItem;
......
......@@ -13,8 +13,6 @@
<application android:networkSecurityConfig="@xml/network_android">
<activity android:name=".mvp.ui.activity.CoordinatorlayoutActivity" />
<activity
android:name=".mvp.ui.activity.table.TableActivity"
android:launchMode="singleTop"
......@@ -23,9 +21,6 @@
android:name=".mvp.ui.activity.meal.MealStandActivity"
android:screenOrientation="portrait" />
<activity
android:name=".mvp.ui.activity.meal.MealStandActivity2"
android:screenOrientation="portrait" />
<activity
android:name=".mvp.ui.activity.meal.MealBillActivity"
android:screenOrientation="portrait" />
<activity
......
......@@ -19,10 +19,8 @@
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".mvp.ui.activity.CoordinatorlayoutActivity" />
<activity
android:name=".mvp.ui.activity.meal.MealStandActivity2"
android:name=".mvp.ui.activity.meal.MealStandActivity"
android:screenOrientation="portrait" />
<activity
......@@ -57,5 +55,4 @@
android:name="design_height_in_dp"
android:value="640" />
</application>
</manifest>
......@@ -8,7 +8,7 @@ import com.billy.cc.core.component.CCUtil;
import com.billy.cc.core.component.IComponent;
import com.gingersoft.gsa.cloud.common.function.FModule;
import com.gingersoft.gsa.cloud.component.ComponentAction;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.order.order.TakeawayOrder;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealBillActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealPayActivity;
......@@ -109,7 +109,7 @@ public class ComponentTable implements IComponent {
}
case ComponentAction.Table.INT_ORDER:
//初始化堂食賬單類
DoshokuOrder.getInstance().initialization();
MealOrder.getInstance().initialization();
//初始化外賣賬單類
TakeawayOrder.getInstance().initialization();
break;
......
package com.gingersoft.gsa.cloud.table.di.component;
import com.gingersoft.gsa.cloud.table.di.module.MealStand2Module;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract2;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity2;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.di.scope.ActivityScope;
import dagger.BindsInstance;
import dagger.Component;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* <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>
* ================================================
*/
@ActivityScope
@Component(modules = MealStand2Module.class, dependencies = AppComponent.class)
public interface MealStand2Component {
void inject(MealStandActivity2 activity);
@Component.Builder
interface Builder {
@BindsInstance
MealStand2Component.Builder view(MealStandContract2.View view);
MealStand2Component.Builder appComponent(AppComponent appComponent);
MealStand2Component build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.di.component;
import dagger.BindsInstance;
import dagger.Component;
import com.jess.arms.di.component.AppComponent;
import com.gingersoft.gsa.cloud.table.di.module.SetMealModule;
import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import com.jess.arms.di.scope.FragmentScope;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/17/2021 10:40
* <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 = SetMealModule.class, dependencies = AppComponent.class)
public interface SetMealComponent {
void inject(SetMealFragment fragment);
@Component.Builder
interface Builder {
@BindsInstance
SetMealComponent.Builder view(SetMealContract.View view);
SetMealComponent.Builder appComponent(AppComponent appComponent);
SetMealComponent build();
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.di.module;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract2;
import com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel;
import com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.jess.arms.di.scope.ActivityScope;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* <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 MealStand2Module {
@Binds
abstract MealStandContract2.Model bindMealStandModel2(MealStandModel2 model);
@ActivityScope
@Provides
@Named("foodGroupList")
static List<Food> provideFoodGroupList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
@Named("foodList")
static List<Food> provideFoodList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<ComboItem> provideFoodCombo() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<Modifier> provideModifierList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<Discount> provideDiscountList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<SoldoutCtrFood> provideSoldoutCtrList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static FoodAdapter provideFoodAdapter(MealStandContract2.View IView, @Named("foodList") List<Food> foodList) {
return new FoodAdapter(IView.getActivity(), foodList, IView.getFromType());
}
@ActivityScope
@Provides
static ComboAdapter provideComboAdapter(MealStandContract2.View IView, List<ComboItem> comboItemList) {
return new ComboAdapter(IView.getActivity(), comboItemList);
}
@ActivityScope
@Provides
static ModifierAdapter provideModifierAdapter(MealStandContract2.View IView, List<Modifier> modifierList) {
return new ModifierAdapter(IView.getActivity(), modifierList);
}
@ActivityScope
@Provides
static DiscountAdapter provideDiscountAdapter(MealStandContract2.View IView, List<Discount> discountList) {
return new DiscountAdapter(IView.getActivity(), discountList);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.di.module;
import android.content.Context;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.di.scope.ActivityScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* Created by MVPArmsTemplate on 04/17/2021 10:40
* <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>
......@@ -44,7 +43,7 @@ import dagger.Provides;
public abstract class MealStandModule {
@Binds
abstract MealStandContract.Model bindMealStandModel(MealStandModel model);
abstract MealStandContract.Model bindSetMealModel(MealStandModel model);
@ActivityScope
@Provides
......@@ -74,12 +73,6 @@ public abstract class MealStandModule {
@ActivityScope
@Provides
static List<Discount> provideDiscountList() {
return new ArrayList<>();
}
@ActivityScope
@Provides
static List<SoldoutCtrFood> provideSoldoutCtrList() {
return new ArrayList<>();
}
......@@ -110,8 +103,16 @@ public abstract class MealStandModule {
@ActivityScope
@Provides
static DiscountAdapter provideDiscountAdapter(MealStandContract.View IView, List<Discount> discountList) {
return new DiscountAdapter(IView.getActivity(), discountList);
@Named("comboGridLayoutManager")
static GridLayoutManager provideComboRecycleLayoutManager(MealStandContract.View IView) {
return new GridLayoutManager(IView.getActivity(), 1, LinearLayoutManager.HORIZONTAL, false);
}
@ActivityScope
@Provides
@Named("modifierGridLayoutManager")
static GridLayoutManager provideModifierRecycleLayoutManager(MealStandContract.View IView) {
return new GridLayoutManager(IView.getActivity(), 1, LinearLayoutManager.HORIZONTAL, false);
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.di.module;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.MemberInfoAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem;
import com.jess.arms.di.scope.FragmentScope;
......@@ -17,8 +14,6 @@ import com.gingersoft.gsa.cloud.table.mvp.model.RiceponMemberDialogModel;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Named;
/**
* ================================================
......
package com.gingersoft.gsa.cloud.table.di.module;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter;
import com.jess.arms.di.scope.FragmentScope;
import dagger.Binds;
import dagger.Module;
import dagger.Provides;
import com.gingersoft.gsa.cloud.table.mvp.model.SetMealModel;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Named;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/17/2021 10:40
* <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 SetMealModule {
@Binds
abstract SetMealContract.Model bindSetMealModel(SetMealModel model);
@FragmentScope
@Provides
@Named("foodGroupList")
static List<Food> provideFoodGroupList() {
return new ArrayList<>();
}
@FragmentScope
@Provides
@Named("foodList")
static List<Food> provideFoodList() {
return new ArrayList<>();
}
@FragmentScope
@Provides
static List<ComboItem> provideFoodCombo() {
return new ArrayList<>();
}
@FragmentScope
@Provides
static List<Modifier> provideModifierList() {
return new ArrayList<>();
}
@FragmentScope
@Provides
@Named("fineTabTitles")
static List<String> provideFineTabTitleList() {
return new ArrayList<>();
}
@FragmentScope
@Provides
static List<SoldoutCtrFood> provideSoldoutCtrList() {
return new ArrayList<>();
}
@FragmentScope
@Provides
static FoodGroupAdapter provideFoodGroupAdapter(SetMealContract.View IView, @Named("foodGroupList") List<Food> foodGroupList) {
return new FoodGroupAdapter(IView.getActivity2(), foodGroupList, IView.getFromType());
}
@FragmentScope
@Provides
static FoodAdapter provideFoodAdapter(SetMealContract.View IView, @Named("foodList") List<Food> foodList) {
return new FoodAdapter(IView.getActivity2(), foodList, IView.getFromType());
}
@FragmentScope
@Provides
static ComboAdapter provideComboAdapter(SetMealContract.View IView, List<ComboItem> comboItemList) {
return new ComboAdapter(IView.getActivity2(), comboItemList);
}
@FragmentScope
@Provides
static ModifierAdapter provideModifierAdapter(SetMealContract.View IView, List<Modifier> modifierList) {
return new ModifierAdapter(IView.getActivity2(), modifierList);
}
@FragmentScope
@Provides
@Named("comboGridLayoutManager")
static GridLayoutManager provideComboRecycleLayoutManager(SetMealContract.View IView) {
return new GridLayoutManager(IView.getActivity2(), 1, LinearLayoutManager.HORIZONTAL, false);
}
@FragmentScope
@Provides
@Named("modifierGridLayoutManager")
static GridLayoutManager provideModifierRecycleLayoutManager(SetMealContract.View IView) {
return new GridLayoutManager(IView.getActivity2(), 1, LinearLayoutManager.HORIZONTAL, false);
}
}
\ No newline at end of file
......@@ -2,10 +2,8 @@ package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.PaymentCommand;
import com.gingersoft.gsa.cloud.pay.RequestParms;
......
......@@ -7,7 +7,7 @@ import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity;
......@@ -36,9 +36,9 @@ public class ModifyOrderAction implements Strategy<OrderManagerResponse> {
@Override
public void action(OrderManagerResponse orderItem) {
DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
MealOrder mealOrder = MealOrder.getInstance();
//設置為修改訂單操作
doshokuOrder.setModifyOrder(true);
mealOrder.setModifyOrder(true);
/**
* 緩存訂單信息
*/
......@@ -51,8 +51,8 @@ public class ModifyOrderAction implements Strategy<OrderManagerResponse> {
if (orderItem.getDiscountDetails() != null) {
orderBean.setDiscountDetails(orderItem.getDiscountDetails());
}
doshokuOrder.setOrderId(orderItem.getId());
doshokuOrder.setOrderPlaced(orderBean);
mealOrder.setOrderId(orderItem.getId());
mealOrder.setOrderPlaced(orderBean);
// TableBean.DataBean tableBean = new TableBean.DataBean(orderItem.getRestaurantTable());
TableBean.DataBean tableBean = null;
......@@ -68,14 +68,14 @@ public class ModifyOrderAction implements Strategy<OrderManagerResponse> {
}
tableBean.setId(orderItem.getTableId());
tableBean.setPerson(orderItem.getPerson());
doshokuOrder.setOpenTableInfo(tableBean);
mealOrder.setOpenTableInfo(tableBean);
List<OrderResponse.OrderDetailsBean> orderDetailsBeans = orderItem.getOrderDetails();
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
doshokuOrder.getShoppingCart().addCommodityList(orderDetailList);
mealOrder.getShoppingCart().addCommodityList(orderDetailList);
if (orderItem.getMemberInfo() != null) {
doshokuOrder.setMemberInfo(orderItem.getMemberInfo());
mealOrder.setMemberInfo(orderItem.getMemberInfo());
}
Intent intent = new Intent(mActivity, MealStandActivity.class);
......
......@@ -15,7 +15,7 @@ import com.gingersoft.gsa.cloud.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.order.billItem.BillOrderMoney;
import com.gingersoft.gsa.cloud.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter;
......@@ -60,14 +60,14 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
private void startPrintOrder(OrderManagerResponse orderDetailItem, List<OrderDetail> orderDetailList) {
DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
ShoppingCart shoppingCart = doshokuOrder.getShoppingCart();
MealOrder mealOrder = MealOrder.getInstance();
ShoppingCart shoppingCart = mealOrder.getShoppingCart();
double wholeAmount = getWholeAmount(orderDetailList);
doshokuOrder.setOrderId(orderDetailItem.getId());
doshokuOrder.setOrderNo(orderDetailItem.getOrderNo());
doshokuOrder.setNewFoodList(orderDetailList);
mealOrder.setOrderId(orderDetailItem.getId());
mealOrder.setOrderNo(orderDetailItem.getOrderNo());
mealOrder.setNewFoodList(orderDetailList);
shoppingCart.setOrderCommodityList(orderDetailList);
shoppingCart.setBillItemList(getOrderMoneyList(orderDetailItem, wholeAmount));
shoppingCart.setWholeAmount(wholeAmount);
......@@ -79,34 +79,34 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
if (!TextUtils.isEmpty(orderDetailItem.getCreateTime())) {
dataBean.setCreateTime(TimeUtils.getStringByFormat(new Date(orderDetailItem.getCreateTime()), TimeUtils.DEFAULT_DATE_FORMAT_YMDHM));
}
doshokuOrder.setOpenTableInfo(dataBean);
mealOrder.setOpenTableInfo(dataBean);
if (orderDetailItem.getMemberInfo() != null) {
doshokuOrder.setMemberInfo(orderDetailItem.getMemberInfo());
mealOrder.setMemberInfo(orderDetailItem.getMemberInfo());
} else {
doshokuOrder.setIntegralQrcode(orderDetailItem.getVerifyCode());
mealOrder.setIntegralQrcode(orderDetailItem.getVerifyCode());
}
List<PayMethod> payMethodList = getPayMethodList(orderDetailItem.getOrderPays());
if (payMethodList != null) {
//設置打印所需支付方式
doshokuOrder.setBillMoney(payMethodList);
mealOrder.setBillMoney(payMethodList);
}
if (orderDetailItem.withHywebPay() && AppDevices.isHywebPos()) {
printPosStub(orderDetailItem,doshokuOrder,dataBean);
printPosStub(orderDetailItem,mealOrder,dataBean);
}else {
printBill(orderDetailItem,doshokuOrder, dataBean,false);
printBill(orderDetailItem,mealOrder, dataBean,false);
}
}
private void printPosStub(OrderManagerResponse orderDetailItem, DoshokuOrder doshokuOrder, TableBean.DataBean dataBean) {
private void printPosStub(OrderManagerResponse orderDetailItem, MealOrder mealOrder, TableBean.DataBean dataBean) {
// PosPay.printStub(mActivity, mRootView, orderDetailItem.getPayTxnId(), new OnPosActionListener() {
// @Override
// public void onPosSuccess(HywebPosResponse response) {
// if(printlListener != null){
// printlListener.printPosStubResult(true);
// }
// printBill(orderDetailItem,doshokuOrder, dataBean,true);
// printBill(orderDetailItem,mealOrder, dataBean,true);
// }
//
// @Override
......@@ -114,12 +114,12 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
// if(printlListener != null){
// printlListener.printPosStubResult(false);
// }
// printBill(orderDetailItem,doshokuOrder, dataBean,true);
// printBill(orderDetailItem,mealOrder, dataBean,true);
// }
//
// @Override
// public void onPosInvalid(String e) {
// printBill(orderDetailItem,doshokuOrder, dataBean,true);
// printBill(orderDetailItem,mealOrder, dataBean,true);
// }
//
// @Override
......@@ -132,20 +132,20 @@ public class PrintOrderAction implements Strategy<OrderManagerResponse> {
// });
}
private void printBill(OrderManagerResponse orderDetailItem,DoshokuOrder doshokuOrder, TableBean.DataBean dataBean,boolean printStub) {
PrintContent printContent = new PrintContentAdapter().adaptationBillContent(doshokuOrder, dataBean);
private void printBill(OrderManagerResponse orderDetailItem, MealOrder mealOrder, TableBean.DataBean dataBean, boolean printStub) {
PrintContent printContent = new PrintContentAdapter().adaptationBillContent(mealOrder, dataBean);
CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.setActionName("printActivity")
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_BILL)
.addParam(PrintConstans.PRINT_CONTENT, printContent)
.addParam(PrintConstans.PRINT_ORDER_NO,doshokuOrder.getOrderNo())
.addParam(PrintConstans.PRINT_ORDER_NO,mealOrder.getOrderNo())
.build()
.callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess());
if (printStub) {
printPosStub(orderDetailItem,doshokuOrder,dataBean);
printPosStub(orderDetailItem,mealOrder,dataBean);
}
doshokuOrder.initialization();
mealOrder.initialization();
});
}
......
......@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter;
import com.gingersoft.gsa.cloud.table.R;
......@@ -74,10 +74,10 @@ public class PrintServingPaperAction extends TableAction {
if (respose.isSuccess()) {
DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
doshokuOrder.setOpenTableInfo(new TableBean.DataBean());
MealOrder mealOrder = MealOrder.getInstance();
mealOrder.setOpenTableInfo(new TableBean.DataBean());
TableBean.DataBean tableInfo = doshokuOrder.getOpenTableInfo();
TableBean.DataBean tableInfo = mealOrder.getOpenTableInfo();
tableInfo.setPerson(0);
OrderResponse orderBean = respose.getData();
......@@ -91,16 +91,16 @@ public class PrintServingPaperAction extends TableAction {
List<OrderResponse.OrderDetailsBean> orderDetailsBeans = respose.getData().getOrderDetails();
//緩存訂單信息
doshokuOrder.setOrderPlaced(new OrderResponse(orderBean));
mealOrder.setOrderPlaced(new OrderResponse(orderBean));
//緩存食品信息
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
doshokuOrder.getShoppingCart().setOrderCommodityList(orderDetailList);
mealOrder.getShoppingCart().setOrderCommodityList(orderDetailList);
} else {
doshokuOrder.setOrderPlaced(null);
doshokuOrder.getShoppingCart().setOrderCommodityList(new ArrayList<>());
mealOrder.setOrderPlaced(null);
mealOrder.getShoppingCart().setOrderCommodityList(new ArrayList<>());
}
doshokuOrder.setOpenTableInfo(tableBean);
mealOrder.setOpenTableInfo(tableBean);
printParper(tableBean);
} else {
......@@ -136,7 +136,7 @@ public class PrintServingPaperAction extends TableAction {
* 打印上菜紙
*/
private void printParper(TableBean.DataBean tableBean) {
PrintContent printContent = new PrintContentAdapter().adaptationServingPaperContent(DoshokuOrder.getInstance(), tableBean);
PrintContent printContent = new PrintContentAdapter().adaptationServingPaperContent(MealOrder.getInstance(), tableBean);
CC.obtainBuilder(ComponentName.COMPONENT_PRINT)
.setActionName("printActivity")
.addParam(PrintConstans.PRINT_TYPE, PrintConstans.PRINT_SERVE)
......@@ -145,7 +145,7 @@ public class PrintServingPaperAction extends TableAction {
.build()
.callAsyncCallbackOnMainThread((cc, result) -> {
//清空賬單數據
DoshokuOrder.getInstance().initialization();
MealOrder.getInstance().initialization();
cancel();
});
}
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import android.widget.Chronometer;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.jess.arms.base.DefaultAdapter;
......@@ -22,25 +26,27 @@ import okhttp3.RequestBody;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public interface BaseOrderContract {
public interface BaseMealContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends IView {
void initAutoQuit();
void recordOperat(boolean isPressButtonSound);
void setFoodAdapter(DefaultAdapter adapter);
void setMealCartAdapter( DefaultAdapter adapter);
void setBillDetailAdapter(DefaultAdapter adapter);
void setOrderDetailAdapter(DefaultAdapter adapter);
void returnTableActivity(boolean initTable);
void returnBeforeActivity(boolean initTable);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Single<BaseResult> toOrderPay(RequestBody requestBody);
Single<BaseResult> updateOrder(RequestBody formBody);
Single<BaseOrderResponse> calculationPrice(long orderId);
}
}
......@@ -2,14 +2,19 @@ package com.gingersoft.gsa.cloud.table.mvp.contract;
import android.content.Intent;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.table.RegionTableFragment;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -29,7 +34,9 @@ import okhttp3.RequestBody;
public interface MealBillContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends BaseOrderContract.View {
interface View extends BaseMealContract.View {
void initBillAmount(double wholeAmount, double totalAmount);
void returnTableList(List<TableBean.DataBean> dataBeanList);
......@@ -49,14 +56,8 @@ public interface MealBillContract {
void setTopFunctionAdapter(DefaultAdapter adapter);
void setOrderDetailAdapter(DefaultAdapter adapter);
void setTopFunctionRecycleLayoutManager();
void setFoodRecycleLayoutManager(int orientation);
void setTopFunctionRecycleSpanCount(int size);
void setFoodRecycleSpanCount(int size);
void printSuccess();
......@@ -69,7 +70,7 @@ public interface MealBillContract {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
interface Model extends BaseMealContract.Model {
// List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
......@@ -77,11 +78,11 @@ public interface MealBillContract {
Single<BaseOrderResponse> addOrderFood(RequestBody requestBody);
Single<BaseOrderResponse> loadOrder(long orderId);
Single<BaseOrderResponse> loadOrder(long orderId);
Single<BaseOrderResponse> printOrder(RequestBody request);
Single<TableBean> getTables(int restaurantId);
Observable<TableBean> getTables(int restaurantId);
Single<BaseResult> getTable(int tableId, String tableNumber);
......@@ -89,6 +90,6 @@ public interface MealBillContract {
Single<BaseResult> getSplitTables(int tableId);
Single<BaseResult> queryCoupon(int tableId,Long memberId,long couponMemberId ,String couponNo, int restaurantId);
Single<BaseResult> queryCoupon(int tableId, Long memberId, long couponMemberId, String couponNo, int restaurantId);
}
}
......@@ -49,13 +49,13 @@ public interface MealFineAllContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Single<List<Modifier>> queryDB_ModifierByModMsgAndVisibleQueryBuilder();
List<Modifier> queryDB_ModifierByModMsgAndVisibleQueryBuilder();
Single<List<Modifier>> queryDB_ModifierByModModTasteVisibleQueryBuilder();
List<Modifier> queryDB_ModifierByModModTasteVisibleQueryBuilder();
Single<List<Modifier>> queryDB_ModifierByModModCommVisibleQueryBuilder();
List<Modifier> queryDB_ModifierByModModCommVisibleQueryBuilder();
Single<List<Modifier>> queryDB_ModifierByTopidAndVisibleQueryBuilder(long fid);
List<Modifier> queryDB_ModifierByTopidAndVisibleQueryBuilder(long fid);
}
}
......@@ -42,8 +42,8 @@ public interface MealFineOneselfContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Single<List<Modifier>> queryDB_ModifierList(long fid, int mode);
List<Modifier> queryDB_ModifierList(long fid, int mode);
Single<List<ComboItem>> queryDB_ComboList(long fid);
List<ComboItem> queryDB_ComboList(long fid);
}
}
......@@ -3,6 +3,9 @@ package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
......@@ -22,11 +25,11 @@ import okhttp3.RequestBody;
* ================================================
*/
public interface MealPayContract {
interface View extends BaseOrderContract.View {
interface View extends BaseMealContract.View {
void showTipDialog(String msg, String btnCancelInfo, String btnOkInfo);
void recordOperat(boolean isPressButtonSound);
void showStatusDialog(int operatType);
void showTipDialog(String msg, String btnCancelInfo, String btnOkInfo);
void paySuccess();
......@@ -34,14 +37,12 @@ public interface MealPayContract {
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
interface Model extends BaseMealContract.Model {
Single<BaseResult> toOrderPay(RequestBody requestBody);
Single<BaseResult> getPayMethods(int brandId,int restaurantId,int payType);
Single<BaseResult> updateOrderPay(RequestBody requestBody);
// Single<Object> getN5SaleTxnId(String url);
//
// Single<BaseResult> updateOrderStatus( RequestBody formBody);
}
}
......@@ -50,12 +50,6 @@ public interface MealSoldoutContract {
boolean isInitFineItemLayout();
void initFineItemTabBarViewPage();
void showFoodLayoutVisibility();
void showFineItemLayoutVisibility();
void showTvRestore(boolean show);
void showViewModeVisibility(int... viewMode);
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import android.app.Activity;
import android.widget.BaseAdapter;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.jess.arms.base.DefaultAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
import androidx.recyclerview.widget.RecyclerView;
import io.reactivex.Single;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -28,7 +25,7 @@ import okhttp3.RequestBody;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* Created by MVPArmsTemplate on 04/17/2021 10:40
* <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>
......@@ -38,87 +35,65 @@ import okhttp3.RequestBody;
*/
public interface MealStandContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends BaseOrderContract.View {
boolean isInitFineItemLayout();
int getRestaurantId();
void initFineItemTabBarViewPage();
void updateMemberInfo(MemberInfo memberInfo);
void setCurrentFinePage();
interface View extends BaseMealContract.View {
void setPluMode();
void resetPluMode();
void recordOperat(boolean isPressButtonSound);
void setCurrViewMode(int... viewMode);
void showChoosePeopleNumDialog(boolean isNeedCancel);
void setPrinterLocalmachine(boolean isPrint);
void setTableInfoDialogAdapter(BaseAdapter adapter);
void setSelectFoodAdapter(RecyclerView.Adapter adapter);
void showCancelFoodDialog(OrderDetail deleteFood);
void setFoodGroupAdapter(DefaultAdapter adapter);
void setFoodAdapter(DefaultAdapter adapter);
void setCustomFoodDialog(int customType, OrderDetail foodItem);
void setComboAdapter(DefaultAdapter adapter);
CancelFoodDialog getCancelFoodDialog();
void setModifierAdapter(DefaultAdapter adapter);
void setFoodGroupRecycleSpanCount(int size);
void setDiscountAdapter(DefaultAdapter adapter);
void setFoodRecycleSpanCount(int size);
void setSelectFoodRecycleLayoutManager();
void setComboRecycleSpanCount(int size);
void setFoodGroupRecycleLayoutManager(int orientation);
void setModifierRecycleSpanCount(int size);
void setFoodRecycleLayoutManager(int orientation);
void showViewModeVisibility(int... viewMode);
void setComboRecycleLayoutManager(int orientation);
void showModifyLayoutVisibility(boolean show);
void setModifierRecycleLayoutManager(int orientation);
void showStandOperLayoutVisibility(boolean show);
void setDiscountRecycleLayoutManager(int orientation);
void setOrderFoodCount(String number);
void setFoodGroupRecycleSpanCount(int size);
int getCurrentViewMode();
void setFoodRecycleSpanCount(int size);
void setPluMode();
void setComboRecycleSpanCount(int size);
void resetPluMode();
void setModifierRecycleSpanCount(int size);
void setMealRvScrollToPosition(int position);
void setDiscountRecycleSpanCount(int size);
void resetSelect(int position, Food datasBean);
void showViewModeVisibility(int... viewMode);
void initFoodGroupAdapter(List<Food> foodGroupList);
void showModifyLayoutVisibility(boolean show);
void updateCouponSelects(boolean sticky);
void showBtnMealModifyRestoreVisibility(boolean show);
void notifyFoodGroupAdapter();
void setOrderFoodCount(String number);
void notifyFoodAdapter();
void setMealRvScrollToPosition(int position);
void notifyComboAdapterAdapter();
List<Food> getFoodGroupList();
void notifyModifierAdapterAdapter();
Activity getActivity();
int getFromType();
void setModifierTop(int Margins);
void setCustomFoodDialog(int customType, OrderDetail foodItem);
void clearKeyBoardInput();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
interface Model extends BaseMealContract.Model {
Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
......@@ -126,25 +101,13 @@ public interface MealStandContract {
Single<BaseResult> addOrderFood(RequestBody requestBody);
Single<BaseOrderResponse> loadOrder(long orderId);
Single<BaseOrderResponse> deleteFood(RequestBody requestBody);
Single<BaseOrderResponse> printOrder(RequestBody requestBody);
Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type);
Single<BaseResult> queryMember(int type, String parm, String shopName, int tableId, String tableNumber);
Single<BaseResult> memberUse(int tableId, String tableNumber, long memberId);
Single<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId);
List<Food> queryDB_AllFoodList();
List<Food> queryDB_FoodGroupList(int foodSummary);
List<Food> queryDB_FoodList(long parentId,int foodSummary);
List<Food> queryDB_FoodList(long parentId, int foodSummary);
Food queryFoodByFlu(String plu);
List<Modifier> queryDB_ModifierList(long fid, int mode);
......@@ -152,8 +115,7 @@ public interface MealStandContract {
List<FoodCombo> isComboFood(long fid);
List<FoodModifier> queryDB_FoodModifierList(long fid);
List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
}
}
package com.gingersoft.gsa.cloud.table.mvp.contract;
import android.app.Activity;
import android.widget.BaseAdapter;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.jess.arms.base.DefaultAdapter;
import java.util.List;
import io.reactivex.Single;
import io.reactivex.Single;
import okhttp3.RequestBody;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* <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 MealStandContract2 {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends BaseOrderContract.View {
void showStandOperLayoutVisibility(boolean show);
void showBtnMealModifyRestoreVisibility(boolean show);
void setOrderFoodCount(String number);
Activity getActivity();
int getFromType();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Single<BaseResult> createOrder(RequestBody requestBody);
Single<BaseResult> addOrderFood(RequestBody requestBody);
Single<BaseOrderResponse> loadOrder(long orderId);
Single<BaseOrderResponse> deleteFood(RequestBody requestBody);
Single<BaseOrderResponse> printOrder(RequestBody requestBody);
Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type);
Single<BaseResult> queryMember(int type, String parm, String shopName, int tableId, String tableNumber);
Single<BaseResult> memberUse(int tableId, String tableNumber, long memberId);
Single<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId);
List<Food> queryDB_AllFoodList();
List<Food> queryDB_FoodGroupList(int foodSummary);
List<Food> queryDB_FoodList(long parentId, int foodSummary);
List<Modifier> queryDB_ModifierList(long fid, int mode);
List<ComboItem> queryDB_ComboList(long fid, int foodSummary);
List<FoodCombo> isComboFood(long fid);
List<FoodModifier> queryDB_FoodModifierList(long fid);
List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
}
}
......@@ -32,6 +32,6 @@ public interface NomalDiscountContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Single<List<Discount>> queryDB_DiscountList(byte discountScope, byte discountType);
List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
}
}
......@@ -41,7 +41,7 @@ public interface OrderCenterContract {
int getPageSize();
void setOnCheckedChangedListener(OrderManagerResponse checkOrderBean);
void setOnCheckedChangedListener(OrderManagerResponse checkedOrder);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity2;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog;
import java.util.List;
import io.reactivex.Single;
import okhttp3.RequestBody;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/17/2021 10:40
* <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 SetMealContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends BaseOrderContract.View {
void setCurrViewMode(int... viewMode);
void showChoosePeopleNumDialog(boolean isNeedCancel);
void showCancelFoodDialog(OrderDetail deleteFood);
void setCustomFoodDialog(int customType, OrderDetail foodItem);
CancelFoodDialog getCancelFoodDialog();
void setFoodGroupRecycleSpanCount(int size);
void setFoodRecycleSpanCount(int size);
void setComboRecycleSpanCount(int size);
void setModifierRecycleSpanCount(int size);
void showViewModeVisibility(int... viewMode);
void showModifyLayoutVisibility(boolean show);
void setOrderFoodCount(String number);
int getCurrentViewMode();
void setPluMode();
void resetPluMode();
void setMealRvScrollToPosition(int position);
void resetSelect(int position, Food datasBean);
void initFoodGroupAdapter(List<Food> foodGroupList);
void updateCouponSelects(boolean sticky);
void notifyFoodGroupAdapter();
void notifyFoodAdapter();
void notifyComboAdapterAdapter();
void notifyModifierAdapterAdapter();
MealStandActivity2 getActivity2();
int getFromType();
void clearKeyBoardInput();
void returnBeforeActivity(boolean initTable);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Single<BaseResult> createOrder(RequestBody requestBody);
Single<BaseResult> addOrderFood(RequestBody requestBody);
Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type);
Single<List<Food>> queryDB_FoodGroupList(int foodSummary);
Single<List<Food>> queryDB_FoodList(long parentId, int foodSummary);
Single<Food> queryFoodByFlu(String plu);
List<Modifier> queryDB_ModifierList(long fid, int mode);
List<ComboItem> queryDB_ComboList(long fid, int foodSummary);
Single<List<FoodCombo>> isComboFood(long fid);
Single<List<FoodModifier>> queryDB_FoodModifierList(long fid);
}
}
......@@ -13,6 +13,7 @@ import com.jess.arms.mvp.IView;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -75,7 +76,7 @@ public interface TableContract {
List<Modifier> queryDB_ModifierList(long fid, int mode);
Single<TableBean> getTables(int restaurantId, boolean update);
Observable<TableBean> getTables(int restaurantId, boolean update);
Single<BaseResult> getTable(int tableId, String tableNumber);
......
package com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand;
package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract2;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.BaseMealContract;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderPayService;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.di.scope.ActivityScope;
import javax.inject.Inject;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import io.reactivex.Single;
import okhttp3.RequestBody;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* Created by MVPArmsTemplate on 05/10/2021 11:36
* <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>
......@@ -25,38 +30,28 @@ import me.jessyan.rxerrorhandler.core.RxErrorHandler;
* ================================================
*/
@ActivityScope
public class MealStandPresenter2 extends BaseOrderPresenter2<MealStandContract2.Model, MealStandContract2.View> {
public class BaseMealModel extends BaseModel implements BaseMealContract.Model{
@Inject
RxErrorHandler mErrorHandler;
Gson mGson;
@Inject
Application mApplication;
@Inject
ImageLoader mImageLoader;
@Inject
AppManager mAppManager;
@Inject
public MealStandPresenter2(MealStandContract2.Model model, MealStandContract2.View rootView) {
super(model, rootView);
}
@Override
public void createOrder(boolean isPrint, Class<?> afterToActivity) {
}
@Override
public void addOrderFood(boolean isPrint, Class<?> afterToActivity) {
public BaseMealModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mErrorHandler = null;
this.mAppManager = null;
this.mImageLoader = null;
this.mGson = null;
this.mApplication = null;
}
}
@Override
public Single<BaseResult> updateOrder(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrder(formBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
}
\ No newline at end of file
......@@ -5,23 +5,23 @@ import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealBillContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MemberService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderPayService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.TableService;
import com.google.gson.Gson;
import com.google.gson.internal.LinkedTreeMap;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.xuexiang.rxutil2.rxjava.RxSchedulerUtils;
import java.util.Date;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.functions.Function;
import okhttp3.RequestBody;
......@@ -40,7 +40,7 @@ import okhttp3.RequestBody;
* ================================================
*/
@ActivityScope
public class MealBillModel extends BaseModel implements MealBillContract.Model {
public class MealBillModel extends BaseMealModel implements MealBillContract.Model {
@Inject
Gson mGson;
@Inject
......@@ -59,11 +59,11 @@ public class MealBillModel extends BaseModel implements MealBillContract.Model {
}
private void saveCreateTime(long createTime) {
DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
if (doshokuOrder == null) {
doshokuOrder.setOpenTableInfo(new TableBean.DataBean());
MealOrder mealOrder = MealOrder.getInstance();
if (mealOrder == null) {
mealOrder.setOpenTableInfo(new TableBean.DataBean());
String dateTime = new Date(createTime).toString();
doshokuOrder.getOrderPlaced().setCreateTime(dateTime);
mealOrder.getOrderPlaced().setCreateTime(dateTime);
}
}
......@@ -74,13 +74,6 @@ public class MealBillModel extends BaseModel implements MealBillContract.Model {
.compose(MyRxSchedulerUtils._io_main_f());
}
// @Override
// public List<Discount> queryDB_DiscountList(byte discountScope, byte discountType) {
// DiscountDaoUtils discountDaoUtils = new DiscountDaoUtils(mApplication);
// List<Discount> discountList = discountDaoUtils.queryDiscountByQueryBuilder();
// return MealConditionFilterUtils.discountConditionFilter(discountList,discountScope,discountType);
// }
@Override
public Single<BaseOrderResponse> createOrder(RequestBody requestBody) {
Single ob = mRepositoryManager.obtainRetrofitService(MealService.class)
......@@ -94,22 +87,22 @@ public class MealBillModel extends BaseModel implements MealBillContract.Model {
if (info.getData() != null) {
if (info.getData() instanceof Double) {
//未上線,避免正式版閃退
DoshokuOrder.getInstance().setOrderId((long) info.getData());
DoshokuOrder.getInstance().setOrderNo(((Double) info.getData()).longValue() + "");
MealOrder.getInstance().setOrderId((long) info.getData());
MealOrder.getInstance().setOrderNo(((Double) info.getData()).longValue() + "");
} else {
LinkedTreeMap tm = (LinkedTreeMap) info.getData();
for (Object o : tm.keySet()) {
String key = (String) o;
if (key.equals("id")) {
double orderId = (double) tm.get(key);
DoshokuOrder.getInstance().setOrderId((long) orderId);
MealOrder.getInstance().setOrderId((long) orderId);
} else if (key.equals("orderNo")) {
DoshokuOrder.getInstance().setOrderNo((String) tm.get(key));
MealOrder.getInstance().setOrderNo((String) tm.get(key));
}
}
}
}
return loadOrder(DoshokuOrder.getInstance().getOrderId());
return loadOrder(MealOrder.getInstance().getOrderId());
}
BaseOrderResponse baseOrderRespose = new BaseOrderResponse();
baseOrderRespose.setSuccess(info.isSuccess());
......@@ -130,7 +123,7 @@ public class MealBillModel extends BaseModel implements MealBillContract.Model {
public Single<BaseOrderResponse> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
saveCreateTime(info.getSysTime());
return loadOrder(DoshokuOrder.getInstance().getOrderId());
return loadOrder(MealOrder.getInstance().getOrderId());
}
BaseOrderResponse baseOrderRespose = new BaseOrderResponse();
baseOrderRespose.setSuccess(info.isSuccess());
......@@ -149,10 +142,10 @@ public class MealBillModel extends BaseModel implements MealBillContract.Model {
}
@Override
public Single<TableBean> getTables(int restaurantId) {
public Observable<TableBean> getTables(int restaurantId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTables(restaurantId)
.compose(MyRxSchedulerUtils._io_main_f());
.compose(RxSchedulerUtils._io_main_o());
}
@Override
......@@ -171,7 +164,7 @@ public class MealBillModel extends BaseModel implements MealBillContract.Model {
@Override
public Single<BaseOrderResponse> apply(BaseOrderResponse info) throws Exception {
if (info != null && info.isSuccess()) {
return loadOrder(DoshokuOrder.getInstance().getOrderId());
return loadOrder(MealOrder.getInstance().getOrderId());
}
return Single.just(info);
}
......@@ -182,29 +175,15 @@ public class MealBillModel extends BaseModel implements MealBillContract.Model {
@Override
public Single<BaseResult> getSplitTables(int tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getSplitTables(tableId);
}
@Override
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(requestBody);
}
@Override
public Single<BaseResult> updateOrder(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrder(formBody);
.getSplitTables(tableId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Single<BaseResult> queryCoupon(int tableId,Long memberId, long couponMemberId, String couponNo, int restaurantId) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.queryCoupon(tableId,memberId, couponMemberId, couponNo, restaurantId);
.queryCoupon(tableId,memberId, couponMemberId, couponNo, restaurantId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return null;
}
}
\ No newline at end of file
......@@ -51,31 +51,27 @@ public class MealFineAllModel extends BaseModel implements MealFineAllContract.M
}
@Override
public Single<List<Modifier>> queryDB_ModifierByModMsgAndVisibleQueryBuilder() {
public List<Modifier> queryDB_ModifierByModMsgAndVisibleQueryBuilder() {
//获取数据
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModMsgAndVisibleQueryBuilder();
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(modifierList));
return MealStyleUtils.assemblyModifiersColor(modifierDaoUtils.queryModifierByModMsgAndVisibleQueryBuilder());
}
@Override
public Single<List<Modifier>> queryDB_ModifierByModModTasteVisibleQueryBuilder() {
public List<Modifier> queryDB_ModifierByModModTasteVisibleQueryBuilder() {
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModModTasteVisibleQueryBuilder();
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(modifierList));
return MealStyleUtils.assemblyModifiersColor(modifierDaoUtils.queryModifierByModModTasteVisibleQueryBuilder());
}
@Override
public Single<List<Modifier>> queryDB_ModifierByModModCommVisibleQueryBuilder() {
public List<Modifier> queryDB_ModifierByModModCommVisibleQueryBuilder() {
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModModCommVisibleQueryBuilder();
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(modifierList));
return MealStyleUtils.assemblyModifiersColor(modifierDaoUtils.queryModifierByModModCommVisibleQueryBuilder());
}
@Override
public Single<List<Modifier>> queryDB_ModifierByTopidAndVisibleQueryBuilder(long fid) {
public List<Modifier> queryDB_ModifierByTopidAndVisibleQueryBuilder(long fid) {
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByTopidAndVisibleQueryBuilder(fid);
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(modifierList));
return MealStyleUtils.assemblyModifiersColor(modifierDaoUtils.queryModifierByTopidAndVisibleQueryBuilder(fid));
}
}
\ No newline at end of file
......@@ -54,14 +54,14 @@ public class MealFineOneselfModel extends BaseModel implements MealFineOneselfCo
}
@Override
public Single<List<Modifier>> queryDB_ModifierList(long fid, int mode) {
public List<Modifier> queryDB_ModifierList(long fid, int mode) {
ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication);
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(daoUtils.queryModifiersByFid(fid, mode)));
return MealStyleUtils.assemblyModifiersColor(daoUtils.queryModifiersByFid(fid, mode));
}
@Override
public Single<List<ComboItem>> queryDB_ComboList(long fid) {
public List<ComboItem> queryDB_ComboList(long fid) {
ComboItemDaoUtils comboItemDao = new ComboItemDaoUtils(mApplication);
return MyRxUtils.si_just_io_main(comboItemDao.queryComboItemsByFidQueryBuilder(fid, null));
return comboItemDao.queryComboItemsByFidQueryBuilder(fid, null);
}
}
\ No newline at end of file
......@@ -32,7 +32,7 @@ import okhttp3.RequestBody;
* ================================================
*/
@ActivityScope
public class MealPayModel extends BaseModel implements MealPayContract.Model {
public class MealPayModel extends BaseMealModel implements MealPayContract.Model {
@Inject
Gson mGson;
@Inject
......@@ -65,24 +65,9 @@ public class MealPayModel extends BaseModel implements MealPayContract.Model {
}
@Override
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.calculationPrice(orderId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Single<BaseResult> updateOrder(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrder(formBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
}
\ No newline at end of file
......@@ -57,29 +57,25 @@ public class MealSoldoutModel extends BaseModel implements MealSoldoutContract.M
public List<Food> queryDB_FoodListByIds(String[] ids) {
String sql = "SELECT * FROM FOOD WHERE id IN ( ?, ? );";
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodByNativeSql(sql, ids);
return MealStyleUtils.assemblyFoodsColor(foods);
return MealStyleUtils.assemblyFoodsColor(foodDaoUtils.queryFoodByNativeSql(sql, ids));
}
@Override
public List<Food> queryDB_AllFoodList() {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryAllFoodByQueryBuilder();
return MealStyleUtils.assemblyFoodsColor(foods);
return MealStyleUtils.assemblyFoodsColor(foodDaoUtils.queryAllFoodByQueryBuilder());
}
@Override
public List<Food> queryDB_FoodGroupList() {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodGroupByQueryBuilder();
return MealStyleUtils.assemblyFoodsColor(foods);
return MealStyleUtils.assemblyFoodsColor(foodDaoUtils.queryFoodGroupByQueryBuilder());
}
@Override
public List<Food> queryDB_FoodList(long parentId) {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodByQueryBuilder(parentId);
return MealStyleUtils.assemblyFoodsColor(foods);
return MealStyleUtils.assemblyFoodsColor(foodDaoUtils.queryFoodByQueryBuilder(parentId));
}
@Override
......
package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MemberService;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderPayService;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.MealConditionFilterUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.MealStyleUtils;
import com.google.gson.Gson;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import java.util.List;
import javax.inject.Inject;
import io.reactivex.Single;
import io.reactivex.Single;
import io.reactivex.functions.Function;
import okhttp3.RequestBody;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* <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>
* ================================================
*/
@ActivityScope
public class MealStandModel2 extends BaseModel implements MealStandContract2.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public MealStandModel2(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
@Override
public List<Food> queryDB_AllFoodList() {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryAllFoodByQueryBuilder();
return foods;
}
@Override
public List<Food> queryDB_FoodGroupList(int foodSummary) {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodGroupByQueryBuilder(foodSummary);
return MealStyleUtils.assemblyFoodsColor(MealConditionFilterUtils.foodConditionFilter(foods, foodSummary));
}
@Override
public List<Food> queryDB_FoodList(long parentId, int foodSummary) {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodByQueryBuilder(parentId, foodSummary);
return MealStyleUtils.assemblyFoodsColor(MealConditionFilterUtils.foodConditionFilter(foods, foodSummary));
}
@Override
public List<Modifier> queryDB_ModifierList(long fid, int mode) {
ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication);
return MealStyleUtils.assemblyModifiersColor(daoUtils.queryModifiersByFid(fid, mode));
}
@Override
public List<ComboItem> queryDB_ComboList(long fid, int foodSummary) {
ComboItemDaoUtils comboItemDao = new ComboItemDaoUtils(mApplication);
List<ComboItem> foodCombos = comboItemDao.queryComboItemsByFidQueryBuilder(fid, foodSummary);
return MealConditionFilterUtils.comboConditionFilter(foodCombos, foodSummary);
}
@Override
public List<FoodCombo> isComboFood(long fid) {
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(mApplication);
return foodComboDaoUtils.queryCombosFoodsByQueryBuilder(fid);
}
@Override
public List<FoodModifier> queryDB_FoodModifierList(long fid) {
return null;
}
@Override
public List<Discount> queryDB_DiscountList(byte discountScope, byte discountType) {
DiscountDaoUtils discountDaoUtils = new DiscountDaoUtils(mApplication);
List<Discount> discountList = discountDaoUtils.queryDiscountByQueryBuilder();
return MealConditionFilterUtils.discountConditionFilter(discountList, discountScope, discountType);
}
@Override
public Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody);
}
@Override
public Single<BaseOrderResponse> loadOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.loadOrder(orderId);
}
@Override
public Single<BaseResult> createOrder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.createOrder(requestBody);
}
@Override
public Single<BaseResult> addOrderFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.addOrderFood(requestBody);
}
@Override
public Single<BaseOrderResponse> deleteFood(RequestBody requestBody) {
Single ob = mRepositoryManager.obtainRetrofitService(MealService.class)
.deleteFood(requestBody)
.flatMap(new Function<BaseResult, Single<BaseOrderResponse>>() {
@Override
public Single<BaseOrderResponse> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
return loadOrder(DoshokuOrder.getInstance().getOrderId());
}
BaseOrderResponse baseOrderRespose = new BaseOrderResponse();
baseOrderRespose.setSuccess(info.isSuccess());
baseOrderRespose.setErrMsg(info.getErrMsg());
return Single.just(baseOrderRespose);
}
});
return ob;
}
@Override
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.calculationPrice(orderId);
}
@Override
public Single<BaseOrderResponse> printOrder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.printOrder(requestBody);
}
@Override
public Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getRestaurantFoodReason(brandId, restaurantId, type);
}
@Override
public Single<BaseResult> queryMember(int type, String parm, String shopName, int tableId, String tableNumber) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.queryMember(type, parm, shopName, tableId, tableNumber);
}
@Override
public Single<BaseResult> memberUse(int tableId, String tableNumber, long memberId) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.memberUse(tableId, tableNumber, memberId);
}
@Override
public Single<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.memberUseCancel(tableId, tableNumber, memberId);
}
@Override
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(requestBody);
}
@Override
public Single<BaseResult> updateOrder(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrder(formBody);
}
}
\ No newline at end of file
......@@ -53,9 +53,9 @@ public class NomalDiscountModel extends BaseModel implements NomalDiscountContra
}
@Override
public Single<List<Discount>> queryDB_DiscountList(byte discountScope, byte discountType) {
public List<Discount> queryDB_DiscountList(byte discountScope, byte discountType) {
DiscountDaoUtils discountDaoUtils = new DiscountDaoUtils(mApplication);
List<Discount> discountList = discountDaoUtils.queryDiscountByQueryBuilder();
return MyRxUtils.si_just_io_main(MealConditionFilterUtils.discountConditionFilter(discountList,discountScope,discountType)) ;
return MealConditionFilterUtils.discountConditionFilter(
discountDaoUtils.queryDiscountByQueryBuilder(),discountScope,discountType) ;
}
}
\ No newline at end of file
package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils;
import com.gingersoft.gsa.cloud.common.rxjava.MyRxUtils;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.MealConditionFilterUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.MealStyleUtils;
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.gsa.cloud.table.mvp.contract.SetMealContract;
import java.util.List;
import io.reactivex.Single;
import io.reactivex.Single;
import okhttp3.RequestBody;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/17/2021 10:40
* <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 SetMealModel extends BaseModel implements SetMealContract.Model {
@Inject
Gson mGson;
@Inject
Application mApplication;
@Inject
public SetMealModel(IRepositoryManager repositoryManager) {
super(repositoryManager);
}
@Override
public void onDestroy() {
super.onDestroy();
this.mGson = null;
this.mApplication = null;
}
@Override
public Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Single<BaseResult> createOrder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.createOrder(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Single<BaseResult> addOrderFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.addOrderFood(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getRestaurantFoodReason(brandId,restaurantId,type)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Single<List<Food>> queryDB_FoodGroupList(int foodSummary) {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodGroupByQueryBuilder(foodSummary);
return MyRxUtils.si_just_io_main(
MealStyleUtils.assemblyFoodsColor(
MealConditionFilterUtils.foodConditionFilter(foods, foodSummary)));
}
@Override
public Single<List<Food>> queryDB_FoodList(long parentId, int foodSummary) {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
List<Food> foods = foodDaoUtils.queryFoodByQueryBuilder(parentId, foodSummary);
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyFoodsColor(MealConditionFilterUtils.foodConditionFilter(foods, foodSummary)));
}
@Override
public Single<Food> queryFoodByFlu(String plu) {
FoodDaoUtils foodDaoUtils = new FoodDaoUtils(mApplication);
Food food = foodDaoUtils.queryFoodByQueryBuilder(plu);
return MyRxUtils.si_just_io_main(food);
}
@Override
public List<Modifier> queryDB_ModifierList(long fid, int mode) {
ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = daoUtils.queryModifiersByFid(fid, mode);
return MealStyleUtils.assemblyModifiersColor(modifierList);
}
@Override
public List<ComboItem> queryDB_ComboList(long fid, int foodSummary) {
ComboItemDaoUtils comboItemDao = new ComboItemDaoUtils(mApplication);
List<ComboItem> foodCombos = comboItemDao.queryComboItemsByFidQueryBuilder(fid, foodSummary);
return MealConditionFilterUtils.comboConditionFilter(foodCombos, foodSummary);
}
@Override
public Single<List<FoodCombo>> isComboFood(long fid) {
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(mApplication);
return MyRxUtils.si_just_io_main(foodComboDaoUtils.queryCombosFoodsByQueryBuilder(fid));
}
@Override
public Single<List<FoodModifier>> queryDB_FoodModifierList(long fid) {
return null;
}
@Override
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return null;
}
@Override
public Single<BaseResult> updateOrder(RequestBody formBody) {
return null;
}
@Override
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return null;
}
}
\ No newline at end of file
......@@ -18,11 +18,13 @@ import com.google.gson.Gson;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import com.xuexiang.rxutil2.rxjava.RxSchedulerUtils;
import java.util.List;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.SingleSource;
import io.reactivex.functions.Function;
......@@ -77,11 +79,11 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public Single<TableBean> getTables(int restaurantId, boolean update) {
public Observable<TableBean> getTables(int restaurantId, boolean update) {
return mRepositoryManager
.obtainRetrofitService(TableService.class)
.getTables(restaurantId)
.compose(MyRxSchedulerUtils._io_main_f());
.compose(RxSchedulerUtils._io_main_o());
// return Single.just(mRepositoryManager
// .obtainRetrofitService(TableService.class)
// .getTables(restaurantId))
......
......@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
......@@ -23,7 +25,7 @@ import retrofit2.http.Query;
public interface TableService {
@GET("restaurantTable/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Single<TableBean> getTables(@Query("restaurantId") int restaurantId);
Observable<TableBean> getTables(@Query("restaurantId") int restaurantId);
@GET("restaurantTable/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Single<BaseResult> getTable(@Query("id") int table, @Query("tableNumber") String tableNumber);
......
......@@ -6,15 +6,13 @@ import com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.loadsir.EmptyCallback;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
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 io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import javax.inject.Inject;
......@@ -71,7 +69,7 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
public void getMemberWalletList(RefreshLayout refreshLayout, boolean isLoadMore, int limitType) {
int brandId = RestaurantInfoManager.newInstance().getBrandId();
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
MemberInfo memberInfo = MealOrder.getInstance().getMemberInfo();
long memberId = 0;
if (memberInfo != null) {
memberId = memberInfo.getId();
......
......@@ -67,15 +67,8 @@ public class NomalDiscountPresenter extends BasePresenter<NomalDiscountContract.
} else {
discountType = Discount.ORDER_TYPE_MEAL_STAND;
}
mModel.queryDB_DiscountList(Discount.discount_scope_bill,discountType)
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSingleSubscriber<List<Discount>>(mErrorHandler) {
@Override
public void onSuccess(List<Discount> discountList) {
mRootView.returnBillCoupon(discountList);
}
});
List<Discount> discountList = mModel.queryDB_DiscountList(Discount.discount_scope_bill, discountType);
mRootView.returnBillCoupon(discountList);
}
}
......@@ -113,26 +113,13 @@ public class MealFineOneselfPresenter extends BasePresenter<MealFineOneselfContr
}
public void loadComboData(long fid) {
mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_All)
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSingleSubscriber<List<Modifier>>(mErrorHandler) {
@Override
public void onSubscribe(Disposable d) {
super.onSubscribe(d);
if (mModifierList.size() > 0) {
mModifierList.clear();
}
}
@Override
public void onSuccess(List<Modifier> modifierList) {
mModifierList.addAll(modifierList);
}
});
List<Modifier> modifierList = mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_All);
if (mModifierList.size() > 0) {
mModifierList.clear();
}
mModifierList.addAll(modifierList);
}
public boolean foodStopOpeart(ComboItem datasBean) {
boolean isStopOpeart = false;
if (mCurrentSoldoutFoodList_Full != null) {
......@@ -143,13 +130,13 @@ public class MealFineOneselfPresenter extends BasePresenter<MealFineOneselfContr
isStopOpeart = true;
if (datasBean.getInvisible() == 2) {
//恢復暫停數量
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getName() + "]";
Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {datasBean.getId(), 2, 0};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, IActivity.getSoldoutCtrlPresenter(), "updateInvisible", parameterTypes, parameters);
} else {
//暂停或者售罄直接提示恢复
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {csf.getId()};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, IActivity.getSoldoutCtrlPresenter(), "restoreSoldoutCtrl", parameterTypes, parameters);
......@@ -172,12 +159,12 @@ public class MealFineOneselfPresenter extends BasePresenter<MealFineOneselfContr
isStopOpeart = true;
if (datasBean.getInvisible() == 2) {
//恢復暫停數量
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {datasBean.getMid(), 3, 0};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, IActivity.getSoldoutCtrlPresenter(), "updateInvisible", parameterTypes, parameters);
} else {
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {csf.getId()};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, IActivity.getSoldoutCtrlPresenter(), "restoreSoldoutCtrl", parameterTypes, parameters);
......
......@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand;
import android.app.Application;
import android.text.TextUtils;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
......@@ -51,7 +53,7 @@ import okhttp3.RequestBody;
* ================================================
*/
@ActivityScope
public class MealPayPresenter extends BaseOrderPresenter2<MealPayContract.Model, MealPayContract.View> {
public class MealPayPresenter extends BaseMealPresenter<MealPayContract.Model, MealPayContract.View> {
@Inject
RxErrorHandler mErrorHandler;
@Inject
......@@ -97,10 +99,10 @@ public class MealPayPresenter extends BaseOrderPresenter2<MealPayContract.Model,
public void initAdapter() {
if (mMealCartAdapter != null) {
mRootView.setFoodAdapter(mMealCartAdapter);
mRootView.setMealCartAdapter( mMealCartAdapter);
}
if (mBillItemAdapter != null) {
mRootView.setOrderDetailAdapter(mBillItemAdapter);
mRootView.setBillDetailAdapter( mBillItemAdapter);
}
}
......@@ -139,7 +141,7 @@ public class MealPayPresenter extends BaseOrderPresenter2<MealPayContract.Model,
* 結賬
*/
public void toOrderPay(boolean show) {
if (mDoshokuOrder.isModifyOrder()) {
if (mMealOrder.isModifyOrder()) {
//修改訂單
updateOrderPay();
return;
......@@ -168,13 +170,13 @@ public class MealPayPresenter extends BaseOrderPresenter2<MealPayContract.Model,
if (baseResult.isSuccess()) {
OrderPayResponse orderPayRespose = JsonUtils.parseObject(baseResult.getData(), OrderPayResponse.class);
if (orderPayRespose != null) {
if (mDoshokuOrder.getMemberInfo() != null) {
mDoshokuOrder.setAddPoints(orderPayRespose.getAddPoints());
mDoshokuOrder.setNowPoints(orderPayRespose.getNowPoints());
mDoshokuOrder.setOldPoints(orderPayRespose.getOldPoints());
if (mMealOrder.getMemberInfo() != null) {
mMealOrder.setAddPoints(orderPayRespose.getAddPoints());
mMealOrder.setNowPoints(orderPayRespose.getNowPoints());
mMealOrder.setOldPoints(orderPayRespose.getOldPoints());
} else {
if (!TextUtils.isEmpty(orderPayRespose.getVerifyCode())) {
mDoshokuOrder.setIntegralQrcode(HttpsConstans.PRINT_QRCODE_ADDRESS + orderPayRespose.getVerifyCode());
mMealOrder.setIntegralQrcode(HttpsConstans.PRINT_QRCODE_ADDRESS + orderPayRespose.getVerifyCode());
}
}
}
......@@ -198,12 +200,12 @@ public class MealPayPresenter extends BaseOrderPresenter2<MealPayContract.Model,
public MealOrderPayRequest getOrderPayRequest(OrderPayView orderPayView) {
MemberInfo memberInfo = mDoshokuOrder.getMemberInfo();
MemberInfo memberInfo = mMealOrder.getMemberInfo();
List<PayMethod> payMethodList = orderPayView.getBillMoneyList();
MealOrderPayRequest payRequest = new MealOrderPayRequest();
payRequest.setOrderId(mDoshokuOrder.getOrderId());
payRequest.setOrderId(mMealOrder.getOrderId());
payRequest.setOrderPayType(orderPayType);
payRequest.setLinePayType(orderPayView.getLinePayType());
payRequest.setTableId(mTableInfo.getId());
......@@ -273,7 +275,7 @@ public class MealPayPresenter extends BaseOrderPresenter2<MealPayContract.Model,
LoganManager.w_pay(TAG, "修改訂單支付成功");
//結賬成功
mRootView.paySuccess();
}else {
} else {
LoganManager.w_pay(TAG, "修改訂單支付失敗=" + baseResult.getErrMsg());
}
}
......
......@@ -84,7 +84,7 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
//當前食品組下食品
private List<Food> mFoodList = new ArrayList<>();
//所有食品數據
private List<Food> mAllFoodList = new ArrayList<>();
private List<Food> mAllFoodList;
//记录已沽清选中的Item(默认第一个)
private int mCurrentSlodoutFoodPosition_FoodKind = 0;
......@@ -176,13 +176,13 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
} else {
id = datasBean.getFoodId();
} //恢復暫停數量
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {id, datasBean.getType(), 0};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, MealSoldoutPresenter.this, "updateInvisible", parameterTypes, parameters);
} else {
//恢復沽清數量
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {datasBean.getId()};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, MealSoldoutPresenter.this, "restoreSoldoutCtrl", parameterTypes, parameters);
......@@ -224,13 +224,13 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
isStopOpeart = true;
if (datasBean.getInvisible() == 2) {
//恢復暫停數量
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {datasBean.getId(), 2, 0};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, this, "updateInvisible", parameterTypes, parameters);
} else {
//暂停或者售罄直接提示恢复
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getFoodName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {csf.getId()};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, this, "restoreSoldoutCtrl", parameterTypes, parameters);
......@@ -253,12 +253,12 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
isStopOpeart = true;
if (datasBean.getInvisible() == 2) {
//恢復暫停數量
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
Class[] parameterTypes = {Long.class, int.class, int.class};
Object[] parameters = {datasBean.getMid(), 3, 0};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, this, "updateInvisible", parameterTypes, parameters);
} else {
String msg = LanguageUtils.get_language_system( "whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
String msg = LanguageUtils.get_language_system("whether.recover", "是否恢復[") + datasBean.getModifierName() + "]";
Class[] parameterTypes = {long.class};
Object[] parameters = {csf.getId()};
CommonTipDialog.showDoubtDialog(IActivity, msg, MealSoldoutPresenter.class, this, "restoreSoldoutCtrl", parameterTypes, parameters);
......@@ -601,9 +601,9 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
getCurrentSoldoutFood();
} else {
if (operatTtpe == 0) {
mRootView.showMessage(LanguageUtils.get_language_system( "pause.failed", "暫停失敗!"));
mRootView.showMessage(LanguageUtils.get_language_system("pause.failed", "暫停失敗!"));
} else {
mRootView.showMessage(LanguageUtils.get_language_system( "soldout.failure", "沽清失敗!"));
mRootView.showMessage(LanguageUtils.get_language_system("soldout.failure", "沽清失敗!"));
}
}
}
......@@ -633,7 +633,7 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
//重新获取沽清数据
getCurrentSoldoutFood();
} else {
mRootView.showMessage(LanguageUtils.get_language_system( "recovery.failure", "恢復失敗!"));
mRootView.showMessage(LanguageUtils.get_language_system("recovery.failure", "恢復失敗!"));
}
}
});
......@@ -667,7 +667,7 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
//重新获取沽清数据
getCurrentSoldoutFood();
} else {
mRootView.showMessage(LanguageUtils.get_language_system( "recovery.failure", "恢復失敗!"));
mRootView.showMessage(LanguageUtils.get_language_system("recovery.failure", "恢復失敗!"));
}
}
});
......@@ -750,7 +750,7 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
//重新获取沽清数据
// getCurrentSoldoutFood();
} else {
mRootView.showMessage(LanguageUtils.get_language_system( "recovery.failure", "恢復失敗!"));
mRootView.showMessage(LanguageUtils.get_language_system("recovery.failure", "恢復失敗!"));
}
}
});
......@@ -848,7 +848,7 @@ public class MealSoldoutPresenter extends BasePresenter<MealSoldoutContract.Mode
//重新获取沽清数据
getCurrentSoldoutFood();
} else {
mRootView.showMessage(LanguageUtils.get_language_system( "recovery.failure", "恢復失敗!"));
mRootView.showMessage(LanguageUtils.get_language_system("recovery.failure", "恢復失敗!"));
}
}
});
......
......@@ -27,7 +27,7 @@ import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.BaseOrder;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.pay.PaymentCommand;
import com.gingersoft.gsa.cloud.pay.RequestParms;
import com.gingersoft.gsa.cloud.pay.PayAction;
......@@ -78,6 +78,7 @@ import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers;
import lombok.Data;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
import okhttp3.FormBody;
import okhttp3.RequestBody;
......@@ -292,15 +293,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
@Override
public void onItemClick(View view, int viewType, Object data, int position) {
// Function function = (Function) data;
// switch (function.getStatus()) {
// case STATUS_NONACTIVATED:
// mRootView.showMessage("服務暫未開通,敬請期待");
// return;
// case STATUS_TIME_LIMIT:
// mRootView.showMessage("服務已到期,請前往續費");
// return;
// }
if (mTableActions.size() > position) {
mTableAction = mTableActions.get(position);
if (mTableAction != null) {
......@@ -352,7 +344,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
})
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSingleSubscriber<TableBean>(mErrorHandler) {
.subscribe(new ErrorHandleSubscriber<TableBean>(mErrorHandler) {
@Override
public void onSubscribe(Disposable d) {
......@@ -361,7 +353,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
@Override
public void onSuccess(@NonNull TableBean tableBean) {
public void onNext(@NonNull TableBean tableBean) {
if (!TableActivity.isRefreshData) {
return;
}
......@@ -473,7 +465,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
openTableBean = getTableById(tableId);
}
DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
MealOrder mealOrder = MealOrder.getInstance();
OrderResponse orderBean = respose.getData();
if (orderBean != null && respose.getData().getOrderDetails() != null) {
......@@ -502,14 +494,14 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
//設置套餐topId
setTopId(mealCommoditysBeans);
doshokuOrder.setMemberInfo(orderBean.getMemberInfo());
mealOrder.setMemberInfo(orderBean.getMemberInfo());
//設置用餐人數
openTableBean.setPerson(orderBean.getPerson());
//緩存訂單信息
doshokuOrder.setOrderId(orderBean.getId());
doshokuOrder.setOrderNo(orderBean.getOrderNo());
doshokuOrder.setOrderPlaced(new OrderResponse(orderBean));
doshokuOrder.getShoppingCart().addCommodityList(OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(mealCommoditysBeans)));
mealOrder.setOrderId(orderBean.getId());
mealOrder.setOrderNo(orderBean.getOrderNo());
mealOrder.setOrderPlaced(new OrderResponse(orderBean));
mealOrder.getShoppingCart().addCommodityList(OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(mealCommoditysBeans)));
boolean memberItemStatus = false;
boolean discountItemStatus = false;
......@@ -519,13 +511,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
if (respose.getData().getDiscountDetails() != null) {
discountItemStatus = true;
}
doshokuOrder.initBillStatus(memberItemStatus, discountItemStatus);
mealOrder.initBillStatus(memberItemStatus, discountItemStatus);
} else {
doshokuOrder.setOrderPlaced(null);
doshokuOrder.getShoppingCart().setOrderCommodityList(new ArrayList<>());
mealOrder.setOrderPlaced(null);
mealOrder.getShoppingCart().setOrderCommodityList(new ArrayList<>());
}
doshokuOrder.setOpenTableInfo(openTableBean);
mealOrder.setOpenTableInfo(openTableBean);
if (openTableBean.getScanId() != null) {
BaseOrder.orderType = FoodSummaryConstans.SKYORDER;
......@@ -537,6 +529,11 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
CommonTipDialog.showSurpisedDialog(IActivity, respose.getErrMsg(), null, null, null, null, null);
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
}
});
}
......@@ -1156,8 +1153,10 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
this.mTableAction = tableAction;
}
public Disposable getGetTablesDataDisposable() {
return mGetTablesDataDisposable;
public void disposeGetTablesDataDisposable(){
if (mGetTablesDataDisposable != null && !mGetTablesDataDisposable.isDisposed()) {
mGetTablesDataDisposable.dispose();
}
}
public List<TableBean.DataBean> getTableList() {
......
/*
* Copyright 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import com.google.android.material.bottomappbar.BottomAppBar;
import com.google.android.material.bottomappbar.BottomAppBarTopEdgeTreatment;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.shape.ShapePath;
/**
* A {@link BottomAppBar} top edge that works with a Diamond shaped {@link FloatingActionButton}
*/
public class BottomAppBarCutCornersTopEdge extends BottomAppBarTopEdgeTreatment {
private final float fabMargin;
private final float cradleVerticalOffset;
BottomAppBarCutCornersTopEdge(
float fabMargin, float roundedCornerRadius, float cradleVerticalOffset) {
super(fabMargin, roundedCornerRadius, cradleVerticalOffset);
this.fabMargin = fabMargin;
this.cradleVerticalOffset = cradleVerticalOffset;
}
@Override
@SuppressWarnings("RestrictTo")
public void getEdgePath(float length, float center, float interpolation, ShapePath shapePath) {
float fabDiameter = getFabDiameter();
if (fabDiameter == 0) {
shapePath.lineTo(length, 0);
return;
}
float diamondSize = fabDiameter / 2f;
float middle = center + getHorizontalOffset();
float verticalOffsetRatio = cradleVerticalOffset / diamondSize;
if (verticalOffsetRatio >= 1.0f) {
shapePath.lineTo(length, 0);
return;
}
shapePath.lineTo(middle - (fabMargin + diamondSize - cradleVerticalOffset), 0);
shapePath.lineTo(middle, (diamondSize - cradleVerticalOffset + fabMargin) * interpolation);
shapePath.lineTo(middle + (fabMargin + diamondSize - cradleVerticalOffset), 0);
shapePath.lineTo(length, 0);
}
}
package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import android.os.Bundle;
import android.view.View;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.gingersoft.gsa.cloud.common.utils.threadPool.ThreadPoolManager;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.google.android.material.bottomappbar.BottomAppBar;
import com.google.android.material.bottomappbar.BottomAppBarTopEdgeTreatment;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.navigation.NavigationView;
import com.google.android.material.shape.CutCornerTreatment;
import com.google.android.material.shape.MaterialShapeDrawable;
import com.google.android.material.shape.ShapeAppearanceModel;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.mvp.BaseModel;
import com.jess.arms.mvp.BasePresenter;
import java.util.Timer;
import java.util.concurrent.DelayQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.Future;
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import butterknife.BindView;
import io.reactivex.internal.schedulers.ScheduledDirectTask;
/**
* @作者: bin
* @創建時間: 2021-02-02 11:42
* @更新時間: 2021-02-02 11:42
* @描述:
*/
public class CoordinatorlayoutActivity extends BaseActivity{
// @BindView(R2.id.coordinator_layout)
CoordinatorLayout coordinatorLayout;
// @BindView(R2.id.fab)
FloatingActionButton fab;
// @BindView(R2.id.bar)
BottomAppBar bar;
// @BindView(R2.id.bottom_drawer)
// FrameLayout bottomDrawer;
// @BindView(R2.id.navigation_view)
// NavigationView navigationView;
private BottomSheetBehavior<View> bottomDrawerBehavior;
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.activitiy_coordinator;
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
coordinatorLayout = findViewById(R.id.coordinator_layout);
fab = findViewById(R.id.fab);
bar = findViewById(R.id.bar);
// bottomDrawer = findViewById(R.id.bottom_drawer);
// navigationView = findViewById(R.id.navigation_view);
setUpBottomDrawer();
setUpBottomAppBarShapeAppearance();
}
private void setUpBottomAppBarShapeAppearance() {
ShapeAppearanceModel fabShapeAppearanceModel = fab.getShapeAppearanceModel();
boolean cutCornersFab =
fabShapeAppearanceModel.getBottomLeftCorner() instanceof CutCornerTreatment
&& fabShapeAppearanceModel.getBottomRightCorner() instanceof CutCornerTreatment;
BottomAppBarTopEdgeTreatment topEdge =
cutCornersFab
? new BottomAppBarCutCornersTopEdge(
bar.getFabCradleMargin(),
bar.getFabCradleRoundedCornerRadius(),
bar.getCradleVerticalOffset())
: new BottomAppBarTopEdgeTreatment(
bar.getFabCradleMargin(),
bar.getFabCradleRoundedCornerRadius(),
bar.getCradleVerticalOffset());
MaterialShapeDrawable babBackground = (MaterialShapeDrawable) bar.getBackground();
babBackground.setShapeAppearanceModel(babBackground.getShapeAppearanceModel().toBuilder().setTopEdge(topEdge).build());
}
protected void setUpBottomDrawer() {
// bottomDrawerBehavior = BottomSheetBehavior.from(bottomDrawer);
// bottomDrawerBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
//
// bar.setNavigationOnClickListener(v -> bottomDrawerBehavior.setState(BottomSheetBehavior.STATE_HALF_EXPANDED));
// bar.setNavigationIcon(R.drawable.ic_add_have_border);
// bar.replaceMenu(R.menu.demo_primary);
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
}
package com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.MotionEvent;
import android.widget.Button;
import android.widget.Chronometer;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.common.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.order.order.BaseOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.BaseMealContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent;
import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.BaseMealPresenter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
import org.simple.eventbus.EventBus;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/10/2021 11:36
* <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 abstract class BaseMealActivity<P extends BaseMealPresenter> extends BaseFragmentActivity<P> implements BaseMealContract.View {
protected Chronometer ctime;
protected Button btnTable;
protected RecyclerView rvMealCart;
protected RecyclerView rvBillDetail;
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
recordOperat(true);
return super.dispatchTouchEvent(ev);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
ctime = findViewById(R.id.ctime);
btnTable = findViewById(R.id.btn_table);
rvMealCart = findViewById(R.id.rv_meal_cart);
rvBillDetail = findViewById(R.id.rv_bill_detail);
if (BaseOrder.isTableToMeal() && !MealOrder.getInstance().isModifyOrder()) {
//根据倒计时时间自动退出当前页面
initAutoQuit();
}
useMemberState();
}
protected void useMemberState(){
if (MealOrder.getInstance().getMemberInfo() != null) {
btnTable.setBackgroundResource(R.color.pink_300);
}else {
btnTable.setBackgroundColor(Color.parseColor("#336699"));
}
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
if (message != null)
LoadingDialog.showDialogForLoading(mContext, message, true);
else
LoadingDialog.showDialogForLoading(mContext);
}
@Override
public void hideLoading() {
LoadingDialog.cancelDialogForLoading();
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.makeText(mContext, message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
@Override
public void setMealCartAdapter(DefaultAdapter adapter) {
if (rvMealCart != null) {
rvMealCart.setAdapter(adapter);
}
}
@Override
public void setBillDetailAdapter(DefaultAdapter adapter) {
if (rvBillDetail != null) {
rvBillDetail.setAdapter(adapter);
}
}
@Override
public void onBackPressedSupport() {
returnTableActivity(true);
}
@Override
public void initAutoQuit() {
if (ctime == null) {
return;
}
ctime.setBase(SystemClock.elapsedRealtime());
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) {
ctime.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
// 执行一下看看是否按下了home键的线程
// 如果开始计时到现在超过了autoQuitTime秒
int autoQuitTime = GsaCloudApplication.functionConfiguration.getAutoQuitTimeVaule();
if (SystemClock.elapsedRealtime() - chronometer.getBase() > autoQuitTime * 1000) {
// 停止计时
chronometer.stop();
returnBeforeActivity(true);
}
}
});
}
//开启倒计时
ctime.start();
}
@Override
public void recordOperat(boolean isPressButtonSound) {
if (ctime == null) {
return;
}
if (isPressButtonSound) {
VibratorUtils.pressButtonSound(this);
}
//关闭倒计时
if (ctime != null) {
ctime.stop();
}
//重新开启倒计时
if (ctime != null) {
ctime.setBase(SystemClock.elapsedRealtime());
ctime.start();
}
}
@Override
public void returnTableActivity(boolean initTable) {
if (mPresenter.hasNesOrderFoods()) {
//没有过重复下单提示且有未送单食品,提示用户
String tip = LanguageUtils.get_language_system("food.not.delivered.tip", "有食品未送單, 確認離開?");
Class[] parameterTypes = {boolean.class};
Object[] parameters = {initTable};
CommonTipDialog.showSurpisedDialog(this, tip, BaseMealActivity.class, this,
"returnBeforeActivity", parameterTypes, parameters);
} else {
returnBeforeActivity(initTable);
}
}
@Override
public void returnBeforeActivity(boolean initTable) {
if (BaseOrder.isTableToMeal() && initTable && !MealOrder.getInstance().isModifyOrder()) {
TableBean.DataBean dataBean = MealOrder.getInstance().getOpenTableInfo();
if (dataBean != null) {
//通知更新餐台状态
EventBus.getDefault().post(new InitTableEvent(dataBean.getId(), dataBean.getTableNumber()), "initTable_status_event");
}
}
killMyself();
}
}
......@@ -97,7 +97,7 @@ public class MealSoldoutActivity extends BaseFragmentActivity<MealSoldoutPresent
RecyclerView recycle_combo;
@BindView(R2.id.ll_fine_item)
LinearLayout ll_fine_item;//细项操作
LinearLayout ll_fine_item;
@BindView(R2.id.tabSegment)
QMUITabSegment2 mTabSegment;
@BindView(R2.id.contentViewPager)
......@@ -109,15 +109,6 @@ public class MealSoldoutActivity extends BaseFragmentActivity<MealSoldoutPresent
TextView tv_restore;
@BindView(R2.id.tv_return)
TextView tv_return;
// @BindView(R2.id.btn_adddelete)
// Button btn_adddelete;
// @BindView(R2.id.btn_msg)
// Button btn_msg;
// @BindView(R2.id.btn_delete)
// Button btn_delete;
// @BindView(R2.id.btn_end)
// Button btn_end;
private int mCurrentViewMode;
private String[] mTypeItem = {"沽清控制-食品組", "沽清控制-食品", "沽清控制-細項"};
......@@ -652,21 +643,6 @@ public class MealSoldoutActivity extends BaseFragmentActivity<MealSoldoutPresent
}
@Override
public void initFineItemTabBarViewPage() {
}
@Override
public void showFoodLayoutVisibility() {
}
@Override
public void showFineItemLayoutVisibility() {
}
@Override
public void showTvRestore(boolean show) {
if (show) {
tv_restore.setVisibility(View.VISIBLE);
......
......@@ -207,10 +207,7 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
@Override
public void onTabSelected(int index) {
mCurrentFragmentIndex = index;
//頁面切換
// pagerAdapter.createFragment(index);
if (!mPageDataInit[index]) {
//未初始化數據,獲取數據
loadOrderList(getCurrentOrderFragment().getOrderType(), getStatusByFragmentIndex(), null, false);
}
mPageDataInit[mCurrentFragmentIndex] = true;
......@@ -268,7 +265,6 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
@Override
public void initIntent() {
}
@Override
......
......@@ -35,8 +35,8 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.presenter.order.OrderDetailPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderCenterDetailFoodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderCenterMoneyAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderCenterMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderCenterBillAdapter;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.jess.arms.base.BaseFragmentActivity;
......@@ -130,13 +130,13 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
private OrderManagerResponse mOrderDetailItem;
private List<OrderDetail> mOrderDetailList;
private OrderCenterDetailFoodAdapter mOrderCenterDetailFoodAdapter;
private OrderCenterMealAdapter mOrderCenterDetailFoodAdapter;
private List<SectionTextItem3> mOrderCenterDetailFoodList = new ArrayList<>();
private OrderCenterMoneyAdapter mOrderCenterMoneyAdapter;
private OrderCenterBillAdapter mOrderCenterMoneyAdapter;
private List<SectionTextItem3> mOrderCenterMoneyList = new ArrayList<>();
private OrderCenterMoneyAdapter mOrderDetailPayMethodAdapter;
private OrderCenterBillAdapter mOrderDetailPayMethodAdapter;
private List<SectionTextItem3> mOrderCenterPayMethodList = new ArrayList<>();
@Override
......@@ -257,19 +257,19 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
private void initOrderItemAdapter() {
if (mOrderCenterDetailFoodAdapter == null) {
mOrderCenterDetailFoodAdapter = new OrderCenterDetailFoodAdapter(mOrderCenterDetailFoodList);
mOrderCenterDetailFoodAdapter = new OrderCenterMealAdapter(mOrderCenterDetailFoodList);
recycler_food.setAdapter(mOrderCenterDetailFoodAdapter);
LinearLayoutManager allOrderRecycleLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recycler_food.setLayoutManager(allOrderRecycleLayoutManager);
}
if (mOrderDetailPayMethodAdapter == null) {
mOrderDetailPayMethodAdapter = new OrderCenterMoneyAdapter(mOrderCenterPayMethodList);
mOrderDetailPayMethodAdapter = new OrderCenterBillAdapter(mOrderCenterPayMethodList);
recycler_pay_method.setAdapter(mOrderDetailPayMethodAdapter);
LinearLayoutManager allOrderRecycleLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recycler_pay_method.setLayoutManager(allOrderRecycleLayoutManager);
}
if (mOrderCenterMoneyAdapter == null) {
mOrderCenterMoneyAdapter = new OrderCenterMoneyAdapter(mOrderCenterMoneyList);
mOrderCenterMoneyAdapter = new OrderCenterBillAdapter(mOrderCenterMoneyList);
recycler_order_moeny.setAdapter(mOrderCenterMoneyAdapter);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recycler_order_moeny.setLayoutManager(linearLayoutManager);
......
......@@ -39,7 +39,7 @@ import com.gingersoft.gsa.cloud.table.mvp.constant.TableActionConstant;
import com.gingersoft.gsa.cloud.table.mvp.action.table.PrintSkyorderAction;
import com.gingersoft.gsa.cloud.table.mvp.action.table.TableAction;
import com.gingersoft.gsa.cloud.table.mvp.presenter.table.TablePresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity2;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.table.RegionTableFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.table.InputTableFragment;
import com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter;
......@@ -169,7 +169,6 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
getTables(true, null);
}
@Subscriber(tag = "initTable_status_event")
private void notifyUpdateTableStatus(InitTableEvent tableEvent) {
mPresenter.initTable(tableEvent.getTableId(), tableEvent.getTableNumber(), false);
......@@ -386,7 +385,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override
public void startMealStandActivity() {
startActivity(new Intent(this, MealStandActivity2.class));
launchActivity(new Intent(this, MealStandActivity.class));
}
@Override
......@@ -394,7 +393,6 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
tv_table_action_content.setText(contentText);
}
@Override
public String getOperatContentText() {
return tv_table_action_content.getText().toString();
......@@ -412,9 +410,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
isRefreshData = false;
mPresenter.stopTablePolling();
//立刻停止獲取餐檯接口
if (mPresenter.getGetTablesDataDisposable() != null && !mPresenter.getGetTablesDataDisposable().isDisposed()) {
mPresenter.getGetTablesDataDisposable().dispose();
}
mPresenter.disposeGetTablesDataDisposable();
}
@Override
......
......@@ -3,11 +3,9 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity.table;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
......
......@@ -20,13 +20,6 @@ import java.util.List;
import butterknife.BindView;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2018/6/27
* 修订历史:2018/6/27
* 描述:
*/
public class BillItemAdapter extends DefaultAdapter<BillItem> {
......
......@@ -58,21 +58,6 @@ public class CurrentSlodoutFoodAdapter extends DefaultAdapter<SoldoutCtrFood> {
datasBeans.get(i).setSelected(0);
}
}
// for (int i = 0; i < datasBeans.size(); i++) {
// if (i == select_position) {
//// datasBeans.get(i).setSelected(1);
// if (datasBeans.get(i).getSelected() == 1) {
// datasBeans.get(i).setSelected(0);
// } else {
// datasBeans.get(i).setSelected(1);
// }
// } else {
// if (datasBeans.get(i).getSelected() == 0) {
// datasBeans.get(i).setSelected(0);
// }
// }
// }
}
@Override
......@@ -115,7 +100,6 @@ public class CurrentSlodoutFoodAdapter extends DefaultAdapter<SoldoutCtrFood> {
tv_name.setText("");
}
// tv_number.setText(String.valueOf(position + 1));
tv_number.setText("");
tv_value.setText(datasBean.getQtyName());
......@@ -151,11 +135,6 @@ public class CurrentSlodoutFoodAdapter extends DefaultAdapter<SoldoutCtrFood> {
}
}
public int getSelectPosition() {
return this.select_position;
}
private OnItemClickListener mOnItemClickListener;
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
......
......@@ -10,12 +10,10 @@ import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.xuexiang.rxutil2.RxBindingUtils;
import java.util.List;
import butterknife.BindView;
import io.reactivex.functions.Consumer;
/**
* 作者:ELEGANT_BIN
......@@ -25,14 +23,11 @@ import io.reactivex.functions.Consumer;
* 描述:
*/
public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
public class MealBillFunctionAdapter extends DefaultAdapter<Function> {
private Context mContext;
public OrderTopFunctionAdapter(Context context, List<Function> infos) {
public MealBillFunctionAdapter(Context context, List<Function> infos) {
super(infos);
this.mContext = context;
}
@Override
......@@ -47,7 +42,7 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
@Override
public int getLayoutId(int viewType) {
return R.layout.meal_order_top_function;
return R.layout.meal_bill_top_function;
}
class TopFunctionItemHolder extends BaseHolder<Function> {
......@@ -76,28 +71,23 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
btn_lable.setVisibility(View.INVISIBLE);
}
btn_name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn_name.setOnClickListener(v -> {
// RxBindingUtils.setViewClicks(v)
// .subscribe(new Consumer<Object>() {
//
// @Override
// public void accept(Object o) throws Exception {
if (onClickListener != null) {
onClickListener.onItemClick(v, datasBean);
}
if (onClickListener != null) {
onClickListener.onItemClick(v, datasBean);
}
// }
// });
}
});
btn_name.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (onClickListener != null)
onClickListener.onItemLongClick(v, datasBean);
return false;
btn_name.setOnLongClickListener(v -> {
if (onClickListener != null) {
onClickListener.onItemLongClick(v, datasBean);
}
return false;
});
}
}
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import android.view.View;
import android.view.ViewGroup;
import java.util.List;
import androidx.viewpager.widget.PagerAdapter;
public class MyViewPagerAdapter extends PagerAdapter {
private List<View> viewList;//View就二十GridView
public MyViewPagerAdapter(List<View> viewList) {
this.viewList = viewList;
}
@Override
public int getCount() {
return viewList != null ? viewList.size() : 0;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
/**
* 将当前的View添加到ViewGroup容器中
* 这个方法,return一个对象,这个对象表明了PagerAdapter适配器选择哪个对象放在当前的ViewPage上
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(viewList.get(position));
return viewList.get(position);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
......@@ -83,23 +83,6 @@ public class OrderCenterAdapter extends DefaultAdapter<OrderManagerResponse> {
@BindView(R2.id.tv_pay_money)
TextView tv_pay_money;
// @BindView(R2.id.btn_print_order)
// QMUIAlphaButton btn_print_order;
// @BindView(R2.id.btn_tips)
// QMUIAlphaButton btn_tips;
// @BindView(R2.id.btn_refund)
// QMUIAlphaButton btn_refund;
// @BindView(R2.id.btn_modify_order)
// QMUIAlphaButton btn_modify_order;
// @BindView(R2.id.btn_cancel_order)
// QMUIAlphaButton btn_cancel_order;
// @BindView(R2.id.btn_order_status)
// QMUIAlphaButton btn_order_status;
// @BindView(R2.id.ll_bottom)
// LinearLayout ll_bottom;
// @BindView(R2.id.ll_pos_bottom)
// LinearLayout ll_pos_bottom;
@BindView(R2.id.horizontal_dividing_line)
View horizontal_dividing_line;
@BindView(R2.id.tv_reload_exception_status)
......
......@@ -8,10 +8,10 @@ import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import java.util.List;
public class OrderCenterMoneyAdapter extends BaseQuickAdapter<SectionTextItem3, BaseViewHolder> {
public class OrderCenterBillAdapter extends BaseQuickAdapter<SectionTextItem3, BaseViewHolder> {
public OrderCenterMoneyAdapter(@Nullable List<SectionTextItem3> data) {
super(R.layout.item_order_detail_pay_method, data);
public OrderCenterBillAdapter(@Nullable List<SectionTextItem3> data) {
super(R.layout.item_order_detail_bill, data);
}
@Override
......@@ -23,7 +23,6 @@ public class OrderCenterMoneyAdapter extends BaseQuickAdapter<SectionTextItem3,
helper.setText(R.id.tv_money, "$" + item.getRightText());
}
helper.setText(R.id.tv_name, String.valueOf(item.getLeftText()));
TextView tv_name = helper.getView(R.id.tv_name);
TextView tv_money = helper.getView(R.id.tv_money);
tv_name.setTextAppearance(getContext(), item.getLeftTextStyle());
......
......@@ -7,10 +7,10 @@ import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import java.util.List;
public class OrderCenterDetailFoodAdapter extends BaseQuickAdapter<SectionTextItem3, BaseViewHolder> {
public class OrderCenterMealAdapter extends BaseQuickAdapter<SectionTextItem3, BaseViewHolder> {
public OrderCenterDetailFoodAdapter(@Nullable List<SectionTextItem3> data) {
super(R.layout.item_order_detail_food, data);
public OrderCenterMealAdapter(@Nullable List<SectionTextItem3> data) {
super(R.layout.item_order_detail_meal, data);
}
@Override
......
......@@ -141,23 +141,14 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
private void initItemData(TableBean.DataBean item) {
btn_table.setText(item.getTableName());
// if (item.getServiceCharge() > 0) {
// tv_service_fee.setText(item.getServiceCharge() + "%");
// tv_service_fee.setVisibility(View.VISIBLE);
// } else {
tv_service_fee.setVisibility(View.GONE);
// }
if (item.getStatus() != 0) {
int person = 0;
if (item.getPerson() != 0) {
person = item.getPerson();
}
int person = item.getScanPerson() != null ? item.getScanPerson() : item.getPerson();
tv_people.setVisibility(View.VISIBLE);
tv_people.setText(person + "人");
String createDate = item.getCreateTime();
if (!TextUtils.isEmpty(createDate)) {
LogUtil.d(TAG, "tableName: " + item.getTableName() + " " + "createDate: " + createDate);
try {
Date date = new Date(createDate);
String createTime = TimeUtils.getStringByFormat(date, TimeUtils.DEFAULT_DATE_FORMAT);
......
......@@ -14,7 +14,7 @@ import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealBillActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity;
import com.jess.arms.base.BaseHolder;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.utils.ArmsUtils;
......@@ -22,7 +22,6 @@ import org.simple.eventbus.EventBus;
import java.util.List;
import butterknife.BindView;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
......@@ -428,7 +427,7 @@ public class MealCartAdapter extends DefaultAdapter<OrderDetail> {
setSelectPosition(select_position);
int[] viewModes = {MealConstant.food_group_ViewMode, MealConstant.food_ViewMode};
EventBus.getDefault().post(viewModes, SetMealFragment.SET_CURR_LAYOUT_EVENT);
EventBus.getDefault().post(viewModes, MealStandActivity.SET_CURR_LAYOUT_EVENT);
// mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
}
......@@ -476,7 +475,7 @@ public class MealCartAdapter extends DefaultAdapter<OrderDetail> {
setSelectPosition(select_position);
int[] viewModes = {MealConstant.food_group_ViewMode, MealConstant.food_ViewMode};
EventBus.getDefault().post(viewModes, SetMealFragment.SET_CURR_LAYOUT_EVENT);
EventBus.getDefault().post(viewModes, MealStandActivity.SET_CURR_LAYOUT_EVENT);
// if (mMealStandActivity != null) {
// mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
// }
......
......@@ -222,6 +222,7 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
@Override
public void killMyself() {
pop();
super.onBackPressedSupport();
}
......@@ -239,7 +240,7 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
List<TagViewItem> tagViewItems = new ArrayList<>();
for (MemberWalletCoupon coupon : memberCoupons) {
TagViewItem<MemberWalletCoupon> tagViewItem = new TagViewItem();
tagViewItem.setId(coupon.getId());
tagViewItem.setId(coupon.getCouponId());
tagViewItem.setText(coupon.getCouponTypeName());
tagViewItem.setTargetObj(coupon);
tagViewItems.add(tagViewItem);
......
......@@ -13,38 +13,29 @@ import android.view.WindowManager;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.ui.adapter.IQMUIFragmentPagerAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter;
import com.gingersoft.gsa.cloud.ui.utils.QMUITabSegmentUtils;
import com.jess.arms.base.BaseDialogFragment;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.mvp.BasePresenter;
import com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter;
import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.tab.QMUITab;
import com.qmuiteam.qmui.widget.tab.QMUITabBuilder;
import com.qmuiteam.qmui.widget.tab.QMUITabIndicator;
import com.qmuiteam.qmui.widget.tab.QMUITabSegment;
import com.qmuiteam.qmui.widget.tab.QMUITabSegment2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import butterknife.BindView;
......@@ -60,7 +51,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
@BindView(R2.id.tabSegment)
QMUITabSegment2 tabSegment;
@BindView(R2.id.contentViewPager)
@BindView(R2.id.viewPager)
ViewPager2 contentViewPager;
@BindView(R2.id.ll_container)
QMUILinearLayout llContainer;
......@@ -110,7 +101,6 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
@Override
public void setData(@Nullable Object data) {
}
private void initTabAndPager() {
......@@ -122,7 +112,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
.build(mContext);
tabSegment.addTab(tab1);
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
MemberInfo memberInfo = MealOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
mTabList.add("會員錢包");
QMUITab tab2 = builder
......@@ -167,7 +157,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
}
});
fragments.add(billDiscountFragment);
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
MemberInfo memberInfo = MealOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
couponFragment = CouponFragment.newInstance(CouponFragment.BILL_LIMIT_DISCOUNT);
couponFragment.setOnCouponItemClickListener(new CouponFragment.OnCouponItemClickListener() {
......
......@@ -9,17 +9,15 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.ui.adapter.IQMUIFragmentPagerAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter;
import com.gingersoft.gsa.cloud.ui.utils.QMUITabSegmentUtils;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
......@@ -28,22 +26,15 @@ import com.jess.arms.di.component.AppComponent;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter;
import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.tab.QMUITab;
import com.qmuiteam.qmui.widget.tab.QMUITabBuilder;
import com.qmuiteam.qmui.widget.tab.QMUITabIndicator;
import com.qmuiteam.qmui.widget.tab.QMUITabSegment;
import com.qmuiteam.qmui.widget.tab.QMUITabSegment2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import butterknife.BindView;
......@@ -141,7 +132,7 @@ public class DiscountFragment extends BaseFragment<BasePresenter> implements IVi
}
});
fragments.add(billDiscountFragment);
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
MemberInfo memberInfo = MealOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
couponFragment = CouponFragment.newInstance(CouponFragment.FOOD_LIMIT_DISCOUNT);
couponFragment.setOnCouponItemClickListener((item, position) -> {
......@@ -157,7 +148,7 @@ public class DiscountFragment extends BaseFragment<BasePresenter> implements IVi
private List<String> getTabTitles() {
List<String> tabList = new ArrayList<>();
tabList.add("折扣");
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
MemberInfo memberInfo = MealOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
tabList.add("會員錢包");
}
......@@ -199,7 +190,8 @@ public class DiscountFragment extends BaseFragment<BasePresenter> implements IVi
@Override
public void killMyself() {
_mActivity.onBackPressedSupport();
pop();
super.onBackPressedSupport();
}
public interface OnDiscountItemClickListener {
......
......@@ -139,6 +139,7 @@ public class NomalDiscountFragment extends BaseFragment<NomalDiscountPresenter>
@Override
public void killMyself() {
pop();
super.onBackPressedSupport();
}
......
......@@ -9,11 +9,10 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;
import androidx.viewpager2.widget.ViewPager2;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerMealDiscountComponent;
......@@ -21,7 +20,6 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.MealDiscountContract;
import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealDiscountPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.CouponFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.NomalDiscountFragment;
import com.gingersoft.gsa.cloud.ui.adapter.TabFragmentAdapter;
import com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter;
import com.gingersoft.gsa.cloud.ui.view.MyTableView;
import com.google.android.material.tabs.TabLayout;
......@@ -29,13 +27,10 @@ import com.google.android.material.tabs.TabLayoutMediator;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.widget.tab.QMUITab;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -91,7 +86,7 @@ public class MealDiscountFragment extends BaseFragment<MealDiscountPresenter> im
private void initViewPager() {
List<Fragment> fragments = new ArrayList<>();
fragments.add(NomalDiscountFragment.newInstance());
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
MemberInfo memberInfo = MealOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
fragments.add(CouponFragment.newInstance(CouponFragment.FOOD_LIMIT_DISCOUNT));
}
......
......@@ -14,7 +14,7 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerMealFineAllComponent;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.event.LoadFineEvent;
import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealFineAllPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.MealCartAdapter;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent;
......@@ -113,7 +113,7 @@ public class MealFineAllFragment extends BaseFragment<MealFineAllPresenter> impl
final int selectedMode = fineEvent.getSelectedMode();
final List<SoldoutCtrFood> soldoutCtrFoods = fineEvent.getSoldoutCtrFoods();
if (productId != 0) {
if (selectedMode == SelectMealAdapter.SINGLE_SELECTED) {
if (selectedMode == MealCartAdapter.SINGLE_SELECTED) {
if (currFinePage == 1) {
loadModSasteData(productId);
} else {
......
......@@ -17,6 +17,7 @@ import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerMealFineComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealFineContract;
import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealFinePresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity;
import com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter;
import com.gingersoft.gsa.cloud.ui.utils.QMUITabSegmentUtils;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
......@@ -167,9 +168,6 @@ public class MealFineFragment extends BaseFragment<MealFinePresenter> implements
@Override
public void killMyself() {
SetMealFragment childFragment = findChildFragment(SetMealFragment.class);
checkNotNull(childFragment);
childFragment.backFoodViewMode();
}
......
......@@ -25,14 +25,14 @@ import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.scan.ScanHelper;
import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.order.order.MealOrder;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerRiceponMemberDialogComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.RiceponMemberDialogContract;
import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.RiceponMemberDialogPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealBillActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.meal.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.MemberInfoAdapter;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
......@@ -286,7 +286,7 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
if (TextUtils.isEmpty(qrCodeResult)) {
return;
}
TableBean.DataBean dataBean = DoshokuOrder.getInstance().getOpenTableInfo();
TableBean.DataBean dataBean = MealOrder.getInstance().getOpenTableInfo();
mPresenter.queryMember(1, qrCodeResult, RestaurantInfoManager.newInstance().getGsPosShopId(), dataBean.getId(), dataBean.getTableNumber());
}
}
......
......@@ -157,7 +157,6 @@ public class InputTableFragment extends BaseFragment<InputTablePresenter> implem
}
});
// ed_value.setOnFocusChangeListener(mOnFocusChangeListener);
}
private View.OnFocusChangeListener mOnFocusChangeListener = new View.OnFocusChangeListener() {
......
......@@ -63,7 +63,6 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
*/
public class RegionTableFragment extends BaseFragment<RegionTablePresenter> implements RegionTableContract.View {
@BindView(R2.id.refreshLayout)
SmartRefreshLayout refreshLayout;
@BindView(R2.id.recycle_all_table)
......@@ -305,21 +304,8 @@ public class RegionTableFragment extends BaseFragment<RegionTablePresenter> impl
initAllTableRecycleViewLayout();
}
private GridLayoutManager mAllTableRecycleLayoutManager;
private void initAllTableRecycleViewLayout() {
// if (GSAApplication.androidSetting.getTableDirection() == 2) { //横向展示
// mAllTableRecycleLayoutManager = new GridLayoutManager(getActivity(), 5, LinearLayoutManager.HORIZONTAL, false);
// recycle_all_table.setLayoutManager(mAllTableRecycleLayoutManager);
// recycle_all_table.setItemAnimator(new DefaultItemAnimator());
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
// } else {
mAllTableRecycleLayoutManager = new GridLayoutManager(mContext, 4, LinearLayoutManager.VERTICAL, false);
recycle_all_table.setLayoutManager(mAllTableRecycleLayoutManager);
// recycle_all_table.addItemDecoration(new GridDividerItemDecoration(ArmsUtils.dip2px(getActivity(),1), ArmsUtils.getColor(getActivity(), R.color.theme_grey_color)));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.HORIZONTAL));
// recycle_all_table.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
// }
GridLayoutManager gridLayoutManager = new GridLayoutManager(mContext, 4, LinearLayoutManager.VERTICAL, false);
recycle_all_table.setLayoutManager(gridLayoutManager);
}
}
......@@ -35,13 +35,6 @@ public class ChooseNumberDialog {
@BindView(R2.id.ll_container)
LinearLayout ll_container;
// @BindView(R2.id.rl_head)
// RelativeLayout rl_head;
// @BindView(R2.id.ib_back_page)
// ImageButton ib_back_page;
// @BindView(R2.id.tv_title)
// TextView tv_title;
@BindView(R2.id.ed_value)
EditText ed_value;
@BindView(R2.id.btn_0)
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/fl_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Chronometer
android:id="@+id/ctime"
android:layout_width="0dp"
android:layout_height="0dp"
android:text="Chronometer" />
<include layout="@layout/meal_layout_food_plate"/>
<include layout="@layout/meal_layout_food_menu"/>
</LinearLayout>
\ No newline at end of file
<include layout="@layout/meal_layout_stand_bottom" />
</RelativeLayout>
\ No newline at end of file
......@@ -120,7 +120,7 @@
app:spanCount="3" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_food"
android:id="@+id/rv_meal_cart"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
......@@ -143,7 +143,7 @@
android:textStyle="bold" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_order_detail"
android:id="@+id/rv_bill_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@null"
......
......@@ -10,8 +10,6 @@
android:id="@+id/ctime"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="Chronometer" />
<LinearLayout
......@@ -101,7 +99,7 @@
android:background="@color/app_color_theme_1"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_food"
android:id="@+id/rv_meal_cart"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
......@@ -123,7 +121,7 @@
android:gravity="right|center_vertical"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_order_detail"
android:id="@+id/rv_bill_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@null"
......@@ -135,136 +133,4 @@
android:id="@+id/gsa_pay_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<!-- <LinearLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="@dimen/dp_45"-->
<!-- android:orientation="horizontal"-->
<!-- android:background="#006666"-->
<!-- android:padding="@dimen/dp_5">-->
<!-- <RelativeLayout-->
<!-- android:id="@+id/fl_order_content"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_height="match_parent"-->
<!-- android:layout_weight="1">-->
<!-- <TextView-->
<!-- android:id="@+id/tv_total_text"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="match_parent"-->
<!-- android:text="Total:"-->
<!-- android:textSize="@dimen/sp_22"-->
<!-- android:textStyle="bold"-->
<!-- android:layout_gravity="left"-->
<!-- android:textColor="@color/theme_white_color"-->
<!-- android:paddingRight="@dimen/dp_10"-->
<!-- android:gravity="right|center_vertical"/>-->
<!-- <Button-->
<!-- android:id="@+id/btn_order_count"-->
<!-- android:layout_width="30dp"-->
<!-- android:layout_height="30dp"-->
<!-- android:background="@drawable/ui_shape_red_oval"-->
<!-- android:singleLine="true"-->
<!-- android:gravity="center"-->
<!-- android:text=""-->
<!-- android:layout_margin="@dimen/dp_2"-->
<!-- android:layout_toRightOf="@+id/tv_total_text"-->
<!-- android:visibility="invisible"-->
<!-- android:textColor="@color/theme_white_color" />-->
<!-- </RelativeLayout>-->
<!-- <TextView-->
<!-- android:id="@+id/tv_total"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_weight="1"-->
<!-- android:layout_height="match_parent"-->
<!-- android:text="$1328.0"-->
<!-- android:textSize="@dimen/sp_22"-->
<!-- android:textStyle="bold"-->
<!-- android:layout_gravity="right"-->
<!-- android:textColor="@color/theme_white_color"-->
<!-- android:paddingRight="@dimen/dp_8"-->
<!-- android:gravity="right|center_vertical"/>-->
<!-- </LinearLayout>-->
<!-- <com.gingersoft.gsa.cloud.ui.view.MaxHeightRecyclerView-->
<!-- android:id="@+id/rv_bill_money"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:divider="@null"-->
<!-- android:fadeScrollbars="false"-->
<!-- android:orientation="vertical"-->
<!-- android:background="@color/theme_background_color"-->
<!-- app:maxHeight="@dimen/dp_80"-->
<!-- app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />-->
<!-- <RelativeLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:background="@color/yellow"-->
<!-- android:padding="@dimen/dp_5">-->
<!-- <TextView-->
<!-- android:id="@+id/tv_difference_name"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="尚欠:"-->
<!-- android:textSize="@dimen/sp_20"-->
<!-- android:textStyle="bold" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv_difference_money"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentRight="true"-->
<!-- android:textColor="@color/red"-->
<!-- android:textSize="@dimen/sp_20"-->
<!-- android:textStyle="bold" />-->
<!-- </RelativeLayout>-->
<!-- <com.gingersoft.gsa.cloud.ui.view.MaxHeightRecyclerView-->
<!-- android:id="@+id/rv_bill_method"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:divider="@null"-->
<!-- android:fadeScrollbars="false"-->
<!-- android:orientation="vertical"-->
<!-- app:maxHeight="@dimen/dp_100"-->
<!-- app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"-->
<!-- app:spanCount="4"/>-->
<!-- <LinearLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:padding="@dimen/dp_1"-->
<!-- android:orientation="horizontal">-->
<!-- <com.qmuiteam.qmui.alpha.QMUIAlphaButton-->
<!-- android:id="@+id/btn_keypad"-->
<!-- android:layout_width="@dimen/dp_100"-->
<!-- android:layout_height="match_parent"-->
<!-- android:background="#2F6666"-->
<!-- android:text="Keypad"-->
<!-- android:textColor="@color/theme_white_color"/>-->
<!-- <com.qmuiteam.qmui.alpha.QMUIAlphaButton-->
<!-- android:id="@+id/btn_exact"-->
<!-- android:layout_width="@dimen/dp_100"-->
<!-- android:layout_height="match_parent"-->
<!-- android:background="#315FC5"-->
<!-- android:layout_marginLeft="@dimen/dp_1"-->
<!-- android:text="Exact"-->
<!-- android:textColor="@color/theme_white_color"/>-->
<!-- <com.qmuiteam.qmui.alpha.QMUIAlphaButton-->
<!-- android:id="@+id/btn_sure_pay"-->
<!-- android:layout_width="0dp"-->
<!-- android:layout_weight="1"-->
<!-- android:layout_marginLeft="@dimen/dp_1"-->
<!-- android:layout_height="match_parent"-->
<!-- android:background="@color/Grass_green"-->
<!-- android:text="確認"-->
<!-- android:textColor="@color/theme_white_color"/>-->
<!-- </LinearLayout>-->
</LinearLayout>
\ No newline at end of file
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