Commit f47767b0 by 宁斌

賬單優化處理

parent 1a28da3b
...@@ -17,8 +17,7 @@ public class UIStyleExtendedConfiguration { ...@@ -17,8 +17,7 @@ public class UIStyleExtendedConfiguration {
* 食品組、食品、細項、折扣行列寬高 * 食品組、食品、細項、折扣行列寬高
*/ */
private ExpandInfoSetting foodGroupRow = ExpandInfoSetting.builder() private ExpandInfoSetting foodGroupRow = ExpandInfoSetting.builder()
// .valueInt(2) .valueInt(2)
.valueChar("foodGroupRow類型")
.remark("食品組行數") .remark("食品組行數")
.build(); .build();
private ExpandInfoSetting foodGroupColumn = ExpandInfoSetting.builder() private ExpandInfoSetting foodGroupColumn = ExpandInfoSetting.builder()
...@@ -80,6 +79,10 @@ public class UIStyleExtendedConfiguration { ...@@ -80,6 +79,10 @@ public class UIStyleExtendedConfiguration {
/** /**
* 食品組、食品、細項、折扣字體大小 * 食品組、食品、細項、折扣字體大小
*/ */
private ExpandInfoSetting billListFontSize = ExpandInfoSetting.builder()
.valueInt(18)
.remark("餐牌選中食品字體大小")
.build();
private ExpandInfoSetting foodGroupFontSize = ExpandInfoSetting.builder() private ExpandInfoSetting foodGroupFontSize = ExpandInfoSetting.builder()
.valueInt(14) .valueInt(14)
.remark("食品組字體大小") .remark("食品組字體大小")
...@@ -174,6 +177,9 @@ public class UIStyleExtendedConfiguration { ...@@ -174,6 +177,9 @@ public class UIStyleExtendedConfiguration {
return foodGroupFontSize.getValue(); return foodGroupFontSize.getValue();
} }
public <T> T getBillListFontSizeValue() {
return billListFontSize.getValue();
}
public <T> T getFoodFontSizeValue() { public <T> T getFoodFontSizeValue() {
return foodFontSize.getValue(); return foodFontSize.getValue();
} }
......
package com.gingersoft.gsa.cloud.constans;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-06-03
* 修订历史:2020-06-03
* 描述:
*/
public interface HttpsCode {
}
...@@ -2,7 +2,6 @@ package com.gingersoft.gsa.delivery_pick_mode.mvp.presenter; ...@@ -2,7 +2,6 @@ package com.gingersoft.gsa.delivery_pick_mode.mvp.presenter;
import android.app.Activity; import android.app.Activity;
import android.app.Application; import android.app.Application;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
...@@ -17,16 +16,12 @@ import com.jess.arms.http.imageloader.ImageLoader; ...@@ -17,16 +16,12 @@ import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager; import com.jess.arms.integration.AppManager;
import com.jess.arms.mvp.BasePresenter; import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull; import io.reactivex.annotations.NonNull;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
......
...@@ -16,9 +16,11 @@ import androidx.core.content.ContextCompat; ...@@ -16,9 +16,11 @@ import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney; import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.TakeawayOrder;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil; import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimePickerUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimePickerUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
...@@ -54,6 +56,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull; ...@@ -54,6 +56,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
/** /**
* @author admin * @author admin
* 外送下單頁
*/ */
public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implements SendOrderContract.View, View.OnClickListener { public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implements SendOrderContract.View, View.OnClickListener {
...@@ -111,9 +114,13 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen ...@@ -111,9 +114,13 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
@BindView(R2.id.group_time) @BindView(R2.id.group_time)
Group timeGroup; Group timeGroup;
private TakeawayOrder mTakeawayOrder;
private ShoppingCart mShoppingCart;
private final int SELECT_ADDRESS_REQUEST_CODE = 1001; private final int SELECT_ADDRESS_REQUEST_CODE = 1001;
private final int SELECT_ADDRESS_RESULT_CODE = 1002; private final int SELECT_ADDRESS_RESULT_CODE = 1002;
@Override @Override
public void setupActivityComponent(@NonNull AppComponent appComponent) { public void setupActivityComponent(@NonNull AppComponent appComponent) {
DaggerSendOrderComponent //如找不到该类,请编译一下项目 DaggerSendOrderComponent //如找不到该类,请编译一下项目
...@@ -125,6 +132,13 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen ...@@ -125,6 +132,13 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
} }
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
mTakeawayOrder = TakeawayOrder.getInstance();
mShoppingCart = mTakeawayOrder.getShoppingCart();
super.onCreate(savedInstanceState);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) { public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.other_order_activity_send_order; return R.layout.other_order_activity_send_order;
} }
...@@ -133,7 +147,7 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen ...@@ -133,7 +147,7 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
sendTime = deliveryTimes.get(0); sendTime = deliveryTimes.get(0);
List<OrderDetails.DataBean.PRODUCTNAMEBean> productnameBeans = mPresenter.productnameBeans; List<OrderDetails.DataBean.PRODUCTNAMEBean> productnameBeans = mPresenter.productnameBeans;
List<OrderDetail> orderDetails = MyOrderManage.getInstance().getOrderFoodList(); List<OrderDetail> orderDetails = mShoppingCart.getOrderCommodityList();
for (int i = 0; i < orderDetails.size(); i++) { for (int i = 0; i < orderDetails.size(); i++) {
OrderDetail orderDetail = orderDetails.get(i); OrderDetail orderDetail = orderDetails.get(i);
long foodId = orderDetail.getProductId(); long foodId = orderDetail.getProductId();
...@@ -193,15 +207,15 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen ...@@ -193,15 +207,15 @@ public class SendOrderActivity extends BaseActivity<SendOrderPresenter> implemen
rvSendOrderFoods.setAdapter(adapter); rvSendOrderFoods.setAdapter(adapter);
rvSendOrderFoods.setLayoutManager(new LinearLayoutManager(mContext)); rvSendOrderFoods.setLayoutManager(new LinearLayoutManager(mContext));
List<BillOrderMoney> orderMoneyList = MyOrderManage.getInstance().getOrderMoneyList(); List<BillItem> orderMoneyList = mShoppingCart.getBillItemList();
List<BillBean> billBeans = new ArrayList<>(); List<BillBean> billBeans = new ArrayList<>();
for (BillOrderMoney billOrderMoney : orderMoneyList) { for (BillItem billOrderMoney : orderMoneyList) {
BillBean billBean = new BillBean(); BillBean billBean = new BillBean();
billBean.setName(billOrderMoney.getName()); billBean.setName(billOrderMoney.getName());
billBean.setAmount(billOrderMoney.getMoney()); billBean.setAmount(billOrderMoney.getMoney());
} }
billBeans.add(new BillBean("合計:", MyOrderManage.getInstance().getWholeAmount(), 0)); billBeans.add(new BillBean("合計:", mShoppingCart.getWholeAmount(), 0));
billBeans.add(new BillBean("應付金額:", MyOrderManage.getInstance().getTotalAmount(), 0)); billBeans.add(new BillBean("應付金額:",mShoppingCart.getTotalAmount(), 0));
PayBillAdapter payBillAdapter = new PayBillAdapter(R.layout.item_pay_bill, billBeans); PayBillAdapter payBillAdapter = new PayBillAdapter(R.layout.item_pay_bill, billBeans);
rvSendOrderBills.setAdapter(payBillAdapter); rvSendOrderBills.setAdapter(payBillAdapter);
......
...@@ -23,7 +23,7 @@ import androidx.lifecycle.ViewModelProvider ...@@ -23,7 +23,7 @@ import androidx.lifecycle.ViewModelProvider
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import com.billy.cc.core.component.CC import com.billy.cc.core.component.CC
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage import com.gingersoft.gsa.cloud.base.order.order.BaseOrder
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
import com.gingersoft.gsa.cloud.base.widget.DialogUtils import com.gingersoft.gsa.cloud.base.widget.DialogUtils
...@@ -598,7 +598,7 @@ class DeliveryOrderMainActivity : BaseActivity<IPresenter>(), View.OnClickListen ...@@ -598,7 +598,7 @@ class DeliveryOrderMainActivity : BaseActivity<IPresenter>(), View.OnClickListen
} }
R.id.tv_new_order -> { R.id.tv_new_order -> {
//新訂單 //新訂單
MyOrderManage.getInstance().orderType = TAKEAWAY_TYPE BaseOrder.orderType = TAKEAWAY_TYPE
CC.obtainBuilder("Component.Table") CC.obtainBuilder("Component.Table")
.setActionName("showMealStandActivity") .setActionName("showMealStandActivity")
.build() .build()
......
package com.gingersoft.gsa.cloud.base.order.bean.discount; package com.gingersoft.gsa.cloud.base.order.bean.discount;
import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem; import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem;
import com.gingersoft.gsa.cloud.base.order.discount.MemberDiscount;
import com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
...@@ -103,7 +105,8 @@ public class OrderDiscount { ...@@ -103,7 +105,8 @@ public class OrderDiscount {
Request request = new Request(); Request request = new Request();
request.setType(ORDER_DISCOUNT); request.setType(ORDER_DISCOUNT);
if(discount.getDiscount() != null) { if(discount.getDiscount() != null) {
request.setDiscountId(discount.getDiscount().getId()); NomalDiscount discount1 = (NomalDiscount) discount.getDiscount();
request.setDiscountId(discount1.getDiscount().getId());
} }
request.setDiscountAmount(discount.getMoney()); request.setDiscountAmount(discount.getMoney());
request.setScAble(0); request.setScAble(0);
...@@ -114,8 +117,9 @@ public class OrderDiscount { ...@@ -114,8 +117,9 @@ public class OrderDiscount {
Request request = new Request(); Request request = new Request();
request.setType(MEMBER_DISCOUNT); request.setType(MEMBER_DISCOUNT);
if(discount.getDiscount() != null) { if(discount.getDiscount() != null) {
request.setMemberId(discount.getDiscount().getId()); MemberDiscount memberDiscount = (MemberDiscount) discount.getDiscount();
request.setMemberDiscountRate((int) discount.getDiscount().getDiscount_value()); request.setMemberId(memberDiscount.getMemberDiscount().getId());
// request.setMemberDiscountRate((int) memberDiscount.getDiscount().getDiscount_value());
} }
request.setDiscountAmount(discount.getMoney()); request.setDiscountAmount(discount.getMoney());
request.setScAble(0); request.setScAble(0);
...@@ -126,9 +130,9 @@ public class OrderDiscount { ...@@ -126,9 +130,9 @@ public class OrderDiscount {
Request request = new Request(); Request request = new Request();
request.setType(COUPON_DISCOUNT); request.setType(COUPON_DISCOUNT);
if(discount.getDiscount() != null) { if(discount.getDiscount() != null) {
request.setMemberId(discount.getDiscount().getMemberId()); // request.setMemberId(discount.getDiscount().getMemberId());
request.setDiscountId(discount.getDiscount().getId()); // request.setDiscountId(discount.getDiscount().getId());
request.setMemberDiscountRate((int) discount.getDiscount().getDiscount_value()); // request.setMemberDiscountRate((int) discount.getDiscount().getDiscount_value());
} }
request.setDiscountAmount(discount.getMoney()); request.setDiscountAmount(discount.getMoney());
request.setScAble(0); request.setScAble(0);
......
package com.gingersoft.gsa.cloud.base.order.bean.mealManger;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-01-09
* 修订历史:2020-01-09
* 描述:保存開台返回的訂單數據
*/
@Data
public class OpenTableManage {
private String TAG = getClass().getSimpleName();
private static OpenTableManage sDefaultOpenTableManage;
//開台信息
private TableBean.DataBean tableBean;
//使用狀態
private int useStatus;
//開台人數
private int peopleNumber = 0;
//是否分檯
private boolean isSplite = false;
//分檯編號
private String splitNo;
public static OpenTableManage getDefault() {
if (sDefaultOpenTableManage == null) {
sDefaultOpenTableManage = new OpenTableManage();
}
return sDefaultOpenTableManage;
}
public void clear() {
tableBean = null;
peopleNumber = 0;
isSplite = false;
splitNo = "";
}
public String getTAG() {
return TAG;
}
public void setTAG(String TAG) {
this.TAG = TAG;
}
public static OpenTableManage getsDefaultOpenTableManage() {
return sDefaultOpenTableManage;
}
public static void setsDefaultOpenTableManage(OpenTableManage sDefaultOpenTableManage) {
OpenTableManage.sDefaultOpenTableManage = sDefaultOpenTableManage;
}
public TableBean.DataBean getTableBean() {
return tableBean;
}
public void setTableBean(TableBean.DataBean tableBean) {
this.tableBean = tableBean;
}
public int getUseStatus() {
return useStatus;
}
public void setUseStatus(int useStatus) {
this.useStatus = useStatus;
}
public int getPeopleNumber() {
return peopleNumber;
}
public void setPeopleNumber(int peopleNumber) {
this.peopleNumber = peopleNumber;
}
public boolean isSplite() {
return isSplite;
}
public void setSplite(boolean splite) {
isSplite = splite;
}
public String getSplitNo() {
return splitNo;
}
public void setSplitNo(String splitNo) {
this.splitNo = splitNo;
}
}
...@@ -53,4 +53,10 @@ public abstract class BillItem { ...@@ -53,4 +53,10 @@ public abstract class BillItem {
this.name = name; this.name = name;
this.money = money; this.money = money;
} }
public BillItem(String name, double money, int status) {
this.name = name;
this.money = money;
this.status = status;
}
} }
package com.gingersoft.gsa.cloud.base.order.billItem; package com.gingersoft.gsa.cloud.base.order.billItem;
import com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
import lombok.Getter; import lombok.Getter;
...@@ -15,7 +16,7 @@ import lombok.Setter; ...@@ -15,7 +16,7 @@ import lombok.Setter;
@Setter @Setter
public class DiscountItem extends BillItem { public class DiscountItem extends BillItem {
private Discount discount; private MultyDiscount discount;
public DiscountItem() { public DiscountItem() {
} }
...@@ -24,7 +25,9 @@ public class DiscountItem extends BillItem { ...@@ -24,7 +25,9 @@ public class DiscountItem extends BillItem {
super(name, money); super(name, money);
} }
public DiscountItem(String name, double money, int status) {
super(name, money, status);
}
public void updateBillItem(int type) { public void updateBillItem(int type) {
......
...@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.base.order.cart; ...@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.base.order.cart;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean; import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem; import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem;
import com.gingersoft.gsa.cloud.base.order.commodity.Commodity; import com.gingersoft.gsa.cloud.base.order.commodity.Commodity;
import com.gingersoft.gsa.cloud.base.order.commodity.MealCommodity; import com.gingersoft.gsa.cloud.base.order.commodity.MealCommodity;
import com.gingersoft.gsa.cloud.base.order.commodity.MealTakeaway; import com.gingersoft.gsa.cloud.base.order.commodity.MealTakeaway;
...@@ -56,7 +57,7 @@ public class ShoppingCart { ...@@ -56,7 +57,7 @@ public class ShoppingCart {
* @see MemberDiscount * @see MemberDiscount
* @see CouponDiscount * @see CouponDiscount
*/ */
protected List<MultyDiscount> multyDiscountList = new ArrayList<>(); protected List<MultyDiscount> multyDiscountList;
/** /**
* 服務費 * 服務費
*/ */
...@@ -81,7 +82,7 @@ public class ShoppingCart { ...@@ -81,7 +82,7 @@ public class ShoppingCart {
* @param commodityList * @param commodityList
*/ */
public void addCommodityList(List<OrderDetail> commodityList) { public void addCommodityList(List<OrderDetail> commodityList) {
getOrderCommodityList().addAll(commodityList); orderCommodityList.addAll(commodityList);
} }
/** /**
...@@ -90,7 +91,7 @@ public class ShoppingCart { ...@@ -90,7 +91,7 @@ public class ShoppingCart {
* @param commodity * @param commodity
*/ */
public void addCommodity(OrderDetail commodity) { public void addCommodity(OrderDetail commodity) {
getOrderCommodityList().add(commodity); orderCommodityList.add(commodity);
} }
/** /**
...@@ -99,7 +100,7 @@ public class ShoppingCart { ...@@ -99,7 +100,7 @@ public class ShoppingCart {
* @param commodity * @param commodity
*/ */
public void delCommodity(OrderDetail commodity) { public void delCommodity(OrderDetail commodity) {
getOrderCommodityList().remove(commodity); orderCommodityList.remove(commodity);
} }
/** /**
...@@ -122,7 +123,7 @@ public class ShoppingCart { ...@@ -122,7 +123,7 @@ public class ShoppingCart {
* @param billItem * @param billItem
*/ */
public void addBillItem(BillItem billItem) { public void addBillItem(BillItem billItem) {
getBillItemList().add(billItem); billItemList.add(billItem);
} }
/** /**
...@@ -131,7 +132,7 @@ public class ShoppingCart { ...@@ -131,7 +132,7 @@ public class ShoppingCart {
* @param billItems * @param billItems
*/ */
public void addBillItems(List<BillItem> billItems) { public void addBillItems(List<BillItem> billItems) {
getBillItemList().addAll(billItems); billItemList.addAll(billItems);
} }
/** /**
...@@ -140,7 +141,7 @@ public class ShoppingCart { ...@@ -140,7 +141,7 @@ public class ShoppingCart {
* @param billItem * @param billItem
*/ */
public void delBillItem(BillItem billItem) { public void delBillItem(BillItem billItem) {
getBillItemList().remove(billItem); billItemList.remove(billItem);
} }
/** /**
...@@ -149,7 +150,7 @@ public class ShoppingCart { ...@@ -149,7 +150,7 @@ public class ShoppingCart {
* @param multyDiscount * @param multyDiscount
*/ */
public void addMultyDiscount(MultyDiscount multyDiscount) { public void addMultyDiscount(MultyDiscount multyDiscount) {
getMultyDiscountList().add(multyDiscount); multyDiscountList.add(multyDiscount);
} }
/** /**
...@@ -158,7 +159,7 @@ public class ShoppingCart { ...@@ -158,7 +159,7 @@ public class ShoppingCart {
* @param multyDiscount * @param multyDiscount
*/ */
public void delMultyDiscount(MultyDiscount multyDiscount) { public void delMultyDiscount(MultyDiscount multyDiscount) {
getMultyDiscountList().remove(multyDiscount); multyDiscountList.remove(multyDiscount);
} }
/** /**
...@@ -214,9 +215,12 @@ public class ShoppingCart { ...@@ -214,9 +215,12 @@ public class ShoppingCart {
* 計算折扣鏈金額 * 計算折扣鏈金額
*/ */
public double calculateLinkedDiscounts(double money) { public double calculateLinkedDiscounts(double money) {
//折扣集合保存每個已經計算過的折扣
List<MultyDiscount> multyDiscountArrays = new ArrayList<>();
//折扣鏈對象
MultyDiscount multyDiscounts = null; MultyDiscount multyDiscounts = null;
for (int i = multyDiscountList.size() - 1; i >= 0; i--) { for (int i = getMultyDiscountList().size() - 1; i >= 0; i--) {
MultyDiscount discount = multyDiscountList.get(i); MultyDiscount discount = getMultyDiscountList().get(i);
if (discount instanceof NomalDiscount) { if (discount instanceof NomalDiscount) {
multyDiscounts = addNomalDiscount(multyDiscounts, ((NomalDiscount) discount).getDiscount()); multyDiscounts = addNomalDiscount(multyDiscounts, ((NomalDiscount) discount).getDiscount());
} else if (discount instanceof MemberDiscount) { } else if (discount instanceof MemberDiscount) {
...@@ -224,30 +228,19 @@ public class ShoppingCart { ...@@ -224,30 +228,19 @@ public class ShoppingCart {
} else if (discount instanceof CouponDiscount) { } else if (discount instanceof CouponDiscount) {
multyDiscounts = addCouponDiscount(multyDiscounts, ((CouponDiscount) discount).getCouponDiscount()); multyDiscounts = addCouponDiscount(multyDiscounts, ((CouponDiscount) discount).getCouponDiscount());
} }
multyDiscountArrays.add(multyDiscounts);
} }
if (multyDiscounts != null) { if (multyDiscounts != null) {
//計算折扣金額
money = multyDiscounts.calculate(money); money = multyDiscounts.calculate(money);
} }
return money; //更新折扣billItem數據
} for (MultyDiscount discount : multyDiscountArrays) {
DiscountItem discountItem = new DiscountItem(discount.getName(), discount.getDiscountMoney(), discount.getStatus());
private void updateBillItemList() { discountItem.setDiscount(discount);
billItemList.add(discountItem);
}
public List<OrderDetail> getOrderCommodityList() {
if (orderCommodityList == null) {
orderCommodityList = new ArrayList<>();
} }
return orderCommodityList; return money;
}
public List<BillItem> getBillItemList() {
if (billItemList == null) {
billItemList = new ArrayList<>();
}
return billItemList;
} }
public List<MultyDiscount> getMultyDiscountList() { public List<MultyDiscount> getMultyDiscountList() {
...@@ -294,19 +287,24 @@ public class ShoppingCart { ...@@ -294,19 +287,24 @@ public class ShoppingCart {
} }
/**
* 計算賬單前先重置
*/
public void resetBeforeBillCalculation() {
initialization(true);
}
public void initialization() { public void initialization(boolean reset) {
if (orderCommodityList != null) { if (!reset) {
orderCommodityList.clear(); if (orderCommodityList != null) {
// orderCommodityList = null; orderCommodityList.clear();
}
if (multyDiscountList != null) {
multyDiscountList.clear();
}
} }
if (billItemList != null) { if (billItemList != null) {
billItemList.clear(); billItemList.clear();
// billItemList = null;
}
if (multyDiscountList != null) {
multyDiscountList.clear();
// multyDiscountList = null;
} }
serviceCharge = null; serviceCharge = null;
rounding = null; rounding = null;
......
...@@ -3,8 +3,11 @@ package com.gingersoft.gsa.cloud.base.order.commodity; ...@@ -3,8 +3,11 @@ package com.gingersoft.gsa.cloud.base.order.commodity;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount; import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.BaseOrder;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.order.order.TakeawayOrder;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.constans.FoodSummaryConstans;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -254,7 +257,6 @@ public class MealCommodity implements Commodity { ...@@ -254,7 +257,6 @@ public class MealCommodity implements Commodity {
private long ktShowPrice; private long ktShowPrice;
/** /**
* 此食品是否包含折扣 * 此食品是否包含折扣
* *
...@@ -424,7 +426,11 @@ public class MealCommodity implements Commodity { ...@@ -424,7 +426,11 @@ public class MealCommodity implements Commodity {
mealCommodity.setNumber(1); mealCommodity.setNumber(1);
mealCommodity.setPrice(discountPrice); mealCommodity.setPrice(discountPrice);
mealCommodity.setUnit_price(discountPrice); mealCommodity.setUnit_price(discountPrice);
mealCommodity.setOrderId(MyOrderManage.getInstance().getOrderId()); if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE)) {
mealCommodity.setOrderId(DoshokuOrder.getInstance().getOrderId());
} else {
mealCommodity.setOrderId(TakeawayOrder.getInstance().getOrderId());
}
mealCommodity.setIsfood(false); mealCommodity.setIsfood(false);
mealCommodity.setNew(isNew); mealCommodity.setNew(isNew);
mealCommodity.setType(DISCOUNT_TYPE); mealCommodity.setType(DISCOUNT_TYPE);
......
...@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.base.order.commodity; ...@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.base.order.commodity;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount; import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
...@@ -1131,7 +1131,7 @@ public class OrderDetail implements Commodity, Serializable { ...@@ -1131,7 +1131,7 @@ public class OrderDetail implements Commodity, Serializable {
orderDetail.setUnit_price(food.getPrice()); orderDetail.setUnit_price(food.getPrice());
orderDetail.setPrice(number * orderDetail.getUnit_price()); orderDetail.setPrice(number * orderDetail.getUnit_price());
orderDetail.setNumber(number); orderDetail.setNumber(number);
orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId()); orderDetail.setOrderId(DoshokuOrder.getInstance().getOrderId());
orderDetail.setPrintseting(food.getPrintSeting()); orderDetail.setPrintseting(food.getPrintSeting());
orderDetail.setIsfood(true); orderDetail.setIsfood(true);
orderDetail.setNew(true); orderDetail.setNew(true);
...@@ -1174,7 +1174,7 @@ public class OrderDetail implements Commodity, Serializable { ...@@ -1174,7 +1174,7 @@ public class OrderDetail implements Commodity, Serializable {
orderDetail.setUnit_price(foodCombo.getPrice()); orderDetail.setUnit_price(foodCombo.getPrice());
orderDetail.setPrice(number * orderDetail.getUnit_price()); orderDetail.setPrice(number * orderDetail.getUnit_price());
orderDetail.setNumber(number); orderDetail.setNumber(number);
orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId()); orderDetail.setOrderId(DoshokuOrder.getInstance().getOrderId());
orderDetail.setComid(foodCombo.getComId()); orderDetail.setComid(foodCombo.getComId());
orderDetail.setIsfood(true); orderDetail.setIsfood(true);
orderDetail.setNew(true); orderDetail.setNew(true);
...@@ -1216,7 +1216,7 @@ public class OrderDetail implements Commodity, Serializable { ...@@ -1216,7 +1216,7 @@ public class OrderDetail implements Commodity, Serializable {
orderDetail.setUnit_price(modifier.getPrice()); orderDetail.setUnit_price(modifier.getPrice());
orderDetail.setPrice(number * orderDetail.getUnit_price()); orderDetail.setPrice(number * orderDetail.getUnit_price());
orderDetail.setNumber(number); orderDetail.setNumber(number);
orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId()); orderDetail.setOrderId(DoshokuOrder.getInstance().getOrderId());
orderDetail.setMid(modifier.getMid()); orderDetail.setMid(modifier.getMid());
orderDetail.setIsfood(false); orderDetail.setIsfood(false);
orderDetail.setNew(true); orderDetail.setNew(true);
...@@ -1249,7 +1249,7 @@ public class OrderDetail implements Commodity, Serializable { ...@@ -1249,7 +1249,7 @@ public class OrderDetail implements Commodity, Serializable {
orderDetail.setNumber(1); orderDetail.setNumber(1);
orderDetail.setPrice(discountPrice); orderDetail.setPrice(discountPrice);
orderDetail.setUnit_price(discountPrice); orderDetail.setUnit_price(discountPrice);
orderDetail.setOrderId(MyOrderManage.getInstance().getOrderId()); orderDetail.setOrderId(DoshokuOrder.getInstance().getOrderId());
orderDetail.setIsfood(false); orderDetail.setIsfood(false);
orderDetail.setNew(isNew); orderDetail.setNew(isNew);
orderDetail.setType(DISCOUNT_TYPE); orderDetail.setType(DISCOUNT_TYPE);
......
...@@ -16,10 +16,6 @@ import lombok.Getter; ...@@ -16,10 +16,6 @@ import lombok.Getter;
public class CouponDiscount extends MultyDiscount { public class CouponDiscount extends MultyDiscount {
private CouponDiscountBean couponDiscount; private CouponDiscountBean couponDiscount;
/**
* 本次折扣金额
*/
private Double discountMoney;
public CouponDiscount(String name, MultyDiscount nextMultyDiscount, CouponDiscountBean couponDiscount) { public CouponDiscount(String name, MultyDiscount nextMultyDiscount, CouponDiscountBean couponDiscount) {
super(name,nextMultyDiscount); super(name,nextMultyDiscount);
......
...@@ -16,10 +16,6 @@ import lombok.Getter; ...@@ -16,10 +16,6 @@ import lombok.Getter;
public class MemberDiscount extends MultyDiscount { public class MemberDiscount extends MultyDiscount {
private MemberInfo memberDiscount; private MemberInfo memberDiscount;
/**
* 本次折扣金额
*/
private Double discountMoney;
public MemberDiscount(String name, MultyDiscount nextMultyDiscount, MemberInfo memberDiscount) { public MemberDiscount(String name, MultyDiscount nextMultyDiscount, MemberInfo memberDiscount) {
super(name,nextMultyDiscount); super(name,nextMultyDiscount);
......
...@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.base.order.discount; ...@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.base.order.discount;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem; import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import lombok.Getter;
/** /**
* 作者:ELEGANT_BIN * 作者:ELEGANT_BIN
* 版本:1.6.0 * 版本:1.6.0
...@@ -10,10 +12,15 @@ import com.gingersoft.gsa.cloud.base.order.billItem.BillItem; ...@@ -10,10 +12,15 @@ import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
* 修订历史:2020-09-19 * 修订历史:2020-09-19
* 描述: 折扣抽象類{@link MultyDiscount} * 描述: 折扣抽象類{@link MultyDiscount}
*/ */
@Getter
public abstract class MultyDiscount extends BillItem { public abstract class MultyDiscount extends BillItem {
/**責任鏈中的下一個對象*/ /**責任鏈中的下一個對象*/
protected MultyDiscount nextMultyDiscount; protected MultyDiscount nextMultyDiscount;
/**
* 本次折扣金额
*/
protected double discountMoney = 0.0;
public MultyDiscount(String name, MultyDiscount nextMultyDiscount) { public MultyDiscount(String name, MultyDiscount nextMultyDiscount) {
super(name); super(name);
...@@ -26,5 +33,4 @@ public abstract class MultyDiscount extends BillItem { ...@@ -26,5 +33,4 @@ public abstract class MultyDiscount extends BillItem {
} }
return money; return money;
} }
} }
...@@ -16,11 +16,7 @@ import lombok.Getter; ...@@ -16,11 +16,7 @@ import lombok.Getter;
public class NomalDiscount extends MultyDiscount{ public class NomalDiscount extends MultyDiscount{
private Discount discount; private Discount discount;
/**
* 本次折扣金额
*/
private Double discountMoney;
public NomalDiscount(String name,MultyDiscount nextMultyDiscount,Discount discount) { public NomalDiscount(String name,MultyDiscount nextMultyDiscount,Discount discount) {
super(name,nextMultyDiscount); super(name,nextMultyDiscount);
this.discount = discount; this.discount = discount;
...@@ -32,7 +28,6 @@ public class NomalDiscount extends MultyDiscount{ ...@@ -32,7 +28,6 @@ public class NomalDiscount extends MultyDiscount{
discountMoney = calculationDiscount(discount, money); discountMoney = calculationDiscount(discount, money);
money = MoneyUtil.sum(money,discountMoney); money = MoneyUtil.sum(money,discountMoney);
} }
return super.calculate(money); return super.calculate(money);
} }
......
...@@ -11,7 +11,7 @@ import lombok.Setter; ...@@ -11,7 +11,7 @@ import lombok.Setter;
* @作者: bin * @作者: bin
* @創建時間: 2020-10-14 * @創建時間: 2020-10-14
* @更新時間: 2020-10-14 * @更新時間: 2020-10-14
* @描述: * @描述:訂單基類
*/ */
@Getter @Getter
@Setter @Setter
...@@ -32,7 +32,7 @@ public abstract class BaseOrder { ...@@ -32,7 +32,7 @@ public abstract class BaseOrder {
/** /**
* 訂單ID * 訂單ID
*/ */
protected long id = -1; protected long orderId = -1;
/** /**
* 訂單編號 * 訂單編號
*/ */
...@@ -43,10 +43,23 @@ public abstract class BaseOrder { ...@@ -43,10 +43,23 @@ public abstract class BaseOrder {
protected ShoppingCart shoppingCart; protected ShoppingCart shoppingCart;
/**
* 判斷是否當前訂單類型
* @param type
* @return
*/
public static boolean isCurrentOrderType(int type) {
if (type == orderType) {
return true;
}
return false;
}
protected void initialization() { protected void initialization() {
orderType = FoodSummaryConstans.RESTAURANT_MODE; orderType = FoodSummaryConstans.RESTAURANT_MODE;
id = -1; orderId = -1;
orderNo = null; orderNo = null;
shoppingCart.initialization(); shoppingCart.initialization(false);
} }
} }
package com.gingersoft.gsa.cloud.base.order.order; package com.gingersoft.gsa.cloud.base.order.order;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.order.Member; import com.gingersoft.gsa.cloud.base.order.Member;
import com.gingersoft.gsa.cloud.base.order.bean.DeleteOrderRequest; import com.gingersoft.gsa.cloud.base.order.bean.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart; import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import lombok.Getter; import lombok.Getter;
...@@ -37,10 +40,6 @@ public class DoshokuOrder extends BaseOrder implements Member { ...@@ -37,10 +40,6 @@ public class DoshokuOrder extends BaseOrder implements Member {
} }
/** /**
* 記錄刪除的食品以及原因
*/
private List<DeleteOrderRequest> deleteMealOrders;
/**
* 已下單信息 * 已下單信息
*/ */
private OrderBean orderPlaced; private OrderBean orderPlaced;
...@@ -53,8 +52,18 @@ public class DoshokuOrder extends BaseOrder implements Member { ...@@ -53,8 +52,18 @@ public class DoshokuOrder extends BaseOrder implements Member {
* 會員信息 * 會員信息
*/ */
private MemberInfo memberInfo; private MemberInfo memberInfo;
/**
* 記錄刪除的食品以及原因
*/
private List<DeleteOrderRequest> deleteMealOrders;
/**
* 本次送單食品,用於打印
*/
private List<OrderDetail> newFoodList = new ArrayList<>();
/**
* 本次支付方式,用於打印
*/
private List<PayMethod> billMoney = new ArrayList<>();
/** /**
* 是否需要更新會員信息(如開台有然後清除: "true:false" 這種情況需要重新送單更新會員信息) * 是否需要更新會員信息(如開台有然後清除: "true:false" 這種情況需要重新送單更新會員信息)
*/ */
...@@ -67,6 +76,24 @@ public class DoshokuOrder extends BaseOrder implements Member { ...@@ -67,6 +76,24 @@ public class DoshokuOrder extends BaseOrder implements Member {
private boolean modifyOrder = false; private boolean modifyOrder = false;
/** /**
* 本次加多少積分
*/
private float addPoints;
/**
* 之前有多少積分
*/
private float oldPoints;
/**
* 現在有多少積分
*/
private float nowPoints;
/**
* 結賬積分QRCode
*/
private String integralQrcode;
/**
* 添加需要刪除的食品 * 添加需要刪除的食品
* @param request * @param request
*/ */
...@@ -82,6 +109,17 @@ public class DoshokuOrder extends BaseOrder implements Member { ...@@ -82,6 +109,17 @@ public class DoshokuOrder extends BaseOrder implements Member {
getDeleteMealOrders().remove(request); getDeleteMealOrders().remove(request);
} }
public void setDeleteMealOrders(List<DeleteOrderRequest> deleteMealOrders) {
this.deleteMealOrders = deleteMealOrders;
}
public Date getOpenTableTime() {
if (orderPlaced != null && orderPlaced.getCreateTime() != null) {
return new Date(orderPlaced.getCreateTime());
}
return new Date();
}
public List<DeleteOrderRequest> getDeleteMealOrders() { public List<DeleteOrderRequest> getDeleteMealOrders() {
if (deleteMealOrders == null) { if (deleteMealOrders == null) {
deleteMealOrders = new ArrayList<>(); deleteMealOrders = new ArrayList<>();
...@@ -89,11 +127,29 @@ public class DoshokuOrder extends BaseOrder implements Member { ...@@ -89,11 +127,29 @@ public class DoshokuOrder extends BaseOrder implements Member {
return deleteMealOrders; return deleteMealOrders;
} }
public boolean needUpdateMemberInfo() {
String[] status = memberUpdateStatus.split("-");
if (status.length == 2) {
if (Boolean.parseBoolean(status[0]) != Boolean.parseBoolean(status[1])) {
return true;
} else {
return false;
}
} else {
return false;
}
}
@Override @Override
public void initialization() { public void initialization() {
if (deleteMealOrders != null) { if (deleteMealOrders != null) {
deleteMealOrders.clear(); deleteMealOrders.clear();
deleteMealOrders = null; }
if (newFoodList != null) {
newFoodList.clear();
}
if (billMoney != null) {
billMoney.clear();
} }
if (orderPlaced != null) { if (orderPlaced != null) {
orderPlaced = null; orderPlaced = null;
......
...@@ -4,14 +4,14 @@ import android.content.Context; ...@@ -4,14 +4,14 @@ import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.text.TextUtils; import android.text.TextUtils;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import com.gingersoft.gsa.cloud.base.common.bean.BillingBean; import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney; import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils; import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil; import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
...@@ -19,7 +19,6 @@ import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; ...@@ -19,7 +19,6 @@ import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.ExpandConstant; import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.print.bean.OrderDetails; import com.gingersoft.gsa.cloud.print.bean.OrderDetails;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -41,17 +40,21 @@ public class PrintBill extends PrinterRoot { ...@@ -41,17 +40,21 @@ public class PrintBill extends PrinterRoot {
@Override @Override
public String getPrintData(Context mContext, PrinterDeviceBean deviceBean) { public String getPrintData(Context mContext, PrinterDeviceBean deviceBean) {
List<OrderDetail> foodList = MyOrderManage.getInstance().getOrderFoodList();
TableBean.DataBean tableBean = OpenTableManage.getDefault().getTableBean(); DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
ShoppingCart shoppingCart = doshokuOrder.getShoppingCart();
List<OrderDetail> foodList = shoppingCart.getOrderCommodityList();
TableBean.DataBean tableBean = doshokuOrder.getOpenTableInfo();
StringBuilder payInfo = new StringBuilder(); StringBuilder payInfo = new StringBuilder();
for (PayMethod payMethod : MyOrderManage.getInstance().getBillMoney()) { for (PayMethod payMethod : doshokuOrder.getBillMoney()) {
payInfo.append(payMethod.getPayName() + " ").append(payMethod.getPayMoney()); payInfo.append(payMethod.getPayName() + " ").append(payMethod.getPayMoney());
} }
StringBuilder memberIntegerInfo = new StringBuilder(); StringBuilder memberIntegerInfo = new StringBuilder();
OrderDetails.DataBean data = getOrderMemberInfo(); OrderDetails.DataBean data = getOrderMemberInfo();
MyOrderManage.getInstance().getIntegralQrcode();
if (data.getAddPoints() != 0 || data.getOldPoints() != 0 || data.getAddPoints() != 0) { if (data.getAddPoints() != 0 || data.getOldPoints() != 0 || data.getAddPoints() != 0) {
memberIntegerInfo.append(getPLable("本次積分:" + data.getAddPoints(), HTML_PRINT_GRAVITY_LEFT)) memberIntegerInfo.append(getPLable("本次積分:" + data.getAddPoints(), HTML_PRINT_GRAVITY_LEFT))
.append(getPLable("結餘積分:" + data.getNowPoints(), HTML_PRINT_GRAVITY_LEFT)) .append(getPLable("結餘積分:" + data.getNowPoints(), HTML_PRINT_GRAVITY_LEFT))
...@@ -75,11 +78,11 @@ public class PrintBill extends PrinterRoot { ...@@ -75,11 +78,11 @@ public class PrintBill extends PrinterRoot {
getWholeLine() + getWholeLine() +
getPLable(memberIntegerInfo.toString(), HTML_PRINT_GRAVITY_LEFT); getPLable(memberIntegerInfo.toString(), HTML_PRINT_GRAVITY_LEFT);
String integralQrCode = MyOrderManage.getInstance().getIntegralQrcode(); String integralQrCode = doshokuOrder.getIntegralQrcode();
if (!TextUtils.isEmpty(integralQrCode) && if (!TextUtils.isEmpty(integralQrCode) &&
(boolean) RestaurantExpandInfoUtils.getValue(ExpandConstant.ToPrintQRCode, false)) { (boolean) RestaurantExpandInfoUtils.getValue(ExpandConstant.ToPrintQRCode, false)) {
stringBuilder += getPLable("請掃描二維碼", HTML_PRINT_GRAVITY_CENTER) + stringBuilder += getPLable("請掃描二維碼", HTML_PRINT_GRAVITY_CENTER) +
getHtmlQrCode(MyOrderManage.getInstance().getIntegralQrcode()) + getHtmlQrCode(doshokuOrder.getIntegralQrcode()) +
getPLable("《追加積分到個人賬戶》", HTML_PRINT_GRAVITY_CENTER); getPLable("《追加積分到個人賬戶》", HTML_PRINT_GRAVITY_CENTER);
} }
stringBuilder += "</body></html>"; stringBuilder += "</body></html>";
...@@ -92,8 +95,13 @@ public class PrintBill extends PrinterRoot { ...@@ -92,8 +95,13 @@ public class PrintBill extends PrinterRoot {
} }
private Bitmap getBitmap(Context mContext, PrinterDeviceBean deviceBean) { private Bitmap getBitmap(Context mContext, PrinterDeviceBean deviceBean) {
List<OrderDetail> foodList = MyOrderManage.getInstance().getOrderFoodList();
TableBean.DataBean tableBean = OpenTableManage.getDefault().getTableBean(); DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
ShoppingCart shoppingCart = doshokuOrder.getShoppingCart();
List<OrderDetail> foodList = shoppingCart.getOrderCommodityList();
TableBean.DataBean tableBean = doshokuOrder.getOpenTableInfo();
LinearLayout layout = new LinearLayout(mContext); LinearLayout layout = new LinearLayout(mContext);
layout.setOrientation(LinearLayout.VERTICAL); layout.setOrientation(LinearLayout.VERTICAL);
...@@ -104,10 +112,10 @@ public class PrintBill extends PrinterRoot { ...@@ -104,10 +112,10 @@ public class PrintBill extends PrinterRoot {
//訂單信息 //訂單信息
String tableName = "餐檯:" + tableBean.getTableName(); String tableName = "餐檯:" + tableBean.getTableName();
String peopleNum = "人數:" + OpenTableManage.getDefault().getPeopleNumber(); String peopleNum = "人數:" + doshokuOrder.getOpenTableInfo().getPerson();
String orderNum = "單號:"; String orderNum = "單號:";
if (TextUtil.isNotEmptyOrNullOrUndefined(MyOrderManage.getInstance().getOrderNo())) { if (TextUtil.isNotEmptyOrNullOrUndefined(doshokuOrder.getOrderNo())) {
orderNum = "單號:" + MyOrderManage.getInstance().getOrderNo(); orderNum = "單號:" + doshokuOrder.getOrderNo();
} }
String createTime = "日期:" + TimeUtils.parseTimeRepeat(tableBean.getCreateTime(), TimeUtils.DEFAULT_DATE_FORMAT); String createTime = "日期:" + TimeUtils.parseTimeRepeat(tableBean.getCreateTime(), TimeUtils.DEFAULT_DATE_FORMAT);
layout.addView(getDiningTableOrderInfo(mContext, tableName, peopleNum, orderNum, createTime)); layout.addView(getDiningTableOrderInfo(mContext, tableName, peopleNum, orderNum, createTime));
...@@ -120,10 +128,10 @@ public class PrintBill extends PrinterRoot { ...@@ -120,10 +128,10 @@ public class PrintBill extends PrinterRoot {
//訂單金額信息 //訂單金額信息
List<BillingBean> billingBeans = new ArrayList<>(); List<BillingBean> billingBeans = new ArrayList<>();
//添加合計項 //添加合計項
billingBeans.add(new BillingBean("合計", MyOrderManage.getInstance().getWholeAmount())); billingBeans.add(new BillingBean("合計", shoppingCart.getWholeAmount()));
//添加其他金額項 //添加其他金額項
if (MyOrderManage.getInstance().getOrderMoneyList().size() > 0) { if (shoppingCart.getBillItemList().size() > 0) {
for (BillOrderMoney item : MyOrderManage.getInstance().getOrderMoneyList()) { for (BillItem item : shoppingCart.getBillItemList()) {
billingBeans.add(new BillingBean(item.getName(), item.getMoney())); billingBeans.add(new BillingBean(item.getName(), item.getMoney()));
} }
} }
...@@ -136,12 +144,12 @@ public class PrintBill extends PrinterRoot { ...@@ -136,12 +144,12 @@ public class PrintBill extends PrinterRoot {
// for (OrderDetail OrderDetail : MyOrderManage.getInstance().getOrderFoodList()) { // for (OrderDetail OrderDetail : MyOrderManage.getInstance().getOrderFoodList()) {
// totalAmount = MoneyUtil.sum(totalAmount, OrderDetail.getPrice()); // totalAmount = MoneyUtil.sum(totalAmount, OrderDetail.getPrice());
// } // }
layout.addView(getAmountText(mContext, "總金額:" + MyOrderManage.getInstance().getTotalAmount())); layout.addView(getAmountText(mContext, "總金額:" + shoppingCart.getTotalAmount()));
layout.addView(getLine(mContext)); layout.addView(getLine(mContext));
layout.addView(getDiningBillPayMethod(mContext, MyOrderManage.getInstance().getBillMoney())); layout.addView(getDiningBillPayMethod(mContext, doshokuOrder.getBillMoney()));
layout.addView(getLine(mContext)); layout.addView(getLine(mContext));
layout.addView(getTableMealMemberIntegerView(mContext, getOrderMemberInfo(), MyOrderManage.getInstance().getIntegralQrcode())); layout.addView(getTableMealMemberIntegerView(mContext, getOrderMemberInfo(), doshokuOrder.getIntegralQrcode()));
return zoomBitmap(deviceBean, viewToBitmap(mContext, layout)); return zoomBitmap(deviceBean, viewToBitmap(mContext, layout));
} }
...@@ -149,13 +157,13 @@ public class PrintBill extends PrinterRoot { ...@@ -149,13 +157,13 @@ public class PrintBill extends PrinterRoot {
private OrderDetails.DataBean getOrderMemberInfo() { private OrderDetails.DataBean getOrderMemberInfo() {
OrderDetails.DataBean dataBean = new OrderDetails.DataBean(); OrderDetails.DataBean dataBean = new OrderDetails.DataBean();
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo(); MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
if (memberInfo != null) { if (memberInfo != null) {
dataBean.setMEMBER_NAME(memberInfo.getMemberName()); dataBean.setMEMBER_NAME(memberInfo.getMemberName());
dataBean.setPHONE(memberInfo.getPhone()); dataBean.setPHONE(memberInfo.getPhone());
dataBean.setNowPoints(MyOrderManage.getInstance().getNowPoints()); dataBean.setNowPoints(DoshokuOrder.getInstance().getNowPoints());
dataBean.setAddPoints(MyOrderManage.getInstance().getAddPoints()); dataBean.setAddPoints(DoshokuOrder.getInstance().getAddPoints());
dataBean.setOldPoints(MyOrderManage.getInstance().getOldPoints()); dataBean.setOldPoints(DoshokuOrder.getInstance().getOldPoints());
} }
return dataBean; return dataBean;
} }
......
...@@ -9,8 +9,8 @@ import android.widget.TextView; ...@@ -9,8 +9,8 @@ import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.order.adapter.print.KitChenPrintFoodAdapter; import com.gingersoft.gsa.cloud.base.order.adapter.print.KitChenPrintFoodAdapter;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil; import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
...@@ -33,7 +33,7 @@ public class PrintKitchen extends PrinterRoot { ...@@ -33,7 +33,7 @@ public class PrintKitchen extends PrinterRoot {
@Override @Override
public Map<String, List<Bitmap>> getPrintBitmap(Context mContext, PrinterDeviceBean deviceBean) { public Map<String, List<Bitmap>> getPrintBitmap(Context mContext, PrinterDeviceBean deviceBean) {
Map<String, List<Bitmap>> bitmapMaps = new HashMap<>(); Map<String, List<Bitmap>> bitmapMaps = new HashMap<>();
List<OrderDetail> orderDetails = MyOrderManage.getInstance().getNewFoodList(); List<OrderDetail> orderDetails = DoshokuOrder.getInstance().getNewFoodList();
if (orderDetails != null) { if (orderDetails != null) {
// for (int i = 0; i < orderDetails.size(); i++) { // for (int i = 0; i < orderDetails.size(); i++) {
// orderDetails.get(i).setPrintseting(printLocation[i % 2]); // orderDetails.get(i).setPrintseting(printLocation[i % 2]);
...@@ -156,6 +156,9 @@ public class PrintKitchen extends PrinterRoot { ...@@ -156,6 +156,9 @@ public class PrintKitchen extends PrinterRoot {
if (foodList == null || foodList.size() <= 0) { if (foodList == null || foodList.size() <= 0) {
return null; return null;
} }
DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
View view = LinearLayout.inflate(context, R.layout.print_kitchen, null); View view = LinearLayout.inflate(context, R.layout.print_kitchen, null);
TextView tvTableNumber = view.findViewById(R.id.tv_kitchen_print_table_number); TextView tvTableNumber = view.findViewById(R.id.tv_kitchen_print_table_number);
TextView tvOrderNumber = view.findViewById(R.id.tv_order_num); TextView tvOrderNumber = view.findViewById(R.id.tv_order_num);
...@@ -178,16 +181,17 @@ public class PrintKitchen extends PrinterRoot { ...@@ -178,16 +181,17 @@ public class PrintKitchen extends PrinterRoot {
tvKitChenLocation.setVisibility(View.GONE); tvKitChenLocation.setVisibility(View.GONE);
} }
} }
if (OpenTableManage.getDefault().getTableBean() != null) { TableBean.DataBean dataBean = doshokuOrder.getOpenTableInfo();
if (dataBean != null) {
//台號 //台號
tvTableNumber.setText(OpenTableManage.getDefault().getTableBean().getTableName() + ""); tvTableNumber.setText(dataBean.getTableName() + "");
tvTableNumber2.setText(OpenTableManage.getDefault().getTableBean().getTableName() + ""); tvTableNumber2.setText(dataBean.getTableName() + "");
//人數 //人數
tvPeople.setText(OpenTableManage.getDefault().getPeopleNumber() + ""); tvPeople.setText(dataBean.getPerson() + "");
//訂單號 //訂單號
tvOrderNumber.setText("" + MyOrderManage.getInstance().getOrderId()); tvOrderNumber.setText("" + dataBean.getOrderId());
//開台時間 //開台時間
tvOpeningTime.setText(TimeUtils.parseTimeRepeat(OpenTableManage.getDefault().getTableBean().getCreateTime(), TimeUtils.DEFAULT_DATE_FORMAT)); tvOpeningTime.setText(TimeUtils.parseTimeRepeat(dataBean.getCreateTime(), TimeUtils.DEFAULT_DATE_FORMAT));
} }
//落單時間,為當前時間 //落單時間,為當前時間
tvOrderTime.setText(TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT)); tvOrderTime.setText(TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT));
...@@ -197,8 +201,4 @@ public class PrintKitchen extends PrinterRoot { ...@@ -197,8 +201,4 @@ public class PrintKitchen extends PrinterRoot {
} }
} }
...@@ -6,10 +6,8 @@ import android.view.LayoutInflater; ...@@ -6,10 +6,8 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
...@@ -23,7 +21,6 @@ import com.joe.print.R; ...@@ -23,7 +21,6 @@ import com.joe.print.R;
import com.joe.print.mvp.model.bean.PrintBillBean; import com.joe.print.mvp.model.bean.PrintBillBean;
import com.joe.print.mvp.ui.adapter.BillItemAdapter; import com.joe.print.mvp.ui.adapter.BillItemAdapter;
import com.joe.print.mvp.ui.adapter.OtherOrderAdapter; import com.joe.print.mvp.ui.adapter.OtherOrderAdapter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
......
...@@ -4,16 +4,13 @@ import android.content.Context; ...@@ -4,16 +4,13 @@ import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.view.Gravity; import android.view.Gravity;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.other.TextUtil; import com.gingersoft.gsa.cloud.base.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.joe.print.R; import com.joe.print.R;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -35,8 +32,8 @@ public class PrintServe extends PrinterRoot { ...@@ -35,8 +32,8 @@ public class PrintServe extends PrinterRoot {
@Override @Override
public String getPrintData(Context mContext, PrinterDeviceBean deviceBean) { public String getPrintData(Context mContext, PrinterDeviceBean deviceBean) {
List<OrderDetail> foodList = MyOrderManage.getInstance().getOrderFoodList(); List<OrderDetail> foodList = DoshokuOrder.getInstance().getShoppingCart().getOrderCommodityList();
TableBean.DataBean tableBean = OpenTableManage.getDefault().getTableBean(); TableBean.DataBean tableBean = DoshokuOrder.getInstance().getOpenTableInfo();
String stringBuilder = "<html><body>" + String stringBuilder = "<html><body>" +
getHtmlPrintHeadInfo() + getHtmlPrintHeadInfo() +
getHtmlPrintHeadOrderInfo(tableBean) + getHtmlPrintHeadOrderInfo(tableBean) +
...@@ -53,11 +50,11 @@ public class PrintServe extends PrinterRoot { ...@@ -53,11 +50,11 @@ public class PrintServe extends PrinterRoot {
private Bitmap getBitmap(Context mContext, PrinterDeviceBean printerDeviceBean) { private Bitmap getBitmap(Context mContext, PrinterDeviceBean printerDeviceBean) {
List<OrderDetail> foodList = MyOrderManage.getInstance().getOrderFoodList(); List<OrderDetail> foodList = DoshokuOrder.getInstance().getShoppingCart().getOrderCommodityList();
if (foodList == null || foodList.size() <= 0) { if (foodList == null || foodList.size() <= 0) {
return null; return null;
} }
TableBean.DataBean tableBean = OpenTableManage.getDefault().getTableBean(); TableBean.DataBean tableBean = DoshokuOrder.getInstance().getOpenTableInfo();
LinearLayout layout = new LinearLayout(mContext); LinearLayout layout = new LinearLayout(mContext);
layout.setOrientation(LinearLayout.VERTICAL); layout.setOrientation(LinearLayout.VERTICAL);
...@@ -66,11 +63,11 @@ public class PrintServe extends PrinterRoot { ...@@ -66,11 +63,11 @@ public class PrintServe extends PrinterRoot {
layout.addView(getHeader(mContext)); layout.addView(getHeader(mContext));
layout.addView(getLine(mContext)); layout.addView(getLine(mContext));
String orderNo = "單號:"; String orderNo = "單號:";
if (TextUtil.isNotEmptyOrNullOrUndefined(MyOrderManage.getInstance().getOrderNo())) { if (TextUtil.isNotEmptyOrNullOrUndefined(DoshokuOrder.getInstance().getOrderNo())) {
orderNo = "單號:" + MyOrderManage.getInstance().getOrderNo(); orderNo = "單號:" + DoshokuOrder.getInstance().getOrderNo();
} }
//訂單信息 //訂單信息
layout.addView(getDiningTableOrderInfo(mContext, "餐檯:" + tableBean.getTableName(), "人數:" + OpenTableManage.getDefault().getPeopleNumber(), orderNo, "日期:" + TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT))); layout.addView(getDiningTableOrderInfo(mContext, "餐檯:" + tableBean.getTableName(), "人數:" + DoshokuOrder.getInstance().getOpenTableInfo().getPerson(), orderNo, "日期:" + TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT)));
layout.addView(getLine(mContext)); layout.addView(getLine(mContext));
layout.addView(getDiningFoodList(mContext, foodList, printerDeviceBean, 0, false)); layout.addView(getDiningFoodList(mContext, foodList, printerDeviceBean, 0, false));
......
...@@ -6,10 +6,11 @@ import android.view.Gravity; ...@@ -6,10 +6,11 @@ import android.view.Gravity;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import com.gingersoft.gsa.cloud.base.common.bean.BillingBean; import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney; import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils; import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
...@@ -46,8 +47,8 @@ public class PrintSlip extends PrinterRoot { ...@@ -46,8 +47,8 @@ public class PrintSlip extends PrinterRoot {
@Override @Override
public String getPrintData(Context mContext, PrinterDeviceBean deviceBean) { public String getPrintData(Context mContext, PrinterDeviceBean deviceBean) {
List<OrderDetail> foodList = MyOrderManage.getInstance().getOrderFoodList(); List<OrderDetail> foodList = DoshokuOrder.getInstance().getShoppingCart().getOrderCommodityList();
TableBean.DataBean tableBean = OpenTableManage.getDefault().getTableBean(); TableBean.DataBean tableBean = DoshokuOrder.getInstance().getOpenTableInfo();
String stringBuilder = "<html><body>" + String stringBuilder = "<html><body>" +
getHtmlPrintHeadInfo() + getHtmlPrintHeadInfo() +
...@@ -69,11 +70,16 @@ public class PrintSlip extends PrinterRoot { ...@@ -69,11 +70,16 @@ public class PrintSlip extends PrinterRoot {
} }
private Bitmap getBitmap(Context mContext, PrinterDeviceBean printerDeviceBean) { private Bitmap getBitmap(Context mContext, PrinterDeviceBean printerDeviceBean) {
List<OrderDetail> foodList = MyOrderManage.getInstance().getOrderFoodList();
DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
ShoppingCart shoppingCart = doshokuOrder.getShoppingCart();
List<OrderDetail> foodList = shoppingCart.getOrderCommodityList();
if (foodList == null || foodList.size() <= 0) { if (foodList == null || foodList.size() <= 0) {
return null; return null;
} }
TableBean.DataBean tableBean = OpenTableManage.getDefault().getTableBean(); TableBean.DataBean tableBean = doshokuOrder.getOpenTableInfo();
LinearLayout layout = new LinearLayout(mContext); LinearLayout layout = new LinearLayout(mContext);
layout.setOrientation(LinearLayout.VERTICAL); layout.setOrientation(LinearLayout.VERTICAL);
...@@ -83,23 +89,23 @@ public class PrintSlip extends PrinterRoot { ...@@ -83,23 +89,23 @@ public class PrintSlip extends PrinterRoot {
layout.addView(getLine(mContext)); layout.addView(getLine(mContext));
//訂單信息 //訂單信息
layout.addView(getDiningTableOrderInfo(mContext, "餐檯:" + tableBean.getTableName(), "人數:" + OpenTableManage.getDefault().getPeopleNumber(), "單號:" + MyOrderManage.getInstance().getOrderNo(), "日期:" + TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT))); layout.addView(getDiningTableOrderInfo(mContext, "餐檯:" + tableBean.getTableName(), "人數:" + doshokuOrder.getOpenTableInfo().getPerson(), "單號:" +doshokuOrder.getOrderNo(), "日期:" + TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT)));
layout.addView(getLine(mContext)); layout.addView(getLine(mContext));
layout.addView(getDiningFoodList(mContext, foodList, printerDeviceBean, 0, true)); layout.addView(getDiningFoodList(mContext, foodList, printerDeviceBean, 0, true));
layout.addView(getHalfLine(mContext)); layout.addView(getHalfLine(mContext));
List<BillingBean> billingBeans = new ArrayList<>(); List<BillingBean> billingBeans = new ArrayList<>();
//添加合計項 //添加合計項
billingBeans.add(new BillingBean("合計", MyOrderManage.getInstance().getWholeAmount())); billingBeans.add(new BillingBean("合計", shoppingCart.getWholeAmount()));
//添加其他金額項 //添加其他金額項
if (MyOrderManage.getInstance().getOrderMoneyList().size() > 0) { if (shoppingCart.getBillItemList().size() > 0) {
for (BillOrderMoney item : MyOrderManage.getInstance().getOrderMoneyList()) { for (BillItem item : shoppingCart.getBillItemList()) {
billingBeans.add(new BillingBean(item.getName(), item.getMoney())); billingBeans.add(new BillingBean(item.getName(), item.getMoney()));
} }
} }
layout.addView(getDiningBillInfo(mContext, billingBeans)); layout.addView(getDiningBillInfo(mContext, billingBeans));
layout.addView(getHalfLine(mContext)); layout.addView(getHalfLine(mContext));
layout.addView(getAmountText(mContext, "總金額:" + MyOrderManage.getInstance().getTotalAmount())); layout.addView(getAmountText(mContext, "總金額:" + shoppingCart.getTotalAmount()));
layout.addView(getLine(mContext)); layout.addView(getLine(mContext));
layout.addView(getTextView(mContext, "Thank you!", Gravity.CENTER_HORIZONTAL, getDimensionPixelSize(mContext, R.dimen.dp_8))); layout.addView(getTextView(mContext, "Thank you!", Gravity.CENTER_HORIZONTAL, getDimensionPixelSize(mContext, R.dimen.dp_8)));
layout.addView(getTextView(mContext, TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT), Gravity.CENTER_HORIZONTAL, getDimensionPixelSize(mContext, R.dimen.dp_8))); layout.addView(getTextView(mContext, TimeUtils.getCurrentTimeInString(TimeUtils.DEFAULT_DATE_FORMAT), Gravity.CENTER_HORIZONTAL, getDimensionPixelSize(mContext, R.dimen.dp_8)));
......
...@@ -30,10 +30,10 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; ...@@ -30,10 +30,10 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BillingBean; import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.order.adapter.print.FoodAdapter; import com.gingersoft.gsa.cloud.base.order.adapter.print.FoodAdapter;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney; import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.threadPool.ThreadPoolManager; import com.gingersoft.gsa.cloud.base.threadPool.ThreadPoolManager;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil; import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
...@@ -851,35 +851,35 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis ...@@ -851,35 +851,35 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
protected String getHtmlPrintHeadOrderInfo(TableBean.DataBean tableBean) { protected String getHtmlPrintHeadOrderInfo(TableBean.DataBean tableBean) {
String orderNum = "單號:"; String orderNum = "單號:";
if (TextUtil.isNotEmptyOrNullOrUndefined(MyOrderManage.getInstance().getOrderNo())) { if (TextUtil.isNotEmptyOrNullOrUndefined(DoshokuOrder.getInstance().getOrderNo())) {
orderNum = "單號:" + MyOrderManage.getInstance().getOrderNo(); orderNum = "單號:" + DoshokuOrder.getInstance().getOrderNo();
} }
return getWholeLine() + return getWholeLine() +
getPLable("餐檯:" + tableBean.getTableName(), HTML_PRINT_GRAVITY_LEFT) + getPLable("餐檯:" + tableBean.getTableName(), HTML_PRINT_GRAVITY_LEFT) +
getPLable("人數:" + OpenTableManage.getDefault().getPeopleNumber(), HTML_PRINT_GRAVITY_LEFT) + getPLable("人數:" + DoshokuOrder.getInstance().getOpenTableInfo().getPerson(), HTML_PRINT_GRAVITY_LEFT) +
getPLable(orderNum, HTML_PRINT_GRAVITY_LEFT) + getPLable(orderNum, HTML_PRINT_GRAVITY_LEFT) +
getPLable("日期:" + TimeUtils.parseTimeRepeat(tableBean.getCreateTime(), TimeUtils.DEFAULT_DATE_FORMAT), HTML_PRINT_GRAVITY_LEFT) + getPLable("日期:" + TimeUtils.parseTimeRepeat(tableBean.getCreateTime(), TimeUtils.DEFAULT_DATE_FORMAT), HTML_PRINT_GRAVITY_LEFT) +
getWholeLine(); getWholeLine();
} }
protected String getHtmlBillInfo() { protected String getHtmlBillInfo() {
//添加合計項 //添加合計項
StringBuilder amountStr = new StringBuilder(getPLable("合計 " + MyOrderManage.getInstance().getWholeAmount(), HTML_PRINT_GRAVITY_RIGHT)); StringBuilder amountStr = new StringBuilder(getPLable("合計 " + DoshokuOrder.getInstance().getShoppingCart().getWholeAmount(), HTML_PRINT_GRAVITY_RIGHT));
//添加其他金額項 //添加其他金額項
if (MyOrderManage.getInstance().getOrderMoneyList().size() > 0) { if (DoshokuOrder.getInstance().getShoppingCart().getBillItemList().size() > 0) {
for (BillOrderMoney item : MyOrderManage.getInstance().getOrderMoneyList()) { for (BillItem item : DoshokuOrder.getInstance().getShoppingCart().getBillItemList()) {
amountStr.append(getPLable(item.getName() + " " + item.getMoney(), HTML_PRINT_GRAVITY_RIGHT)); amountStr.append(getPLable(item.getName() + " " + item.getMoney(), HTML_PRINT_GRAVITY_RIGHT));
} }
} }
amountStr.append(getLine(21, HTML_PRINT_GRAVITY_RIGHT)); amountStr.append(getLine(21, HTML_PRINT_GRAVITY_RIGHT));
amountStr.append("總金額 ").append(MyOrderManage.getInstance().getTotalAmount()); amountStr.append("總金額 ").append(DoshokuOrder.getInstance().getShoppingCart().getTotalAmount());
return getLine(21, HTML_PRINT_GRAVITY_RIGHT) return getLine(21, HTML_PRINT_GRAVITY_RIGHT)
+ amountStr; + amountStr;
} }
protected String getHtmlBillPayInfo() { protected String getHtmlBillPayInfo() {
StringBuilder payInfo = new StringBuilder(); StringBuilder payInfo = new StringBuilder();
for (PayMethod payMethod : MyOrderManage.getInstance().getBillMoney()) { for (PayMethod payMethod : DoshokuOrder.getInstance().getBillMoney()) {
payInfo.append(getPLable(payMethod.getPayName() + " $" + payMethod.getPayMoney(), HTML_PRINT_GRAVITY_LEFT)); payInfo.append(getPLable(payMethod.getPayName() + " $" + payMethod.getPayMoney(), HTML_PRINT_GRAVITY_LEFT));
} }
return getWholeLine() + return getWholeLine() +
......
...@@ -2,9 +2,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model; ...@@ -2,9 +2,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application; import android.app.Application;
import android.text.TextUtils; import android.text.TextUtils;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.database.bean.ComboItem; import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount; import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo; import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
...@@ -205,7 +204,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model ...@@ -205,7 +204,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
@Override @Override
public Observable<BaseOrderRespose> apply(BaseResult info) throws Exception { public Observable<BaseOrderRespose> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) { if (info != null && info.isSuccess()) {
return loadOrder(MyOrderManage.getInstance().getOrderId()); return loadOrder(DoshokuOrder.getInstance().getOrderId());
} }
BaseOrderRespose baseOrderRespose = new BaseOrderRespose(); BaseOrderRespose baseOrderRespose = new BaseOrderRespose();
baseOrderRespose.setSuccess(info.isSuccess()); baseOrderRespose.setSuccess(info.isSuccess());
......
package com.gingersoft.gsa.cloud.table.mvp.model; package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application; import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils; import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
...@@ -94,21 +92,21 @@ public class OrderContentModel extends BaseModel implements OrderContentContract ...@@ -94,21 +92,21 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
if (info.getData() != null) { if (info.getData() != null) {
if (info.getData() instanceof Double) { if (info.getData() instanceof Double) {
//未上線,避免正式版閃退 //未上線,避免正式版閃退
MyOrderManage.getInstance().setOrderId((Double) info.getData()); DoshokuOrder.getInstance().setOrderId((long) info.getData());
MyOrderManage.getInstance().getOrderBean().setOrderNo(((Double) info.getData()).longValue() + ""); DoshokuOrder.getInstance().setOrderNo(((Double) info.getData()).longValue() + "");
} else { } else {
LinkedTreeMap tm = (LinkedTreeMap) info.getData(); LinkedTreeMap tm = (LinkedTreeMap) info.getData();
for (Object o : tm.keySet()) { for (Object o : tm.keySet()) {
String key = (String) o; String key = (String) o;
if (key.equals("id")) { if (key.equals("id")) {
MyOrderManage.getInstance().setOrderId((Double) tm.get(key)); DoshokuOrder.getInstance().setOrderId((long) tm.get(key));
} else if (key.equals("orderNo")) { } else if (key.equals("orderNo")) {
MyOrderManage.getInstance().getOrderBean().setOrderNo((String) tm.get(key)); DoshokuOrder.getInstance().setOrderNo((String) tm.get(key));
} }
} }
} }
} }
return loadOrder(MyOrderManage.getInstance().getOrderId()); return loadOrder(DoshokuOrder.getInstance().getOrderId());
} }
BaseOrderRespose baseOrderRespose = new BaseOrderRespose(); BaseOrderRespose baseOrderRespose = new BaseOrderRespose();
baseOrderRespose.setSuccess(info.isSuccess()); baseOrderRespose.setSuccess(info.isSuccess());
...@@ -128,7 +126,7 @@ public class OrderContentModel extends BaseModel implements OrderContentContract ...@@ -128,7 +126,7 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
public Observable<BaseOrderRespose> apply(BaseResult info) throws Exception { public Observable<BaseOrderRespose> apply(BaseResult info) throws Exception {
if (info != null && info.isSuccess()) { if (info != null && info.isSuccess()) {
saveCreateTime(info.getSysTime()); saveCreateTime(info.getSysTime());
return loadOrder(MyOrderManage.getInstance().getOrderId()); return loadOrder(DoshokuOrder.getInstance().getOrderId());
} }
BaseOrderRespose baseOrderRespose = new BaseOrderRespose(); BaseOrderRespose baseOrderRespose = new BaseOrderRespose();
baseOrderRespose.setSuccess(info.isSuccess()); baseOrderRespose.setSuccess(info.isSuccess());
...@@ -165,7 +163,7 @@ public class OrderContentModel extends BaseModel implements OrderContentContract ...@@ -165,7 +163,7 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
@Override @Override
public Observable<BaseOrderRespose> apply(BaseOrderRespose info) throws Exception { public Observable<BaseOrderRespose> apply(BaseOrderRespose info) throws Exception {
if (info != null && info.isSuccess()) { if (info != null && info.isSuccess()) {
return loadOrder(MyOrderManage.getInstance().getOrderId()); return loadOrder(DoshokuOrder.getInstance().getOrderId());
} }
return Observable.just(info); return Observable.just(info);
} }
......
package com.gingersoft.gsa.cloud.table.mvp.model.cart;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.order.bean.DeleteOrderRequest;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean;
import com.gingersoft.gsa.cloud.table.mvp.model.discount.CouponDiscount;
import com.gingersoft.gsa.cloud.table.mvp.model.discount.MemberDiscount;
import com.gingersoft.gsa.cloud.table.mvp.model.discount.MultyDiscount;
import com.gingersoft.gsa.cloud.table.mvp.model.discount.NomalDiscount;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import java.util.ArrayList;
import java.util.List;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-24
* 修订历史:2020-09-24
* 描述:堂食下單購物車
*/
public class DoshokuCart extends ShoppingCart{
/**
* 食品列表
*/
private List<OrderDetail> orderFoodList = new ArrayList<>();
/**
* 所有折扣實體
*/
private MultyDiscount multyDiscounts;
/**
* 記錄刪除的食品以及原因
*/
private List<DeleteOrderRequest> deleteOrders;
/**
* 服務費
*/
private Double serviceCharge;
public MultyDiscount addNomalDiscount(Discount discount) {
multyDiscounts = new NomalDiscount(multyDiscounts, discount);
return multyDiscounts;
}
public MultyDiscount addMemberDiscount(MemberInfo discount) {
multyDiscounts = new MemberDiscount(multyDiscounts, discount);
return multyDiscounts;
}
public MultyDiscount addCouponDiscount(CouponDiscountBean discount) {
multyDiscounts = new CouponDiscount(multyDiscounts, discount);
return multyDiscounts;
}
@Override
public void pay(double money) {
super.pay(money);
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.cart;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.SingleObserver;
import io.reactivex.disposables.Disposable;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 購物車抽象類
*/
@Data
public abstract class ShoppingCart {
/**
* 合計
*/
private double wholeAmount = 0.0;
/**
* 總金額
*/
private double totalAmount = 0.0;
public static void main(String[] arg) {
Discount discount = new Discount();
discount.setType(1);
discount.setRemark("9折");
discount.setDiscount_value(10);
MemberInfo memberDiscount = new MemberInfo();
memberDiscount.setMemberName("斯八達");
memberDiscount.setMemberDiscount(20);
CouponDiscountBean couponDiscount = new CouponDiscountBean();
couponDiscount.setCouponType((byte) 2);
couponDiscount.setCouponTypeName1("立減8元");
couponDiscount.setAmount(8);
// NomalDiscount nomalDiscountBean = (NomalDiscount) shoppingCart.addNomalDiscount(discount);
// MemberDiscount memberDiscountBean = (MemberDiscount) shoppingCart.addMemberDiscount(memberDiscount);
// CouponDiscount couponDiscountBean = (CouponDiscount) shoppingCart.addCouponDiscount(couponDiscount);
//
// MultyDiscount multyDiscount = shoppingCart.getMultyDiscounts();
// double money = multyDiscount.calculate(100);
//
// System.out.println("calculate : " + money);
// System.out.println("NomalDiscount discountMoney : " + nomalDiscountBean.getDiscountMoney());
// System.out.println("MemberDiscount discountMoney : " + memberDiscountBean.getDiscountMoney());
// System.out.println("CouponDiscount discountMoney : " + couponDiscountBean.getDiscountMoney());
String[] strs = new String[]{"jack", "ann", "one", "two", "three", "four"};
Observable.fromArray(strs)
.toSortedList()//自然排序 ,升序
.subscribe(new SingleObserver<List<String>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onSuccess(List<String> list) {
if (list != null) {
for (int i = 0; i < list.size(); i++) {
System.out.println("toList item======="
+ list.get(i));
}
}
}
@Override
public void onError(Throwable e) {
}
});
}
/**
* 具體支付類需要實現的方法
*/
public void pay(double money) {
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.cart;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-24
* 修订历史:2020-09-24
* 描述:外賣下單購物車
*/
public class TakeawayCart extends ShoppingCart{
@Override
public void pay(double money) {
super.pay(money);
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import lombok.Getter;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 優惠券折扣{@link CouponDiscountBean}
*/
@Getter
public class CouponDiscount extends MultyDiscount {
private CouponDiscountBean couponDiscount;
/**
* 本次折扣金额
*/
private Double discountMoney;
public CouponDiscount(MultyDiscount nextMultyDiscount, CouponDiscountBean couponDiscount) {
super(nextMultyDiscount);
this.couponDiscount = couponDiscount;
}
@Override
public double calculate(double money) {
if (couponDiscount != null) {
//配置了消費滿減
double totalAmount = money;
if (couponDiscount.getSpend() != null && totalAmount > couponDiscount.getSpend()) {
//未滿足消費滿條件
} else {
discountMoney = calculationCoupon(couponDiscount, money);
money = MoneyUtil.sum(money,discountMoney);
}
}
return super.calculate(money);
}
/**
* 計算優惠券金額
*
* @param couponDiscount
* @param sourceMoney
* @return
*/
public static double calculationCoupon(CouponDiscountBean couponDiscount, double sourceMoney) {
double discountMoney = 0;
if (couponDiscount.getCouponType() == 2) {
//金額折扣
discountMoney = couponDiscount.getAmount();
} else{
//百分比折扣
discountMoney = MoneyUtil.divide(MoneyUtil.multiply(sourceMoney, couponDiscount.getDiscount()), 100).doubleValue();
}
if (sourceMoney < discountMoney) {
//折扣金額不能超出總額
discountMoney = sourceMoney;
}
return -MoneyUtil.get_ItemDecimals_money(Math.abs(discountMoney));
}
/**
* 獲取優惠券折扣ID
*
* @return
*/
public Long getCouponDiscountId() {
if (couponDiscount != null) {
return couponDiscount.getId();
}
return null;
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import lombok.Getter;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 會員折扣{@link MemberInfo#memberDiscount}
*/
@Getter
public class MemberDiscount extends MultyDiscount {
private MemberInfo memberDiscount;
/**
* 本次折扣金额
*/
private Double discountMoney;
public MemberDiscount(MultyDiscount nextMultyDiscount, MemberInfo memberDiscount) {
super(nextMultyDiscount);
this.memberDiscount = memberDiscount;
}
@Override
public double calculate(double money) {
if (memberDiscount != null) {
discountMoney = calculationMemberDiscount(memberDiscount.getMemberDiscount(), money);
money = MoneyUtil.sum(money,discountMoney);
}
return super.calculate(money);
}
public static double calculationMemberDiscount(int discountRate, double sourceMoney) {
double discountMoney = MoneyUtil.divide(MoneyUtil.multiply(sourceMoney, discountRate), 100).doubleValue();
if (sourceMoney < discountMoney) {
//折扣金額不能超出總額
discountMoney = sourceMoney;
}
return -MoneyUtil.get_ItemDecimals_money(Math.abs(discountMoney));
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.discount;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 折扣抽象類{@link MultyDiscount}
*/
public abstract class MultyDiscount {
/**責任鏈中的下一個對象*/
protected MultyDiscount nextMultyDiscount;
public MultyDiscount(MultyDiscount nextMultyDiscount) {
this.nextMultyDiscount = nextMultyDiscount;
}
public double calculate(double money) {
if (nextMultyDiscount != null) {
return nextMultyDiscount.calculate(money);
}
return money;
}
}
package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import lombok.Getter;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 整單折扣{@link Discount}
*/
@Getter
public class NomalDiscount extends MultyDiscount{
private Discount discount;
/**
* 本次折扣金额
*/
private Double discountMoney;
public NomalDiscount(MultyDiscount nextMultyDiscount,Discount discount) {
super(nextMultyDiscount);
this.discount = discount;
}
@Override
public double calculate(double money) {
if(discount != null){
discountMoney = calculationDiscount(discount, money);
money = MoneyUtil.sum(money,discountMoney);
}
return super.calculate(money);
}
/**
* 計算整单折扣金額
*
* @param discount
* @param sourceMoney
* @return
*/
public static double calculationDiscount(Discount discount, double sourceMoney) {
double discountMoney;
if (discount.getType() == 0) {
//金額折扣
discountMoney = discount.getAmount();
} else {
//百分比折扣
discountMoney = MoneyUtil.divide(MoneyUtil.multiply(sourceMoney, discount.getDiscount_value()), 100).doubleValue();
}
if (sourceMoney < discountMoney) {
//折扣金額不能超出總額
discountMoney = sourceMoney;
}
return -MoneyUtil.get_ItemDecimals_money(Math.abs(discountMoney));
}
}
...@@ -8,12 +8,11 @@ import android.widget.TextView; ...@@ -8,12 +8,11 @@ import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney; import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount; import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem; import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem;
import com.gingersoft.gsa.cloud.base.order.billItem.RoundingItem; import com.gingersoft.gsa.cloud.base.order.billItem.RoundingItem;
import com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem; import com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem;
...@@ -58,6 +57,7 @@ import javax.inject.Inject; ...@@ -58,6 +57,7 @@ import javax.inject.Inject;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer; import io.reactivex.functions.Consumer;
import io.reactivex.functions.Function; import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
...@@ -94,38 +94,31 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -94,38 +94,31 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
private OrderContentActivity mOrderContentActivity; private OrderContentActivity mOrderContentActivity;
private MealStandPresenter mMealStandPresenter; private MealStandPresenter mMealStandPresenter;
//订单数据管理类 /**
protected MyOrderManage myOrderManage; * 訂單美食適配器
// protected OpenTableManage openTableManage; */
//訂單食品適配器
protected SelectMealAdapter mSelectMealAdapter; protected SelectMealAdapter mSelectMealAdapter;
// protected List<OrderDetail> mOrderFoodList; /**
* 美食列表
//整單相關金額適配器 */
protected List<OrderDetail> mOrderMealList;
/**
* 賬單項適配器
*/
protected OrderMoneyAdapter mOrderMoneyAdapter; protected OrderMoneyAdapter mOrderMoneyAdapter;
// protected List<BillOrderMoney> mOrderMoneyList;
protected OrderDetail mCurrentOrderDetailBean;
//選中操作的食品下標
protected int orderSelectPosition = -1;
//币種
protected String cashStr = "$";
protected String serviceChargeStr = "服務費";
protected String roundingStr = "賬單小數";
private final String noFoodDeliveryTip = "賬單沒有食品,是否開台?";
/** /**
* 訂單信息 * 賬單項列表
*/ */
protected BaseOrder mOrder; protected List<BillItem> mBillItemList;
/** /**
* 餐檯信息 * 餐檯信息
*/ */
public TableBean.DataBean mTableInfo; public TableBean.DataBean mTableInfo;
/** /**
* 訂單信息
*/
protected BaseOrder mOrder;
/**
* 堂食訂單信息 * 堂食訂單信息
*/ */
protected DoshokuOrder mDoshokuOrder; protected DoshokuOrder mDoshokuOrder;
...@@ -138,13 +131,22 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -138,13 +131,22 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/ */
protected ShoppingCart mShoppingCart; protected ShoppingCart mShoppingCart;
/** /**
* 美食列表 * 已下單信息
*/
protected List<OrderDetail> mOrderMealList;
/**
* 賬單項列表
*/ */
protected List<BillItem> mBillItemList; private OrderBean orderPlaced;
protected OrderDetail mCurrentOrderDetailBean;
//選中操作的食品下標
protected int orderSelectPosition = -1;
//币種
protected String cashStr = "$";
protected String serviceChargeStr = "服務費";
protected String roundingStr = "賬單小數";
private final String noFoodDeliveryTip = "賬單沒有食品,是否開台?";
private Disposable disposable;
public abstract void createOrder(boolean isPrint, Class afterToActivity); public abstract void createOrder(boolean isPrint, Class afterToActivity);
...@@ -164,10 +166,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -164,10 +166,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
this.mModel = (M) model; this.mModel = (M) model;
this.mRootView = (V) rootView; this.mRootView = (V) rootView;
this.mBaseOrderPresenter = this; this.mBaseOrderPresenter = this;
this.IActivity = (Activity) mRootView; this.IActivity = (Activity) mRootView;
// this.openTableManage = mDoshokuOrder.getOpenTableInfo();
this.myOrderManage = MyOrderManage.getInstance();
if (IActivity instanceof OrderContentActivity) { if (IActivity instanceof OrderContentActivity) {
mOrderContentActivity = (OrderContentActivity) IActivity; mOrderContentActivity = (OrderContentActivity) IActivity;
...@@ -176,9 +175,8 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -176,9 +175,8 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
mMealStandPresenter = (MealStandPresenter) this; mMealStandPresenter = (MealStandPresenter) this;
} }
/****************************************************/
mOrder = OrderFactory.createOrder(FoodSummaryConstans.RESTAURANT_MODE); mOrder = OrderFactory.createOrder(FoodSummaryConstans.RESTAURANT_MODE);
if (BaseOrder.orderType == FoodSummaryConstans.RESTAURANT_MODE) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE)) {
mDoshokuOrder = (DoshokuOrder) mOrder; mDoshokuOrder = (DoshokuOrder) mOrder;
mTableInfo = mDoshokuOrder.getOpenTableInfo(); mTableInfo = mDoshokuOrder.getOpenTableInfo();
} else { } else {
...@@ -187,24 +185,16 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -187,24 +185,16 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
mShoppingCart = mOrder.getShoppingCart(); mShoppingCart = mOrder.getShoppingCart();
mOrderMealList = mShoppingCart.getOrderCommodityList(); mOrderMealList = mShoppingCart.getOrderCommodityList();
mBillItemList = mShoppingCart.getBillItemList(); mBillItemList = mShoppingCart.getBillItemList();
/****************************************************/
if (mMealStandPresenter != null) {
orderPlaced = mDoshokuOrder.getOrderPlaced();
}
resetSelected(); resetSelected();
initOrderAdapter(); initOrderAdapter();
initItemClickListener(); initItemClickListener();
// if (!containsTableService()) {
// addTableServiceAmount();
// }
// if (this instanceof MealStandPresenter) {
// addSentOrderDiscount();
// addOrderRounding();
// //設置賬單總金額
// myOrderManage.setTotalAmount(getTotalAmount());
// } else {
// updateBillOrderItem();
updateBillInfo(); updateBillInfo();
// }
} }
@Override @Override
...@@ -213,23 +203,31 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -213,23 +203,31 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
this.mErrorHandler = null; this.mErrorHandler = null;
this.mAppManager = null; this.mAppManager = null;
this.mApplication = null; this.mApplication = null;
if (disposable != null && !disposable.isDisposed()) {
disposable.dispose();
}
} }
/** /**
* 更新賬單信息 * 更新賬單信息
* 1、更新合計 * 1、更新食品折扣
* 2、更新食品折扣 * 2、更新合計
* 3、更新服務費項 * 3、更新食品折扣
* 4、更新賬單折扣項{@link NomalDiscount} * 4、更新服務費項
* 5、更新賬單小數項 * 5、更新賬單折扣項{@link NomalDiscount}
* 6、總金額 * 6、更新賬單小數項
* 7、總金額
*/ */
public void updateBillInfo() { public void updateBillInfo() {
double wholeAmount = getFoodTotal();
mShoppingCart.resetBeforeBillCalculation();
//更新食品折扣
updateFoodDiscount();
//更新合計 //更新合計
double wholeAmount = getFoodTotal();
mShoppingCart.setWholeAmount(wholeAmount); mShoppingCart.setWholeAmount(wholeAmount);
Observable.just(wholeAmount) disposable = Observable.just(wholeAmount)
.subscribeOn(Schedulers.computation()) .subscribeOn(Schedulers.computation())
/** /**
* 計算服務費 * 計算服務費
...@@ -237,26 +235,13 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -237,26 +235,13 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
.map(new Function<Double, Double>() { .map(new Function<Double, Double>() {
@Override @Override
public Double apply(Double totalAmount) throws Exception { public Double apply(Double totalAmount) throws Exception {
ServiceChargeItem serviceChargeItem = (ServiceChargeItem) findBillItemByClass(ServiceChargeItem.class);
int serviceCharge = mDoshokuOrder.getOpenTableInfo().getServiceCharge(); int serviceCharge = mDoshokuOrder.getOpenTableInfo().getServiceCharge();
if (serviceChargeItem != null) { if (serviceCharge > 0) {
totalAmount = serviceChargeItem.updateBillItem(totalAmount, serviceCharge); ServiceChargeItem item = new ServiceChargeItem(serviceChargeStr);
if (Double.doubleToLongBits(totalAmount) != 0.0) { totalAmount = item.updateBillItem(totalAmount, serviceCharge);
//更新服務費 if (Double.doubleToLongBits(item.getMoney()) != 0.0) {
mShoppingCart.setServiceCharge(totalAmount); mBillItemList.add(item);
}else { mShoppingCart.setServiceCharge(item.getMoney());
//刪除服務費
mBillItemList.remove(serviceChargeItem);
mShoppingCart.setServiceCharge(null);
}
} else {
if (serviceCharge != 0) {
ServiceChargeItem item = new ServiceChargeItem(serviceChargeStr);
totalAmount = item.updateBillItem(totalAmount, serviceCharge);
if (Double.doubleToLongBits(totalAmount) != 0.0) {
mBillItemList.add(item);
mShoppingCart.setServiceCharge(item.getMoney());
}
} }
} }
return totalAmount; return totalAmount;
...@@ -268,15 +253,53 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -268,15 +253,53 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
.map(new Function<Double, Double>() { .map(new Function<Double, Double>() {
@Override @Override
public Double apply(Double totalAmount) throws Exception { public Double apply(Double totalAmount) throws Exception {
double discountableMoney = getDiscountableFoodTotal2(); if (orderPlaced != null) {
boolean calculatedDiscount = false; //添加已送單折扣
for (BillItem item : mBillItemList) { List<OrderDiscount.Respose> orderDiscounts = orderPlaced.getDiscountDetails();
if (item instanceof DiscountItem && calculatedDiscount == false) { if (orderDiscounts != null) {
calculatedDiscount = true; for (OrderDiscount.Respose orderDiscount : orderDiscounts) {
//調用折扣鏈進行計算 if (orderDiscount.getType() == OrderDiscount.ORDER_DISCOUNT) {
totalAmount = mShoppingCart.calculateLinkedDiscounts(discountableMoney); //整單折扣
Discount discount = new Discount();
discount.setId(orderDiscount.getDiscountId());
discount.setRemark(orderDiscount.getRemark());
if (orderDiscount.getDiscountValue() != 0) {
//百分比折扣
discount.setType(1);
discount.setDiscount_value(orderDiscount.getDiscountValue());
}
if (orderDiscount.getDiscountAmount() != 0) {
//金額折扣
discount.setType(0);
discount.setAmount(orderDiscount.getDiscountAmount());
}
mShoppingCart.addMultyDiscount(mShoppingCart.createNomalDiscount(discount));
} else if (orderDiscount.getType() == OrderDiscount.MEMBER_DISCOUNT) {
//會員折扣
MemberInfo memberInfo = mDoshokuOrder.getMemberInfo();
if (memberInfo != null) {
mShoppingCart.addMultyDiscount(mShoppingCart.createMemberDiscount(memberInfo));
}
} else if (orderDiscount.getType() == OrderDiscount.COUPON_DISCOUNT) {
//優惠券折扣
CouponDiscountBean couponDiscount = new CouponDiscountBean();
couponDiscount.setCouponTypeName1(orderDiscount.getRemark());
couponDiscount.setCouponTypeName2(orderDiscount.getRemark2());
couponDiscount.setCouponTypeName3(orderDiscount.getRemark3());
couponDiscount.setAccumulate(orderDiscount.getAccumulate());
couponDiscount.setSpend(orderDiscount.getSpend());
couponDiscount.setDiscount(orderDiscount.getDiscountValue());
couponDiscount.setAmount(orderDiscount.getDiscountAmount());
mShoppingCart.addMultyDiscount(mShoppingCart.createCouponDiscount(couponDiscount));
}
}
} }
} }
double discountableMoney = getDiscountableFoodTotal2();
if (discountableMoney > 0 && mShoppingCart.getMultyDiscountList().size() > 0) {
//調用折扣鏈進行計算
totalAmount = MoneyUtil.sub(totalAmount, mShoppingCart.calculateLinkedDiscounts(discountableMoney));
}
return totalAmount; return totalAmount;
} }
}) })
...@@ -287,21 +310,10 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -287,21 +310,10 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
@Override @Override
public Double apply(Double totalAmount) throws Exception { public Double apply(Double totalAmount) throws Exception {
double roundingTotalAmount = getTotalAmountFilterByType(BillItem.ROUNDING_TYPE); double roundingTotalAmount = getTotalAmountFilterByType(BillItem.ROUNDING_TYPE);
RoundingItem roundingItem = (RoundingItem) findBillItemByClass(RoundingItem.class); if (roundingTotalAmount > 0) {
if (roundingItem != null) {
totalAmount = roundingItem.updateBillItem(roundingTotalAmount);
if (Double.doubleToLongBits(totalAmount) != 0.0) {
//更新賬單小數
mShoppingCart.setRounding(totalAmount);
}else {
//刪除賬單小數
mBillItemList.remove(roundingItem);
mShoppingCart.setRounding(null);
}
} else {
RoundingItem item = new RoundingItem(roundingStr); RoundingItem item = new RoundingItem(roundingStr);
totalAmount = item.updateBillItem(roundingTotalAmount); totalAmount = item.updateBillItem(roundingTotalAmount);
if (Double.doubleToLongBits(totalAmount) != 0.0) { if (Double.doubleToLongBits(item.getMoney()) != 0.0) {
mBillItemList.add(item); mBillItemList.add(item);
mShoppingCart.setRounding(item.getMoney()); mShoppingCart.setRounding(item.getMoney());
} }
...@@ -313,6 +325,9 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -313,6 +325,9 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
.subscribe(new Consumer<Double>() { .subscribe(new Consumer<Double>() {
@Override @Override
public void accept(Double totalAmount) throws Exception { public void accept(Double totalAmount) throws Exception {
if (mOrderContentActivity != null) {
mOrderContentActivity.initOrderBill(wholeAmount, totalAmount);
}
//更新總金額 //更新總金額
mShoppingCart.setTotalAmount(totalAmount); mShoppingCart.setTotalAmount(totalAmount);
//刷新賬單Item數據 //刷新賬單Item數據
...@@ -322,7 +337,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -322,7 +337,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
} }
/** /**
* 查詢對應的BillItem類是否存在 * 查詢對應的BillItem類
* *
* @param cla * @param cla
* @return * @return
...@@ -368,9 +383,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -368,9 +383,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
changeNumber(datasBean.getNumber() - 1); changeNumber(datasBean.getNumber() - 1);
} }
mSelectMealAdapter.notifyDataSetChanged(); mSelectMealAdapter.notifyDataSetChanged();
if (mOrderContentActivity != null) {
mOrderContentActivity.initOrderDetail();
}
//更新折扣 //更新折扣
updateBillInfo(); updateBillInfo();
} }
...@@ -379,9 +391,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -379,9 +391,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
public void onMealCountAdd(OrderDetail datasBean, int position) { public void onMealCountAdd(OrderDetail datasBean, int position) {
mRootView.recordOperat(true); mRootView.recordOperat(true);
changeNumber(datasBean.getNumber() + 1); changeNumber(datasBean.getNumber() + 1);
if (mOrderContentActivity != null) {
mOrderContentActivity.initOrderDetail();
}
//更新折扣 //更新折扣
updateBillInfo(); updateBillInfo();
} }
...@@ -422,7 +431,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -422,7 +431,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
if (!changeNumberCondition(number)) { if (!changeNumberCondition(number)) {
return; return;
} }
myOrderManage.changeNumber(number); // myOrderManage.changeNumber(number);
if (mMealStandPresenter != null) { if (mMealStandPresenter != null) {
mMealStandPresenter.updateMealSoldoutCtrData(); mMealStandPresenter.updateMealSoldoutCtrData();
mMealStandPresenter.updateOrderFoodNumber(); mMealStandPresenter.updateOrderFoodNumber();
...@@ -432,35 +441,35 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -432,35 +441,35 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
} }
public boolean changeNumberCondition(int i) { public boolean changeNumberCondition(int i) {
if (MyOrderManage.getInstance().getSize() <= 0) { if (mOrderMealList.size() <= 0) {
return false; return false;
} }
if (mSelectMealAdapter.getSelect_start_position() == -1 || mSelectMealAdapter.getSelect_start_position() >= mSelectMealAdapter.getInfos().size()) { if (mSelectMealAdapter.getSelect_start_position() == -1 || mSelectMealAdapter.getSelect_start_position() >= mSelectMealAdapter.getInfos().size()) {
return false; return false;
} }
if (myOrderManage.getOrderFoodList().get(mSelectMealAdapter.getSelect_start_position()).isIsfood() == false) { if (mOrderMealList.get(mSelectMealAdapter.getSelect_start_position()).isIsfood() == false) {
return false; return false;
} }
//旧食品不可以修改数量 //旧食品不可以修改数量
if (!myOrderManage.isModifyOrder() && myOrderManage.getOrderFoodList().get(mSelectMealAdapter.getSelect_start_position()).isNew() == false && i != 0) { if (!mDoshokuOrder.isModifyOrder() && mOrderMealList.get(mSelectMealAdapter.getSelect_start_position()).isNew() == false && i != 0) {
return false; return false;
} }
if (mSelectMealAdapter.getSelect_position() == -1) { if (mSelectMealAdapter.getSelect_position() == -1) {
return false; return false;
} }
if (myOrderManage.getOrderFoodList().size() <= 0) { if (mOrderMealList.size() <= 0) {
return false;
}
if (myOrderManage.getSelmainstartpositon() > myOrderManage.getOrderFoodList().size()) {
return false; return false;
} }
OrderDetail orderMainFood = myOrderManage.getOrderFoodList().get(myOrderManage.getSelmainstartpositon()); // if (myOrderManage.getSelmainstartpositon() > mOrderMealList.size()) {
if (mMealStandPresenter != null && orderMainFood != null) { // return false;
//積分是否滿足 // }
if (!mMealStandPresenter.memberPointsCondition(orderMainFood.getPointsRedeem() * i, orderMainFood.getProductName())) { // OrderDetail orderMainFood = mOrderMealList.get(myOrderManage.getSelmainstartpositon());
return false; // if (mMealStandPresenter != null && orderMainFood != null) {
} // //積分是否滿足
} // if (!mMealStandPresenter.memberPointsCondition(orderMainFood.getPointsRedeem() * i, orderMainFood.getProductName())) {
// return false;
// }
// }
return true; return true;
} }
...@@ -473,7 +482,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -473,7 +482,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
if (!sendOrderConditionFilter()) { if (!sendOrderConditionFilter()) {
return; return;
} }
if (MyOrderManage.getInstance().getOrderId() < 1) { if (mDoshokuOrder.getOrderId() < 1) {
if (getFoodSize() == 0) { if (getFoodSize() == 0) {
Class[] parameterTypes = {boolean.class, Class.class}; Class[] parameterTypes = {boolean.class, Class.class};
Object[] parameters = {isPrint, afterToActivity}; Object[] parameters = {isPrint, afterToActivity};
...@@ -501,7 +510,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -501,7 +510,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* @return * @return
*/ */
public boolean sendOrderConditionFilter() { public boolean sendOrderConditionFilter() {
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo(); MemberInfo memberInfo = mDoshokuOrder.getMemberInfo();
if (memberInfo == null) { if (memberInfo == null) {
for (OrderDetail item : getNewOrderFoodLists()) { for (OrderDetail item : getNewOrderFoodLists()) {
if (item.getPointsAdd() != 0 || item.getPointsRedeem() != 0) { if (item.getPointsAdd() != 0 || item.getPointsRedeem() != 0) {
...@@ -516,330 +525,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -516,330 +525,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
} }
/** /**
* 更新賬單金額
*/
// public void updateBillOrderItem() {
// if (!containsTableService()) {
// addTableServiceAmount();
// }
// updateFoodDiscount();
// updateTableServiceAmount();
// updateOrderDiscount();
// updateMemberDiscount();
// updateMemberCoupon();
// updateOrderRounding();
// myOrderManage.setTotalAmount(getTotalAmount());
// }
/**
* 添加已送單折扣
*/
// private void addSentOrderDiscount() {
// OrderBean orderBean = myOrderManage.getOrderBean();
// if (orderBean != null) {
// DiscountResult discountResult = orderBean.getDiscountDetail();
// if (discountResult != null) {
// Discount discount = discountResult.getDiscount();
// MemberInfo memberDiscount = discountResult.getMemberDiscount();
// CouponDiscountBean memberCoupon = discountResult.getMemberCoupon();
// if (memberDiscount != null) {
// //整單折扣
// if (discount.getDiscount_value() != 0) {
// //百分比折扣
// discount.setType(1);
// addOrderDiscount(true, discount, BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// } else {
// //金額折扣
// discount.setType(0);
// addOrderDiscount(true, discount, BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// }
// }
// if (memberCoupon != null) {
// //會員優惠券
// if (memberDiscount != null) {
// addMemberCoupon(memberCoupon, memberDiscount.getId(), BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// }
// }
// if (memberDiscount != null) {
// //會員折扣
// addMemberDiscount(memberDiscount.getId(), memberDiscount.getMemberDiscount(), memberDiscount.getMemberName(), memberDiscount.getLevelName1(), BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// }
// }
// }
// }
// protected void addSentOrderDiscount() {
// OrderBean orderBean = myOrderManage.getOrderBean();
// if (orderBean != null) {
// List<OrderDiscount.Respose> discountDetails = orderBean.getDiscountDetails();
// if (discountDetails != null) {
// for (int i = 0; i < discountDetails.size(); i++) {
// OrderDiscount.Respose orderDiscount = discountDetails.get(i);
// if (orderDiscount.getType() == OrderDiscount.ORDER_DISCOUNT) {
// //整單折扣
// Discount discount = new Discount();
// discount.setId(orderDiscount.getDiscountId());
// discount.setRemark(orderDiscount.getRemark());
// if (orderDiscount.getDiscountValue() != 0) {
// //百分比折扣
// discount.setType(1);
// discount.setDiscount_value(orderDiscount.getDiscountValue());
// addOrderDiscount(true, discount, BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// continue;
// }
// if (orderDiscount.getDiscountAmount() != 0) {
// //金額折扣
// discount.setType(0);
// discount.setAmount(orderDiscount.getDiscountAmount());
// addOrderDiscount(true, discount, BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// continue;
// }
// } else if (orderDiscount.getType() == OrderDiscount.MEMBER_DISCOUNT) {
// //會員折扣
// MemberInfo memberInfo = myOrderManage.getMemberInfo();
// if (memberInfo != null) {
// addMemberDiscount(memberInfo.getId(), orderDiscount.getDiscountValue(), memberInfo.getMemberName(), memberInfo.getLevelName1(), BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// }
// } else if (orderDiscount.getType() == OrderDiscount.COUPON_DISCOUNT) {
// CouponDiscountBean couponDiscount = new CouponDiscountBean();
// couponDiscount.setCouponTypeName1(orderDiscount.getRemark());
// couponDiscount.setCouponTypeName2(orderDiscount.getRemark2());
// couponDiscount.setCouponTypeName3(orderDiscount.getRemark3());
// couponDiscount.setAccumulate(orderDiscount.getAccumulate());
// couponDiscount.setSpend(orderDiscount.getSpend());
// couponDiscount.setDiscount(orderDiscount.getDiscountValue());
// couponDiscount.setAmount(orderDiscount.getDiscountAmount());
//
// MemberInfo memberInfo = myOrderManage.getMemberInfo();
// if (memberInfo != null) {
// addCouponDiscount(couponDiscount, myOrderManage.getMemberInfo().getId(), BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// }
// }
// }
// }
// }
// }
/**
* 添加餐檯服務費
*/
// protected void addTableServiceAmount() {
// TableBean.DataBean dataBean = mDoshokuOrder.getOpenTableInfo().getTableBean();
// if (dataBean == null) {
// return;
// }
// double serviceAmount = MoneyUtil.divide(MoneyUtil.multiply(getScAbleFoodTotal(), dataBean.getServiceCharge()).doubleValue(), 100, MoneyUtil.ItemDecimals);
// if (serviceAmount > 0) {
// BillOrderMoney orderMoney = new BillOrderMoney();
// orderMoney.setMoney(MoneyUtil.get_ItemDecimals_money(serviceAmount));
// orderMoney.setTitle(dataBean.getServiceCharge() + "%" + serviceChargeStr);
// orderMoney.setStatus(BillOrderMoney.BILL_ITEM_ORDER_SENT_STATUS);
// orderMoney.setType(BillOrderMoney.SERVERCHARGE_TYPE);
// orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
// BillOrderMoney discountBill = getBillOrderItemByType(BillOrderMoney.ORDER_DISCOUNT_TYPE);
// if (discountBill != null) {
// mOrderMoneyList.add(0, orderMoney);
// } else {
// mOrderMoneyList.add(orderMoney);
// }
// mOrderMoneyAdapter.notifyDataSetChanged();
// }
// }
/**
* 更新服务费
*/
// private void updateTableServiceAmount() {
// BillOrderMoney billOrderMoney = getBillOrderItemByType(BillOrderMoney.SERVERCHARGE_TYPE);
// if (billOrderMoney != null) {
// TableBean.DataBean dataBean = mDoshokuOrder.getOpenTableInfo().getTableBean();
//// double serviceAmount = getTotalAmountFilterByType(BillOrderMoney.SERVERCHARGE_TYPE, BillOrderMoney.DISCOUNT_TYPE, BillOrderMoney.ROUNDING_TYPE) * dataBean.getServiceCharge() / 100;
// double serviceAmount = getScAbleFoodTotal() * dataBean.getServiceCharge() / 100;
// if (serviceAmount > 0) {
// billOrderMoney.setMoney(MoneyUtil.get_ItemDecimals_money(serviceAmount));
// } else {
// mOrderMoneyList.remove(billOrderMoney);
// }
// mOrderMoneyAdapter.notifyDataSetChanged();
// }
// }
/**
* 添加賬單折扣
*
* @param discount
*/
// protected void addOrderDiscount(boolean init, Discount discount, int status) {
//
// removeBillOrderItemByType(BillOrderMoney.ORDER_DISCOUNT_TYPE);
//
// double totalMoney = getDiscountableFoodTotal(BillOrderMoney.ORDER_DISCOUNT_TYPE, true);
// double discountPrice = OrderDiscount.calculationDiscount(discount, totalMoney);
// BillOrderMoney orderMoney = new BillOrderMoney();
// orderMoney.setMoney(discountPrice);
// orderMoney.setTitle(discount.getRemark());
// orderMoney.setType(BillOrderMoney.ORDER_DISCOUNT_TYPE);
// if (status == 0) {
// orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_hint_color));
// } else {
// orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
// }
// orderMoney.setStatus(status);
// orderMoney.setDiscount(discount);
//
// mOrderMoneyList.add(orderMoney);
// mOrderMoneyAdapter.notifyDataSetChanged();
//
// //更新總金額
// if (!init && mOrderContentActivity != null) {
// //先更新下賬單小數,再計算總金額才不會錯
// updateOrderRounding();
// //更新合計 總金額信息
// mOrderContentActivity.initOrderDetail();
// }
// }
/**
* 更新整單折扣
*/
// protected void updateOrderDiscount() {
// BillOrderMoney orderMoney = getBillOrderItemByType(BillOrderMoney.ORDER_DISCOUNT_TYPE);
// if (orderMoney != null) {
// double totalMoney = getDiscountableFoodTotal(BillOrderMoney.ORDER_DISCOUNT_TYPE, false);
// double discountPrice = OrderDiscount.calculationDiscount(orderMoney.getDiscount(), totalMoney);
// orderMoney.setMoney(discountPrice);
// }
// }
/**
* 添加会员折扣
*
* @param memberId
* @param discountRate
* @param memberName
* @param levelName
*/
// public void addMemberDiscount(long memberId, int discountRate, String memberName, String levelName, int status) {
//
// removeBillOrderItemByType(BillOrderMoney.MEMBER_DISCOUNT_TYPE);
//
// double totalMoney = getDiscountableFoodTotal(BillOrderMoney.MEMBER_DISCOUNT_TYPE, true);
// if (!TextUtils.isEmpty(levelName)) {
// memberName = memberName + "(" + levelName + ")";
// }
// double discountPrice = OrderDiscount.calculationMemberDiscount(discountRate, totalMoney);
// BillOrderMoney orderMoney = new BillOrderMoney();
// orderMoney.setMoney(discountPrice);
// orderMoney.setTitle(memberName + discountRate + "%");
// orderMoney.setType(BillOrderMoney.MEMBER_DISCOUNT_TYPE);
// orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
// orderMoney.setStatus(status);
// //折扣
// Discount discount = new Discount();
// discount.setId(memberId);
// discount.setMemberId(memberId);
// discount.setType(1);
// discount.setRemark(memberName + discountRate + "%");
// discount.setDiscount_value(discountRate);
// orderMoney.setDiscount(discount);
//
// mOrderMoneyList.add(orderMoney);
// mOrderMoneyAdapter.notifyDataSetChanged();
// }
/**
* 更新会员折扣
*/
// protected void updateMemberDiscount() {
// BillOrderMoney orderMoney = getBillOrderItemByType(BillOrderMoney.MEMBER_DISCOUNT_TYPE);
// if (orderMoney != null) {
// double totalMoney = getDiscountableFoodTotal(BillOrderMoney.MEMBER_DISCOUNT_TYPE, false);
// double discountPrice = OrderDiscount.calculationDiscount(orderMoney.getDiscount(), totalMoney);
// orderMoney.setMoney(discountPrice);
// }
// }
/**
* 添加优惠券折扣
*
* @param coupon
* @param status
*/
// public void addCouponDiscount(CouponDiscountBean coupon, long memberId, int status) {
//
// removeBillOrderItemByType(BillOrderMoney.COUPON_DISCOUNT_TYPE);
//
// double totalMoney = getDiscountableFoodTotal(BillOrderMoney.COUPON_DISCOUNT_TYPE, true);
// double discountPrice = CouponDiscountBean.calculationCoupon(coupon.getDiscount(), coupon.getAmount(), totalMoney);
// BillOrderMoney orderMoney = new BillOrderMoney();
// orderMoney.setMoney(discountPrice);
// if (coupon.getDiscount() != 0) {
// orderMoney.setTitle(coupon.getName() + coupon.getDiscount() + "%");
// } else {
// orderMoney.setTitle(coupon.getName());
// }
// orderMoney.setType(BillOrderMoney.COUPON_DISCOUNT_TYPE);
// if (status == 0) {
// orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_hint_color));
// } else {
// orderMoney.setTextColor(ArmsUtils.getColor(IActivity, R.color.theme_black));
// }
// orderMoney.setStatus(status);
// //折扣
// Discount discount = new Discount();
// discount.setId(coupon.getId());
// discount.setMemberId(memberId);
// discount.setRemark(coupon.getName() + coupon.getDiscount() + "%");
// discount.setDiscount_value(coupon.getDiscount());
// discount.setAmount(coupon.getAmount());
// if (coupon.getDiscount() != 0) {
// discount.setType(1);
// } else {
// discount.setType(0);
// }
// orderMoney.setDiscount(discount);
//
// mOrderMoneyList.add(orderMoney);
// mOrderMoneyAdapter.notifyDataSetChanged();
// }
/**
* 更新會員優惠券金額
*/
// public void updateMemberCoupon() {
// BillOrderMoney orderMoney = getBillOrderItemByType(BillOrderMoney.COUPON_DISCOUNT_TYPE);
// if (orderMoney != null) {
// double totalMoney = getDiscountableFoodTotal(BillOrderMoney.COUPON_DISCOUNT_TYPE, false);
// double discountPrice = CouponDiscountBean.calculationCoupon(orderMoney.getDiscount().getDiscount_value(), orderMoney.getDiscount().getAmount(), totalMoney);
// orderMoney.setMoney(discountPrice);
// }
// }
/**
* 根據類型刪除賬單項
*
* @param type
*/
// private void removeBillOrderItemByType(int type) {
// for (int i = mOrderMoneyList.size() - 1; i >= 0; i--) {
// BillOrderMoney item = mOrderMoneyList.get(i);
// if (item.getType() == type) {
// mOrderMoneyList.remove(i);
// mOrderMoneyAdapter.notifyItemChanged(i);
// break;
// }
// }
// }
// private BillOrderMoney getBillOrderItemByType(int type) {
// for (BillOrderMoney orderMoney : mOrderMoneyList) {
// if (orderMoney.getType() == type) {
// return orderMoney;
// }
// }
// return null;
// }
/**
* 更新食品折扣 * 更新食品折扣
*/ */
protected void updateFoodDiscount() { protected void updateFoodDiscount() {
...@@ -902,53 +587,12 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -902,53 +587,12 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
} }
/** /**
* 添加賬單小數行
*/
// protected void addOrderRounding() {
// double m1 = getTotalAmountFilterByType(BillOrderMoney.ROUNDING_TYPE);
// double m2 = MoneyUtil.getOrderRounding(m1);
// double roundingMoney = 0.0;
// if (m2 != 0) {
// roundingMoney = MoneyUtil.sub(m2, MoneyUtil.get_ItemDecimals_money(m1));
// }
// if (roundingMoney != 0.0) {
// BillOrderMoney roundingItem = new BillOrderMoney();
// roundingItem.setMoney(MoneyUtil.getDecimalMoney(roundingMoney, MoneyUtil.ItemDecimals));
// roundingItem.setTitle("賬單小數");
// roundingItem.setType(BillOrderMoney.ROUNDING_TYPE);
// mOrderMoneyList.add(roundingItem);
// mOrderMoneyAdapter.notifyDataSetChanged();
// }
// }
/**
* 刪除賬單小數
*/
// private void removeOrderRouding() {
// for (BillOrderMoney item : mOrderMoneyList) {
// if (item.getType() == BillOrderMoney.ROUNDING_TYPE) {
// mOrderMoneyList.remove(item);
// mOrderMoneyAdapter.notifyDataSetChanged();
// break;
// }
// }
// }
/**
* 更新賬單小數(在最後一行)
*/
// protected void updateOrderRounding() {
// removeOrderRouding();
// addOrderRounding();
// }
/**
* 創建訂單后保存OrderId * 創建訂單后保存OrderId
* *
* @param orderId * @param orderId
*/ */
protected void setOrderId(double orderId) { protected void setOrderId(double orderId) {
MyOrderManage.getInstance().setOrderId(orderId); mDoshokuOrder.setOrderId((long) orderId);
} }
/** /**
...@@ -964,22 +608,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -964,22 +608,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
} }
} }
/***
* 獲取服務費
* @return
*/
public double getServiceCharge() {
double serviceCharge = 0.0;
for (BillItem item : mBillItemList) {
if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE) {
serviceCharge = item.getMoney();
break;
}
}
return serviceCharge;
}
/** /**
* 獲取食品合計 * 獲取食品合計
* *
...@@ -1004,91 +632,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1004,91 +632,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
return MoneyUtil.get_ItemDecimals_money(total); return MoneyUtil.get_ItemDecimals_money(total);
} }
/**
* 獲取所有可折扣食品合計
*
* @return
*/
// public double getDiscountableFoodTotal(int discountType, boolean add) {
// double total = 0.0;
// List<OrderDetail> orderFoodList = myOrderManage.getOrderFoodList();
// int orderSize = orderFoodList.size();
// for (int i = 0; i < orderSize; i++) {
// OrderDetail food = orderFoodList.get(i);
// if (food.getNumber() == 0) {
// continue;
// }
// if (food.getItemType() == 1) {
// if (food.getAblediscount() == 1) {
// total = MoneyUtil.sum(total, food.getPrice());
// }
// } else {
// int parentIndex = food.getParentIndex() - 1;
// if (orderSize > parentIndex && orderFoodList.get(parentIndex).getAblediscount() == 1) {
// if (food.getType() == DISCOUNT_TYPE) {
// //主食品参与折扣,折扣金额直接减掉
// total = MoneyUtil.sub(total, Math.abs(food.getPrice()));
// } else {
// //主食品可參與折扣 子食品才能參與折扣
// if (food.getAblediscount() == 1) {
// total = MoneyUtil.sum(total, food.getPrice());
// }
// }
// }
// }
// }
// if (add) {
// //添加折扣
// //折上折的情况,先减去上面的折扣金额再进行折扣
// for (int i = 0; i < mOrderMoneyList.size(); i++) {
// BillOrderMoney billOrderMoney = mOrderMoneyList.get(i);
// if (billOrderMoney.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE) {
// double money = billOrderMoney.getMoney();
// total = MoneyUtil.sum(total, money);
// break;
// }
// }
// } else {
// //更新折扣
// int containAllDiscount = 0;
// for (int i = 0; i < mOrderMoneyList.size(); i++) {
// BillOrderMoney billOrderMoney = mOrderMoneyList.get(i);
// if (billOrderMoney.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE) {
// containAllDiscount++;
// continue;
// }
// if (billOrderMoney.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE) {
// containAllDiscount++;
// continue;
// }
// if (billOrderMoney.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE) {
// containAllDiscount++;
// continue;
// }
// }
// if (containAllDiscount > 1) {
// //有账单折扣+会员折扣 会员优惠券
// //折上折的情况,先减去上之前的折扣金额再进行折扣
// for (int i = 0; i < mOrderMoneyList.size(); i++) {
// BillOrderMoney billOrderMoney = mOrderMoneyList.get(i);
// if (billOrderMoney.getType() == discountType) {
// //不能减掉自身再折
// break;
// }
// if (billOrderMoney.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE || billOrderMoney.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE) {
// double money = billOrderMoney.getMoney();
// total = MoneyUtil.sum(total, money);
// break;
// }
// }
// }
// }
// if (total < 0) {
// total = 0;
// }
// return MoneyUtil.get_ItemDecimals_money(total);
// }
public double getDiscountableFoodTotal2() { public double getDiscountableFoodTotal2() {
double total = 0.0; double total = 0.0;
int orderSize = mOrderMealList.size(); int orderSize = mOrderMealList.size();
...@@ -1121,71 +664,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1121,71 +664,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
} }
/** /**
* 獲取所有可服务费食品合計
*
* @return
*/
public double getScAbleFoodTotal() {
double total = 0.0;
List<OrderDetail> orderFoodList = myOrderManage.getOrderFoodList();
int orderSize = orderFoodList.size();
for (int i = 0; i < orderSize; i++) {
OrderDetail food = orderFoodList.get(i);
if (food.getNumber() == 0) {
continue;
}
if (food.getItemType() == 1) {
if (food.getScAble() == 1) {
total = MoneyUtil.sum(total, food.getPrice());
}
} else {
int parentIndex = food.getParentIndex() - 1;
if (orderSize > parentIndex && orderFoodList.get(parentIndex).getScAble() == 1) {
if (food.getType() == DISCOUNT_TYPE) {
//主食品参与服务费,折扣金额直接减掉
total = MoneyUtil.sub(total, Math.abs(food.getPrice()));
} else {
//主食品可參與服务费 子食品才能參與服务费
if (food.getScAble() == 1) {
total = MoneyUtil.sum(total, food.getPrice());
}
}
}
}
}
if (total < 0) {
total = 0;
}
return MoneyUtil.get_ItemDecimals_money(total);
}
/**
* 獲取總金額
*
* @return
*/
// public double getTotalAmountFilterByType(int... filterTypes) {
// double foodTotal = getFoodTotal();
// for (BillOrderMoney item : mOrderMoneyList) {
// if (!filterType(item.getType(), filterTypes)) {
// if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getFreeServiceStauts()) {
// //TODO 免服務費
// } else {
// foodTotal = MoneyUtil.sum(foodTotal, item.getMoney());
// if (0 > foodTotal) {
// //折扣金額不能超出總額
// foodTotal = 0;
// }
// }
// }
// }
// if (foodTotal < 0) {
// foodTotal = 0;
// }
// return MoneyUtil.get_ItemDecimals_money(foodTotal);
// }
/**
* 獲取總金額 * 獲取總金額
* *
* @return * @return
...@@ -1194,7 +672,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1194,7 +672,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
double foodTotal = getFoodTotal(); double foodTotal = getFoodTotal();
for (BillItem item : mBillItemList) { for (BillItem item : mBillItemList) {
if (!filterType(item.getType(), filterTypes)) { if (!filterType(item.getType(), filterTypes)) {
if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getFreeServiceStauts()) { if (item.getType() == BillItem.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getFreeServiceStauts()) {
//TODO 免服務費 //TODO 免服務費
} else { } else {
foodTotal = MoneyUtil.sum(foodTotal, item.getMoney()); foodTotal = MoneyUtil.sum(foodTotal, item.getMoney());
...@@ -1228,7 +706,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1228,7 +706,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
public double getTotalAmount() { public double getTotalAmount() {
double foodTotal = getFoodTotal(); double foodTotal = getFoodTotal();
for (BillItem item : mBillItemList) { for (BillItem item : mBillItemList) {
if (item.getType() == BillOrderMoney.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getFreeServiceStauts()) { if (item.getType() == BillItem.SERVERCHARGE_TYPE && mOrderMoneyAdapter.getFreeServiceStauts()) {
//TODO 免服務費 //TODO 免服務費
} else { } else {
foodTotal = MoneyUtil.sum(foodTotal, item.getMoney()); foodTotal = MoneyUtil.sum(foodTotal, item.getMoney());
...@@ -1251,7 +729,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1251,7 +729,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/ */
protected Double getRounding() { protected Double getRounding() {
for (BillItem item : mBillItemList) { for (BillItem item : mBillItemList) {
if (item.getType() == BillOrderMoney.ROUNDING_TYPE) { if (item.getType() == BillItem.ROUNDING_TYPE) {
return item.getMoney(); return item.getMoney();
} }
} }
...@@ -1265,7 +743,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1265,7 +743,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/ */
public int getFoodCount() { public int getFoodCount() {
int count = 0; int count = 0;
for (OrderDetail food : myOrderManage.getOrderFoodList()) { for (OrderDetail food : mOrderMealList) {
if (food.getType() != DISCOUNT_TYPE) { if (food.getType() != DISCOUNT_TYPE) {
//排除掉折扣 //排除掉折扣
count += food.getNumber(); count += food.getNumber();
...@@ -1387,15 +865,15 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1387,15 +865,15 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
setChildDiscountByMainAblediscount(newFoodList); setChildDiscountByMainAblediscount(newFoodList);
AddOrderRequest request = new AddOrderRequest(); AddOrderRequest request = new AddOrderRequest();
request.setOrderId(MyOrderManage.getInstance().getOrderId()); request.setOrderId(mDoshokuOrder.getOrderId());
request.setTableId(mDoshokuOrder.getOpenTableInfo().getId()); request.setTableId(mDoshokuOrder.getOpenTableInfo().getId());
if (MyOrderManage.getInstance().getMemberInfo() != null) { if (mDoshokuOrder.getMemberInfo() != null) {
request.setMemberId(MyOrderManage.getInstance().getMemberInfo().getId()); request.setMemberId(mDoshokuOrder.getMemberInfo().getId());
} }
request.setTableNumber(mDoshokuOrder.getOpenTableInfo().getTableNumber()); request.setTableNumber(mDoshokuOrder.getOpenTableInfo().getTableNumber());
request.setMaps(orderDetailBeanToAddFoodRequest(newFoodList)); request.setMaps(orderDetailBeanToAddFoodRequest(newFoodList));
if (myOrderManage.getDeleteOrders() != null) { if (mDoshokuOrder.getDeleteMealOrders() != null) {
request.setDeleteOrders(myOrderManage.getDeleteOrders()); request.setDeleteOrders(mDoshokuOrder.getDeleteMealOrders());
} }
Double rounding = getRounding(); Double rounding = getRounding();
...@@ -1411,15 +889,15 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1411,15 +889,15 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
List<OrderDiscount.Request> discountRequests = new ArrayList<>(); List<OrderDiscount.Request> discountRequests = new ArrayList<>();
for (BillItem item : mBillItemList) { for (BillItem item : mBillItemList) {
if (item.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE) { if (item.getType() == BillItem.ORDER_DISCOUNT_TYPE) {
discountRequests.add(OrderDiscount.Request.orderDiscountTransRequest((DiscountItem) item)); discountRequests.add(OrderDiscount.Request.orderDiscountTransRequest((DiscountItem) item));
continue; continue;
} }
if (item.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE) { if (item.getType() == BillItem.MEMBER_DISCOUNT_TYPE) {
discountRequests.add(OrderDiscount.Request.memberDiscountTransRequest((DiscountItem) item)); discountRequests.add(OrderDiscount.Request.memberDiscountTransRequest((DiscountItem) item));
continue; continue;
} }
if (item.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE) { if (item.getType() == BillItem.COUPON_DISCOUNT_TYPE) {
discountRequests.add(OrderDiscount.Request.couponDiscountTransRequest((DiscountItem) item)); discountRequests.add(OrderDiscount.Request.couponDiscountTransRequest((DiscountItem) item));
continue; continue;
} }
...@@ -1435,7 +913,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1435,7 +913,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
//主食品ID //主食品ID
long mainProductId = 0; long mainProductId = 0;
//打印用到,清理掉之前保存的食品 //打印用到,清理掉之前保存的食品
MyOrderManage.getInstance().getNewFoodList().clear(); mDoshokuOrder.getNewFoodList().clear();
List<OrderBean.OrderDetailsBean> orderItems = null; List<OrderBean.OrderDetailsBean> orderItems = null;
for (int i = 0; i < foodList.size(); i++) { for (int i = 0; i < foodList.size(); i++) {
OrderDetail item = foodList.get(i); OrderDetail item = foodList.get(i);
...@@ -1470,7 +948,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1470,7 +948,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
//這裡只添加新食品 //這裡只添加新食品
orderItems.add(request); orderItems.add(request);
//保存新食品,打印用到 //保存新食品,打印用到
MyOrderManage.getInstance().getNewFoodList().add(item); mDoshokuOrder.getNewFoodList().add(item);
} }
int nextIndex = i + 1; int nextIndex = i + 1;
if (foodList.size() > nextIndex && foodList.get(nextIndex).getType() == DISCOUNT_TYPE) { if (foodList.size() > nextIndex && foodList.get(nextIndex).getType() == DISCOUNT_TYPE) {
...@@ -1501,7 +979,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1501,7 +979,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
long type1 = 1; long type1 = 1;
long type2 = 2; long type2 = 2;
//打印用到,清理掉之前保存的食品 //打印用到,清理掉之前保存的食品
MyOrderManage.getInstance().getNewFoodList().clear(); mDoshokuOrder.getNewFoodList().clear();
//可重複的map //可重複的map
Map<String, List<OrderBean.OrderDetailsBean>> orderDetails = new HashMap<>(); Map<String, List<OrderBean.OrderDetailsBean>> orderDetails = new HashMap<>();
if (foodList != null) { if (foodList != null) {
...@@ -1535,7 +1013,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1535,7 +1013,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
OrderBean.OrderDetailsBean request = new OrderBean.OrderDetailsBean(); OrderBean.OrderDetailsBean request = new OrderBean.OrderDetailsBean();
request.setMemberId(GsaCloudApplication.getMemberId()); request.setMemberId(GsaCloudApplication.getMemberId());
request.setOrderId(MyOrderManage.getInstance().getOrderId()); request.setOrderId(mDoshokuOrder.getOrderId());
if (item.getId() != 0) { if (item.getId() != 0) {
request.setId(item.getId()); request.setId(item.getId());
} }
...@@ -1557,7 +1035,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1557,7 +1035,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
//這裡只添加新食品或有新折扣食品 //這裡只添加新食品或有新折扣食品
orderItems.add(request); orderItems.add(request);
//保存新食品,打印用到 //保存新食品,打印用到
MyOrderManage.getInstance().getNewFoodList().add(item); mDoshokuOrder.getNewFoodList().add(item);
} }
int nextIndex = i + 1; int nextIndex = i + 1;
if (foodList.size() > nextIndex && foodList.get(nextIndex).getType() == DISCOUNT_TYPE) { if (foodList.size() > nextIndex && foodList.get(nextIndex).getType() == DISCOUNT_TYPE) {
...@@ -1740,12 +1218,12 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1740,12 +1218,12 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* @return * @return
*/ */
protected Long getCouponDiscountId() { protected Long getCouponDiscountId() {
for (BillItem item : mBillItemList) { // for (BillItem item : mBillItemList) {
if (item.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE) { // if (item.getType() == BillItem.COUPON_DISCOUNT_TYPE) {
DiscountItem discountItem = (DiscountItem) item; // DiscountItem discountItem = (DiscountItem) item;
return discountItem.getDiscount().getId(); // return discountItem.getDiscount().getId();
} // }
} // }
return null; return null;
} }
...@@ -1757,9 +1235,9 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1757,9 +1235,9 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
protected BillItem getNewDiscount() { protected BillItem getNewDiscount() {
for (BillItem item : mBillItemList) { for (BillItem item : mBillItemList) {
if (item.getStatus() == 0 && if (item.getStatus() == 0 &&
(item.getType() == BillOrderMoney.ORDER_DISCOUNT_TYPE || (item.getType() == BillItem.ORDER_DISCOUNT_TYPE ||
item.getType() == BillOrderMoney.MEMBER_DISCOUNT_TYPE || item.getType() == BillItem.MEMBER_DISCOUNT_TYPE ||
item.getType() == BillOrderMoney.COUPON_DISCOUNT_TYPE)) { item.getType() == BillItem.COUPON_DISCOUNT_TYPE)) {
return item; return item;
} }
} }
...@@ -1817,16 +1295,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1817,16 +1295,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
return mOrderMealList; return mOrderMealList;
} }
// protected String getTableName() {
// String tablename = "";
// if (mDoshokuOrder.getOpenTableInfo().isSplite()) {
// tablename = mDoshokuOrder.getOpenTableInfo().getTableName() + "-" + mDoshokuOrder.getOpenTableInfo().getSplitNo();
// } else {
// tablename = mDoshokuOrder.getOpenTableInfo().getTableName();
// }
// return tablename;
// }
/** /**
* 修改訂單 * 修改訂單
* *
...@@ -1835,7 +1303,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1835,7 +1303,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/ */
public void updateOrderPerson(String peopleNumber, TextView textView) { public void updateOrderPerson(String peopleNumber, TextView textView) {
RequestBody requestBody = new FormBody.Builder() RequestBody requestBody = new FormBody.Builder()
.add("orderId", String.valueOf(MyOrderManage.getInstance().getOrderId())) .add("orderId", String.valueOf(mDoshokuOrder.getOrderId()))
.add("person", String.valueOf(peopleNumber)) .add("person", String.valueOf(peopleNumber))
.build(); .build();
mModel.updateOrder(requestBody) mModel.updateOrder(requestBody)
...@@ -1860,6 +1328,10 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex ...@@ -1860,6 +1328,10 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
}); });
} }
public DoshokuOrder getDoshokuOrder() {
return mDoshokuOrder;
}
public ShoppingCart getShoppingCart() { public ShoppingCart getShoppingCart() {
return mShoppingCart; return mShoppingCart;
} }
......
...@@ -5,8 +5,10 @@ import android.app.Application; ...@@ -5,8 +5,10 @@ import android.app.Application;
import android.content.Context; import android.content.Context;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils; import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
...@@ -453,8 +455,9 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -453,8 +455,9 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
*/ */
protected List<OrderDetail> getNewOrderFoodLists() { protected List<OrderDetail> getNewOrderFoodLists() {
List<OrderDetail> orderDetails = new ArrayList<>(); List<OrderDetail> orderDetails = new ArrayList<>();
for (int i = 0; i < MyOrderManage.getInstance().getOrderFoodList().size(); i++) { List<OrderDetail> orderCommodityList = DoshokuOrder.getInstance().getShoppingCart().getOrderCommodityList();
OrderDetail orderDetail = MyOrderManage.getInstance().getOrderFoodList().get(i); for (int i = 0; i < orderCommodityList.size(); i++) {
OrderDetail orderDetail = orderCommodityList.get(i);
if (orderDetail.isNew()) { if (orderDetail.isNew()) {
orderDetails.add(orderDetail); orderDetails.add(orderDetail);
} }
...@@ -463,8 +466,9 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode ...@@ -463,8 +466,9 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
} }
private void setFid(List<Modifier> fineItemList, long fid) { private void setFid(List<Modifier> fineItemList, long fid) {
if (fineItemList == null) if (fineItemList == null) {
return; return;
}
for (int i = 0; i < fineItemList.size(); i++) { for (int i = 0; i < fineItemList.size(); i++) {
Modifier modifier = fineItemList.get(i); Modifier modifier = fineItemList.get(i);
modifier.setFid(fid); modifier.setFid(fid);
......
...@@ -14,7 +14,6 @@ import com.gingersoft.gsa.cloud.base.order.billItem.BillItem; ...@@ -14,7 +14,6 @@ import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean; import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean;
import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount; import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem; import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem;
import com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem; import com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem;
import com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount; import com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount;
...@@ -160,110 +159,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -160,110 +159,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
this.mApplication = null; this.mApplication = null;
} }
/**
* 初始化張單項
* 1、添加服務費項 {@link ServiceChargeItem}
* 2、添加折扣項 {@link NomalDiscount}
*/
// private void initBillItem() {
//
// //1、添加服務費項
// if (mShoppingCart.getServiceCharge() != null) {
// mShoppingCart.addBillItem(createServiceChargeItem(mShoppingCart.getServiceCharge()));
// }
//
// //2、添加折扣項
// if (mDoshokuOrder != null) {
// //獲取已下單信息
// OrderBean orderPlaced = mDoshokuOrder.getOrderPlaced();
// if (orderPlaced != null) {
// List<OrderDiscount.Respose> discountDetails = orderPlaced.getDiscountDetails();
// for (OrderDiscount.Respose discount : discountDetails) {
// addDiscountItem(discount);
// addMultyDiscount(discount);
// }
// }
// } else {
//
// }
// }
//
// private BillItem createServiceChargeItem(double money) {
// BillItem billItem = new ServiceChargeItem(serviceChargeStr, money);
// return billItem;
// }
/**
* 創建折扣賬單項
*
* @param orderDiscount
* @return
*/
private void addDiscountItem(OrderDiscount.Respose orderDiscount) {
DiscountItem discountItem = new DiscountItem();
if (orderDiscount.getType() == OrderDiscount.ORDER_DISCOUNT) {
discountItem.setName(orderDiscount.getRemark());
} else if (orderDiscount.getType() == OrderDiscount.MEMBER_DISCOUNT) {
//會員折扣
if (mDoshokuOrder != null) {
discountItem.setName(mDoshokuOrder.getMemberInfo().getMemberName());
}
} else if (orderDiscount.getType() == OrderDiscount.COUPON_DISCOUNT) {
//优惠券折扣
CouponDiscountBean couponDiscount = new CouponDiscountBean();
couponDiscount.setCouponTypeName1(orderDiscount.getRemark());
couponDiscount.setCouponTypeName2(orderDiscount.getRemark2());
couponDiscount.setCouponTypeName3(orderDiscount.getRemark3());
discountItem.setName(couponDiscount.getName());
}
mShoppingCart.addBillItem(discountItem);
}
/**
* 將已送單折扣 添加到購物車
*/
private void addMultyDiscount(OrderDiscount.Respose orderDiscount) {
MultyDiscount multyDiscount = null;
if (orderDiscount.getType() == OrderDiscount.ORDER_DISCOUNT) {
Discount discount = new Discount();
discount.setId(orderDiscount.getDiscountId());
discount.setRemark(orderDiscount.getRemark());
//整單折扣
if (orderDiscount.getDiscountValue() != 0) {
//百分比折扣
discount.setType(1);
discount.setDiscount_value(orderDiscount.getDiscountValue());
}
if (orderDiscount.getDiscountAmount() != 0) {
//金額折扣
discount.setType(0);
discount.setAmount(orderDiscount.getDiscountAmount());
}
multyDiscount = mShoppingCart.addNomalDiscount(null, discount);
} else if (orderDiscount.getType() == OrderDiscount.MEMBER_DISCOUNT) {
//會員折扣
if (mDoshokuOrder != null) {
multyDiscount = mShoppingCart.addMemberDiscount(null, mDoshokuOrder.getMemberInfo());
}
} else if (orderDiscount.getType() == OrderDiscount.COUPON_DISCOUNT) {
//优惠券折扣
CouponDiscountBean couponDiscount = new CouponDiscountBean();
couponDiscount.setCouponTypeName1(orderDiscount.getRemark());
couponDiscount.setCouponTypeName2(orderDiscount.getRemark2());
couponDiscount.setCouponTypeName3(orderDiscount.getRemark3());
couponDiscount.setAccumulate(orderDiscount.getAccumulate());
couponDiscount.setSpend(orderDiscount.getSpend());
couponDiscount.setDiscount(orderDiscount.getDiscountValue());
couponDiscount.setAmount(orderDiscount.getDiscountAmount());
multyDiscount = mShoppingCart.addCouponDiscount(null, couponDiscount);
}
if (multyDiscount != null) {
mShoppingCart.addMultyDiscount(multyDiscount);
}
}
public void startScanActivity() { public void startScanActivity() {
toScanActivity(); toScanActivity();
} }
...@@ -910,7 +805,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -910,7 +805,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (info.getData() instanceof Double) { if (info.getData() instanceof Double) {
//未上線,避免正式版閃退 //未上線,避免正式版閃退
setOrderId((Double) info.getData()); setOrderId((Double) info.getData());
MyOrderManage.getInstance().getOrderBean().setOrderNo(((Double) info.getData()).longValue() + ""); mDoshokuOrder.setOrderNo(((Double) info.getData()).longValue() + "");
} else { } else {
LinkedTreeMap tm = (LinkedTreeMap) info.getData(); LinkedTreeMap tm = (LinkedTreeMap) info.getData();
for (Object o : tm.keySet()) { for (Object o : tm.keySet()) {
...@@ -918,13 +813,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -918,13 +813,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (key.equals("id")) { if (key.equals("id")) {
setOrderId((Double) tm.get(key)); setOrderId((Double) tm.get(key));
} else if (key.equals("orderNo")) { } else if (key.equals("orderNo")) {
MyOrderManage.getInstance().getOrderBean().setOrderNo((String) tm.get(key)); mDoshokuOrder.setOrderNo((String) tm.get(key));
} }
} }
} }
} }
mRootView.showMessage("送單成功"); mRootView.showMessage("送單成功");
MyOrderManage.getInstance().setNewFoodList(getOrderFoodLists()); mDoshokuOrder.setNewFoodList(getOrderFoodLists());
printSendOrder(true); printSendOrder(true);
} else { } else {
mRootView.showMessage(info.getErrMsg()); mRootView.showMessage(info.getErrMsg());
...@@ -937,7 +832,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -937,7 +832,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public void addOrderFood(boolean isPrint, Class afterToActivity) { public void addOrderFood(boolean isPrint, Class afterToActivity) {
List<OrderDetail> foodLists = getOrderFoodLists(); List<OrderDetail> foodLists = getOrderFoodLists();
for (OrderDetail food : foodLists) { for (OrderDetail food : foodLists) {
food.setOrderId(MyOrderManage.getInstance().getOrderId()); food.setOrderId(mDoshokuOrder.getOrderId());
} }
AddOrderRequest addOrderRequest = getAddOrderRequest(foodLists); AddOrderRequest addOrderRequest = getAddOrderRequest(foodLists);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(addOrderRequest)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(addOrderRequest));
...@@ -1032,7 +927,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1032,7 +927,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//將取消信息保存到訂單信息類中 //將取消信息保存到訂單信息類中
DeleteOrderRequest request = getDeleteOrderRequest(ids, reasonId, maxNumber, deleteNumber); DeleteOrderRequest request = getDeleteOrderRequest(ids, reasonId, maxNumber, deleteNumber);
myOrderManage.addDeleteOrder(request); mDoshokuOrder.addDeleteMealOrder(request);
mRootView.showBtnMealModifyRestoreVisibility(true); mRootView.showBtnMealModifyRestoreVisibility(true);
...@@ -1058,7 +953,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1058,7 +953,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
item.setPrice(item.getNumber() * item.getUnit_price()); item.setPrice(item.getNumber() * item.getUnit_price());
} }
} }
myOrderManage.setDeleteOrders(null); mDoshokuOrder.setDeleteMealOrders(null);
mSelectMealAdapter.notifyDataSetChanged(); mSelectMealAdapter.notifyDataSetChanged();
//更新賬單金額 //更新賬單金額
updateBillInfo(); updateBillInfo();
...@@ -1682,7 +1577,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -1682,7 +1577,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
* @return * @return
*/ */
public boolean memberPointsCondition(double pointsRedeem, String foodName) { public boolean memberPointsCondition(double pointsRedeem, String foodName) {
MemberInfo memberInfo = myOrderManage.getMemberInfo(); MemberInfo memberInfo = mDoshokuOrder.getMemberInfo();
if (memberInfo == null) { if (memberInfo == null) {
//当前食品需要会员积分 //当前食品需要会员积分
if (pointsRedeem > 0) { if (pointsRedeem > 0) {
...@@ -2188,8 +2083,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -2188,8 +2083,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*/ */
private DeleteOrderRequest getDeleteOrderRequest(String ids, long reasonId, int maxNumber, int deleteNumber) { private DeleteOrderRequest getDeleteOrderRequest(String ids, long reasonId, int maxNumber, int deleteNumber) {
List<DeleteOrderRequest.DeleteBean> mapsDelete = getMapsDelete(ids, maxNumber, deleteNumber); List<DeleteOrderRequest.DeleteBean> mapsDelete = getMapsDelete(ids, maxNumber, deleteNumber);
byte type = (byte) (myOrderManage.isModifyOrder() ? 2 : 1); byte type = (byte) (mDoshokuOrder.isModifyOrder() ? 2 : 1);
long orderId = MyOrderManage.getInstance().getOrderId(); long orderId = mDoshokuOrder.getOrderId();
DeleteOrderRequest request = new DeleteOrderRequest(); DeleteOrderRequest request = new DeleteOrderRequest();
request.setMapsDelete(mapsDelete); request.setMapsDelete(mapsDelete);
......
...@@ -14,10 +14,11 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; ...@@ -14,10 +14,11 @@ import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem; import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean; import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean;
import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountResult; import com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountResult;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.BaseOrder;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.table.bean.TableExtBean; import com.gingersoft.gsa.cloud.base.table.bean.TableExtBean;
...@@ -119,7 +120,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -119,7 +120,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public OrderContentPresenter(OrderContentContract.Model model, OrderContentContract.View rootView) { public OrderContentPresenter(OrderContentContract.Model model, OrderContentContract.View rootView) {
super(model, rootView); super(model, rootView);
this.IActivity = (OrderContentActivity) rootView; this.IActivity = (OrderContentActivity) rootView;
if (!myOrderManage.isModifyOrder()) { if (!mDoshokuOrder.isModifyOrder()) {
//转移食品可多选 //转移食品可多选
mSelectMealAdapter.setSelectedMode(SelectMealAdapter.MULTIPLE_SELECTED); mSelectMealAdapter.setSelectedMode(SelectMealAdapter.MULTIPLE_SELECTED);
} }
...@@ -209,7 +210,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -209,7 +210,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
// if (!canPay()) { // if (!canPay()) {
// return; // return;
// } // }
if (hasNesOrderFoods() || getNewDiscount() != null || myOrderManage.needUpdateMemberInfo()) { if (hasNesOrderFoods() || getNewDiscount() != null || mDoshokuOrder.needUpdateMemberInfo()) {
Class[] parameterTypes = {boolean.class, Class.class}; Class[] parameterTypes = {boolean.class, Class.class};
Object[] parameters = {false, OrderPayActivity.class}; Object[] parameters = {false, OrderPayActivity.class};
CommonTipDialog.showDoubtDialog(IActivity, "賬單已變化,是否送單后去結賬", BaseOrderPresenter.class, mBaseOrderPresenter, CommonTipDialog.showDoubtDialog(IActivity, "賬單已變化,是否送單后去結賬", BaseOrderPresenter.class, mBaseOrderPresenter,
...@@ -258,10 +259,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -258,10 +259,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override @Override
public void onItemDeleteClick(BillItem datasBean, int position) { public void onItemDeleteClick(BillItem datasBean, int position) {
removeOrderDetailItem(position); removeBillItem(position);
updateBillInfo(); updateBillInfo();
//更新總金額
IActivity.initOrderDetail();
} }
}); });
} }
...@@ -270,7 +269,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -270,7 +269,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if (mFunctionList.size() > 0) { if (mFunctionList.size() > 0) {
mFunctionList.clear(); mFunctionList.clear();
} }
if (MyOrderManage.getInstance().isModifyOrder()) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && mDoshokuOrder.isModifyOrder()) {
//修改訂單隱藏送單,印單功能 //修改訂單隱藏送單,印單功能
mFunctionList.add(new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24)); mFunctionList.add(new Function("結賬", Color.parseColor("#FFFFFF"), Color.parseColor("#DC0000"), 24));
mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24)); mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24));
...@@ -284,7 +283,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -284,7 +283,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
// if (functions.size() > 0) { // if (functions.size() > 0) {
// mFunctionList.addAll(functions); // mFunctionList.addAll(functions);
// } else { // } else {
if (MyOrderManage.getInstance().getOrderType() == FoodSummaryConstans.TAKEAWAY_TYPE) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24)); mFunctionList.add(new Function("折扣", Color.parseColor("#FFFFFF"), Color.parseColor("#008577"), 24));
mFunctionList.add(new Function("印單", Color.parseColor("#FFFFFF"), Color.parseColor("#FF8E04"), 24)); mFunctionList.add(new Function("印單", Color.parseColor("#FFFFFF"), Color.parseColor("#FF8E04"), 24));
mFunctionList.add(new Function("送單信息", Color.parseColor("#FFFFFF"), Color.parseColor("#008131"), 24)); mFunctionList.add(new Function("送單信息", Color.parseColor("#FFFFFF"), Color.parseColor("#008131"), 24));
...@@ -337,7 +336,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -337,7 +336,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public void addOrderFood(boolean isPrint, Class afterToActivity) { public void addOrderFood(boolean isPrint, Class afterToActivity) {
List<OrderDetail> foodLists = getOrderFoodLists(); List<OrderDetail> foodLists = getOrderFoodLists();
for (OrderDetail food : foodLists) { for (OrderDetail food : foodLists) {
food.setOrderId(MyOrderManage.getInstance().getOrderId()); food.setOrderId(mDoshokuOrder.getOrderId());
} }
AddOrderRequest addOrderRequest = getAddOrderRequest(foodLists); AddOrderRequest addOrderRequest = getAddOrderRequest(foodLists);
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(addOrderRequest)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(addOrderRequest));
...@@ -421,7 +420,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -421,7 +420,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public void printOrder(long tableId, boolean isSend) { public void printOrder(long tableId, boolean isSend) {
RequestBody requestBody = new FormBody.Builder() RequestBody requestBody = new FormBody.Builder()
.add("tableId", tableId + "") .add("tableId", tableId + "")
.add("tableNumber",mTableInfo.getTableNumber()) .add("tableNumber", mTableInfo.getTableNumber())
.build(); .build();
mModel.printOrder(requestBody) mModel.printOrder(requestBody)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
...@@ -459,7 +458,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -459,7 +458,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mRootView.showMessage("印單失敗!"); mRootView.showMessage("印單失敗!");
if (isSend) { if (isSend) {
//印單失敗但提交新食品成功,更新一遍訂單數據 //印單失敗但提交新食品成功,更新一遍訂單數據
loadOrder(MyOrderManage.getInstance().getOrderId()); loadOrder(mDoshokuOrder.getOrderId());
} }
} }
} }
...@@ -490,9 +489,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -490,9 +489,8 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
MemberInfo memberInfo = couponResult.getMemberInfo(); MemberInfo memberInfo = couponResult.getMemberInfo();
if (memberInfo != null) { if (memberInfo != null) {
updateBillItem = true; updateBillItem = true;
myOrderManage.setMemberInfo(memberInfo); mDoshokuOrder.setMemberInfo(memberInfo);
mShoppingCart.addMultyDiscount(mShoppingCart.createMemberDiscount(memberInfo)); mShoppingCart.addMultyDiscount(mShoppingCart.createMemberDiscount(memberInfo));
// addMemberDiscount(memberInfo.getId(), memberInfo.getMemberDiscount(), memberInfo.getMemberName(), memberInfo.getLevelName1(), BillItem.BILL_ITEM_NO_ORDER_STATUS);
} }
CouponDiscountBean couponBean = couponResult.getCouponBean(); CouponDiscountBean couponBean = couponResult.getCouponBean();
if (couponBean != null) { if (couponBean != null) {
...@@ -501,13 +499,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -501,13 +499,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
} }
updateBillItem = true; updateBillItem = true;
mShoppingCart.addMultyDiscount(mShoppingCart.createCouponDiscount(couponBean)); mShoppingCart.addMultyDiscount(mShoppingCart.createCouponDiscount(couponBean));
// addCouponDiscount(couponBean, myOrderManage.getMemberInfo().getId(), BillItem.BILL_ITEM_NO_ORDER_STATUS);
} }
if (updateBillItem) { if (updateBillItem) {
updateBillInfo(); updateBillInfo();
//更新總金額
IActivity.initOrderDetail();
myOrderManage.setTotalAmount(getTotalAmount());
} }
} }
} else { } else {
...@@ -659,9 +653,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -659,9 +653,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
RequestBody requestBody = new FormBody.Builder() RequestBody requestBody = new FormBody.Builder()
.add("tableId", String.valueOf(mTableInfo.getId())) .add("tableId", String.valueOf(mTableInfo.getId()))
.add("targetId", String.valueOf(dataBean.getId())) .add("targetId", String.valueOf(dataBean.getId()))
.add("tableNumber",mTableInfo.getTableNumber()) .add("tableNumber", mTableInfo.getTableNumber())
.add("targetTableNumber", dataBean.getTableNumber()) .add("targetTableNumber", dataBean.getTableNumber())
.add("orderId", String.valueOf(MyOrderManage.getInstance().getOrderId())) .add("orderId", String.valueOf(mDoshokuOrder.getOrderId()))
.add("orderDetailsIds", ids) .add("orderDetailsIds", ids)
.build(); .build();
...@@ -688,8 +682,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -688,8 +682,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
updateOrderDetails(info); updateOrderDetails(info);
updateBillInfo(); updateBillInfo();
IActivity.initOrderDetail();
IActivity.backPressed(); IActivity.backPressed();
} else { } else {
mRootView.showMessage("獲取訂單數據失敗"); mRootView.showMessage("獲取訂單數據失敗");
...@@ -787,7 +779,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -787,7 +779,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mDiscountDialog.setOnClickListener(new DiscountDialog.Builder.OnClickListener() { mDiscountDialog.setOnClickListener(new DiscountDialog.Builder.OnClickListener() {
@Override @Override
public void onItemClick(Discount item, int position) { public void onItemClick(Discount item, int position) {
// addOrderDiscount(false, item, BillItem.BILL_ITEM_NO_ORDER_STATUS);
mShoppingCart.addMultyDiscount(mShoppingCart.createNomalDiscount(item)); mShoppingCart.addMultyDiscount(mShoppingCart.createNomalDiscount(item));
updateBillInfo(); updateBillInfo();
} }
...@@ -818,7 +809,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -818,7 +809,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mTableInfo.setPerson(info.getData().getPerson()); mTableInfo.setPerson(info.getData().getPerson());
//緩存訂單信息 //緩存訂單信息
MyOrderManage.getInstance().setOrderBean(new OrderBean(info.getData())); mDoshokuOrder.setOrderPlaced(new OrderBean(info.getData()));
//緩存食品信息 //緩存食品信息
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails())); List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(info.getData().getOrderDetails()));
...@@ -877,13 +868,20 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -877,13 +868,20 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
return true; return true;
} }
public void removeOrderDetailItem(int index) {
public void removeBillItem(int index) {
if (index < mBillItemList.size()) { if (index < mBillItemList.size()) {
BillItem billItem = mBillItemList.get(index);
if (billItem instanceof DiscountItem) {
//刪除折扣列表對應數據
mShoppingCart.delMultyDiscount(((DiscountItem) billItem).getDiscount());
}
mBillItemList.remove(index); mBillItemList.remove(index);
mOrderMoneyAdapter.notifyDataSetChanged(); mOrderMoneyAdapter.notifyDataSetChanged();
} }
} }
private boolean canPrint() { private boolean canPrint() {
if (getFoodCount() == 0) { if (getFoodCount() == 0) {
mRootView.showMessage("沒有食品,不能印單"); mRootView.showMessage("沒有食品,不能印單");
...@@ -905,7 +903,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -905,7 +903,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mRootView.showMessage("請選擇轉移食品"); mRootView.showMessage("請選擇轉移食品");
return false; return false;
} }
if (myOrderManage.getOrderFoodList().get(mSelectMealAdapter.getSelect_start_position()).isNew() == true) { if (mOrderMealList.get(mSelectMealAdapter.getSelect_start_position()).isNew() == true) {
mRootView.showMessage("請選擇已送單食品轉移"); mRootView.showMessage("請選擇已送單食品轉移");
return false; return false;
} }
......
...@@ -2,17 +2,12 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter; ...@@ -2,17 +2,12 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.text.TextUtils; import android.text.TextUtils;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.OrderPayRequest; import com.gingersoft.gsa.cloud.base.order.bean.OrderPayRequest;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.OpenTableManage;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils; import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
...@@ -219,7 +214,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -219,7 +214,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
* 結賬 * 結賬
*/ */
public void toOrderPay(boolean show) { public void toOrderPay(boolean show) {
if (myOrderManage.isModifyOrder()) { if (mDoshokuOrder.isModifyOrder()) {
//修改訂單 //修改訂單
updateOrderPay(); updateOrderPay();
return; return;
...@@ -252,13 +247,13 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -252,13 +247,13 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
if (baseResult.isSuccess()) { if (baseResult.isSuccess()) {
OrderPayRespose orderPayRespose = JsonUtils.parseObject(baseResult.getData(), OrderPayRespose.class); OrderPayRespose orderPayRespose = JsonUtils.parseObject(baseResult.getData(), OrderPayRespose.class);
if (orderPayRespose != null) { if (orderPayRespose != null) {
if (myOrderManage.getMemberInfo() != null) { if (mDoshokuOrder.getMemberInfo() != null) {
MyOrderManage.getInstance().setAddPoints(orderPayRespose.getAddPoints()); mDoshokuOrder.setAddPoints(orderPayRespose.getAddPoints());
MyOrderManage.getInstance().setNowPoints(orderPayRespose.getNowPoints()); mDoshokuOrder.setNowPoints(orderPayRespose.getNowPoints());
MyOrderManage.getInstance().setOldPoints(orderPayRespose.getOldPoints()); mDoshokuOrder.setOldPoints(orderPayRespose.getOldPoints());
} else { } else {
if (!TextUtils.isEmpty(orderPayRespose.getVerifyCode())) { if (!TextUtils.isEmpty(orderPayRespose.getVerifyCode())) {
MyOrderManage.getInstance().setIntegralQrcode(orderPayRespose.getVerifyCode()); mDoshokuOrder.setIntegralQrcode(orderPayRespose.getVerifyCode());
} }
} }
} }
...@@ -279,12 +274,12 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model ...@@ -279,12 +274,12 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
private OrderPayRequest getOrderPayRequest(OrderPayView orderPayView) { private OrderPayRequest getOrderPayRequest(OrderPayView orderPayView) {
MemberInfo memberInfo = myOrderManage.getMemberInfo(); MemberInfo memberInfo = mDoshokuOrder.getMemberInfo();
List<PayMethod> payMethodList = orderPayView.getBillMoneyList(); List<PayMethod> payMethodList = orderPayView.getBillMoneyList();
OrderPayRequest payRequest = new OrderPayRequest(); OrderPayRequest payRequest = new OrderPayRequest();
payRequest.setOrderId(MyOrderManage.getInstance().getOrderId()); payRequest.setOrderId(mDoshokuOrder.getOrderId());
payRequest.setOrderPayType(orderPayType); payRequest.setOrderPayType(orderPayType);
payRequest.setLinePayType(orderPayView.getLinePayType()); payRequest.setLinePayType(orderPayView.getLinePayType());
payRequest.setTableId(mTableInfo.getId()); payRequest.setTableId(mTableInfo.getId());
......
...@@ -5,13 +5,11 @@ import android.content.Context; ...@@ -5,13 +5,11 @@ import android.content.Context;
import android.os.CountDownTimer; import android.os.CountDownTimer;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult; import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.table.bean.TableExtBean; import com.gingersoft.gsa.cloud.base.table.bean.TableExtBean;
...@@ -326,7 +324,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -326,7 +324,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
public void onNext(@NonNull BaseOrderRespose respose) { public void onNext(@NonNull BaseOrderRespose respose) {
if (respose.isSuccess()) { if (respose.isSuccess()) {
TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo(); DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
TableBean.DataBean tableInfo = doshokuOrder.getOpenTableInfo();
tableInfo.setPerson(0); tableInfo.setPerson(0);
//設置當前開台數據1584427984728 1584428017196 1584428086282 //設置當前開台數據1584427984728 1584428017196 1584428086282
// TableBean.DataBean dataBean = getTableById(tableId); // TableBean.DataBean dataBean = getTableById(tableId);
...@@ -345,16 +345,16 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -345,16 +345,16 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
List<OrderBean.OrderDetailsBean> orderDetailsBeans = respose.getData().getOrderDetails(); List<OrderBean.OrderDetailsBean> orderDetailsBeans = respose.getData().getOrderDetails();
//緩存訂單信息 //緩存訂單信息
MyOrderManage.getInstance().setOrderBean(new OrderBean(orderBean)); doshokuOrder.setOrderPlaced(new OrderBean(orderBean));
//緩存食品信息 //緩存食品信息
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans)); List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList); doshokuOrder.getShoppingCart().setOrderCommodityList(orderDetailList);
} else { } else {
MyOrderManage.getInstance().setOrderBean(null); doshokuOrder.setOrderPlaced(null);
MyOrderManage.getInstance().setOrderFoodList(new ArrayList<>()); doshokuOrder.getShoppingCart().setOrderCommodityList(new ArrayList<>());
} }
DoshokuOrder.getInstance().setOpenTableInfo(openTableBean); doshokuOrder.setOpenTableInfo(openTableBean);
printParper(); printParper();
} else { } else {
...@@ -372,10 +372,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -372,10 +372,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
//清空賬單數據 //清空賬單數據
MyOrderManage.getInstance().clear();
//清空賬單數據
DoshokuOrder.getInstance().initialization(); DoshokuOrder.getInstance().initialization();
mRootView.canceTableAction(); mRootView.canceTableAction();
}); });
} }
...@@ -415,7 +412,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -415,7 +412,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
} }
DoshokuOrder doshokuOrder = DoshokuOrder.getInstance(); DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
doshokuOrder.setOpenTableInfo(openTableBean);
OrderBean orderBean = respose.getData(); OrderBean orderBean = respose.getData();
if (orderBean != null && respose.getData().getOrderDetails() != null) { if (orderBean != null && respose.getData().getOrderDetails() != null) {
...@@ -431,19 +427,17 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -431,19 +427,17 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
setTopId(mealCommoditysBeans); setTopId(mealCommoditysBeans);
//設置用餐人數 //設置用餐人數
doshokuOrder.getOpenTableInfo().setPerson(orderBean.getPerson()); openTableBean.setPerson(orderBean.getPerson());
//緩存訂單信息 //緩存訂單信息
doshokuOrder.setOrderPlaced(new OrderBean(orderBean)); doshokuOrder.setOrderPlaced(new OrderBean(orderBean));
doshokuOrder.getShoppingCart().addCommodityList(OrderDetail.orderTransOrderDetails(mealCommoditysBeans)); doshokuOrder.getShoppingCart().addCommodityList(OrderDetail.orderTransOrderDetails(mealCommoditysBeans));
if (orderBean.getMemberInfo() != null) {
// MyOrderManage.getInstance().setOrderFoodList(mealCommodityList); //设置会员信息
// if (orderBean.getMemberInfo() != null) { doshokuOrder.setMemberInfo(orderBean.getMemberInfo());
// //设置会员信息 doshokuOrder.setMemberUpdateStatus(true + "-" + true);
// MyOrderManage.getInstance().setMemberInfo(orderBean.getMemberInfo()); }else {
// MyOrderManage.getInstance().setMemberUpdateStatus(true + "-" + true); doshokuOrder.setMemberUpdateStatus(false + "-" + false);
// }else { }
// MyOrderManage.getInstance().setMemberUpdateStatus(false + "-" + false);
// }
} else { } else {
doshokuOrder.setOrderPlaced(null); doshokuOrder.setOrderPlaced(null);
doshokuOrder.getShoppingCart().setOrderCommodityList(new ArrayList<>()); doshokuOrder.getShoppingCart().setOrderCommodityList(new ArrayList<>());
......
...@@ -5,13 +5,15 @@ import android.content.Context; ...@@ -5,13 +5,15 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney; import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount; import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
...@@ -70,12 +72,17 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -70,12 +72,17 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
private OrderCenterAdapter mOrderCenterAdapter; private OrderCenterAdapter mOrderCenterAdapter;
private List<OrderDetailItem> mOrderItemList = new ArrayList<>(); private List<OrderDetailItem> mOrderItemList = new ArrayList<>();
private DoshokuOrder doshokuOrder ;
private ShoppingCart shoppingCart ;
@Inject @Inject
public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) { public AllOrderPresenter(AllOrderContract.Model model, AllOrderContract.View rootView) {
super(model, rootView); super(model, rootView);
AllOrderFragment allOrderFragment = (AllOrderFragment) rootView; AllOrderFragment allOrderFragment = (AllOrderFragment) rootView;
this.IActivity = (OrderCenterActivity) allOrderFragment.getCurrentActivity(); this.IActivity = (OrderCenterActivity) allOrderFragment.getCurrentActivity();
doshokuOrder = DoshokuOrder.getInstance();
shoppingCart = doshokuOrder.getShoppingCart();
} }
@Override @Override
...@@ -108,12 +115,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -108,12 +115,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
@Override @Override
public void onModifyClick(OrderDetailItem datasBean, int position) { public void onModifyClick(OrderDetailItem datasBean, int position) {
if(datasBean.getRestaurantTable() == null){ if (datasBean.getRestaurantTable() == null) {
mRootView.showMessage("餐檯不存在,無法修改訂單"); mRootView.showMessage("餐檯不存在,無法修改訂單");
return; return;
} }
//設置為修改訂單操作 //設置為修改訂單操作
MyOrderManage.getInstance().setModifyOrder(true); doshokuOrder.setModifyOrder(true);
/** /**
* 緩存訂單信息 * 緩存訂單信息
*/ */
...@@ -126,7 +134,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -126,7 +134,7 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
if (datasBean.getDiscountDetails() != null) { if (datasBean.getDiscountDetails() != null) {
orderBean.setDiscountDetails(datasBean.getDiscountDetails()); orderBean.setDiscountDetails(datasBean.getDiscountDetails());
} }
MyOrderManage.getInstance().setOrderBean(orderBean); doshokuOrder.setOrderPlaced(orderBean);
TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable()); TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable());
if (!TextUtils.isEmpty(tableBean.getTableNumber())) { if (!TextUtils.isEmpty(tableBean.getTableNumber())) {
...@@ -135,14 +143,14 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -135,14 +143,14 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
tableBean.setTableName(tableBean.getTableName()); tableBean.setTableName(tableBean.getTableName());
} }
tableBean.setPerson(datasBean.getPerson()); tableBean.setPerson(datasBean.getPerson());
DoshokuOrder.getInstance().setOpenTableInfo(tableBean); doshokuOrder.setOpenTableInfo(tableBean);
List<OrderBean.OrderDetailsBean> orderDetailsBeans = datasBean.getOrderDetails(); List<OrderBean.OrderDetailsBean> orderDetailsBeans = datasBean.getOrderDetails();
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans)); List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList); doshokuOrder.getShoppingCart().addCommodityList(orderDetailList);
if (datasBean.getMemberInfo() != null) { if (datasBean.getMemberInfo() != null) {
MyOrderManage.getInstance().setMemberInfo(datasBean.getMemberInfo()); doshokuOrder.setMemberInfo(datasBean.getMemberInfo());
} }
Intent intent = new Intent(IActivity, MealStandActivity.class); Intent intent = new Intent(IActivity, MealStandActivity.class);
...@@ -172,29 +180,29 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -172,29 +180,29 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
private void startPrintOrder(OrderDetailItem orderDetailItem, List<OrderDetail> orderDetailList) { private void startPrintOrder(OrderDetailItem orderDetailItem, List<OrderDetail> orderDetailList) {
double wholeAmount = getWholeAmount(orderDetailList); double wholeAmount = getWholeAmount(orderDetailList);
MyOrderManage.getInstance().setOrderFoodList(orderDetailList); doshokuOrder.setOrderId(orderDetailItem.getId());
MyOrderManage.getInstance().setOrderMoneyList(getOrderMoneyList(orderDetailItem, wholeAmount)); shoppingCart.setOrderCommodityList(orderDetailList);
MyOrderManage.getInstance().setOrderId(orderDetailItem.getId()); shoppingCart.setBillItemList(getOrderMoneyList(orderDetailItem, wholeAmount));
MyOrderManage.getInstance().setWholeAmount(wholeAmount); shoppingCart.setWholeAmount(wholeAmount);
MyOrderManage.getInstance().setTotalAmount(orderDetailItem.getTotalAmount()); shoppingCart.setTotalAmount(orderDetailItem.getTotalAmount());
TableBean.DataBean dataBean = new TableBean.DataBean(); TableBean.DataBean dataBean = new TableBean.DataBean();
dataBean.setTableName(orderDetailItem.getTableName()); dataBean.setTableName(orderDetailItem.getTableName());
if(!TextUtils.isEmpty(orderDetailItem.getCreateTime())) { if (!TextUtils.isEmpty(orderDetailItem.getCreateTime())) {
dataBean.setCreateTime(TimeUtils.getStringByFormat(new Date(orderDetailItem.getCreateTime()), TimeUtils.DEFAULT_DATE_FORMAT_YMDHM)); dataBean.setCreateTime(TimeUtils.getStringByFormat(new Date(orderDetailItem.getCreateTime()), TimeUtils.DEFAULT_DATE_FORMAT_YMDHM));
} }
dataBean.setPerson(orderDetailItem.getPerson()); dataBean.setPerson(orderDetailItem.getPerson());
DoshokuOrder.getInstance().setOpenTableInfo(dataBean); doshokuOrder.setOpenTableInfo(dataBean);
if (orderDetailItem.getMemberInfo() != null) { if (orderDetailItem.getMemberInfo() != null) {
MyOrderManage.getInstance().setMemberInfo(orderDetailItem.getMemberInfo()); doshokuOrder.setMemberInfo(orderDetailItem.getMemberInfo());
} else { } else {
MyOrderManage.getInstance().setIntegralQrcode(orderDetailItem.getVerifyCode()); doshokuOrder.setIntegralQrcode(orderDetailItem.getVerifyCode());
} }
List<PayMethod> payMethodList = getPayMethodList(orderDetailItem.getOrderPays()); List<PayMethod> payMethodList = getPayMethodList(orderDetailItem.getOrderPays());
if (payMethodList != null) { if (payMethodList != null) {
//設置打印所需支付方式 //設置打印所需支付方式
MyOrderManage.getInstance().setBillMoney(payMethodList); doshokuOrder.setBillMoney(payMethodList);
} }
CC.obtainBuilder("Component.Print") CC.obtainBuilder("Component.Print")
.setActionName("printActivity") .setActionName("printActivity")
...@@ -202,16 +210,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -202,16 +210,13 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess()); Log.e("error", "是否成功打印:" + result.isSuccess());
doshokuOrder.initialization();
MyOrderManage.getInstance().clear();
DoshokuOrder.getInstance().setOpenTableInfo(null);
}); });
} }
private List<BillOrderMoney> getOrderMoneyList(OrderDetailItem orderDetailItem, double totalMoney) { private List<BillItem> getOrderMoneyList(OrderDetailItem orderDetailItem, double totalMoney) {
List<SectionTextItem3> printOrderMoneyList = new ArrayList<>(); List<SectionTextItem3> printOrderMoneyList = new ArrayList<>();
List<BillOrderMoney> printBillOrderMoneyList = new ArrayList<>(); List<BillItem> printBillOrderMoneyList = new ArrayList<>();
SectionTextItem3 serviceAmountSection = getOrderServiceAmountSection(orderDetailItem); SectionTextItem3 serviceAmountSection = getOrderServiceAmountSection(orderDetailItem);
if (serviceAmountSection != null) { if (serviceAmountSection != null) {
printOrderMoneyList.add(serviceAmountSection); printOrderMoneyList.add(serviceAmountSection);
......
...@@ -28,7 +28,7 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; ...@@ -28,7 +28,7 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.BaseOrder;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils; import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
...@@ -307,7 +307,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -307,7 +307,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
} }
mPresenter.toFindMeal(inputText); mPresenter.toFindMeal(inputText);
}); });
if (!MyOrderManage.getInstance().isModifyOrder()) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && !DoshokuOrder.getInstance().isModifyOrder()) {
//根据倒计时时间自动退出当前页面 //根据倒计时时间自动退出当前页面
initAutoQuit(); initAutoQuit();
} }
...@@ -326,7 +326,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -326,7 +326,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
} }
private void initTableDetail() { private void initTableDetail() {
if (MyOrderManage.getInstance().getOrderType() == FoodSummaryConstans.TAKEAWAY_TYPE) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
TableBean.DataBean tableBean = new TableBean.DataBean(); TableBean.DataBean tableBean = new TableBean.DataBean();
tableBean.setPerson(1); tableBean.setPerson(1);
tableBean.setTableName("外賣"); tableBean.setTableName("外賣");
...@@ -347,7 +347,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -347,7 +347,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
mPresenter.resetSelected(); mPresenter.resetSelected();
mPresenter.updateOrderFoodNumber(); mPresenter.updateOrderFoodNumber();
mPresenter.updateFoodSoldoutCtrData(); mPresenter.updateFoodSoldoutCtrData();
if (MyOrderManage.getInstance().getMemberInfo() != null) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && DoshokuOrder.getInstance().getMemberInfo() != null) {
useMember(); useMember();
} }
initOrderDetail(); initOrderDetail();
...@@ -589,7 +589,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -589,7 +589,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@OnClick(R2.id.btn_table) @OnClick(R2.id.btn_table)
void onClickTable() { void onClickTable() {
if (MyOrderManage.getInstance().getOrderType() == FoodSummaryConstans.TAKEAWAY_TYPE) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
return; return;
} }
//type取值:1:qrCdoetype,2:手機號,3:memberId //type取值:1:qrCdoetype,2:手機號,3:memberId
...@@ -612,18 +612,17 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -612,18 +612,17 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
public void onUseMember(UseMemberDialog dialog) { public void onUseMember(UseMemberDialog dialog) {
if (mMemberInfo != null) { if (mMemberInfo != null) {
dialog.dismiss(); dialog.dismiss();
MyOrderManage.getInstance().setMemberInfo(mMemberInfo); DoshokuOrder.getInstance().setMemberInfo(mMemberInfo);
//添加会员折扣行 //添加会员折扣行
mPresenter.getShoppingCart().addMultyDiscount(mPresenter.getShoppingCart().createMemberDiscount(mMemberInfo)); mPresenter.getShoppingCart().addMultyDiscount(mPresenter.getShoppingCart().createMemberDiscount(mMemberInfo));
// mPresenter.getShoppingCart().addMultyDiscount(mMemberInfo.getId(), mMemberInfo.getMemberDiscount(), mMemberInfo.getMemberName(), mMemberInfo.getLevelName1(), BillOrderMoney.BILL_ITEM_NO_ORDER_STATUS);
useMember(); useMember();
if (MyOrderManage.getInstance().needUpdateMemberInfo()) { if (DoshokuOrder.getInstance().needUpdateMemberInfo()) {
return; return;
} }
String[] updateMemberStatus = MyOrderManage.getInstance().getMemberUpdateStatus().split("-"); String[] updateMemberStatus = DoshokuOrder.getInstance().getMemberUpdateStatus().split("-");
if (Boolean.parseBoolean(updateMemberStatus[0]) == true) { if (Boolean.parseBoolean(updateMemberStatus[0]) == true) {
MyOrderManage.getInstance().setMemberUpdateStatus(updateMemberStatus[0] + "-" + true); DoshokuOrder.getInstance().setMemberUpdateStatus(updateMemberStatus[0] + "-" + true);
} }
} else { } else {
showMessage("請輸入正確的會員號碼!"); showMessage("請輸入正確的會員號碼!");
...@@ -633,21 +632,20 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -633,21 +632,20 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override @Override
public void clearMemberInfo() { public void clearMemberInfo() {
btn_table.setBackgroundColor(Color.parseColor("#336699")); btn_table.setBackgroundColor(Color.parseColor("#336699"));
MyOrderManage.getInstance().setMemberInfo(null); DoshokuOrder.getInstance().setMemberInfo(null);
//刪除會員折扣行 //更新賬單信息
// mPresenter.removeMemberDiscountItem();
mPresenter.updateBillInfo(); mPresenter.updateBillInfo();
if (DoshokuOrder.getInstance().needUpdateMemberInfo()) {
if (MyOrderManage.getInstance().needUpdateMemberInfo()) {
return; return;
} }
String[] updateMemberStatus = MyOrderManage.getInstance().getMemberUpdateStatus().split("-"); String[] updateMemberStatus = DoshokuOrder.getInstance().getMemberUpdateStatus().split("-");
if (Boolean.parseBoolean(updateMemberStatus[0]) == true) { if (Boolean.parseBoolean(updateMemberStatus[0]) == true) {
MyOrderManage.getInstance().setMemberUpdateStatus(updateMemberStatus[0] + "-" + false); DoshokuOrder.getInstance().setMemberUpdateStatus(updateMemberStatus[0] + "-" + false);
} }
} }
}); });
} }
mUseMemberDialog.setMemberInfo(DoshokuOrder.getInstance().getMemberInfo());
mUseMemberDialog.build().show(); mUseMemberDialog.build().show();
} }
...@@ -702,7 +700,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -702,7 +700,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
int id = v.getId(); int id = v.getId();
if (id == R.id.btn_numberman) { if (id == R.id.btn_numberman) {
if (MyOrderManage.getInstance().getOrderType() == FoodSummaryConstans.TAKEAWAY_TYPE) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
return; return;
} }
showChoosePeopleNumDialog(true); showChoosePeopleNumDialog(true);
...@@ -728,7 +726,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -728,7 +726,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
mPresenter.restoreDeleteFood(); mPresenter.restoreDeleteFood();
showBtnMealModifyRestoreVisibility(false); showBtnMealModifyRestoreVisibility(false);
} else if (id == R.id.btn_send_order) { } else if (id == R.id.btn_send_order) {
if (MyOrderManage.getInstance().getOrderType() == FoodSummaryConstans.TAKEAWAY_TYPE) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
CC.obtainBuilder("ComponentDeliveryPick") CC.obtainBuilder("ComponentDeliveryPick")
.setActionName("SendOrder") .setActionName("SendOrder")
.build() .build()
...@@ -770,14 +768,14 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -770,14 +768,14 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
case 3: case 3:
case 4: case 4:
case 5: case 5:
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG && BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE)) {
if (i == 1) { if (i == 1) {
OrderBean order = MyOrderManage.getInstance().getOrderBean(); OrderBean order = DoshokuOrder.getInstance().getOrderPlaced();
if (order != null) { if (order != null) {
ArmsUtils.snackbarText("訂單ID:" + order.getId()); ArmsUtils.snackbarText("訂單ID:" + order.getId());
} }
} else if (i == 2) { } else if (i == 2) {
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo(); MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
if (memberInfo != null) { if (memberInfo != null) {
showMessage("積分兌現金比例: " + memberInfo.getPointRedeemCash()); showMessage("積分兌現金比例: " + memberInfo.getPointRedeemCash());
} }
...@@ -793,8 +791,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -793,8 +791,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override @Override
public void onComfirmClick(String number) { public void onComfirmClick(String number) {
int inumber = Integer.parseInt(number); int inumber = Integer.parseInt(number);
if (inumber == 0) if (inumber == 0) {
return; return;
}
mPresenter.changeNumber(inumber); mPresenter.changeNumber(inumber);
} }
...@@ -821,11 +820,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -821,11 +820,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
returnBeforeActivity(true); returnBeforeActivity(true);
} }
public void returnBeforeActivity(boolean initTable) { public void returnBeforeActivity(boolean initTable) {
SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, isPluMode); SPUtils.put(this, MealConstant.EXIT_IS_PLU_MODE, isPluMode);
TableBean.DataBean dataBean = DoshokuOrder.getInstance().getOpenTableInfo(); if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && initTable && !DoshokuOrder.getInstance().isModifyOrder()) {
if (initTable && dataBean != null && !MyOrderManage.getInstance().isModifyOrder()) { TableBean.DataBean dataBean = DoshokuOrder.getInstance().getOpenTableInfo();
//通知更新餐台状态 //通知更新餐台状态
EventBus.getDefault().post(new InitTableEvent(dataBean.getId(), dataBean.getTableNumber()), "initTable_status_event"); EventBus.getDefault().post(new InitTableEvent(dataBean.getId(), dataBean.getTableNumber()), "initTable_status_event");
} }
...@@ -1169,7 +1167,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -1169,7 +1167,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override @Override
public void initLayoutVisible() { public void initLayoutVisible() {
if (MyOrderManage.getInstance().isModifyOrder()) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && DoshokuOrder.getInstance().isModifyOrder()) {
//修改訂單隱藏送單功能 //修改訂單隱藏送單功能
fl_send_order.setVisibility(View.GONE); fl_send_order.setVisibility(View.GONE);
} }
......
...@@ -14,7 +14,6 @@ import android.widget.Button; ...@@ -14,7 +14,6 @@ import android.widget.Button;
import android.widget.Chronometer; import android.widget.Chronometer;
import android.widget.SimpleAdapter; import android.widget.SimpleAdapter;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
...@@ -23,9 +22,8 @@ import androidx.recyclerview.widget.DefaultItemAnimator; ...@@ -23,9 +22,8 @@ import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.ViewPager; import androidx.viewpager.widget.ViewPager;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils; import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
...@@ -161,6 +159,8 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -161,6 +159,8 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
private List<TableBean.DataBean> mTableList; private List<TableBean.DataBean> mTableList;
private DoshokuOrder mDoshokuOrder;
private ShoppingCart mShoppingCart;
@Override @Override
public void setupActivityComponent(@NonNull AppComponent appComponent) { public void setupActivityComponent(@NonNull AppComponent appComponent) {
...@@ -173,24 +173,32 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -173,24 +173,32 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
} }
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
mDoshokuOrder = DoshokuOrder.getInstance();
mShoppingCart = mDoshokuOrder.getShoppingCart();
super.onCreate(savedInstanceState);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) { public int initView(@Nullable Bundle savedInstanceState) {
return R.layout.table_activity_order_content; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0 return R.layout.table_activity_order_content; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
} }
@Override @Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
initOrderDetail();
initTopInfo(); initTopInfo();
initOrderBill(mPresenter.getFoodTotal(),mPresenter.getTotalAmount());
mPresenter.initTopFunctionData(); mPresenter.initTopFunctionData();
mPresenter.initAdapter(); mPresenter.initAdapter();
mPresenter.initItemListener(); mPresenter.initItemListener();
if (!MyOrderManage.getInstance().isModifyOrder()) { if (!mDoshokuOrder.isModifyOrder()) {
//根据倒计时时间自动退出当前页面 //根据倒计时时间自动退出当前页面
initAutoQuit(); initAutoQuit();
} }
} }
public void initOrderDetail() { public void initOrderBill(double wholeAmount,double totalAmount) {
int foodCount = mPresenter.getFoodCount(); int foodCount = mPresenter.getFoodCount();
if (foodCount > 0) { if (foodCount > 0) {
btn_order_count.setText(String.valueOf(foodCount)); btn_order_count.setText(String.valueOf(foodCount));
...@@ -198,27 +206,22 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -198,27 +206,22 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
} else { } else {
btn_order_count.setVisibility(View.INVISIBLE); btn_order_count.setVisibility(View.INVISIBLE);
} }
double wholeAmount = mPresenter.getFoodTotal();
tv_whole.setText("合計 $" + wholeAmount); tv_whole.setText("合計 $" + wholeAmount);
tv_total.setText("$" + mPresenter.getTotalAmount()); tv_total.setText("$" + totalAmount);
MyOrderManage.getInstance().setWholeAmount(wholeAmount);
} }
private void initTopInfo() { private void initTopInfo() {
TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo(); TableBean.DataBean tableInfo = mDoshokuOrder.getOpenTableInfo();
Date dd = MyOrderManage.getInstance().getOpenTableTime(); Date dd = mDoshokuOrder.getOpenTableTime();
String openTime = String.format("%tH:%tM", dd, dd); String openTime = String.format("%tH:%tM", dd, dd);
String tableno = ""; String tableno = "";
if (tableInfo.getSplitStatus() != 0 ) { if (tableInfo.getSplitStatus() != 0) {
tableno = tableInfo.getTableName(); tableno = tableInfo.getTableName().trim() + "-" + tableInfo.getTableNumber().trim();
} else { } else {
//TODO 暫未分檯功能 tableno = tableInfo.getTableName();
// tableno = GSAApplication.tableContract.getTableno().trim() + "-" + GSAApplication.tableContract.getTableno_split().trim();
} }
btn_table.setText(tableno); btn_table.setText(tableno);
tv_time.setText("時間:" + openTime); tv_time.setText("時間:" + openTime);
...@@ -233,7 +236,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -233,7 +236,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
if (MyOrderManage.getInstance().getMemberInfo() != null) { if (mDoshokuOrder.getMemberInfo() != null) {
useMember(); useMember();
} }
} }
...@@ -463,8 +466,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -463,8 +466,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override @Override
public void recordOperat(boolean isPressButtonSound) { public void recordOperat(boolean isPressButtonSound) {
if (isPressButtonSound) if (isPressButtonSound) {
VibratorUtils.pressButtonSound(this); VibratorUtils.pressButtonSound(this);
}
//关闭倒计时 //关闭倒计时
if (chronometer != null) { if (chronometer != null) {
chronometer.stop(); chronometer.stop();
...@@ -478,7 +482,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -478,7 +482,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
public void returnTableActivity(boolean initTable) { public void returnTableActivity(boolean initTable) {
TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo(); TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo();
if (initTable && tableInfo != null && !MyOrderManage.getInstance().isModifyOrder()) { if (initTable && tableInfo != null && !mDoshokuOrder.isModifyOrder()) {
//通知更新餐台状态 //通知更新餐台状态
EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(),tableInfo.getTableNumber()), "initTable_status_event"); EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(),tableInfo.getTableNumber()), "initTable_status_event");
} }
...@@ -598,8 +602,8 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese ...@@ -598,8 +602,8 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
if (qrCodeContent.length == 2) { if (qrCodeContent.length == 2) {
long couponMemberId = Long.parseLong(qrCodeContent[0]); long couponMemberId = Long.parseLong(qrCodeContent[0]);
Long memberId = null; Long memberId = null;
if (MyOrderManage.getInstance().getMemberInfo() != null) { if (mDoshokuOrder.getMemberInfo() != null) {
memberId = MyOrderManage.getInstance().getMemberInfo().getId(); memberId = mDoshokuOrder.getMemberInfo().getId();
if (memberId != couponMemberId) { if (memberId != couponMemberId) {
showMessage("請掃描當前會員的優惠券碼"); showMessage("請掃描當前會員的優惠券碼");
return; return;
......
...@@ -14,7 +14,6 @@ import com.chad.library.adapter.base.BaseQuickAdapter; ...@@ -14,7 +14,6 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.BigDecimalUtils; import com.gingersoft.gsa.cloud.base.utils.BigDecimalUtils;
...@@ -53,6 +52,7 @@ import javax.inject.Inject; ...@@ -53,6 +52,7 @@ import javax.inject.Inject;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView; import butterknife.BindView;
import butterknife.OnClick; import butterknife.OnClick;
import butterknife.OnLongClick; import butterknife.OnLongClick;
...@@ -193,21 +193,21 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -193,21 +193,21 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
mPresenter.setFreeServiceStauts(isUseFreeServicePayMethod); mPresenter.setFreeServiceStauts(isUseFreeServicePayMethod);
} }
}); });
gsaPayView.setServiceCharge(mPresenter.getServiceCharge()); gsaPayView.setServiceCharge(mPresenter.getShoppingCart().getServiceCharge());
} }
private void initTopInfo() { private void initTopInfo() {
TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo(); TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo();
Date dd = MyOrderManage.getInstance().getOpenTableTime(); Date dd = DoshokuOrder.getInstance().getOpenTableTime();
String openTime = String.format("%tH:%tM", dd, dd); String openTime = String.format("%tH:%tM", dd, dd);
String tableno = ""; String tableno = "";
if (tableInfo.getSplitStatus() == 0) { if (tableInfo.getSplitStatus() != 0) {
tableno =tableInfo.getTableName(); tableno = tableInfo.getTableName().trim() + "-" + tableInfo.getTableNumber().trim();
} else { } else {
tableno = tableInfo.getTableName().trim() ; tableno = tableInfo.getTableName();
} }
btn_table.setText(tableno); btn_table.setText(tableno);
tv_time.setText("時間:" + openTime); tv_time.setText("時間:" + openTime);
...@@ -223,12 +223,12 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -223,12 +223,12 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
double wholeAmount = mPresenter.getFoodTotal(); double wholeAmount = mPresenter.getFoodTotal();
tv_whole.setText("合計 $" + wholeAmount); tv_whole.setText("合計 $" + wholeAmount);
MyOrderManage.getInstance().setWholeAmount(wholeAmount); DoshokuOrder.getInstance().getShoppingCart().setWholeAmount(wholeAmount);
} }
private void initMemberInfo() { private void initMemberInfo() {
//会员信息 //会员信息
MemberInfo memberInfo = MyOrderManage.getInstance().getMemberInfo(); MemberInfo memberInfo = DoshokuOrder.getInstance().getMemberInfo();
if (memberInfo != null) { if (memberInfo != null) {
tv_member_info.setVisibility(View.VISIBLE); tv_member_info.setVisibility(View.VISIBLE);
tv_member_info.setText(getMemberInfo()); tv_member_info.setText(getMemberInfo());
...@@ -243,7 +243,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -243,7 +243,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
} }
private String getMemberInfo() { private String getMemberInfo() {
MemberInfo memberBean = MyOrderManage.getInstance().getMemberInfo(); MemberInfo memberBean = DoshokuOrder.getInstance().getMemberInfo();
String memberInfo; String memberInfo;
String memberName = memberBean.getMemberName(); String memberName = memberBean.getMemberName();
String LevelName1 = memberBean.getLevelName1(); String LevelName1 = memberBean.getLevelName1();
...@@ -274,7 +274,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -274,7 +274,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
memberIntegral = memberBean.getMemberPoint(); memberIntegral = memberBean.getMemberPoint();
memberPointRedeemCash = memberBean.getPointRedeemCash(); memberPointRedeemCash = memberBean.getPointRedeemCash();
//獲取積分支付抵扣金額 //獲取積分支付抵扣金額
double consumptionPoints = gsaPayView.getPayForConsumptionPoints(null,memberPointRedeemCash); double consumptionPoints = gsaPayView.getPayForConsumptionPoints(null, memberPointRedeemCash);
//本次積分消耗(積分支付 + 食品獲得積分 + 食品消費積分) //本次積分消耗(積分支付 + 食品獲得積分 + 食品消費積分)
double thisTimePoints = BigDecimalUtils.add(BigDecimalUtils.add(consumptionPoints, mPresenter.getPointsAdd()), mPresenter.getPointsRedeem()); double thisTimePoints = BigDecimalUtils.add(BigDecimalUtils.add(consumptionPoints, mPresenter.getPointsAdd()), mPresenter.getPointsRedeem());
if (thisTimePoints > 0) { if (thisTimePoints > 0) {
...@@ -466,9 +466,9 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -466,9 +466,9 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
setBillMoney(); setBillMoney();
TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo(); TableBean.DataBean tableInfo = DoshokuOrder.getInstance().getOpenTableInfo();
if (!MyOrderManage.getInstance().isModifyOrder()) { if (!DoshokuOrder.getInstance().isModifyOrder()) {
//通知更新餐台状态 //通知更新餐台状态
EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(),tableInfo.getTableNumber()), "initTable_status_event"); EventBus.getDefault().post(new InitTableEvent(tableInfo.getId(), tableInfo.getTableNumber()), "initTable_status_event");
} }
showMessage("支付成功"); showMessage("支付成功");
...@@ -503,8 +503,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -503,8 +503,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
// if (result.isSuccess()) { // if (result.isSuccess()) {
// //打印成功 // //打印成功
// } // }
//清空賬單數據
MyOrderManage.getInstance().clear();
//清空開檯數據 //清空開檯數據
DoshokuOrder.getInstance().initialization(); DoshokuOrder.getInstance().initialization();
...@@ -524,7 +522,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements ...@@ -524,7 +522,7 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
payMethod.setPayMoney(mPresenter.getTipsPrice()); payMethod.setPayMoney(mPresenter.getTipsPrice());
billMoneyList.add(payMethod); billMoneyList.add(payMethod);
} }
MyOrderManage.getInstance().setBillMoney(billMoneyList); DoshokuOrder.getInstance().setBillMoney(billMoneyList);
} }
public void setBillMethodAdapter(BaseQuickAdapter adapter) { public void setBillMethodAdapter(BaseQuickAdapter adapter) {
......
...@@ -14,13 +14,15 @@ import androidx.annotation.Nullable; ...@@ -14,13 +14,15 @@ import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod; import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney; import com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney;
import com.gingersoft.gsa.cloud.base.order.bean.OrderBean; import com.gingersoft.gsa.cloud.base.order.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount; import com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.base.table.bean.TableBean; import com.gingersoft.gsa.cloud.base.table.bean.TableBean;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
...@@ -31,7 +33,6 @@ import com.gingersoft.gsa.cloud.table.R2; ...@@ -31,7 +33,6 @@ import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderDetailComponent; import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderDetailComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract; import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem; import com.gingersoft.gsa.cloud.table.mvp.model.bean.OrderDetailItem;
import com.gingersoft.gsa.cloud.table.mvp.model.cart.DoshokuCart;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil; import com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil;
import com.gingersoft.gsa.cloud.table.mvp.presenter.orderManager.OrderDetailPresenter; import com.gingersoft.gsa.cloud.table.mvp.presenter.orderManager.OrderDetailPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
...@@ -135,6 +136,8 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -135,6 +136,8 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
private OrderCenterMoneyAdapter mOrderDetailPayMethodAdapter; private OrderCenterMoneyAdapter mOrderDetailPayMethodAdapter;
private List<SectionTextItem3> mOrderCenterPayMethodList = new ArrayList<>(); private List<SectionTextItem3> mOrderCenterPayMethodList = new ArrayList<>();
private DoshokuOrder mDoshokuOrder;
private ShoppingCart mShoppingCart;
@Override @Override
public void setupActivityComponent(@NonNull AppComponent appComponent) { public void setupActivityComponent(@NonNull AppComponent appComponent) {
...@@ -152,6 +155,13 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -152,6 +155,13 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
} }
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
mDoshokuOrder = mDoshokuOrder;
mShoppingCart = mDoshokuOrder.getShoppingCart();
super.onCreate(savedInstanceState);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) { public void initData(@Nullable Bundle savedInstanceState) {
scrollview.post(new Runnable() { scrollview.post(new Runnable() {
@Override @Override
...@@ -244,7 +254,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -244,7 +254,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
mOrderDetailPayMethodAdapter.notifyDataSetChanged(); mOrderDetailPayMethodAdapter.notifyDataSetChanged();
} }
//設置打印所需支付方式 //設置打印所需支付方式
MyOrderManage.getInstance().setBillMoney(payMethodList); mDoshokuOrder.setBillMoney(payMethodList);
} }
public static List<SectionTextItem3> orderPayMethodTransSectionTextItem3(List<PayMethod> payMethodList) { public static List<SectionTextItem3> orderPayMethodTransSectionTextItem3(List<PayMethod> payMethodList) {
...@@ -438,12 +448,12 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -438,12 +448,12 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
} }
private void startModifyOrder(OrderDetailItem datasBean) { private void startModifyOrder(OrderDetailItem datasBean) {
if(datasBean.getRestaurantTable() == null){ if (datasBean.getRestaurantTable() == null) {
showMessage("餐檯不存在,無法修改訂單"); showMessage("餐檯不存在,無法修改訂單");
return; return;
} }
//設置為修改訂單操作 //設置為修改訂單操作
MyOrderManage.getInstance().setModifyOrder(true); mDoshokuOrder.setModifyOrder(true);
/** /**
* 緩存訂單信息 * 緩存訂單信息
*/ */
...@@ -457,7 +467,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -457,7 +467,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
if (datasBean.getDiscountDetails() != null) { if (datasBean.getDiscountDetails() != null) {
orderBean.setDiscountDetails(datasBean.getDiscountDetails()); orderBean.setDiscountDetails(datasBean.getDiscountDetails());
} }
MyOrderManage.getInstance().setOrderBean(orderBean); mDoshokuOrder.setOrderPlaced(orderBean);
TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable()); TableBean.DataBean tableBean = new TableBean.DataBean(datasBean.getRestaurantTable());
if (!TextUtils.isEmpty(tableBean.getTableNumber())) { if (!TextUtils.isEmpty(tableBean.getTableNumber())) {
...@@ -466,14 +476,14 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -466,14 +476,14 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
tableBean.setTableName(tableBean.getTableName()); tableBean.setTableName(tableBean.getTableName());
} }
tableBean.setPerson(datasBean.getPerson()); tableBean.setPerson(datasBean.getPerson());
DoshokuOrder.getInstance().setOpenTableInfo(tableBean); mDoshokuOrder.setOpenTableInfo(tableBean);
List<OrderBean.OrderDetailsBean> orderDetailsBeans = datasBean.getOrderDetails(); List<OrderBean.OrderDetailsBean> orderDetailsBeans = datasBean.getOrderDetails();
List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans)); List<OrderDetail> orderDetailList = OrderAssemblyUtil.assemblyOrder(OrderDetail.orderTransOrderDetails(orderDetailsBeans));
MyOrderManage.getInstance().setOrderFoodList(orderDetailList); mDoshokuOrder.getShoppingCart().setOrderCommodityList(orderDetailList);
if (datasBean.getMemberInfo() != null) { if (datasBean.getMemberInfo() != null) {
MyOrderManage.getInstance().setMemberInfo(datasBean.getMemberInfo()); mDoshokuOrder.setMemberInfo(datasBean.getMemberInfo());
} }
Intent intent = new Intent(this, MealStandActivity.class); Intent intent = new Intent(this, MealStandActivity.class);
...@@ -487,30 +497,30 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -487,30 +497,30 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
* @param orderDetailList * @param orderDetailList
*/ */
private void startPrintOrder(OrderDetailItem orderDetailItem, List<OrderDetail> orderDetailList) { private void startPrintOrder(OrderDetailItem orderDetailItem, List<OrderDetail> orderDetailList) {
MyOrderManage.getInstance().setOrderFoodList(orderDetailList); mShoppingCart.setOrderCommodityList(orderDetailList);
MyOrderManage.getInstance().setOrderMoneyList(getOrderMoneyList()); mShoppingCart.setBillItemList(getOrderMoneyList());
MyOrderManage.getInstance().setOrderId(orderDetailItem.getId()); mDoshokuOrder.setOrderId(orderDetailItem.getId());
MyOrderManage.getInstance().setWholeAmount(getTotalMoney()); mShoppingCart.setWholeAmount(getTotalMoney());
MyOrderManage.getInstance().setTotalAmount(orderDetailItem.getTotalAmount()); mShoppingCart.setTotalAmount(orderDetailItem.getTotalAmount());
TableBean.DataBean dataBean = new TableBean.DataBean(); TableBean.DataBean dataBean = new TableBean.DataBean();
dataBean.setTableName(orderDetailItem.getTableName()); dataBean.setTableName(orderDetailItem.getTableName());
if(!TextUtils.isEmpty(orderDetailItem.getCreateTime())){ if (!TextUtils.isEmpty(orderDetailItem.getCreateTime())) {
dataBean.setCreateTime(TimeUtils.getStringByFormat(new Date(orderDetailItem.getCreateTime()), TimeUtils.DEFAULT_DATE_FORMAT_YMDHM)); dataBean.setCreateTime(TimeUtils.getStringByFormat(new Date(orderDetailItem.getCreateTime()), TimeUtils.DEFAULT_DATE_FORMAT_YMDHM));
} }
dataBean.setPerson(orderDetailItem.getPerson()); dataBean.setPerson(orderDetailItem.getPerson());
DoshokuOrder.getInstance().setOpenTableInfo(dataBean); mDoshokuOrder.setOpenTableInfo(dataBean);
List<PayMethod> payMethodList = getPayMethodList(orderDetailItem.getOrderPays()); List<PayMethod> payMethodList = getPayMethodList(orderDetailItem.getOrderPays());
if (payMethodList != null) { if (payMethodList != null) {
//設置打印所需支付方式 //設置打印所需支付方式
MyOrderManage.getInstance().setBillMoney(payMethodList); mDoshokuOrder.setBillMoney(payMethodList);
} }
if (orderDetailItem.getMemberInfo() != null) { if (orderDetailItem.getMemberInfo() != null) {
MyOrderManage.getInstance().setMemberInfo(orderDetailItem.getMemberInfo()); mDoshokuOrder.setMemberInfo(orderDetailItem.getMemberInfo());
}else { } else {
MyOrderManage.getInstance().setIntegralQrcode(orderDetailItem.getVerifyCode()); mDoshokuOrder.setIntegralQrcode(orderDetailItem.getVerifyCode());
} }
CC.obtainBuilder("Component.Print") CC.obtainBuilder("Component.Print")
...@@ -519,21 +529,19 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -519,21 +529,19 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
.build() .build()
.callAsyncCallbackOnMainThread((cc, result) -> { .callAsyncCallbackOnMainThread((cc, result) -> {
Log.e("error", "是否成功打印:" + result.isSuccess()); Log.e("error", "是否成功打印:" + result.isSuccess());
MyOrderManage.getInstance().clear(); mDoshokuOrder.initialization();
DoshokuOrder.getInstance().setOpenTableInfo(null);
}); });
} }
private List<BillOrderMoney> getOrderMoneyList() { private List<BillItem> getOrderMoneyList() {
List<BillOrderMoney> billOrderMoneyList = new ArrayList<>(); List<BillItem> billOrderMoneyList = new ArrayList<>();
if (mOrderCenterMoneyList != null) { if (mOrderCenterMoneyList != null) {
for (SectionTextItem3 item : mOrderCenterMoneyList) { for (SectionTextItem3 item : mOrderCenterMoneyList) {
BillOrderMoney billOrderMoney = new BillOrderMoney(); BillItem billItem = new BillOrderMoney();
billOrderMoney.setName(item.getLeftText()); billItem.setName(item.getLeftText());
billOrderMoney.setMoney(Double.parseDouble(item.getRightText())); billItem.setMoney(Double.parseDouble(item.getRightText()));
billOrderMoneyList.add(billOrderMoney); billOrderMoneyList.add(billItem);
} }
} }
return billOrderMoneyList; return billOrderMoneyList;
......
...@@ -7,11 +7,9 @@ import android.view.View; ...@@ -7,11 +7,9 @@ import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.order.commodity.Commodity; import com.gingersoft.gsa.cloud.base.order.commodity.Commodity;
import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail; import com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.constans.MealConstant; import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
...@@ -75,6 +73,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -75,6 +73,7 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
public SelectMealAdapter(Context context, List<OrderDetail> data, BasePresenter presenter) { public SelectMealAdapter(Context context, List<OrderDetail> data, BasePresenter presenter) {
super(data); super(data);
this.mContext = context; this.mContext = context;
this.BillListFontSize = GsaCloudApplication.uiStyleConfiguration.getBillListFontSizeValue();
if (presenter instanceof MealStandPresenter) { if (presenter instanceof MealStandPresenter) {
// this.mMealStandPresenter = (MealStandPresenter) presenter; // this.mMealStandPresenter = (MealStandPresenter) presenter;
this.mMealStandActivity = (MealStandActivity) context; this.mMealStandActivity = (MealStandActivity) context;
...@@ -621,13 +620,13 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -621,13 +620,13 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
} }
public void setMyOrderManageSelectPosition() { public void setMyOrderManageSelectPosition() {
MyOrderManage.getInstance().setSelect_Full_start_position(select_full_start_position); // MyOrderManage.getInstance().setSelect_Full_start_position(select_full_start_position);
MyOrderManage.getInstance().setSelect_Full_end_position(select_full_end_position); // MyOrderManage.getInstance().setSelect_Full_end_position(select_full_end_position);
MyOrderManage.getInstance().setSelstartpostion(select_start_position); // MyOrderManage.getInstance().setSelstartpostion(select_start_position);
MyOrderManage.getInstance().setSelendpostion(select_end_position); // MyOrderManage.getInstance().setSelendpostion(select_end_position);
MyOrderManage.getInstance().setSelmainendpostion(mainEndPos); // MyOrderManage.getInstance().setSelmainendpostion(mainEndPos);
MyOrderManage.getInstance().setSelmainstartpositon(mainStartPos); // MyOrderManage.getInstance().setSelmainstartpositon(mainStartPos);
MyOrderManage.getInstance().setSelpostion(select_position); // MyOrderManage.getInstance().setSelpostion(select_position);
} }
/** /**
......
...@@ -17,10 +17,9 @@ import android.view.animation.DecelerateInterpolator; ...@@ -17,10 +17,9 @@ import android.view.animation.DecelerateInterpolator;
import android.view.animation.TranslateAnimation; import android.view.animation.TranslateAnimation;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo; import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.order.bean.mealManger.MyOrderManage; import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.MemberInfoAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.MemberInfoAdapter;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem; import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem;
...@@ -73,6 +72,8 @@ public class UseMemberDialog extends Dialog { ...@@ -73,6 +72,8 @@ public class UseMemberDialog extends Dialog {
private MemberInfoAdapter mMemberInfoAdapter; private MemberInfoAdapter mMemberInfoAdapter;
private List<SectionTextItem> mMemberInfoList; private List<SectionTextItem> mMemberInfoList;
private MemberInfo memberInfo;
public UseMemberDialog(Context context) { public UseMemberDialog(Context context) {
super(context, R.style.QMUI_BottomSheet); super(context, R.style.QMUI_BottomSheet);
...@@ -214,7 +215,7 @@ public class UseMemberDialog extends Dialog { ...@@ -214,7 +215,7 @@ public class UseMemberDialog extends Dialog {
mDialog = new UseMemberDialog(mContext); mDialog = new UseMemberDialog(mContext);
View contentView = buildViews(); View contentView = buildViews();
mDialog.setContentView(contentView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (int) (QMUIDisplayHelper.getScreenHeight(mContext) * 0.65))); mDialog.setContentView(contentView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (int) (QMUIDisplayHelper.getScreenHeight(mContext) * 0.65)));
updateMemberInfo(MyOrderManage.getInstance().getMemberInfo()); updateMemberInfo(memberInfo);
return mDialog; return mDialog;
} }
...@@ -348,6 +349,10 @@ public class UseMemberDialog extends Dialog { ...@@ -348,6 +349,10 @@ public class UseMemberDialog extends Dialog {
btn_scan.setVisibility(!show ? View.VISIBLE : View.GONE); btn_scan.setVisibility(!show ? View.VISIBLE : View.GONE);
} }
public void setMemberInfo(MemberInfo memberInfo) {
this.memberInfo = memberInfo;
}
private String getTvPhone() { private String getTvPhone() {
return ed_phone.getText().toString(); return ed_phone.getText().toString();
} }
...@@ -356,6 +361,7 @@ public class UseMemberDialog extends Dialog { ...@@ -356,6 +361,7 @@ public class UseMemberDialog extends Dialog {
return R.layout.meal_dialog_use_member; return R.layout.meal_dialog_use_member;
} }
private OnLayoutClickListener onLayoutClickListener; private OnLayoutClickListener onLayoutClickListener;
public UseMemberDialog setOnLayoutClickListener(OnLayoutClickListener onLayoutClickListener) { public UseMemberDialog setOnLayoutClickListener(OnLayoutClickListener onLayoutClickListener) {
......
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