Commit 29e0b2b3 by 宁斌

1、餐牌頁結構調整 2、支付類名調整

parent bb53a46a
......@@ -124,7 +124,7 @@ dependencies {
addComponent 'component-delivery-pick'
addComponent 'component-manager'
addComponent 'component-coldchain'
addComponent 'component-supply-chain'
// addComponent 'component-supply-chain'
addComponent 'component-webview'
addComponent 'component-scan'
addComponent 'component-pay'
......
......@@ -17,15 +17,12 @@ import android.view.animation.ScaleAnimation;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.viewpager2.widget.ViewPager2;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.bean.BaseResultOld;
import com.gingersoft.gsa.cloud.common.core.login.LoginBean;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.user.UserConstans;
......
......@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.main.mvp.model.bean;
import java.io.Serializable;
import java.util.List;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
......@@ -10,9 +12,9 @@ import java.util.List;
* 修订历史:2020-03-05
* 描述:
*/
@Data
public class SendSettlement {
/**
* success : true
* sysTime : 1583402463139
......@@ -25,139 +27,26 @@ public class SendSettlement {
private long sysTime;
private DataBean data;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getErrCode() {
return errCode;
}
public void setErrCode(String errCode) {
this.errCode = errCode;
}
public String getErrMsg() {
return errMsg;
}
public void setErrMsg(String errMsg) {
this.errMsg = errMsg;
}
public long getSysTime() {
return sysTime;
}
public void setSysTime(long sysTime) {
this.sysTime = sysTime;
}
public DataBean getData() {
return data;
}
public void setData(DataBean data) {
this.data = data;
}
@Data
public static class DataBean {
/**
* msg : 仍有臺號未結賬,請先結賬;
* table : ["外4","外2","外1","ceshitai1*","51533","51536","外5","外賣台2","509","510","511","51512","外賣台","102","51534","51531","51529","107","103","21","11A","10A","10","9","8","7","4"]
*/
private String msg;
private List<String> table;
//未完結的外賣自取訂單號
private String orderNo;
private String type1;
private String type2;
private String type3;
private List<DateNumBean> dateNum;
private String errCode;
public String getType1() {
return type1;
}
public void setType1(String type1) {
this.type1 = type1;
}
public String getType2() {
return type2;
}
public void setType2(String type2) {
this.type2 = type2;
}
public String getType3() {
return type3;
}
public void setType3(String type3) {
this.type3 = type3;
}
public List<DateNumBean> getDateNum() {
return dateNum;
}
public void setDateNum(List<DateNumBean> dateNum) {
this.dateNum = dateNum;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public List<String> getTable() {
return table;
}
public void setTable(List<String> table) {
this.table = table;
}
public String getErrCode() {
return errCode;
}
public void setErrCode(String errCode) {
this.errCode = errCode;
}
@Data
public static class DateNumBean implements Serializable {
private String date;
private int num;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
}
}
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import android.app.Activity;
import android.app.Application;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.settlement.SettlementReport;
......@@ -198,6 +199,11 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
// CommonTipDialog.showDoubtDialog(IActivity, "今天已清機過,是否合併清機", SettlementReportPresenter.class, SettlementReportPresenter.this,
// "sendSettlement", parameterTypes, parameters);
showMergeSettlementDialog(IActivity, "今天已清機過,是否合併清機");
} else if (info.getErrCode().equals("restaurant.operation.0007")) {
SendSettlement.DataBean data = info.getData();
if (data != null) {
showSettlementErrorDialog(info.getErrMsg() + ",清機失敗,仍有訂單未完結,請先結賬\n" + data.getOrderNo());
}
} else {
if (!TextUtils.isEmpty(info.getErrMsg())) {
showSettlementErrorDialog(info.getErrMsg() + ",清機失敗");
......
package com.joe.print.mvp.print;
import android.util.SparseArray;
import com.gingersoft.gsa.cloud.common.constans.PrintConstans;
/**
* @作者: bin
* @創建時間: 2021-03-26 18:23
* @更新時間: 2021-03-26 18:23
* @描述:
*/
public class PrinterFactory {
private static SparseArray<PrinterRoot> mPrinters = new SparseArray<>();
static {
mPrinters.put(PrintConstans.PRINT_TEST, new PrintTest());
mPrinters.put(PrintConstans.PRINT_SERVE, new PrintServe());
mPrinters.put(PrintConstans.PRINT_SLIP, new PrintSlip());
mPrinters.put(PrintConstans.PRINT_BILL, new PrintBill());
mPrinters.put(PrintConstans.PRINT_KITCHEN, new PrintPrjKitchen());
mPrinters.put(PrintConstans.PRINT_CLEAN_MACHINE, new PrintCleanMachine());
mPrinters.put(PrintConstans.PRINT_OTHER_ORDER, new PrintOtherOrder());
mPrinters.put(PrintConstans.PRINT_INSTRUCTION, new PrintInstruction());
mPrinters.put(PrintConstans.PRINT_OTHER_CLOSING, new PrintOtherOrderClosing());
mPrinters.put(PrintConstans.PRINT_SKYORDER_QRCODE, new PrintQRCode());
}
public static PrinterRoot create(int type){
PrinterRoot printerRoot = mPrinters.get(type);
return printerRoot;
}
}
......@@ -108,24 +108,9 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintExecut
final static String DELIMITER = "/";//將打印位置區分開來。。。。,暫時只有廚房單用到
private static SparseArray<PrinterRoot> mPrinterStrategy = new SparseArray<>();
static {
mPrinterStrategy.put(PrintConstans.PRINT_TEST, new PrintTest());
mPrinterStrategy.put(PrintConstans.PRINT_SERVE, new PrintServe());
mPrinterStrategy.put(PrintConstans.PRINT_SLIP, new PrintSlip());
mPrinterStrategy.put(PrintConstans.PRINT_BILL, new PrintBill());
mPrinterStrategy.put(PrintConstans.PRINT_KITCHEN, new PrintPrjKitchen());
mPrinterStrategy.put(PrintConstans.PRINT_CLEAN_MACHINE, new PrintCleanMachine());
mPrinterStrategy.put(PrintConstans.PRINT_OTHER_ORDER, new PrintOtherOrder());
mPrinterStrategy.put(PrintConstans.PRINT_INSTRUCTION, new PrintInstruction());
mPrinterStrategy.put(PrintConstans.PRINT_OTHER_CLOSING, new PrintOtherOrderClosing());
mPrinterStrategy.put(PrintConstans.PRINT_SKYORDER_QRCODE, new PrintQRCode());
}
public static PrinterRoot getPrinterByType(int type, PrintContent content) {
if (mPrinterStrategy.indexOfKey(type) >= 0) {
PrinterRoot printerRoot = mPrinterStrategy.get(type);
PrinterRoot printerRoot = PrinterFactory.create(type);
if (printerRoot != null) {
printerRoot.setPrintContent(content);
return printerRoot;
}
......@@ -708,6 +693,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintExecut
if (data.getPHONE() != null && data.getPHONE().length() > 0) {
tvMemberPhone.setText("會員電話:" + getReplaceAfter(data.getPHONE()));
}
// tvMemberNum.setText("會員號碼: "+data.get());
ll_member_info.setVisibility(View.VISIBLE);
} else {
ll_member_info.setVisibility(View.GONE);
......
......@@ -32,9 +32,9 @@ public abstract class MealDiscountModule {
@Binds
abstract MealDiscountContract.Model bindMealDiscountModel(MealDiscountModel model);
@FragmentScope
@Provides
static List<String> provideTabTitleList(){
return new ArrayList<>();
}
// @FragmentScope
// @Provides
// static List<String> provideTabTitleList(){
// return new ArrayList<>();
// }
}
\ No newline at end of file
......@@ -144,12 +144,12 @@ public abstract class SetMealModule {
return new ModifierAdapter(IView.getActivity2(), modifierList);
}
@FragmentScope
@Provides
@Named("foodGridLayoutManager")
static GridLayoutManager provideFoodRecycleLayoutManager(SetMealContract.View IView) {
return new GridLayoutManager(IView.getActivity2(), 1, LinearLayoutManager.HORIZONTAL, false);
}
// @FragmentScope
// @Provides
// @Named("foodGridLayoutManager")
// static GridLayoutManager provideFoodRecycleLayoutManager(SetMealContract.View IView) {
// return new GridLayoutManager(IView.getActivity2(), 1, LinearLayoutManager.HORIZONTAL, false);
// }
@FragmentScope
@Provides
......
package com.gingersoft.gsa.cloud.table.mvp.action.meal;
/**
* @作者: bin
* @創建時間: 2021-04-27 16:31
* @更新時間: 2021-04-27 16:31
* @描述:
*/
public class PrinterAction {
}
......@@ -90,7 +90,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
}
}
RequestParms build = RequestParms.builder()
RequestParms build = RequestParms.builder()
.action(PayAction.REFUND)
.orderId(DoshokuOrder.getInstance().getOrderId())
.resturantId(RestaurantInfoManager.newInstance().getRestaurantId())
......
......@@ -6,7 +6,7 @@ import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -36,11 +36,11 @@ public interface BaseOrderContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<BaseResult> toOrderPay(RequestBody requestBody);
Single<BaseResult> toOrderPay(RequestBody requestBody);
Observable<BaseResult> updateOrder(RequestBody formBody);
Single<BaseResult> updateOrder(RequestBody formBody);
Observable<BaseOrderResponse> calculationPrice(long orderId);
Single<BaseOrderResponse> calculationPrice(long orderId);
}
}
......@@ -11,6 +11,8 @@ import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
import io.reactivex.Single;
/**
* ================================================
......@@ -46,13 +48,13 @@ public interface FineChildAllContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
List<Modifier> queryDB_ModifierByModMsgAndVisibleQueryBuilder();
Single<List<Modifier>> queryDB_ModifierByModMsgAndVisibleQueryBuilder();
List<Modifier> queryDB_ModifierByModModTasteVisibleQueryBuilder();
Single<List<Modifier>> queryDB_ModifierByModModTasteVisibleQueryBuilder();
List<Modifier> queryDB_ModifierByModModCommVisibleQueryBuilder();
Single<List<Modifier>> queryDB_ModifierByModModCommVisibleQueryBuilder();
List<Modifier> queryDB_ModifierByTopidAndVisibleQueryBuilder(long fid);
Single<List<Modifier>> queryDB_ModifierByTopidAndVisibleQueryBuilder(long fid);
}
}
......@@ -10,6 +10,8 @@ import com.jess.arms.mvp.IModel;
import java.util.List;
import io.reactivex.Single;
/**
* ================================================
......@@ -40,8 +42,8 @@ public interface FineChildOneselfContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
List<Modifier> queryDB_ModifierList(long fid, int mode);
Single<List<Modifier>> queryDB_ModifierList(long fid, int mode);
List<ComboItem> queryDB_ComboList(long fid);
Single<List<ComboItem>> queryDB_ComboList(long fid);
}
}
......@@ -19,7 +19,7 @@ import com.jess.arms.base.DefaultAdapter;
import java.util.List;
import androidx.recyclerview.widget.RecyclerView;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -120,25 +120,25 @@ public interface MealStandContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Observable<BaseResult> createOrder(RequestBody requestBody);
Single<BaseResult> createOrder(RequestBody requestBody);
Observable<BaseResult> addFood(RequestBody requestBody);
Single<BaseResult> addOrderFood(RequestBody requestBody);
Observable<BaseOrderResponse> loadOrder(long orderId);
Single<BaseOrderResponse> loadOrder(long orderId);
Observable<BaseOrderResponse> deleteFood(RequestBody requestBody);
Single<BaseOrderResponse> deleteFood(RequestBody requestBody);
Observable<BaseOrderResponse> printOrder(RequestBody requestBody);
Single<BaseOrderResponse> printOrder(RequestBody requestBody);
Observable<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type);
Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type);
Single<BaseResult> queryMember(int type, String parm, String shopName, int tableId, String tableNumber);
Observable<BaseResult> memberUse(int tableId, String tableNumber, long memberId);
Single<BaseResult> memberUse(int tableId, String tableNumber, long memberId);
Observable<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId);
Single<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId);
List<Food> queryDB_AllFoodList();
......
......@@ -19,7 +19,7 @@ import com.jess.arms.base.DefaultAdapter;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -54,25 +54,25 @@ public interface MealStandContract2 {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Observable<BaseResult> createOrder(RequestBody requestBody);
Single<BaseResult> createOrder(RequestBody requestBody);
Observable<BaseResult> addFood(RequestBody requestBody);
Single<BaseResult> addOrderFood(RequestBody requestBody);
Observable<BaseOrderResponse> loadOrder(long orderId);
Single<BaseOrderResponse> loadOrder(long orderId);
Observable<BaseOrderResponse> deleteFood(RequestBody requestBody);
Single<BaseOrderResponse> deleteFood(RequestBody requestBody);
Observable<BaseOrderResponse> printOrder(RequestBody requestBody);
Single<BaseOrderResponse> printOrder(RequestBody requestBody);
Observable<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type);
Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type);
Single<BaseResult> queryMember(int type, String parm, String shopName, int tableId, String tableNumber);
Observable<BaseResult> memberUse(int tableId, String tableNumber, long memberId);
Single<BaseResult> memberUse(int tableId, String tableNumber, long memberId);
Observable<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId);
Single<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId);
List<Food> queryDB_AllFoodList();
......
......@@ -9,6 +9,8 @@ import com.kingja.loadsir.callback.Callback;
import java.util.List;
import io.reactivex.Single;
/**
* ================================================
......@@ -30,6 +32,6 @@ public interface NomalDiscountContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
Single<List<Discount>> queryDB_DiscountList(byte discountScope, byte discountType);
}
}
......@@ -8,7 +8,7 @@ import com.jess.arms.mvp.IModel;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
/**
......@@ -47,9 +47,9 @@ public interface OrderCenterContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<BaseResult> loadOrderList(int restaurantId, String orderType,String status, int pageIndex, int pageSize);
Single<BaseResult> loadOrderList(int restaurantId, String orderType,String status, int pageIndex, int pageSize);
Observable<BaseResult> cancelOrder(long orderId, int restaurantId, String orderType,String status);
Single<BaseResult> cancelOrder(long orderId, int restaurantId, String orderType,String status);
}
}
......@@ -10,7 +10,8 @@ import com.jess.arms.base.DefaultAdapter;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -73,22 +74,22 @@ public interface OrderContentContract {
// List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
Observable<BaseOrderResponse> createOrder(RequestBody requestBody);
Single<BaseOrderResponse> createOrder(RequestBody requestBody);
Observable<BaseOrderResponse> addFood(RequestBody requestBody);
Single<BaseOrderResponse> addOrderFood(RequestBody requestBody);
Observable<BaseOrderResponse> loadOrder(long orderId);
Single<BaseOrderResponse> loadOrder(long orderId);
Observable<BaseOrderResponse> printOrder(RequestBody request);
Single<BaseOrderResponse> printOrder(RequestBody request);
Observable<TableBean> getTables(int restaurantId);
Single<TableBean> getTables(int restaurantId);
Observable<BaseResult> getTable(int tableId, String tableNumber);
Single<BaseResult> getTable(int tableId, String tableNumber);
Observable<BaseOrderResponse> transferFood(RequestBody requestBody);
Single<BaseOrderResponse> transferFood(RequestBody requestBody);
Observable<BaseResult> getSplitTables(int tableId);
Single<BaseResult> getSplitTables(int tableId);
Observable<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);
}
}
......@@ -4,7 +4,7 @@ import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
import io.reactivex.Observable;
import io.reactivex.Single;
/**
......@@ -40,8 +40,8 @@ public interface OrderDetailContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends IModel {
Observable<BaseResult> getOrderDetailItem(long orderId);
Single<BaseResult> getOrderDetailItem(long orderId);
Observable<BaseResult> cancelOrder(long orderId);
Single<BaseResult> cancelOrder(long orderId);
}
}
......@@ -6,7 +6,7 @@ import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
/**
......@@ -36,12 +36,12 @@ public interface OrderPayContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface Model extends BaseOrderContract.Model {
Observable<BaseResult> getPayMethods(int brandId,int restaurantId,int payType);
Single<BaseResult> getPayMethods(int brandId,int restaurantId,int payType);
Observable<BaseResult> updateOrderPay(RequestBody requestBody);
Single<BaseResult> updateOrderPay(RequestBody requestBody);
// Observable<Object> getN5SaleTxnId(String url);
// Single<Object> getN5SaleTxnId(String url);
//
// Observable<BaseResult> updateOrderStatus( RequestBody formBody);
// Single<BaseResult> updateOrderStatus( RequestBody formBody);
}
}
package com.gingersoft.gsa.cloud.table.mvp.contract;
import android.app.Activity;
import android.app.Dialog;
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;
......@@ -14,6 +16,7 @@ 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.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog;
import com.jess.arms.mvp.IView;
import com.jess.arms.mvp.IModel;
......@@ -23,7 +26,9 @@ import javax.inject.Inject;
import javax.inject.Named;
import dagger.Lazy;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
/**
......@@ -42,10 +47,16 @@ public interface SetMealContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface View extends BaseOrderContract.View {
void setCurrLayout(byte layout);
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);
......@@ -85,15 +96,29 @@ public interface SetMealContract {
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);
......@@ -104,6 +129,4 @@ public interface SetMealContract {
}
}
......@@ -7,7 +7,8 @@ import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
import androidx.recyclerview.widget.RecyclerView;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -71,18 +72,18 @@ public interface SoldoutCtrlContract {
List<Food> queryDB_FoodListByIds(String [] ids);
Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody);
Observable<BaseResult> insertSoldoutCtrl(RequestBody requestBody, int operatTtpe, int type);
Single<BaseResult> insertSoldoutCtrl(RequestBody requestBody, int operatTtpe, int type);
Observable<BaseResult> restoreSoldoutCtrl( RequestBody requestBody);
Single<BaseResult> restoreSoldoutCtrl( RequestBody requestBody);
Observable<BaseResult> batchRestoreSoldoutCtrl( RequestBody requestBody);
Single<BaseResult> batchRestoreSoldoutCtrl( RequestBody requestBody);
Observable<BaseResult> updateInvisible( RequestBody requestBody);
Single<BaseResult> updateInvisible( RequestBody requestBody);
Observable<BaseResult> downFoodList(int restaurantId);
Single<BaseResult> downFoodList(int restaurantId);
Observable<BaseResult> downFoodModifier(int restaurantId);
Single<BaseResult> downFoodModifier(int restaurantId);
}
}
......@@ -13,7 +13,7 @@ import com.jess.arms.mvp.IView;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -75,26 +75,26 @@ public interface TableContract {
List<Modifier> queryDB_ModifierList(long fid, int mode);
Observable<TableBean> getTables(int restaurantId, boolean update);
Single<TableBean> getTables(int restaurantId, boolean update);
Observable<BaseResult> getTable(int tableId, String tableNumber);
Single<BaseResult> getTable(int tableId, String tableNumber);
Observable<BaseOrderResponse> getOrderById(long orderId);
Single<BaseOrderResponse> getOrderById(long orderId);
Observable<BaseOrderResponse> openTable(RequestBody requestBody);
Single<BaseOrderResponse> openTable(RequestBody requestBody);
Observable<BaseOrderResponse> turnTable(RequestBody requestBody);
Single<BaseOrderResponse> turnTable(RequestBody requestBody);
Observable<BaseOrderResponse> initTable(RequestBody requestBody);
Single<BaseOrderResponse> initTable(RequestBody requestBody);
Observable<BaseResult> resetSkyorder(RequestBody requestBody);
Single<BaseResult> resetSkyorder(RequestBody requestBody);
Observable<BaseResult> getSplitTables(int tableId);
Single<BaseResult> getSplitTables(int tableId);
Observable<BaseResult> splitTable(int tableId);
Single<BaseResult> splitTable(int tableId);
Observable<BaseResult> getFoodSummarys(int restaurantId,boolean isDefault, byte businessType, boolean update);
Single<BaseResult> getFoodSummarys(int restaurantId,boolean isDefault, byte businessType, boolean update);
Observable<BaseResult> addScan(RequestBody requestBody);
Single<BaseResult> addScan(RequestBody requestBody);
}
}
......@@ -3,6 +3,7 @@ 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.order.bean.discount.MemberWalletCoupon;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MemberService;
......@@ -58,6 +59,7 @@ public class CouponModel extends BaseModel implements CouponContract.Model {
public Single<List<MemberWalletCoupon>> getMemberWalletList(int brandId, long memberId, long limitType, long pageIndex, long pageSize) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.getMemberWalletList(brandId, memberId, limitType, pageIndex, pageSize)
.compose(MyRxSchedulerUtils._io_main_f())
.map(new Function<BaseResult, List<MemberWalletCoupon>>() {
@Override
public List<MemberWalletCoupon> apply(BaseResult result) throws Exception {
......
......@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils;
import com.gingersoft.gsa.cloud.common.rxjava.MyRxUtils;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.FineChildAllContract;
......@@ -15,6 +17,8 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Single;
/**
* ================================================
......@@ -48,31 +52,31 @@ public class FineChildAllModel extends BaseModel implements FineChildAllContract
}
@Override
public List<Modifier> queryDB_ModifierByModMsgAndVisibleQueryBuilder() {
public Single<List<Modifier>> queryDB_ModifierByModMsgAndVisibleQueryBuilder() {
//获取数据
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModMsgAndVisibleQueryBuilder();
return MealStyleUtils.assemblyModifiersColor(modifierList);
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(modifierList));
}
@Override
public List<Modifier> queryDB_ModifierByModModTasteVisibleQueryBuilder() {
public Single<List<Modifier>> queryDB_ModifierByModModTasteVisibleQueryBuilder() {
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModModTasteVisibleQueryBuilder();
return MealStyleUtils.assemblyModifiersColor(modifierList);
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(modifierList));
}
@Override
public List<Modifier> queryDB_ModifierByModModCommVisibleQueryBuilder() {
public Single<List<Modifier>> queryDB_ModifierByModModCommVisibleQueryBuilder() {
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByModModCommVisibleQueryBuilder();
return MealStyleUtils.assemblyModifiersColor(modifierList);
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(modifierList));
}
@Override
public List<Modifier> queryDB_ModifierByTopidAndVisibleQueryBuilder(long fid) {
public Single<List<Modifier>> queryDB_ModifierByTopidAndVisibleQueryBuilder(long fid) {
ModifierDaoUtils modifierDaoUtils = new ModifierDaoUtils(mApplication);
List<Modifier> modifierList = modifierDaoUtils.queryModifierByTopidAndVisibleQueryBuilder(fid);
return MealStyleUtils.assemblyModifiersColor(modifierList);
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(modifierList));
}
}
\ No newline at end of file
......@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
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.Modifier;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
......@@ -18,6 +20,8 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Single;
/**
* ================================================
......@@ -51,15 +55,14 @@ public class FineChildOneselfModel extends BaseModel implements FineChildOneself
}
@Override
public List<Modifier> queryDB_ModifierList(long fid, int mode) {
public Single<List<Modifier>> queryDB_ModifierList(long fid, int mode) {
ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication);
return MealStyleUtils.assemblyModifiersColor(daoUtils.queryModifiersByFid(fid, mode));
return MyRxUtils.si_just_io_main(MealStyleUtils.assemblyModifiersColor(daoUtils.queryModifiersByFid(fid, mode)));
}
@Override
public List<ComboItem> queryDB_ComboList(long fid) {
public Single<List<ComboItem>> queryDB_ComboList(long fid) {
ComboItemDaoUtils comboItemDao = new ComboItemDaoUtils(mApplication);
List<ComboItem> foodCombo = comboItemDao.queryComboItemsByFidQueryBuilder(fid,null);
return foodCombo;
return MyRxUtils.si_just_io_main(comboItemDao.queryComboItemsByFidQueryBuilder(fid, null));
}
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
......@@ -33,7 +34,7 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Observer;
import io.reactivex.Single;
import io.reactivex.disposables.Disposable;
......@@ -128,62 +129,64 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
}
@Override
public Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
public Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody);
}
@Override
public Observable<BaseOrderResponse> loadOrder(long orderId) {
public Single<BaseOrderResponse> loadOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.loadOrder(orderId);
}
@Override
public Observable<BaseResult> createOrder(RequestBody requestBody) {
public Single<BaseResult> createOrder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.createOrder(requestBody);
.createOrder(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> addFood(RequestBody requestBody) {
public Single<BaseResult> addOrderFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.addFood(requestBody);
.addOrderFood(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseOrderResponse> deleteFood(RequestBody requestBody) {
Observable ob = mRepositoryManager.obtainRetrofitService(MealService.class)
public Single<BaseOrderResponse> deleteFood(RequestBody requestBody) {
Single ob = mRepositoryManager.obtainRetrofitService(MealService.class)
.deleteFood(requestBody)
.flatMap(new Function<BaseResult, Observable<BaseOrderResponse>>() {
.flatMap(new Function<BaseResult, Single<BaseOrderResponse>>() {
@Override
public Observable<BaseOrderResponse> apply(BaseResult info) throws Exception {
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 Observable.just(baseOrderRespose);
return Single.just(baseOrderRespose);
}
});
return ob;
}
@Override
public Observable<BaseOrderResponse> calculationPrice(long orderId) {
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.calculationPrice(orderId);
}
@Override
public Observable<BaseOrderResponse> printOrder(RequestBody requestBody) {
public Single<BaseOrderResponse> printOrder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.printOrder(requestBody);
}
@Override
public Observable<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type) {
public Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getRestaurantFoodReason(brandId, restaurantId, type);
}
......@@ -195,25 +198,25 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
}
@Override
public Observable<BaseResult> memberUse(int tableId, String tableNumber, long memberId) {
public Single<BaseResult> memberUse(int tableId, String tableNumber, long memberId) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.memberUse(tableId, tableNumber, memberId);
}
@Override
public Observable<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId) {
public Single<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.memberUseCancel(tableId, tableNumber, memberId);
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(requestBody);
}
@Override
public Observable<BaseResult> updateOrder(RequestBody formBody) {
public Single<BaseResult> updateOrder(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrder(formBody);
}
......
......@@ -32,7 +32,7 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import io.reactivex.functions.Function;
import okhttp3.RequestBody;
......@@ -122,62 +122,62 @@ public class MealStandModel2 extends BaseModel implements MealStandContract2.Mod
}
@Override
public Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
public Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody);
}
@Override
public Observable<BaseOrderResponse> loadOrder(long orderId) {
public Single<BaseOrderResponse> loadOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.loadOrder(orderId);
}
@Override
public Observable<BaseResult> createOrder(RequestBody requestBody) {
public Single<BaseResult> createOrder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.createOrder(requestBody);
}
@Override
public Observable<BaseResult> addFood(RequestBody requestBody) {
public Single<BaseResult> addOrderFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.addFood(requestBody);
.addOrderFood(requestBody);
}
@Override
public Observable<BaseOrderResponse> deleteFood(RequestBody requestBody) {
Observable ob = mRepositoryManager.obtainRetrofitService(MealService.class)
public Single<BaseOrderResponse> deleteFood(RequestBody requestBody) {
Single ob = mRepositoryManager.obtainRetrofitService(MealService.class)
.deleteFood(requestBody)
.flatMap(new Function<BaseResult, Observable<BaseOrderResponse>>() {
.flatMap(new Function<BaseResult, Single<BaseOrderResponse>>() {
@Override
public Observable<BaseOrderResponse> apply(BaseResult info) throws Exception {
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 Observable.just(baseOrderRespose);
return Single.just(baseOrderRespose);
}
});
return ob;
}
@Override
public Observable<BaseOrderResponse> calculationPrice(long orderId) {
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.calculationPrice(orderId);
}
@Override
public Observable<BaseOrderResponse> printOrder(RequestBody requestBody) {
public Single<BaseOrderResponse> printOrder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.printOrder(requestBody);
}
@Override
public Observable<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type) {
public Single<BaseResult> getRestaurantFoodReason(int brandId, int restaurantId, int type) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getRestaurantFoodReason(brandId, restaurantId, type);
}
......@@ -189,25 +189,25 @@ public class MealStandModel2 extends BaseModel implements MealStandContract2.Mod
}
@Override
public Observable<BaseResult> memberUse(int tableId, String tableNumber, long memberId) {
public Single<BaseResult> memberUse(int tableId, String tableNumber, long memberId) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.memberUse(tableId, tableNumber, memberId);
}
@Override
public Observable<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId) {
public Single<BaseResult> memberUseCancel(int tableId, String tableNumber, long memberId) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.memberUseCancel(tableId, tableNumber, memberId);
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(requestBody);
}
@Override
public Observable<BaseResult> updateOrder(RequestBody formBody) {
public Single<BaseResult> updateOrder(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrder(formBody);
}
......
......@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.rxjava.MyRxUtils;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.MealConditionFilterUtils;
......@@ -17,6 +18,8 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.NomalDiscountContract;
import java.util.List;
import io.reactivex.Single;
/**
* ================================================
......@@ -50,9 +53,9 @@ public class NomalDiscountModel extends BaseModel implements NomalDiscountContra
}
@Override
public List<Discount> queryDB_DiscountList(byte discountScope, byte discountType) {
public Single<List<Discount>> queryDB_DiscountList(byte discountScope, byte discountType) {
DiscountDaoUtils discountDaoUtils = new DiscountDaoUtils(mApplication);
List<Discount> discountList = discountDaoUtils.queryDiscountByQueryBuilder();
return MealConditionFilterUtils.discountConditionFilter(discountList,discountScope,discountType);
return MyRxUtils.si_just_io_main(MealConditionFilterUtils.discountConditionFilter(discountList,discountScope,discountType)) ;
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ 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.table.mvp.model.service.OrderService;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
......@@ -14,7 +15,7 @@ import javax.inject.Inject;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderCenterContract;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.functions.Function;
......@@ -50,22 +51,24 @@ public class OrderCenterModel extends BaseModel implements OrderCenterContract.M
}
@Override
public Observable<BaseResult> loadOrderList(int restaurantId,String orderType,String status, int pageIndex, int pageSize) {
public Single<BaseResult> loadOrderList(int restaurantId,String orderType,String status, int pageIndex, int pageSize) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.loadOrderList(restaurantId, orderType,status,pageIndex, pageSize);
.loadOrderList(restaurantId, orderType,status,pageIndex, pageSize)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> cancelOrder(long orderId, int restaurantId,String orderType,String status) {
public Single<BaseResult> cancelOrder(long orderId, int restaurantId,String orderType,String status) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.cancelOrder(orderId)
.flatMap(new Function<BaseResult, Observable<BaseResult>>() {
.compose(MyRxSchedulerUtils._io_main_f())
.flatMap(new Function<BaseResult, Single<BaseResult>>() {
@Override
public Observable<BaseResult> apply(BaseResult info) throws Exception {
public Single<BaseResult> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
return loadOrderList(restaurantId, orderType,status,0, 10);
}
return Observable.just(info);
return Single.just(info);
}
});
}
......
......@@ -4,6 +4,7 @@ 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.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
......@@ -25,7 +26,8 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import io.reactivex.functions.Function;
import okhttp3.RequestBody;
......@@ -71,9 +73,10 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
}
@Override
public Observable<BaseOrderResponse> loadOrder(long orderId) {
public Single<BaseOrderResponse> loadOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.loadOrder(orderId);
.loadOrder(orderId)
.compose(MyRxSchedulerUtils._io_main_f());
}
// @Override
......@@ -84,12 +87,13 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
// }
@Override
public Observable<BaseOrderResponse> createOrder(RequestBody requestBody) {
Observable ob = mRepositoryManager.obtainRetrofitService(MealService.class)
public Single<BaseOrderResponse> createOrder(RequestBody requestBody) {
Single ob = mRepositoryManager.obtainRetrofitService(MealService.class)
.createOrder(requestBody)
.flatMap(new Function<BaseResult, Observable<BaseOrderResponse>>() {
.compose(MyRxSchedulerUtils._io_main_f())
.flatMap(new Function<BaseResult, Single<BaseOrderResponse>>() {
@Override
public Observable<BaseOrderResponse> apply(BaseResult info) throws Exception {
public Single<BaseOrderResponse> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
saveCreateTime(info.getSysTime());
if (info.getData() != null) {
......@@ -115,19 +119,20 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
BaseOrderResponse baseOrderRespose = new BaseOrderResponse();
baseOrderRespose.setSuccess(info.isSuccess());
baseOrderRespose.setErrMsg(info.getErrMsg());
return Observable.just(baseOrderRespose);
return Single.just(baseOrderRespose);
}
});
return ob;
}
@Override
public Observable<BaseOrderResponse> addFood(RequestBody requestBody) {
Observable ob = mRepositoryManager.obtainRetrofitService(MealService.class)
.addFood(requestBody)
.flatMap(new Function<BaseResult, Observable<BaseOrderResponse>>() {
public Single<BaseOrderResponse> addOrderFood(RequestBody requestBody) {
Single ob = mRepositoryManager.obtainRetrofitService(MealService.class)
.addOrderFood(requestBody)
.compose(MyRxSchedulerUtils._io_main_f())
.flatMap(new Function<BaseResult, Single<BaseOrderResponse>>() {
@Override
public Observable<BaseOrderResponse> apply(BaseResult info) throws Exception {
public Single<BaseOrderResponse> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
saveCreateTime(info.getSysTime());
return loadOrder(DoshokuOrder.getInstance().getOrderId());
......@@ -135,72 +140,76 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
BaseOrderResponse baseOrderRespose = new BaseOrderResponse();
baseOrderRespose.setSuccess(info.isSuccess());
baseOrderRespose.setErrMsg(info.getErrMsg());
return Observable.just(baseOrderRespose);
return Single.just(baseOrderRespose);
}
});
return ob;
}
@Override
public Observable<BaseOrderResponse> printOrder(RequestBody request) {
public Single<BaseOrderResponse> printOrder(RequestBody request) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.printOrder(request);
.printOrder(request)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<TableBean> getTables(int restaurantId) {
public Single<TableBean> getTables(int restaurantId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTables(restaurantId);
.getTables(restaurantId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> getTable(int tableId, String tableNumber) {
public Single<BaseResult> getTable(int tableId, String tableNumber) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTable(tableId, tableNumber);
.getTable(tableId, tableNumber)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseOrderResponse> transferFood(RequestBody requestBody) {
Observable ob = mRepositoryManager.obtainRetrofitService(MealService.class)
public Single<BaseOrderResponse> transferFood(RequestBody requestBody) {
Single ob = mRepositoryManager.obtainRetrofitService(MealService.class)
.transferFood(requestBody)
.flatMap(new Function<BaseOrderResponse, Observable<BaseOrderResponse>>() {
.compose(MyRxSchedulerUtils._io_main_f())
.flatMap(new Function<BaseOrderResponse, Single<BaseOrderResponse>>() {
@Override
public Observable<BaseOrderResponse> apply(BaseOrderResponse info) throws Exception {
public Single<BaseOrderResponse> apply(BaseOrderResponse info) throws Exception {
if (info != null && info.isSuccess()) {
return loadOrder(DoshokuOrder.getInstance().getOrderId());
}
return Observable.just(info);
return Single.just(info);
}
});
return ob;
}
@Override
public Observable<BaseResult> getSplitTables(int tableId) {
public Single<BaseResult> getSplitTables(int tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getSplitTables(tableId);
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(requestBody);
}
@Override
public Observable<BaseResult> updateOrder(RequestBody formBody) {
public Single<BaseResult> updateOrder(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrder(formBody);
}
@Override
public Observable<BaseResult> queryCoupon(int tableId,Long memberId, long couponMemberId, String couponNo, int restaurantId) {
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);
}
@Override
public Observable<BaseOrderResponse> calculationPrice(long orderId) {
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return null;
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ 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.table.mvp.contract.OrderDetailContract;
import com.gingersoft.gsa.cloud.table.mvp.model.service.OrderService;
import com.google.gson.Gson;
......@@ -12,7 +13,7 @@ import com.jess.arms.mvp.BaseModel;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.functions.Function;
......@@ -48,22 +49,24 @@ public class OrderDetailModel extends BaseModel implements OrderDetailContract.M
}
@Override
public Observable<BaseResult> getOrderDetailItem(long orderId) {
public Single<BaseResult> getOrderDetailItem(long orderId) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.getOrderDetail(orderId);
.getOrderDetail(orderId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> cancelOrder(long orderId) {
public Single<BaseResult> cancelOrder(long orderId) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.cancelOrder(orderId)
.flatMap(new Function<BaseResult, Observable<BaseResult>>() {
.compose(MyRxSchedulerUtils._io_main_f())
.flatMap(new Function<BaseResult, Single<BaseResult>>() {
@Override
public Observable<BaseResult> apply(BaseResult info) throws Exception {
public Single<BaseResult> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) {
return getOrderDetailItem(orderId);
}
return Observable.just(info);
return Single.just(info);
}
});
}
......
......@@ -3,6 +3,7 @@ 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.table.mvp.contract.OrderPayContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
......@@ -14,7 +15,7 @@ import com.jess.arms.mvp.BaseModel;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -50,33 +51,38 @@ public class OrderPayModel extends BaseModel implements OrderPayContract.Model {
}
@Override
public Observable<BaseResult> getPayMethods(int brandId,int restaurantId,int payType) {
public Single<BaseResult> getPayMethods(int brandId,int restaurantId,int payType) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.getPayMethods(brandId,restaurantId,payType);
.getPayMethods(brandId,restaurantId,payType)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> updateOrderPay( RequestBody requestBody) {
public Single<BaseResult> updateOrderPay( RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrderPay(requestBody);
.updateOrderPay(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseOrderResponse> calculationPrice(long orderId) {
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.calculationPrice(orderId);
.calculationPrice(orderId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(requestBody);
.toOrderPay(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> updateOrder(RequestBody formBody) {
public Single<BaseResult> updateOrder(RequestBody formBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.updateOrder(formBody);
.updateOrder(formBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ 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.table.mvp.model.service.MemberService;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
......@@ -52,7 +53,8 @@ public class RiceponMemberDialogModel extends BaseModel implements RiceponMember
@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);
.queryMember(type, parm, shopName, tableId, tableNumber)
.compose(MyRxSchedulerUtils._io_main_f());
}
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ 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;
......@@ -14,6 +15,7 @@ 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;
......@@ -28,7 +30,7 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -65,21 +67,54 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
}
@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 Single.just(
return MyRxUtils.si_just_io_main(
MealStyleUtils.assemblyFoodsColor(
MealConditionFilterUtils.foodConditionFilter(foods, foodSummary)))
.compose(MyRxSchedulerUtils._io_main_f());
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 Single.just(MealStyleUtils.assemblyFoodsColor(MealConditionFilterUtils.foodConditionFilter(foods, foodSummary)))
.compose(MyRxSchedulerUtils._io_main_f());
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
......@@ -99,8 +134,7 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
@Override
public Single<List<FoodCombo>> isComboFood(long fid) {
FoodComboDaoUtils foodComboDaoUtils = new FoodComboDaoUtils(mApplication);
return Single.just(foodComboDaoUtils.queryCombosFoodsByQueryBuilder(fid))
.compose(MyRxSchedulerUtils._io_main_f());
return MyRxUtils.si_just_io_main(foodComboDaoUtils.queryCombosFoodsByQueryBuilder(fid));
}
@Override
......@@ -109,17 +143,17 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
public Single<BaseResult> toOrderPay(RequestBody requestBody) {
return null;
}
@Override
public Observable<BaseResult> updateOrder(RequestBody formBody) {
public Single<BaseResult> updateOrder(RequestBody formBody) {
return null;
}
@Override
public Observable<BaseOrderResponse> calculationPrice(long orderId) {
public Single<BaseOrderResponse> calculationPrice(long orderId) {
return null;
}
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ 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.database.bean.Food;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract;
......@@ -17,7 +18,8 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import okhttp3.RequestBody;
......@@ -82,18 +84,20 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
}
@Override
public Observable<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
public Single<BaseResult> getCurrentSoldoutFood(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.getCurrentSoldoutFood(requestBody);
.getCurrentSoldoutFood(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> insertSoldoutCtrl(RequestBody requestBody, int operatTtpe, int type) {
public Single<BaseResult> insertSoldoutCtrl(RequestBody requestBody, int operatTtpe, int type) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.insertSoldoutCtrl(requestBody);
// .flatMap(new Function<BaseResult, Observable<BaseResult>>() {
.insertSoldoutCtrl(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
// .flatMap(new Function<BaseResult, Single<BaseResult>>() {
// @Override
// public Observable<BaseResult> apply(BaseResult info) throws Exception {
// public Single<BaseResult> apply(BaseResult info) throws Exception {
// if (info != null && info.isSuccess()) {
// if (operatTtpe == 0) {
// int restaurantId = ResturantInfoManager.newInstance().getRestaurantId();
......@@ -108,39 +112,44 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
// }
// }
// }
// return Observable.just(info);
// return Single.just(info);
// }
// });
}
@Override
public Observable<BaseResult> restoreSoldoutCtrl(RequestBody requestBody) {
public Single<BaseResult> restoreSoldoutCtrl(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.restoreSoldoutCtrl(requestBody);
.restoreSoldoutCtrl(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> batchRestoreSoldoutCtrl(RequestBody requestBody) {
public Single<BaseResult> batchRestoreSoldoutCtrl(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.batchRestoreSoldoutCtrl(requestBody);
.batchRestoreSoldoutCtrl(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> updateInvisible(RequestBody requestBody) {
public Single<BaseResult> updateInvisible(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.updateInvisible(requestBody);
.updateInvisible(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> downFoodList(int restaurantId) {
public Single<BaseResult> downFoodList(int restaurantId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.downFoodList(restaurantId);
.downFoodList(restaurantId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> downFoodModifier(int restaurantId) {
public Single<BaseResult> downFoodModifier(int restaurantId) {
return mRepositoryManager.obtainRetrofitService(MealService.class)
.downFoodModifier(restaurantId);
.downFoodModifier(restaurantId)
.compose(MyRxSchedulerUtils._io_main_f());
}
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ 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.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils;
......@@ -22,8 +23,8 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.ObservableSource;
import io.reactivex.Single;
import io.reactivex.SingleSource;
import io.reactivex.functions.Function;
import io.rx_cache2.DynamicKey;
import io.rx_cache2.EvictDynamicKey;
......@@ -76,16 +77,17 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public Observable<TableBean> getTables(int restaurantId, boolean update) {
public Single<TableBean> getTables(int restaurantId, boolean update) {
return mRepositoryManager
.obtainRetrofitService(TableService.class)
.getTables(restaurantId);
// return Observable.just(mRepositoryManager
.getTables(restaurantId)
.compose(MyRxSchedulerUtils._io_main_f());
// return Single.just(mRepositoryManager
// .obtainRetrofitService(TableService.class)
// .getTables(restaurantId))
// .flatMap((Function<Observable<TableBean>, ObservableSource<TableBean>>) listObservable ->
// .flatMap((Function<Single<TableBean>, SingleSource<TableBean>>) listSingle ->
// mRepositoryManager.obtainCacheService(TableCache.class)
// .getTables(listObservable,
// .getTables(listSingle,
// new DynamicKey(1),
// new EvictDynamicKey(update))
// .map(listReply -> listReply.getData()));
......@@ -93,64 +95,72 @@ public class TableModel extends BaseModel implements TableContract.Model {
@Override
public Observable<BaseResult> getTable(int tableId, String tableNumber) {
public Single<BaseResult> getTable(int tableId, String tableNumber) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getTable(tableId, tableNumber);
.getTable(tableId, tableNumber)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseOrderResponse> getOrderById(long orderId) {
public Single<BaseOrderResponse> getOrderById(long orderId) {
return mRepositoryManager.obtainRetrofitService(OrderService.class)
.getOrderById(orderId);
.getOrderById(orderId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseOrderResponse> openTable(RequestBody requestBody) {
public Single<BaseOrderResponse> openTable(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.openTable(requestBody);
.openTable(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseOrderResponse> turnTable(RequestBody requestBody) {
public Single<BaseOrderResponse> turnTable(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.turnTable(requestBody);
.turnTable(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseOrderResponse> initTable(RequestBody requestBody) {
public Single<BaseOrderResponse> initTable(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.initTable(requestBody);
.initTable(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> resetSkyorder(RequestBody requestBody) {
public Single<BaseResult> resetSkyorder(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.resetSkyorder(requestBody);
.resetSkyorder(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> getSplitTables(int tableId) {
public Single<BaseResult> getSplitTables(int tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.getSplitTables(tableId);
.getSplitTables(tableId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> splitTable(int tableId) {
public Single<BaseResult> splitTable(int tableId) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.splitTable(tableId);
.splitTable(tableId)
.compose(MyRxSchedulerUtils._io_main_f());
}
@Override
public Observable<BaseResult> getFoodSummarys(int restaurantId, boolean isDefault, byte businessType, boolean update) {
public Single<BaseResult> getFoodSummarys(int restaurantId, boolean isDefault, byte businessType, boolean update) {
return mRepositoryManager
.obtainRetrofitService(TableService.class)
.getFoodSummarys(restaurantId, isDefault, businessType);
// return Observable.just(mRepositoryManager
.getFoodSummarys(restaurantId, isDefault, businessType)
.compose(MyRxSchedulerUtils._io_main_f());
// return Single.just(mRepositoryManager
// .obtainRetrofitService(TableService.class)
// .getFoodSummarys(restaurantId, isDefault, businessType))
// .flatMap((Function<Observable<BaseResult>, ObservableSource<BaseResult>>) listObservable -> mRepositoryManager.obtainCacheService(TableCache.class)
// .getFoodSummarys(listObservable,
// .flatMap((Function<Single<BaseResult>, SingleSource<BaseResult>>) listSingle -> mRepositoryManager.obtainCacheService(TableCache.class)
// .getFoodSummarys(listSingle,
// new DynamicKey(1),
// new EvictDynamicKey(update))
// .map(listReply -> listReply.getData()));
......@@ -158,9 +168,10 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public Observable<BaseResult> addScan(RequestBody requestBody) {
public Single<BaseResult> addScan(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(TableService.class)
.addScan(requestBody);
.addScan(requestBody)
.compose(MyRxSchedulerUtils._io_main_f());
}
......
package com.gingersoft.gsa.cloud.table.mvp.model.bean.event;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import java.util.List;
import lombok.Data;
/**
* @作者: bin
* @創建時間: 2021-04-27 14:26
* @更新時間: 2021-04-27 14:26
* @描述:
*/
@Data
public class LoadFineEvent {
private int currFinePage;
private long productId;
private int selectedMode;
private List<SoldoutCtrFood> soldoutCtrFoods;
}
......@@ -3,7 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.common.Api;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
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;
import okhttp3.RequestBody;
import retrofit2.http.Body;
......@@ -25,56 +26,56 @@ public interface MealService {
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getCurrentSoldoutFood(@Body RequestBody requestBody);
Single<BaseResult> getCurrentSoldoutFood(@Body RequestBody requestBody);
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/insert" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> insertSoldoutCtrl(@Body RequestBody requestBody);
Single<BaseResult> insertSoldoutCtrl(@Body RequestBody requestBody);
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/updatePrg" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> restoreSoldoutCtrl(@Body RequestBody requestBody);
Single<BaseResult> restoreSoldoutCtrl(@Body RequestBody requestBody);
@Headers({"Domain-Name: soldoutctrl"})
@POST("foodChecklist/batchUpdatePrg" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> batchRestoreSoldoutCtrl(@Body RequestBody requestBody);
Single<BaseResult> batchRestoreSoldoutCtrl(@Body RequestBody requestBody);
@POST("food/updateInvisible" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> updateInvisible(@Body RequestBody requestBody);
Single<BaseResult> updateInvisible(@Body RequestBody requestBody);
// @Headers({"Domain-Name: yc_location"})
@POST("order/send" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> createOrder(@Body RequestBody requestBody);
Single<BaseResult> createOrder(@Body RequestBody requestBody);
// @Headers({"Domain-Name: yc_location"})
@POST("orderDetails/add" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> addFood(@Body RequestBody requestBody);
Single<BaseResult> addOrderFood(@Body RequestBody requestBody);
@FormUrlEncoded
@POST("order/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> loadOrder(@Field("orderId") long orderId);
Single<BaseOrderResponse> loadOrder(@Field("orderId") long orderId);
// @FormUrlEncoded
@POST("orderDetails/delete" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> deleteFood(@Body RequestBody requestBody);
Single<BaseResult> deleteFood(@Body RequestBody requestBody);
@FormUrlEncoded
@POST("order/calculation/price" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> calculationPrice(@Field("orderId") long orderId);
Single<BaseOrderResponse> calculationPrice(@Field("orderId") long orderId);
@POST("restaurantTable/print" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> printOrder(@Body RequestBody requestBody);
Single<BaseOrderResponse> printOrder(@Body RequestBody requestBody);
@GET("restaurantFoodReason/config/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getRestaurantFoodReason(@Query("brandId") int brandId , @Query("restaurantId") int restaurantId, @Query("type") int type);
Single<BaseResult> getRestaurantFoodReason(@Query("brandId") int brandId , @Query("restaurantId") int restaurantId, @Query("type") int type);
@POST("restaurantTable/transfer" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> transferFood(@Body RequestBody requestBody);
Single<BaseOrderResponse> transferFood(@Body RequestBody requestBody);
@GET(Api.food_list + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> downFoodList(@Query("restaurantId") int restaurantId);
Single<BaseResult> downFoodList(@Query("restaurantId") int restaurantId);
@GET(Api.food_modifiere_relation + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> downFoodModifier(@Query("restaurantId") int restaurantId);
Single<BaseResult> downFoodModifier(@Query("restaurantId") int restaurantId);
}
......@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import io.reactivex.Observable;
import io.reactivex.Single;
import io.reactivex.Single;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import retrofit2.http.GET;
......@@ -20,13 +20,13 @@ public interface MemberService {
Single<BaseResult> queryMember(@Query("type") int type, @Query("parm") String parm, @Query("gsposShopId") String shopName,@Query("tableId") int tableId, @Query("tableNumber") String tableNumber);
@GET("restaurantTable/memberUse" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> memberUse(@Query("tableId") int tableId, @Query("tableNumber") String tableNumber, @Query("memberId") long memberId);
Single<BaseResult> memberUse(@Query("tableId") int tableId, @Query("tableNumber") String tableNumber, @Query("memberId") long memberId);
@GET("restaurantTable/memberUseCancel" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> memberUseCancel(@Query("tableId") int tableId, @Query("tableNumber") String tableNumber, @Query("memberId") long memberId);
Single<BaseResult> memberUseCancel(@Query("tableId") int tableId, @Query("tableNumber") String tableNumber, @Query("memberId") long memberId);
@GET("coupon/queryCoupon" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> queryCoupon(@Query("tableId") int tableId,@Query("memberId") Long memberId, @Query("couponMemberId") long couponMemberId,@Query("couponNo") String couponNo,@Query("restaurantId") int restaurantId);
Single<BaseResult> queryCoupon(@Query("tableId") int tableId,@Query("memberId") Long memberId, @Query("couponMemberId") long couponMemberId,@Query("couponNo") String couponNo,@Query("restaurantId") int restaurantId);
@Headers({"Domain-Name: ricepon_member"})
@GET("member/getMemberWalletList" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
......
......@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import io.reactivex.Observable;
import io.reactivex.Single;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
import retrofit2.http.Body;
......@@ -16,14 +16,14 @@ import retrofit2.http.Query;
public interface OrderPayService {
@POST("order/update" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> updateOrder(@Body RequestBody requestBody);
Single<BaseResult> updateOrder(@Body RequestBody requestBody);
@POST("orderPay/update" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> updateOrderPay(@Body RequestBody requestBody);
Single<BaseResult> updateOrderPay(@Body RequestBody requestBody);
@POST("orderPay/add" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> toOrderPay(@Body RequestBody requestBody);
Single<BaseResult> toOrderPay(@Body RequestBody requestBody);
@GET("restaurant/pay/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getPayMethods(@Query("brandId") int brandId,@Query("restaurantId") int restaurantId,@Query("payType") int payType);
Single<BaseResult> getPayMethods(@Query("brandId") int brandId,@Query("restaurantId") int restaurantId,@Query("payType") int payType);
}
......@@ -3,7 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import io.reactivex.Observable;
import io.reactivex.Single;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
import retrofit2.http.Body;
......@@ -20,18 +20,18 @@ public interface OrderService {
@FormUrlEncoded
@POST("order/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> loadOrderList(@Field("restaurantId") int restaurantId, @Field("orderType") String orderType,@Field("status") String status ,@Field("pageIndex") int pageIndex, @Field("pageSize") int pageSize);
Single<BaseResult> loadOrderList(@Field("restaurantId") int restaurantId, @Field("orderType") String orderType,@Field("status") String status ,@Field("pageIndex") int pageIndex, @Field("pageSize") int pageSize);
@GET("order/pay/success" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getOrderDetail(@Query("orderId") long orderId);
Single<BaseResult> getOrderDetail(@Query("orderId") long orderId);
@GET("order/findOrderById" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> getOrderById(@Query("orderId") long orderId);
Single<BaseOrderResponse> getOrderById(@Query("orderId") long orderId);
@FormUrlEncoded
@POST("order/cancel" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> cancelOrder(@Field("orderId") long orderId);
Single<BaseResult> cancelOrder(@Field("orderId") long orderId);
@POST("posPay/getTxnId" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getTxnId(@Body RequestBody requestBody);
Single<BaseResult> getTxnId(@Body RequestBody requestBody);
}
......@@ -3,7 +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;
import okhttp3.RequestBody;
import retrofit2.http.Body;
......@@ -22,34 +23,34 @@ import retrofit2.http.Query;
public interface TableService {
@GET("restaurantTable/list" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<TableBean> getTables(@Query("restaurantId") int restaurantId);
Single<TableBean> getTables(@Query("restaurantId") int restaurantId);
@GET("restaurantTable/get" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getTable(@Query("id") int table, @Query("tableNumber") String tableNumber);
Single<BaseResult> getTable(@Query("id") int table, @Query("tableNumber") String tableNumber);
@POST("restaurantTable/kickOff" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> openTable(@Body RequestBody requestBody);
Single<BaseOrderResponse> openTable(@Body RequestBody requestBody);
@POST("restaurantTable/update/table" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> turnTable(@Body RequestBody requestBody);
Single<BaseOrderResponse> turnTable(@Body RequestBody requestBody);
@POST("restaurantTable/set/status" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseOrderResponse> initTable(@Body RequestBody requestBody);
Single<BaseOrderResponse> initTable(@Body RequestBody requestBody);
@POST("restaurantTable/skyOrderReset" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> resetSkyorder(@Body RequestBody requestBody);
Single<BaseResult> resetSkyorder(@Body RequestBody requestBody);
@GET("restaurantTable/getSplitTableAvailable" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getSplitTables(@Query("tableId") int tableId);
Single<BaseResult> getSplitTables(@Query("tableId") int tableId);
@GET("restaurantTable/getSplitTable" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> splitTable(@Query("tableId") int tableId);
Single<BaseResult> splitTable(@Query("tableId") int tableId);
@Headers({"Domain-Name: ricepon_restaurant"})
@GET("summary/getSummaryBusinessList" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> getFoodSummarys(@Query("restaurantId") int restaurantId, @Query("isDefault") boolean isDefault, @Query("businessType") byte businessType);
Single<BaseResult> getFoodSummarys(@Query("restaurantId") int restaurantId, @Query("isDefault") boolean isDefault, @Query("businessType") byte businessType);
@Headers({"Domain-Name: ricepon_restaurant"})
@POST("scan/addScanCloudGsa" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> addScan(@Body RequestBody requestBody);
Single<BaseResult> addScan(@Body RequestBody requestBody);
}
......@@ -14,7 +14,6 @@ import java.util.List;
*/
public class MealStyleUtils {
public static List<Food> assemblyFoodsColor(List<Food> foodList) {
for (Food food : foodList) {
food.getColorBean();
......
......@@ -13,6 +13,7 @@ import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInf
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.core.user.UserContext;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
......@@ -61,6 +62,7 @@ import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function;
......@@ -1417,15 +1419,13 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
.add("person", String.valueOf(peopleNumber))
.build();
mModel.updateOrder(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(BaseResult baseResult) {
public void onSuccess(@NonNull BaseResult baseResult) {
if (baseResult.isSuccess()) {
if (mOrderContentActivity != null) {
textView.setText(peopleNumber);
......
......@@ -13,6 +13,7 @@ import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInf
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.common.core.user.UserContext;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
......@@ -63,6 +64,7 @@ import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function;
......@@ -147,7 +149,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
protected String serviceChargeStr = "服務費";
protected String roundingStr = "賬單小數";
private final String noFoodDeliveryTip = "賬單沒有食品,是否開台?";
protected final String printError = "打印失敗";
public abstract void createOrder(boolean isPrint, Class<?> afterToActivity);
......@@ -1220,7 +1222,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
*
* @param foodList
*/
protected void mergeMainFoodNumber(List<OrderDetail> foodList) {
public void mergeMainFoodNumber(List<OrderDetail> foodList) {
List<Integer> removeIndexs = new ArrayList<>();
for (int i = 0; i < foodList.size(); i++) {
OrderDetail orderFood = foodList.get(i);
......@@ -1419,15 +1421,13 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
.add("person", String.valueOf(peopleNumber))
.build();
mModel.updateOrder(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(BaseResult baseResult) {
public void onSuccess(@NonNull BaseResult baseResult) {
if (baseResult.isSuccess()) {
if (mOrderContentActivity != null) {
textView.setText(peopleNumber);
......@@ -1444,7 +1444,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
return mShoppingCart;
}
public SelectMealAdapter2 getSelectMealAdapter(){
public SelectMealAdapter2 getSelectMealAdapter() {
return mSelectMealAdapter;
}
......
......@@ -9,6 +9,7 @@ import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.common.utils.JsonUtils;
import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
......@@ -30,6 +31,7 @@ import java.util.List;
import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber;
......@@ -107,15 +109,13 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
int brandId = RestaurantInfoManager.newInstance().getBrandId();
int restaurantId = RestaurantInfoManager.newInstance().getRestaurantId();
mModel.getPayMethods(brandId, restaurantId, FoodSummaryConstans.RESTAURANT_MODE)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(BaseResult baseResult) {
public void onSuccess(@NonNull BaseResult baseResult) {
if (baseResult.isSuccess()) {
List<PayMethod> payMethods = JsonUtils.parseArray(baseResult.getData(), PayMethod.class);
for (int i = 0; i < payMethods.size(); i++) {
......@@ -164,10 +164,10 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(BaseResult baseResult) {
public void onSuccess(@NonNull BaseResult baseResult) {
mRootView.hideLoading();
if (baseResult.isSuccess()) {
OrderPayResponse orderPayRespose = JsonUtils.parseObject(baseResult.getData(), OrderPayResponse.class);
......@@ -269,10 +269,10 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(BaseResult baseResult) {
public void onSuccess(@NonNull BaseResult baseResult) {
if (baseResult.isSuccess()) {
LoganManager.w_pay(TAG, "修改訂單支付成功");
//結賬成功
......
......@@ -2,10 +2,12 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.MealConstant;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.user.UserContext;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.common.utils.JsonUtils;
import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.common.utils.VibratorUtils;
......@@ -523,13 +525,10 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
.add("restaurantId", String.valueOf(restaurantId))
.build();
mModel.getCurrentSoldoutFood(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onError(Throwable t) {
......@@ -537,8 +536,9 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
// updateFoodSoldoutCtrData(mCurrentSlodoutFoodList_Full);
}
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(@NonNull BaseResult info) {
if (info != null && info.isSuccess() && info.getData() != null) {
List<SoldoutCtrFood> soldoutCtrFoods = JsonUtils.parseArray(info.getData(), SoldoutCtrFood.class);
......@@ -587,16 +587,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
String json = GsonUtils.GsonString(request);
mModel.insertSoldoutCtrl(requestBody, operatTtpe, type)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
//记录操作类型
mOperatTtpe = operatTtpe;
......@@ -606,10 +603,11 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
//重新获取沽清数据
getCurrentSoldoutFood();
} else {
if (operatTtpe == 0)
if (operatTtpe == 0) {
mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "pause.failed", "暫停失敗!"));
else
} else {
mRootView.showMessage(LanguageUtils.get_language_system(mApplication, "soldout.failure", "沽清失敗!"));
}
}
}
});
......@@ -625,16 +623,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
String json = GsonUtils.GsonString(request);
mModel.restoreSoldoutCtrl(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
//记录恢复操作类型
mOperatTtpe = 2;
......@@ -662,16 +657,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
.build();
mModel.batchRestoreSoldoutCtrl(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
//记录恢复操作类型
mOperatTtpe = 2;
......@@ -712,16 +704,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
String json = GsonUtils.GsonString(request);
mModel.updateInvisible(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
//记录恢复操作类型
mOperatTtpe = 2;
......@@ -800,16 +789,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
.build();
mModel.batchRestoreSoldoutCtrl(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
//记录恢复操作类型
mOperatTtpe = 2;
......@@ -853,7 +839,7 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
modifierinsertResult = modifierDao.insertMultModifier(modifierList);
}
if(modifierDeleteResult && modifierDeleteResult){
if (modifierDeleteResult && modifierDeleteResult) {
//更新細項沽清數據
IActivity.setFineItemSoldoutListFull(null, mCurrentSlodoutFoodList_Full);
}
......
......@@ -84,15 +84,12 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
pageIndex = pageIndex * pageSize;
}
mModel.getMemberWalletList(brandId, memberId, limitType, pageIndex, pageSize)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> {
if (refreshLayout == null) {
mRootView.showLoading(null);
}
}
)
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSingleSubscriber<List<MemberWalletCoupon>>(mErrorHandler, mRootView.getLoadService()) {
......
......@@ -2,7 +2,9 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.discount;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.order.order.BaseOrder;
import com.gingersoft.gsa.cloud.table.mvp.contract.NomalDiscountContract;
......@@ -10,6 +12,7 @@ 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 com.jess.arms.utils.RxLifecycleUtils;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
......@@ -56,13 +59,21 @@ public class NomalDiscountPresenter extends BasePresenter<NomalDiscountContract.
}
public void queryBillDiscountList() {
List<Discount> discountList;
byte discountType;
if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
discountList = mModel.queryDB_DiscountList(Discount.discount_scope_bill, Discount.ORDER_TYPE_TAKEAWAY);
discountType = Discount.ORDER_TYPE_TAKEAWAY;
} else {
discountList = mModel.queryDB_DiscountList(Discount.discount_scope_bill, Discount.ORDER_TYPE_MEAL_STAND);
discountType = Discount.ORDER_TYPE_MEAL_STAND;
}
mRootView.returnBillCoupon(discountList);
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);
}
});
}
}
......@@ -4,8 +4,10 @@ import android.app.Application;
import android.content.Context;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
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.database.utils.ModifierDaoUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.FineChildOneselfContract;
......@@ -19,12 +21,14 @@ import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import io.reactivex.disposables.Disposable;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity.FOOD_TYPE;
......@@ -111,13 +115,23 @@ public class FineChildOneselfPresenter extends BasePresenter<FineChildOneselfCon
}
public void loadComboData(long fid) {
mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_All)
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSingleSubscriber<List<Modifier>>(mErrorHandler) {
if (mModifierList.size() > 0) {
mModifierList.clear();
}
@Override
public void onSubscribe(Disposable d) {
super.onSubscribe(d);
if (mModifierList.size() > 0) {
mModifierList.clear();
}
}
List<Modifier> modifierList = mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_All);
mModifierList.addAll(modifierList);
@Override
public void onSuccess(List<Modifier> modifierList) {
mModifierList.addAll(modifierList);
}
});
}
......
......@@ -818,24 +818,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return -1;
}
public void getCurrentSoldoutFood() {
long restaurantId = RestaurantInfoManager.newInstance().getRestaurantId();
RequestBody requestBody = new FormBody.Builder()
.add("restaurantId", String.valueOf(restaurantId))
.build();
mModel.getCurrentSoldoutFood(requestBody)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onComplete() {
super.onComplete();
updateFoodSoldoutCtrData();
}
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onError(Throwable t) {
......@@ -844,7 +834,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(BaseResult info) {
if (info != null && info.isSuccess() && info.getData() != null) {
List<SoldoutCtrFood> soldoutCtrFoods = JsonUtils.parseArray(info.getData(), SoldoutCtrFood.class);
if (soldoutCtrFoods != null && soldoutCtrFoods.size() > 0) {
......@@ -866,6 +856,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mSoldoutCtrList.clear();
}
}
updateFoodSoldoutCtrData();
}
});
}
......@@ -876,16 +867,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
String json = GsonUtils.GsonString(request);
mModel.createOrder(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(BaseResult info) {
if (info != null && info.isSuccess()) {
saveCreateTime(info.getSysTime());
if (info.getData() != null) {
......@@ -930,16 +918,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
AddOrderRequest addOrderRequest = getAddOrderRequest(foodLists);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(addOrderRequest));
String json = GsonUtils.GsonString(addOrderRequest);
mModel.addFood(requestBody)
.subscribeOn(Schedulers.io())
mModel.addOrderFood(requestBody)
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(BaseResult info) {
if (info != null && info.isSuccess()) {
mRootView.showMessage("送單成功");
printSendOrder(true);
......@@ -1097,11 +1083,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int restaurantId = RestaurantInfoManager.newInstance().getRestaurantId();
int type = 1;
mModel.getRestaurantFoodReason(brandId, restaurantId, type)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onSubscribe(Disposable d) {
......@@ -1110,7 +1093,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
@Override
public void onNext(@NonNull BaseResult info) {
public void onSuccess(@NonNull BaseResult info) {
if (info != null && info.isSuccess()) {
List<FoodReason> foodReasonList = JsonUtils.parseArray(info.getData(), FoodReason.class);
if (info.getData() != null && foodReasonList.size() > 0) {
......
......@@ -73,10 +73,7 @@ public class RiceponMemberDialogPresenter extends BasePresenter<RiceponMemberDia
public void queryMember(int type, String parm, String shopName, int tableId, String tableNumber) {
mModel.queryMember(type, parm, shopName, tableId, tableNumber)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
......
......@@ -4,6 +4,7 @@ import android.app.Application;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.common.utils.JsonUtils;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.contract.OrderStatusContract;
......@@ -87,17 +88,14 @@ public class OrderCenterPresenter extends BaseOrderConterPresenter<OrderCenterCo
pageIndex = pageIndex * pageSize;
}
mModel.loadOrderList(restaurantId, orderType,status, pageIndex, pageSize)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> {
if (refreshLayout == null) {
mRootView.showLoading(null);
}
})
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onSubscribe(Disposable d) {
......@@ -109,7 +107,7 @@ public class OrderCenterPresenter extends BaseOrderConterPresenter<OrderCenterCo
}
@Override
public void onNext(@NonNull BaseResult result) {
public void onSuccess(@NonNull BaseResult result) {
if (result.isSuccess()) {
if (result.getData() != null) {
List<OrderManagerResponse> orderItemList = JsonUtils.parseArray(result.getData(), OrderManagerResponse.class);
......@@ -171,16 +169,13 @@ public class OrderCenterPresenter extends BaseOrderConterPresenter<OrderCenterCo
public void cancelOrder(long orderId, String orderType,String status) {
int restaurantId = RestaurantInfoManager.newInstance().getRestaurantId();
mModel.cancelOrder(orderId, restaurantId, orderType,status)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult result) {
public void onSuccess(@NonNull BaseResult result) {
if (result.isSuccess()) {
if (result.getData() != null) {
List<OrderManagerResponse> orderItemList = JsonUtils.parseArray(result.getData(), OrderManagerResponse.class);
......
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.orderManager;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.common.utils.JsonUtils;
import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse;
......@@ -81,10 +82,10 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult result) {
public void onSuccess(@NonNull BaseResult result) {
if (result.isSuccess()) {
if (result.getData() != null) {
OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class);
......@@ -101,16 +102,13 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
public void cancelOrder(long orderId) {
mModel.cancelOrder(orderId)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> mRootView.showLoading(null))
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate(() -> mRootView.hideLoading())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSingleSubscriber<BaseResult>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult result) {
public void onSuccess(@NonNull BaseResult result) {
if (result.isSuccess()) {
if (result.getData() != null) {
OrderManagerResponse orderDetailItem = JsonUtils.parseObject(JsonUtils.toJson(result.getData()), OrderManagerResponse.class);
......
......@@ -582,7 +582,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
public void setPluMode() {
isPluMode = (boolean) SPUtils.get(MealConstant.EXIT_IS_PLU_MODE, false);
if (isPluMode) {
showViewModeVisibility(MealConstant.ViewMode_keys);
showViewModeVisibility(MealConstant.keys_viewMode);
btn_fid.setBackgroundColor(ArmsUtils.getColor(this, R.color.theme_hint_color));
} else {
btn_fid.setBackground(ArmsUtils.getDrawablebyResource(this, R.drawable.ui_selector_item_background));
......@@ -773,11 +773,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
showChoosePeopleNumDialog(true);
} else if (id == R.id.btn_fid) {
//搜索
if (mCurrentViewMode == MealConstant.ViewMode_keys) {
if (mCurrentViewMode == MealConstant.keys_viewMode) {
showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
SPUtils.put(MealConstant.EXIT_IS_PLU_MODE, false);
} else {
showViewModeVisibility(MealConstant.ViewMode_keys);
showViewModeVisibility(MealConstant.keys_viewMode);
SPUtils.put(MealConstant.EXIT_IS_PLU_MODE, true);
}
setPluMode();
......@@ -1100,13 +1100,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public void setDiscountRecycleLayoutManager(int orientation) {
// FlexboxLayoutManager flexboxLayoutManager = new FlexboxLayoutManager(mContext);
// //主轴为水平方向,起点在左端。
// flexboxLayoutManager.setFlexDirection(FlexDirection.ROW);
// //按正常方向换行
// flexboxLayoutManager.setFlexWrap(FlexWrap.WRAP);
// //交叉轴的起点对齐。
// flexboxLayoutManager.setJustifyContent(JustifyContent.FLEX_START);
discountRecycleLayoutManager = new GridLayoutManager(this, 4, LinearLayoutManager.VERTICAL, false);
rv_discount.setLayoutManager(discountRecycleLayoutManager);
rv_discount.addItemDecoration(new DividerItemDecoration(mContext, DividerItemDecoration.HORIZONTAL_LIST));
......@@ -1185,7 +1178,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
map.get(mode).setVisibility(View.VISIBLE);
}
//設置當前模式為輸入Plu模式
if (viewMode != null && viewMode[0] == MealConstant.ViewMode_keys) {
if (viewMode != null && viewMode[0] == MealConstant.keys_viewMode) {
isPluMode = true;
} else {
isPluMode = false;
......@@ -1370,7 +1363,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
map.put(MealConstant.discount_ViewMode, rv_discount);
map.put(MealConstant.fine_ViewMode, pager_fine);
map.put(MealConstant.fine_tabs_ViewMode, rl_fine_tabs);
map.put(MealConstant.ViewMode_keys, keyView);
map.put(MealConstant.keys_viewMode, keyView);
// @SwitchPrintMethod
btn_send_order.setOnLongClickListener(v -> {
......
......@@ -2,7 +2,9 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.SystemClock;
import android.text.TextUtils;
import android.util.SparseArray;
import android.view.View;
......@@ -19,6 +21,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans;
import com.gingersoft.gsa.cloud.common.constans.MealConstant;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
......@@ -79,10 +82,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
Chronometer ctime;
@BindView(R2.id.fl_food_plate)
FrameLayout flFoodPlate;
@BindView(R2.id.fl_meal_discount)
FrameLayout flMealDiscount;
@BindView(R2.id.meal_stand_search_keyboard_view)
SearchKeyBoardView mealStandSearchKeyboardView;
@BindView(R2.id.tv_no_save_return)
TextView tvNoSaveReturn;
@BindView(R2.id.btn_order_count)
......@@ -104,9 +103,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
@BindView(R2.id.ll_stand_oper)
LinearLayout llStandOper;
private int mCurrentViewMode;
private boolean isPluMode;
private static final int ORDER_CONTENT_CODE = 1002;
@Override
......@@ -144,9 +140,9 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
if (findFragment(SetMealFragment.class) == null) {
loadRootFragment(R.id.fl_food_plate, SetMealFragment.newInstance());
}
initAutoQuit();
}
@OnClick({R2.id.btn_send_order, R2.id.tv_no_save_return, R2.id.tv_order_content})
public void onClick(View v) {
......@@ -161,11 +157,13 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
.call();
return;
}
mPresenter.sendOrder(false, null);
if (sendOrderListener != null) {
sendOrderListener.sendOrder();
}
} else if (id == R.id.tv_order_content) {
//如果打印成功會回調
Intent intent = new Intent(mContext, OrderContentActivity.class);
startActivityForResult(intent, ORDER_CONTENT_CODE);
startActivityForResult(intent, MealStandActivity2.ORDER_CONTENT_CODE);
} else if (id == R.id.tv_no_save_return) {
returnTableActivity(true);
}
......@@ -200,11 +198,47 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
killMyself();
}
/**
* 一段时间内没有操作,退出当前餐台
*/
private void initAutoQuit() {
if (ctime != null) {
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 (isPressButtonSound) {
VibratorUtils.pressButtonSound(this);
}
//关闭倒计时
if (ctime != null) {
ctime.stop();
}
//重新开启倒计时
if (ctime != null) {
ctime.setBase(SystemClock.elapsedRealtime());
ctime.start();
}
}
@Override
......@@ -292,9 +326,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
return 1;
}
public void clearInput() {
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
......@@ -306,13 +337,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
//關閉當前頁面
killMyself();
}
} else if (requestCode == ScanHelper.CALL_BACK_QR_RESULT) {
String qrCodeResult = data.getStringExtra("qrCodeResult");
if (TextUtils.isEmpty(qrCodeResult)) {
return;
}
TableBean.DataBean dataBean = DoshokuOrder.getInstance().getOpenTableInfo();
// mPresenter.queryMember(1, qrCodeResult, RestaurantInfoManager.newInstance().getGsPosShopId(), dataBean.getId(), dataBean.getTableNumber());
}
}
......@@ -328,4 +352,13 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
public void showBtnMealModifyRestoreVisibility(boolean show) {
}
private OnSendOrderListener sendOrderListener;
public void setSendOrderListener(OnSendOrderListener sendOrderListener) {
this.sendOrderListener = sendOrderListener;
}
public interface OnSendOrderListener {
void sendOrder();
}
}
......@@ -554,7 +554,8 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
//
// List<BillItem> billItemList = DoshokuOrder.getInstance().getShoppingCart().getBillItemList();
RequestParms parms = RequestParms.builder()
RequestParms parms = RequestParms.builder()
.action(PayAction.SALE)
.resturantId(RestaurantInfoManager.newInstance().getRestaurantId())
.orderId(DoshokuOrder.getInstance().getOrderId())
......
......@@ -394,7 +394,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override
public void startMealStandActivity() {
startActivity(new Intent(this, MealStandActivity.class));
startActivity(new Intent(this, MealStandActivity2.class));
}
@Override
......
......@@ -5,6 +5,7 @@ import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
......@@ -110,10 +111,9 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
setColor(datasBean);
setSoldoutStatus(datasBean);
setOnItemClickListener(new OnViewClickListener() {
rl_container.setOnClickListener(new View.OnClickListener() {
@Override
public void onViewClick(View view, int position) {
public void onClick(View v) {
if (mOnItemClickListener != null) {
for (int i = 0; i < mInfos.size(); i++) {
mInfos.get(i).setSelected(false);
......@@ -154,7 +154,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
tv_name.setHeight(mParentColHeight);
tv_name.setGravity(Gravity.CENTER);
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) rl_container.getLayoutParams();
ViewGroup.LayoutParams lp = (ViewGroup.LayoutParams) rl_container.getLayoutParams();
lp.height = mParentColHeight;
lp.width = mParentColWidth;
rl_container.setLayoutParams(lp);
......
......@@ -445,7 +445,8 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
setSelectPosition(select_position);
EventBus.getDefault().post(SetMealFragment.FOOD_LAYOUT,SetMealFragment.SET_CURR_LAYOUT_EVENT);
int [] viewModes ={MealConstant.food_group_ViewMode,MealConstant.food_ViewMode};
EventBus.getDefault().post(viewModes,SetMealFragment.SET_CURR_LAYOUT_EVENT);
// mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
}
......@@ -492,7 +493,8 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
setSelectPosition(select_position);
EventBus.getDefault().post(SetMealFragment.FOOD_LAYOUT,SetMealFragment.SET_CURR_LAYOUT_EVENT);
int [] viewModes ={MealConstant.food_group_ViewMode,MealConstant.food_ViewMode};
EventBus.getDefault().post(viewModes,SetMealFragment.SET_CURR_LAYOUT_EVENT);
// if (mMealStandActivity != null) {
// mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
// }
......@@ -749,8 +751,9 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
public void setSelectPosition(int position) {
if (position == -1)
if (position == -1) {
return;
}
select_position = position;
......
......@@ -49,11 +49,6 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
ViewPager contentViewPager;
@BindView(R2.id.ll_container)
QMUILinearLayout llContainer;
private CouponFragment couponFragment;
private NomalDiscountFragment billDiscountFragment;
private List<String> mTabTitles = new ArrayList<>();
private int mCurrentPageIndex = 0;
public static DiscountFragment newInstance() {
......@@ -82,68 +77,55 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
@Override
public void setData(@Nullable Object data) {
}
private void initTabAndPager() {
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
List<Fragment> fragments = new ArrayList<>();
CouponFragment couponFragment = CouponFragment.newInstance(CouponFragment.FOOD_LIMIT_DISCOUNT);
couponFragment.setOnCouponItemClickListener((item, position) -> {
if (onDiscountItemClickListener != null) {
onDiscountItemClickListener.onCouponClick(item, position);
}
});
NomalDiscountFragment billDiscountFragment = NomalDiscountFragment.newInstance();
billDiscountFragment.setOnDiscountItemClickListener((item, position) -> {
if (onDiscountItemClickListener != null) {
onDiscountItemClickListener.onBillDiscountClick(item, position);
}
});
fragments.add(couponFragment);
fragments.add(billDiscountFragment);
final List<String> tabList = getTabTitles();
QMUIFragmentPagerAdapter pagerAdapter = new QMUIFragmentPagerAdapter(getChildFragmentManager()) {
@Override
public Fragment createFragment(int position) {
switch (position) {
case 1:
if (couponFragment != null) {
return couponFragment;
}
couponFragment = CouponFragment.newInstance(CouponFragment.FOOD_LIMIT_DISCOUNT);
couponFragment.setOnCouponItemClickListener(new CouponFragment.OnCouponItemClickListener() {
@Override
public void onItemClick(MemberWalletCoupon item, int position) {
if (onDiscountItemClickListener != null) {
onDiscountItemClickListener.onCouponClick(item, position);
}
}
});
return couponFragment;
default:
if (billDiscountFragment != null) {
return billDiscountFragment;
}
billDiscountFragment = NomalDiscountFragment.newInstance();
billDiscountFragment.setOnDiscountItemClickListener(new NomalDiscountFragment.OnBillDiscountItemClickListener() {
@Override
public void onItemClick(Discount item, int position) {
if (onDiscountItemClickListener != null) {
onDiscountItemClickListener.onBillDiscountClick(item, position);
}
}
});
return billDiscountFragment;
}
return fragments.get(position);
}
@Override
public int getCount() {
return mTabTitles.size();
return tabList.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mTabTitles.get(position);
return tabList.get(position);
}
};
QMUITabBuilder builder = tabSegment.tabBuilder();
mTabTitles.add("折扣");
QMUITab tab1 = builder
.setText(mTabTitles.get(0))
.setText(tabList.get(0))
.build(_mActivity);
tabSegment.addTab(tab1);
if (memberInfo != null) {
mTabTitles.add("會員錢包");
if (tabList.size() > 1) {
QMUITab tab2 = builder
.setText(mTabTitles.get(1))
.setText(tabList.get(1))
.build(_mActivity);
tabSegment.addTab(tab2);
}
......@@ -159,7 +141,7 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
@Override
public void onTabSelected(int index) {
LoganManager.w_tableMode(TAG, "當前頁面【" + mTabTitles.get(index) + "】");
LoganManager.w_tableMode(TAG, "當前頁面【" + tabList.get(index) + "】");
}
@Override
......@@ -176,6 +158,16 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
});
}
private List<String> getTabTitles() {
List<String> tabList = new ArrayList<>();
tabList.add("折扣");
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
tabList.add("會員錢包");
}
return tabList;
}
@Override
public boolean onBackPressedSupport() {
return super.onBackPressedSupport();
......
......@@ -6,17 +6,21 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerFineChildAllComponent;
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.FineChildAllPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.table.mvp.contract.FineChildAllContract;
import java.util.ArrayList;
import java.util.List;
......@@ -26,6 +30,10 @@ import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import org.simple.eventbus.Subscriber;
import org.simple.eventbus.ThreadMode;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -53,6 +61,9 @@ public class FineChildAllFragment extends BaseFragment<FineChildAllPresenter> im
private int modCol;
public final static String LOAD_FINE_DATA_EVENT = "loadFineDataEvent";
public final static String UPDATE_FINE_DATA_EVENT = "updateFineDataEvent";
public static FineChildAllFragment newInstance() {
FineChildAllFragment fragment = new FineChildAllFragment();
return fragment;
......@@ -82,6 +93,39 @@ public class FineChildAllFragment extends BaseFragment<FineChildAllPresenter> im
mPresenter.initItemListener(mContext);
}
@Subscriber(tag = LOAD_FINE_DATA_EVENT, mode = ThreadMode.MAIN)
public void loadFineData(LoadFineEvent fineEvent) {
final int currFinePage = fineEvent.getCurrFinePage();
final long productId = fineEvent.getProductId();
final int selectedMode = fineEvent.getSelectedMode();
final List<SoldoutCtrFood> soldoutCtrFoods = fineEvent.getSoldoutCtrFoods();
if (productId != 0) {
if (selectedMode == SelectMealAdapter.SINGLE_SELECTED) {
if (currFinePage == 1) {
loadModSasteData(productId);
} else {
loadModMsgData(productId);
}
} else {
if (currFinePage == 1) {
loadModSasteData(productId);
} else {
loadModCommData(productId);
}
}
}
if (soldoutCtrFoods != null) {
setModifierSoldoutFoodList_Full(soldoutCtrFoods);
updateParentModifierSlodoutFoodList_Full();
}
}
@Subscriber(tag = UPDATE_FINE_DATA_EVENT, mode = ThreadMode.MAIN)
public void updateFineItemSoldoutListFull(List<SoldoutCtrFood> soldoutListFull) {
setModifierSoldoutFoodList_Full(soldoutListFull);
updateParentModifierSlodoutFoodList_Full();
}
@Override
public void setData(@Nullable Object data) {
......
......@@ -8,19 +8,30 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.viewpager2.widget.ViewPager2;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerFineComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.FineContract;
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.FinePresenter;
import com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter;
import com.gingersoft.gsa.cloud.ui.view.MyTableView;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.google.android.material.tabs.TabLayout;
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 org.simple.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -40,16 +51,16 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
*/
public class FineFragment extends BaseFragment<FinePresenter> implements FineContract.View {
@BindView(R2.id.tabLayout)
TabLayout tabLayout;
@BindView(R2.id.viewPager)
ViewPager2 viewPager;
MyTableView tabFine;
@BindView(R2.id.viewPager2)
ViewPager2 vPager2Fine;
public static FineFragment newInstance() {
FineFragment fragment = new FineFragment();
return fragment;
}
private String[] mFineTitles = {"口味", "信息"};
private FineChildAllFragment modSasteFineItemFragment, modMsgFineItemFragment;
private LoadFineEvent mLoadFineEvent;
@Override
public void setupFragmentComponent(@NonNull AppComponent appComponent) {
......@@ -69,6 +80,56 @@ public class FineFragment extends BaseFragment<FinePresenter> implements FineCon
@Override
public void initData(@Nullable Bundle savedInstanceState) {
initViewPager();
}
private void initViewPager() {
List<Fragment> fragments = new ArrayList<>();
modSasteFineItemFragment = FineChildAllFragment.newInstance();
modMsgFineItemFragment = FineChildAllFragment.newInstance();
fragments.add(modSasteFineItemFragment);
fragments.add(modMsgFineItemFragment);
//实例化适配器
ViewPager2Adapter viewPager2Adapter = new ViewPager2Adapter(_mActivity, fragments);
//设置Viewpager2的适配器
vPager2Fine.setAdapter(viewPager2Adapter);
//TabLayout綁定Viewpager2
TabLayoutMediator tab = new TabLayoutMediator(tabFine, vPager2Fine, true, new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
tab.setText(mFineTitles[position]);
}
});
tab.attach();
tabFine.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
int position = tab.getPosition();
if (mLoadFineEvent != null) {
mLoadFineEvent.setCurrFinePage(position);
EventBus.getDefault().post(mLoadFineEvent, FineChildAllFragment.LOAD_FINE_DATA_EVENT);
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
public void updateFineData(LoadFineEvent fineEvent) {
this.mLoadFineEvent = fineEvent;
}
public void setCurrentItem(int currFinePage) {
vPager2Fine.setCurrentItem(currFinePage);
}
@Override
......@@ -103,6 +164,8 @@ public class FineFragment extends BaseFragment<FinePresenter> implements FineCon
@Override
public void killMyself() {
_mActivity.onBackPressedSupport();
}
}
......@@ -22,8 +22,10 @@ import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealDiscountPresen
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;
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;
......@@ -53,14 +55,12 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
*/
public class MealDiscountFragment extends BaseFragment<MealDiscountPresenter> implements MealDiscountContract.View {
@BindView(R2.id.tab_segment)
MyTableView tabSegment;
@BindView(R2.id.viewPager)
ViewPager viewPager;
@Inject
List<String> mTabTitles;
@BindView(R2.id.tabLayout)
MyTableView tabLayout;
@BindView(R2.id.viewPager2)
ViewPager2 viewPager2;
private String[] mTabTitles = {"折扣", "優惠券"};
public static MealDiscountFragment newInstance() {
MealDiscountFragment fragment = new MealDiscountFragment();
......@@ -85,33 +85,29 @@ public class MealDiscountFragment extends BaseFragment<MealDiscountPresenter> im
@Override
public void initData(@Nullable Bundle savedInstanceState) {
initTabTitles();
initViewPager();
}
private void initTabTitles() {
mTabTitles.add("折扣");
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
mTabTitles.add("優惠券");
}
tabSegment.setTitles(mTabTitles);
}
private void initViewPager() {
List<Fragment> fragments = new ArrayList<>();
fragments.add(NomalDiscountFragment.newInstance());
fragments.add(CouponFragment.newInstance(CouponFragment.FOOD_LIMIT_DISCOUNT));
MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
if (memberInfo != null) {
fragments.add(CouponFragment.newInstance(CouponFragment.FOOD_LIMIT_DISCOUNT));
}
//实例化适配器
TabFragmentAdapter mTabFragmentAdapter = new TabFragmentAdapter(getParentFragmentManager(), 1);
//设置加载的Fragment集合
mTabFragmentAdapter.setFragments(fragments);
//设置Viewpager的适配器
viewPager.setAdapter(mTabFragmentAdapter);
//TabLayout绑定ViewPager
tabSegment.setTitles(mTabTitles).setupWithViewPager(viewPager);
ViewPager2Adapter viewPager2Adapter = new ViewPager2Adapter(_mActivity, fragments);
//设置Viewpager2的适配器
viewPager2.setAdapter(viewPager2Adapter);
//TabLayout綁定Viewpager2
TabLayoutMediator tab = new TabLayoutMediator(tabLayout, viewPager2, true, new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
tab.setText(mTabTitles[position]);
}
});
tab.attach();
}
@Override
......
package com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.os.Parcelable;
import android.text.TextUtils;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
......@@ -19,8 +23,10 @@ import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
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.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerRiceponMemberDialogComponent;
......@@ -38,6 +44,7 @@ import com.jess.arms.utils.ArmsUtils;
import com.jess.arms.utils.DeviceUtils;
import com.jess.arms.utils.PermissionUtil;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.rengwuxian.materialedittext.MaterialEditText;
import com.tbruyelle.rxpermissions2.RxPermissions;
......@@ -137,6 +144,18 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
initAdapter();
}
@Override
public void onStart() {
super.onStart();
mWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
WindowManager.LayoutParams lp = mWindow.getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = (int) (QMUIDisplayHelper.getScreenHeight(mContext) * 0.6);
lp.gravity = Gravity.BOTTOM;
lp.windowAnimations = android.R.style.Animation_InputMethod;
mWindow.setAttributes(lp);
}
private void initAdapter() {
if (mMemberInfoAdapter != null) {
recyclerMemeberInfo.setAdapter(mMemberInfoAdapter);
......@@ -244,15 +263,6 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
}
}
public void showBottomLayoutVisibility(boolean show) {
llBottom.setVisibility(show ? View.VISIBLE : View.GONE);
btnScan.setVisibility(!show ? View.VISIBLE : View.GONE);
}
private String getTvPhone() {
return edPhone.getText().toString();
}
@Override
public void returnMemberInfo(MemberInfo memberInfo) {
this.mMemberInfo = memberInfo;
......@@ -265,6 +275,28 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
showBottomLayoutVisibility(true);
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ScanHelper.CALL_BACK_QR_RESULT) {
String qrCodeResult = data.getStringExtra("qrCodeResult");
if (TextUtils.isEmpty(qrCodeResult)) {
return;
}
TableBean.DataBean dataBean = DoshokuOrder.getInstance().getOpenTableInfo();
mPresenter.queryMember(1, qrCodeResult, RestaurantInfoManager.newInstance().getGsPosShopId(), dataBean.getId(), dataBean.getTableNumber());
}
}
public void showBottomLayoutVisibility(boolean show) {
llBottom.setVisibility(show ? View.VISIBLE : View.GONE);
btnScan.setVisibility(!show ? View.VISIBLE : View.GONE);
}
private String getTvPhone() {
return edPhone.getText().toString();
}
public void clearMemberInfo() {
this.mMemberInfo = null;
if (onUseMemberListener != null) {
......
......@@ -6,18 +6,18 @@
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.material.tabs.TabLayout
<com.gingersoft.gsa.cloud.ui.view.MyTableView
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/tabIndicator_height"
android:background="@color/white"
android:layout_height="wrap_content"
android:background="@color/theme_white_color"
app:tabIndicator="@drawable/tablayout_indicator"
app:tabIndicatorColor="@color/theme_color"
app:tabIndicatorFullWidth="false"/>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
android:id="@+id/viewPager2"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent"/>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.gingersoft.gsa.cloud.ui.view.MyTableView
android:id="@+id/tab_segment"
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
app:tabIndicator="@drawable/tablayout_indicator"
app:tabIndicatorColor="@color/theme_color"
app:tabIndicatorFullWidth="false"/>
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager2"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
......
......@@ -55,6 +55,7 @@
android:id="@+id/recycler_memeber_info"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:layout_below="@+id/ll_input_phone"
android:layout_above="@+id/btn_scan"/>
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rl_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout
android:id="@+id/rl_container"
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="match_parent"
android:layout_marginTop="2px"
android:layout_marginRight="2px"
android:gravity="center"
android:text="food"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@drawable/meal_selector_food_backgroup"
android:textSize="@dimen/sp_14" />
<TextView
android:id="@+id/tv_name"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="2px"
android:layout_marginTop="2px"
android:gravity="center"
android:text="food"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@drawable/meal_selector_food_backgroup"
android:textSize="@dimen/sp_14" />
<TextView
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/ui_shape_red_oval"
android:gravity="center"
android:text="number"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/theme_white_color" />
<TextView
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ui_shape_red_oval"
android:layout_alignParentRight="true"
android:gravity="center"
android:text="number"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/theme_white_color" />
<TextView
android:id="@+id/tv_soldout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:layout_marginTop="2px"
android:layout_marginRight="2px"
android:background="@drawable/ui_selector_white_rect"
android:text="sold"
android:textStyle="bold"
android:visibility="invisible" />
<TextView
android:id="@+id/tv_soldout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_gravity="right"
android:layout_marginRight="2px"
android:layout_marginTop="2px"
android:background="@drawable/ui_selector_white_rect"
android:text="sold"
android:textStyle="bold"
android:visibility="invisible" />
<com.gingersoft.gsa.cloud.ui.view.BeveLabelView
android:id="@+id/blv_soldout"
android:layout_width="35dp"
android:layout_height="35dp"
app:label_bg_color="#D10035"
app:label_corner="8dp"
app:label_length="20dp"
app:label_mode="left_top"
app:label_text="暫停"
app:label_text_color="@color/theme_white_color"
app:label_text_size="@dimen/sp_10" />
<com.gingersoft.gsa.cloud.ui.view.BeveLabelView
android:id="@+id/blv_soldout"
android:layout_width="35dp"
android:layout_height="35dp"
app:label_corner="8dp"
app:label_length="20dp"
app:label_bg_color="#D10035"
app:label_mode="left_top"
app:label_text="暫停"
app:label_text_color="@color/theme_white_color"
app:label_text_size="@dimen/sp_10" />
<View
android:id="@+id/right_line"
android:layout_width="2px"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:background="@color/theme_black" />
<View
android:id="@+id/right_line"
android:layout_width="2px"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:background="@color/theme_black" />
<View
android:id="@+id/top_line"
android:layout_width="match_parent"
android:layout_height="2px"
android:layout_alignParentTop="true"
android:background="@color/theme_black" />
</com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout>
</RelativeLayout>
<View
android:id="@+id/top_line"
android:layout_width="match_parent"
android:layout_height="2px"
android:layout_alignParentTop="true"
android:background="@color/theme_black" />
</com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout>
......@@ -42,23 +42,47 @@
android:orientation="vertical" />
</LinearLayout>
<include layout="@layout/meal_layout_combo_modifier"/>
<!-- <ViewStub-->
<!-- android:id="@+id/vb_combo_modifier"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_above="@+id/ll_modify"-->
<!-- android:layout_below="@+id/ll_food_container"-->
<!-- android:layout="@layout/meal_layout_combo_modifier" />-->
<include layout="@layout/meal_layout_meal_fine"/>
<!-- <ViewStub-->
<!-- android:id="@+id/vb_fine"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_above="@+id/ll_modify"-->
<!-- android:layout_below="@+id/ll_food_container"-->
<!-- android:layout="@layout/meal_layout_meal_fine" />-->
<include
layout="@layout/meal_layout_combo_modifier"
android:visibility="gone" />
<include
layout="@layout/meal_layout_meal_fine"
android:visibility="gone" />
<FrameLayout
android:id="@+id/fl_discount_fragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone">
<fragment
android:id="@+id/fragment_discount"
android:name="com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.DiscountFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
<!-- <FrameLayout-->
<!-- android:id="@+id/fl_fine_fragment"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:visibility="gone">-->
<!-- <fragment-->
<!-- android:id="@+id/fragment_fine"-->
<!-- android:name="com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.FineFragment"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
<!-- </FrameLayout>-->
<!--鍵盤-->
<com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
android:id="@+id/meal_stand_search_keyboard_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ll_modify"
android:visibility="gone" />
<LinearLayout
android:id="@+id/ll_modify"
......
......@@ -13,7 +13,7 @@
android:layout_weight="1">
<LinearLayout
android:id="@+id/ll_mm"
android:id="@+id/ll_meal_function"
android:layout_width="55dp"
android:layout_height="match_parent"
android:orientation="vertical">
......@@ -202,5 +202,4 @@
android:src="@mipmap/meal_number_key"
android:tag="99" />
</LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/ll_fine"
android:layout_width="match_parent"
android:layout_height="wrap_content">
......@@ -8,9 +9,13 @@
<com.gingersoft.gsa.cloud.ui.view.MyTableView
android:id="@+id/tab_fine"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"
android:background="@color/theme_white_color"
app:tabIndicator="@drawable/tablayout_indicator"
app:tabIndicatorColor="@color/theme_color"
app:tabIndicatorFullWidth="false"/>
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/pager_fine"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
......
......@@ -19,22 +19,6 @@
android:layout_height="match_parent"
android:layout_above="@+id/ll_modify"/>
<FrameLayout
android:id="@+id/fl_meal_discount"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ll_modify"
android:layout_marginTop="@dimen/dp_260" />
<!--鍵盤-->
<com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
android:id="@+id/meal_stand_search_keyboard_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ll_modify"
android:layout_marginTop="@dimen/dp_260"
android:visibility="gone"/>
<LinearLayout
android:id="@+id/ll_stand_oper"
android:layout_width="match_parent"
......
......@@ -15,6 +15,6 @@
<androidx.viewpager.widget.ViewPager
android:id="@+id/contentViewPager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
android:layout_height="match_parent" />
</com.qmuiteam.qmui.layout.QMUILinearLayout>
\ No newline at end of file
......@@ -7,8 +7,8 @@ ext {
targetSdkVersion : 29,
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
versionCode : 33,
versionName : "1.3.3"
versionCode : 35, //31
versionName : "1.3.5" //1.3.5
]
version = [
......
......@@ -160,14 +160,8 @@ public abstract class BaseFragment<P extends IPresenter> extends ImmersionFragme
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
toolbar = view.findViewById(R.id.topbar);
// fitsLayoutOverlap();
}
private void fitsLayoutOverlap() {
if (toolbar != null) {
ImmersionBar.setTitleBar(this, toolbar);
}
}
@Override
public void initImmersionBar() {
......
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.common.config.globalconfig.applyOptions;
import android.content.Context;
import com.gingersoft.gsa.cloud.common.BuildConfig;
import com.gingersoft.gsa.cloud.common.config.OkHttpConfig;
import com.gingersoft.gsa.cloud.common.rxjava.CustomCallAdapterFactory;
import com.jess.arms.di.module.ClientModule;
import java.io.File;
......@@ -18,6 +19,7 @@ import retrofit2.Retrofit;
public class MyRetrofitConfiguration implements ClientModule.RetrofitConfiguration {
@Override
public void configRetrofit(Context context, Retrofit.Builder builder) {
// builder.addCallAdapterFactory(new CustomCallAdapterFactory());
// 配置多BaseUrl支持
// OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
// if (BuildConfig.DEBUG) {
......
......@@ -16,9 +16,7 @@ public interface MealConstant {
int discount_ViewMode = 104;
int fine_ViewMode = 105;
int fine_tabs_ViewMode = 106;
int ViewMode_keys = 503;
int keys_viewMode = 503;
//堂食
int hall_food_mode = 1;
......
package com.gingersoft.gsa.cloud.common.rxjava;
import java.lang.reflect.Type;
import retrofit2.Call;
import retrofit2.CallAdapter;
/**
* @作者: bin
* @創建時間: 2021-04-19 17:44
* @更新時間: 2021-04-19 17:44
* @描述:
*/
public class CustomCallAdapter <R> implements CallAdapter<R, Object> {
@Override
public Type responseType() {
return null;
}
@Override
public Object adapt(Call<R> call) {
return null;
}
}
package com.gingersoft.gsa.cloud.common.rxjava;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import javax.annotation.Nullable;
import retrofit2.CallAdapter;
import retrofit2.Retrofit;
/**
* @作者: bin
* @創建時間: 2021-04-19 17:43
* @更新時間: 2021-04-19 17:43
* @描述:
*/
public class CustomCallAdapterFactory extends CallAdapter.Factory {
@Nullable
@Override
public CallAdapter<?, ?> get(Type returnType, Annotation[] annotations, Retrofit retrofit) {
return null;
}
}
......@@ -8,6 +8,8 @@ import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import me.jessyan.rxerrorhandler.core.RxErrorHandler;
import me.jessyan.rxerrorhandler.handler.ErrorHandlerFactory;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
/**
* @作者: bin
......
......@@ -27,8 +27,6 @@ public class MyRxSchedulerUtils {
return executor != null ? Schedulers.from(executor) : Schedulers.io();
}
//==========================Single===========================//
private MyRxSchedulerUtils() {
throw new UnsupportedOperationException("u can't instantiate me...");
}
......@@ -92,4 +90,7 @@ public class MyRxSchedulerUtils {
public static <T> SingleTransformer<T, T> _io_io_f() {
return new SchedulerTransformer<>(SchedulerType._io_io);
}
}
package com.gingersoft.gsa.cloud.common.rxjava;
import com.xuexiang.rxutil2.rxjava.RxSchedulerUtils;
import io.reactivex.Observable;
import io.reactivex.Single;
/**
* @作者: bin
* @創建時間: 2021-04-21 15:27
* @更新時間: 2021-04-21 15:27
* @描述:
*/
public class MyRxUtils {
public static <T> Single<T> si_just_io_main(T t) {
return Single.just(t)
.compose(MyRxSchedulerUtils._io_main_f());
}
public static <T> Observable<T> ob_just_io_main(T t) {
return Observable.just(t)
.compose(RxSchedulerUtils._io_main_o());
}
}
package com.gingersoft.gsa.cloud.pay;
import android.os.Parcelable;
/**
* @作者: bin
* @創建時間: 2021-04-14 15:05
......
......@@ -14,6 +14,9 @@ import java.util.List;
import lombok.Builder;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
/**
* @作者: bin
......@@ -22,8 +25,7 @@ import lombok.Getter;
* @描述:
*/
@Data
@Builder
public class RequestParms implements Serializable {
public class RequestParms implements Parcelable {
private PayAction action;
private final int resturantId;
......@@ -44,33 +46,120 @@ public class RequestParms implements Serializable {
*/
private ResultCallback resultCallback;
// @Override
// public int describeContents() {
// return 0;
// }
//
// @Override
// public void writeToParcel(Parcel dest, int flags) {
// dest.writeInt(this.payType);
// dest.writeLong(this.orderId);
// dest.writeDouble(this.payMoney);
// }
//
// protected RequestParms(Parcel in) {
// this.payType = in.readInt();
// this.orderId = in.readLong();
// this.payMoney = in.readDouble();
// }
//
// public static final Creator<RequestParms> CREATOR = new Creator<RequestParms>() {
// @Override
// public RequestParms createFromParcel(Parcel source) {
// return new RequestParms(source);
// }
//
// @Override
// public RequestParms[] newArray(int size) {
// return new RequestParms[size];
// }
// };
private RequestParms(Builder builder) {
this.action = builder.action;
this.resturantId = builder.resturantId;
this.payMethods = builder.payMethods;
this.payType = builder.payType;
this.orderId = builder.orderId;
this.payMoney = builder.payMoney;
this.refundReason = builder.refundReason;
this.callback = builder.callback;
this.resultCallback = builder.resultCallback;
}
public static Builder builder() {
return new Builder();
}
public static final class Builder {
private PayAction action;
private int resturantId;
private List<PayMethod> payMethods;
private int payType;
private long orderId;
private double payMoney;
private String refundReason;
private Callback callback;
private ResultCallback resultCallback;
public Builder action(PayAction action) {
this.action = action;
return this;
}
public Builder resturantId(int resturantId) {
this.resturantId = resturantId;
return this;
}
public Builder payMethods(List<PayMethod> payMethods) {
this.payMethods = payMethods;
return this;
}
public Builder payType(int payType) {
this.payType = payType;
return this;
}
public Builder orderId(long orderId) {
this.orderId = orderId;
return this;
}
public Builder payMoney(double payMoney) {
this.payMoney = payMoney;
return this;
}
public Builder refundReason(String refundReason) {
this.refundReason = refundReason;
return this;
}
public Builder callback(Callback callback) {
this.callback = callback;
return this;
}
public Builder resultCallback(ResultCallback resultCallback) {
this.resultCallback = resultCallback;
return this;
}
public RequestParms build() {
return new RequestParms(this);
}
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.action == null ? -1 : this.action.ordinal());
dest.writeInt(this.resturantId);
dest.writeTypedList(this.payMethods);
dest.writeInt(this.payType);
dest.writeLong(this.orderId);
dest.writeDouble(this.payMoney);
dest.writeString(this.refundReason);
}
protected RequestParms(Parcel in) {
int tmpAction = in.readInt();
this.action = tmpAction == -1 ? null : PayAction.values()[tmpAction];
this.resturantId = in.readInt();
this.payMethods = in.createTypedArrayList(PayMethod.CREATOR);
this.payType = in.readInt();
this.orderId = in.readLong();
this.payMoney = in.readDouble();
this.refundReason = in.readString();
}
public static final Creator<RequestParms> CREATOR = new Creator<RequestParms>() {
@Override
public RequestParms createFromParcel(Parcel source) {
return new RequestParms(source);
}
@Override
public RequestParms[] newArray(int size) {
return new RequestParms[size];
}
};
}
package com.gingersoft.gsa.cloud.pay;
import android.os.Parcelable;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import java.util.List;
......
......@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 17:18
* @描述:
*/
public interface PhoneCallback extends Callback {
public interface PhoneCommand extends Callback {
}
......@@ -7,7 +7,7 @@ import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.PayDeviceFactory;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BaseBgRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayCallback;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayCommand;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.Preconditions;
......@@ -37,7 +37,7 @@ public final class PosPay {
//yedpay所需
final double payMoney;
final YedpayCallback yedpayCallback;
final YedpayCommand yedpayCallback;
public void pay() {
final PosPayAction payDevice = PayDeviceFactory.createPayDevice();
......
......@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public interface BBposCallback extends Callback {
public interface BBposCommand extends Callback {
......
......@@ -6,7 +6,7 @@ package com.gingersoft.gsa.cloud.pay.device.pos.bbpos;
* @更新時間: 2021-04-23 10:08
* @描述:
*/
public class BBposCallbackImp implements BBposCallback{
public class BBposCommandImp implements BBposCommand {
}
......@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public interface HywebCallback extends Callback {
public interface HywebCommand extends Callback {
......
......@@ -6,7 +6,7 @@ package com.gingersoft.gsa.cloud.pay.device.pos.hyweb;
* @更新時間: 2021-04-23 10:09
* @描述:
*/
public class HywebCallbackImp implements HywebCallback{
public class HywebCommandImp implements HywebCommand {
}
......@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public interface YedpayCallback extends Callback {
public interface YedpayCommand extends Callback {
void callSaleUri(String uri);
......
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