Commit aa04da1b by 宁斌

增加折扣邏輯

parent 5dd12608
...@@ -101,6 +101,7 @@ dependencies { ...@@ -101,6 +101,7 @@ dependencies {
exclude module: 'support-annotations' exclude module: 'support-annotations'
} }
api rootProject.ext.dependencies['rxerrorhandler2'] api rootProject.ext.dependencies['rxerrorhandler2']
api rootProject.ext.dependencies["rxbinding"]
//network //network
api(rootProject.ext.dependencies["retrofit"]) { api(rootProject.ext.dependencies["retrofit"]) {
exclude module: 'okhttp' exclude module: 'okhttp'
......
...@@ -61,7 +61,7 @@ public class UIStyleExtendedConfiguration { ...@@ -61,7 +61,7 @@ public class UIStyleExtendedConfiguration {
.remark("套餐高度") .remark("套餐高度")
.build(); .build();
private ExpandInfoSetting discountHeight = ExpandInfoSetting.builder() private ExpandInfoSetting discountHeight = ExpandInfoSetting.builder()
.valueInt(80) .valueInt(90)
.remark("餐牌折扣Item高度") .remark("餐牌折扣Item高度")
.build(); .build();
private ExpandInfoSetting LayoutQtyHeight = ExpandInfoSetting.builder() private ExpandInfoSetting LayoutQtyHeight = ExpandInfoSetting.builder()
...@@ -100,7 +100,7 @@ public class UIStyleExtendedConfiguration { ...@@ -100,7 +100,7 @@ public class UIStyleExtendedConfiguration {
.remark("細項字體大小") .remark("細項字體大小")
.build(); .build();
private ExpandInfoSetting discountFontSize = ExpandInfoSetting.builder() private ExpandInfoSetting discountFontSize = ExpandInfoSetting.builder()
.valueInt(14) .valueInt(16)
.remark("折扣字體大小") .remark("折扣字體大小")
.build(); .build();
private ExpandInfoSetting soldoutFoodFlagFontSize = ExpandInfoSetting.builder() private ExpandInfoSetting soldoutFoodFlagFontSize = ExpandInfoSetting.builder()
......
...@@ -9,6 +9,9 @@ package com.gingersoft.gsa.cloud.patterns; ...@@ -9,6 +9,9 @@ package com.gingersoft.gsa.cloud.patterns;
*/ */
public interface Strategy<T> { public interface Strategy<T> {
/**具體行為實現方法*/ /**
* 具體行為實現方法
*/
void action(T t); void action(T t);
} }
...@@ -47,7 +47,7 @@ public class OrderPayView extends LinearLayout { ...@@ -47,7 +47,7 @@ public class OrderPayView extends LinearLayout {
/** /**
* 服務費金額 * 服務費金額
*/ */
private double serviceCharge = 0.0; private Double serviceCharge = 0.0;
private MemberInfo memberInfo; private MemberInfo memberInfo;
...@@ -99,7 +99,7 @@ public class OrderPayView extends LinearLayout { ...@@ -99,7 +99,7 @@ public class OrderPayView extends LinearLayout {
this.totalAmount = totalAmount; this.totalAmount = totalAmount;
} }
public void setServiceCharge(double serviceCharge) { public void setServiceCharge(Double serviceCharge) {
this.serviceCharge = serviceCharge; this.serviceCharge = serviceCharge;
} }
......
...@@ -189,39 +189,30 @@ public class CommonTipDialog { ...@@ -189,39 +189,30 @@ public class CommonTipDialog {
* @param context * @param context
* @param title * @param title
* @param placeholder * @param placeholder
* @param c
* @param object
* @param methodName
* @param parameterTypes
* @param parameters
*/ */
public static void showEditTextDialog(Activity context, String title, String placeholder, Class c, Object object, String methodName, Class[] parameterTypes, Object[] parameters) { public static void showEditDialog(Activity context, String title, String placeholder,int inputType, OnEditTextListener onEditTextListener) {
final QMUIDialog.EditTextDialogBuilder dialogBuilder = new QMUIDialog.EditTextDialogBuilder(context); final QMUIDialog.EditTextDialogBuilder dialogBuilder = new QMUIDialog.EditTextDialogBuilder(context);
dialogBuilder.setTitle(title); dialogBuilder.setTitle(title);
dialogBuilder.setPlaceholder(placeholder); dialogBuilder.setPlaceholder(placeholder);
dialogBuilder.setInputType(InputType.TYPE_CLASS_TEXT); dialogBuilder.setInputType(inputType);
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> { dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss(); dialog.dismiss();
if (TextUtils.isEmpty(methodName)) { if (onEditTextListener != null) {
return; CharSequence text = dialogBuilder.getEditText().getText();
} onEditTextListener.inputText(text.toString());
try {
Method method = c.getDeclaredMethod(methodName, parameterTypes);
method.setAccessible(true);
method.invoke(object, parameters);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} }
}); });
if (!TextUtils.isEmpty(methodName)) { dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss()); dialogBuilder.create(R.style.MyEditDialogTheme).show();
}
dialogBuilder.create(R.style.MyDialogTheme2).show();
} }
private OnEditTextListener onEditTextListener;
public void setOnEditTextListener(OnEditTextListener onEditTextListener) {
this.onEditTextListener = onEditTextListener;
}
public interface OnEditTextListener {
void inputText(String text);
}
} }
...@@ -177,6 +177,17 @@ ...@@ -177,6 +177,17 @@
<item name="qmui_dialog_menu_item_style">@style/DialogTheme2MenuItemStyle</item> <item name="qmui_dialog_menu_item_style">@style/DialogTheme2MenuItemStyle</item>
</style> </style>
<style name="MyEditDialogTheme" parent="QMUI.Dialog.EditContent">
<!-- <item name="qmui_dialog_wrapper_style">@style/dialog_wrapper_style_63</item>-->
<item name="qmui_dialog_title_style">@style/DialogTheme2TitleStyle</item>
<item name="qmui_dialog_action_container_style">@style/DialogTheme2ActionContainerStyle
</item>
<item name="qmui_dialog_action_style">@style/DialogTheme2ActionStyle</item>
<item name="qmui_dialog_message_content_style">@style/DialogTheme2MessageContentStyle</item>
<item name="qmui_dialog_menu_container_style">@style/DialogTheme2MenuContainerStyle</item>
<item name="qmui_dialog_menu_item_style">@style/DialogTheme2MenuItemStyle</item>
</style>
<style name="ReleaseDialogTheme" parent="MyDialogTheme2"> <style name="ReleaseDialogTheme" parent="MyDialogTheme2">
<!-- <item name="qmui_dialog_wrapper_style">@style/QMUI.Dialog.Wrapper</item>--> <!-- <item name="qmui_dialog_wrapper_style">@style/QMUI.Dialog.Wrapper</item>-->
<item name="qmui_dialog_message_content_style">@style/ReleaseMessageContentStyle</item> <item name="qmui_dialog_message_content_style">@style/ReleaseMessageContentStyle</item>
......
...@@ -79,6 +79,10 @@ ext { ...@@ -79,6 +79,10 @@ ext {
"rxpermissions2" : "com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar", "rxpermissions2" : "com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar",
"rxerrorhandler2" : "me.jessyan:rxerrorhandler:2.1.1", "rxerrorhandler2" : "me.jessyan:rxerrorhandler:2.1.1",
//rxbinding
"rxbinding" : "com.jakewharton.rxbinding4:rxbinding:4.0.0",
//tools //tools
"dagger2" : "com.google.dagger:dagger:${version["dagger2SdkVersion"]}", "dagger2" : "com.google.dagger:dagger:${version["dagger2SdkVersion"]}",
"dagger2-android" : "com.google.dagger:dagger-android:${version["dagger2SdkVersion"]}", "dagger2-android" : "com.google.dagger:dagger-android:${version["dagger2SdkVersion"]}",
......
...@@ -51,7 +51,7 @@ android { ...@@ -51,7 +51,7 @@ android {
/** /**
* 版本号 * 版本号
*/ */
schemaVersion 20 schemaVersion 21
/** /**
* greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下) * greendao输出dao的数据库操作实体类文件夹(相对路径 包名+自定义路径名称,包将创建于包名的直接路径下)
*/ */
......
...@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType; ...@@ -14,10 +14,10 @@ import org.greenrobot.greendao.identityscope.IdentityScopeType;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
/** /**
* Master of DAO (schema version 20): knows all DAOs. * Master of DAO (schema version 21): knows all DAOs.
*/ */
public class DaoMaster extends AbstractDaoMaster { public class DaoMaster extends AbstractDaoMaster {
public static final int SCHEMA_VERSION = 20; public static final int SCHEMA_VERSION = 21;
/** Creates underlying database table using DAOs. */ /** Creates underlying database table using DAOs. */
public static void createAllTables(Database db, boolean ifNotExists) { public static void createAllTables(Database db, boolean ifNotExists) {
......
...@@ -42,8 +42,8 @@ public class OrderBean { ...@@ -42,8 +42,8 @@ public class OrderBean {
public OrderBean(OrderBean orderBean) { public OrderBean(OrderBean orderBean) {
this.id = orderBean.id; this.id = orderBean.id;
this.status = orderBean.status;
this.orderNo = orderBean.orderNo; this.orderNo = orderBean.orderNo;
this.status = orderBean.status;
this.person = orderBean.person; this.person = orderBean.person;
this.memberInfo = orderBean.memberInfo; this.memberInfo = orderBean.memberInfo;
this.discountDetails = orderBean.discountDetails; this.discountDetails = orderBean.discountDetails;
...@@ -452,7 +452,7 @@ public class OrderBean { ...@@ -452,7 +452,7 @@ public class OrderBean {
public static class RestaurantDiscountVO implements Serializable{ public static class RestaurantDiscountVO implements Serializable{
private long id; private long id;
private int type; private int type;
private float discountValue; private int discountValue;
private String remark; private String remark;
private double discountAmount; private double discountAmount;
...@@ -472,11 +472,11 @@ public class OrderBean { ...@@ -472,11 +472,11 @@ public class OrderBean {
this.type = type; this.type = type;
} }
public float getDiscountValue() { public int getDiscountValue() {
return discountValue; return discountValue;
} }
public void setDiscountValue(float discountValue) { public void setDiscountValue(int discountValue) {
this.discountValue = discountValue; this.discountValue = discountValue;
} }
......
...@@ -256,12 +256,12 @@ public class OrderDiscount { ...@@ -256,12 +256,12 @@ public class OrderDiscount {
*/ */
public static double calculationDiscount(Discount discount, double sourcePrice) { public static double calculationDiscount(Discount discount, double sourcePrice) {
double discountPrice; double discountPrice;
if (discount.getType() == 0) { if (discount.getType() == Discount.DISCOUNT_TYPE_AMOUNT) {
//金額折扣 //金額折扣
discountPrice = discount.getAmount(); discountPrice = discount.getAmount();
} else { } else {
//百分比折扣 //百分比折扣
discountPrice = MoneyUtil.divide(MoneyUtil.multiply(sourcePrice, discount.getDiscount_value()), 100).doubleValue(); discountPrice = MoneyUtil.divide(MoneyUtil.multiply(sourcePrice, discount.getDiscountValue()), 100).doubleValue();
} }
if (sourcePrice < discountPrice) { if (sourcePrice < discountPrice) {
//折扣金額不能超出總額 //折扣金額不能超出總額
......
...@@ -22,8 +22,6 @@ public class DiscountItem extends BillItem { ...@@ -22,8 +22,6 @@ public class DiscountItem extends BillItem {
super(name, money, status,type); super(name, money, status,type);
} }
public void updateBillItem(int type) { public void updateBillItem(int type) {
} }
......
...@@ -18,6 +18,7 @@ import com.jess.arms.utils.Preconditions; ...@@ -18,6 +18,7 @@ import com.jess.arms.utils.Preconditions;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
...@@ -48,6 +49,7 @@ public class ShoppingCart { ...@@ -48,6 +49,7 @@ public class ShoppingCart {
protected List<OrderDetail> orderCommodityList = new ArrayList<>(); protected List<OrderDetail> orderCommodityList = new ArrayList<>();
/** /**
* 賬單項列表 * 賬單項列表
* @see CopyOnWriteArrayList 賬單計算放在子線程中保證同步問題使用CopyOnWriteArrayList
*/ */
protected List<BillItem> billItemList = new ArrayList<>(); protected List<BillItem> billItemList = new ArrayList<>();
/** /**
...@@ -81,8 +83,8 @@ public class ShoppingCart { ...@@ -81,8 +83,8 @@ public class ShoppingCart {
private ShoppingCartNumberChange cartNumberChange = new ShoppingCartNumberChange(orderCommodityList); private ShoppingCartNumberChange cartNumberChange = new ShoppingCartNumberChange(orderCommodityList);
public void changeNumber(int number,OrderDetail orderFood, OrderDetail orderMainFood,int select_Full_start_position,int select_Full_end_position, ShoppingCartNumberChange.OnNumberChangeListener listener) { public void changeNumber(int number, OrderDetail orderFood, OrderDetail orderMainFood, int select_Full_start_position, int select_Full_end_position, ShoppingCartNumberChange.OnNumberChangeListener listener) {
cartNumberChange.changeNumber(number,orderFood,orderMainFood,select_Full_start_position,select_Full_end_position,listener); cartNumberChange.changeNumber(number, orderFood, orderMainFood, select_Full_start_position, select_Full_end_position, listener);
} }
/** /**
...@@ -250,7 +252,8 @@ public class ShoppingCart { ...@@ -250,7 +252,8 @@ public class ShoppingCart {
private void updateDiscountBillItem(List<MultyDiscount> multyDiscountArrays) { private void updateDiscountBillItem(List<MultyDiscount> multyDiscountArrays) {
byte discountType = BillItem.NOMAL_DISCOUNT_TYPE; byte discountType = BillItem.NOMAL_DISCOUNT_TYPE;
for (MultyDiscount discount : multyDiscountArrays) { for (int i = multyDiscountArrays.size() - 1; i >= 0; i--) {
MultyDiscount discount = multyDiscountArrays.get(i);
if (discount instanceof NomalDiscount) { if (discount instanceof NomalDiscount) {
discountType = BillItem.NOMAL_DISCOUNT_TYPE; discountType = BillItem.NOMAL_DISCOUNT_TYPE;
} else if (discount instanceof MemberDiscount) { } else if (discount instanceof MemberDiscount) {
...@@ -279,7 +282,7 @@ public class ShoppingCart { ...@@ -279,7 +282,7 @@ public class ShoppingCart {
Discount discount = new Discount(); Discount discount = new Discount();
discount.setRemark("9折"); discount.setRemark("9折");
discount.setType(1); discount.setType(1);
discount.setDiscount_value(10); discount.setDiscountValue(10);
multyDiscounts = shoppingCart.addNomalDiscountToLinked(multyDiscounts, discount, 0); multyDiscounts = shoppingCart.addNomalDiscountToLinked(multyDiscounts, discount, 0);
shoppingCart.addMultyDiscount(multyDiscounts); shoppingCart.addMultyDiscount(multyDiscounts);
......
...@@ -367,7 +367,7 @@ public class MealCommodity implements Commodity { ...@@ -367,7 +367,7 @@ public class MealCommodity implements Commodity {
private static Discount getDiscountItem(OrderBean.OrderDetailsBean.RestaurantDiscountVO discountBean) { private static Discount getDiscountItem(OrderBean.OrderDetailsBean.RestaurantDiscountVO discountBean) {
Discount discount = new Discount(); Discount discount = new Discount();
discount.setId(discountBean.getId()); discount.setId(discountBean.getId());
discount.setDiscount_value(discountBean.getDiscountValue()); discount.setDiscountValue(discountBean.getDiscountValue());
discount.setAmount(discountBean.getDiscountAmount()); discount.setAmount(discountBean.getDiscountAmount());
discount.setType(discountBean.getType()); discount.setType(discountBean.getType());
discount.setRemark(discountBean.getRemark()); discount.setRemark(discountBean.getRemark());
......
...@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.base.order.commodity; ...@@ -2,6 +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.discount.NomalDiscount;
import com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder; 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;
...@@ -1073,7 +1074,7 @@ public class OrderDetail implements Commodity, Serializable { ...@@ -1073,7 +1074,7 @@ public class OrderDetail implements Commodity, Serializable {
private static Discount getDiscountItem(OrderBean.OrderDetailsBean.RestaurantDiscountVO discountBean) { private static Discount getDiscountItem(OrderBean.OrderDetailsBean.RestaurantDiscountVO discountBean) {
Discount discount = new Discount(); Discount discount = new Discount();
discount.setId(discountBean.getId()); discount.setId(discountBean.getId());
discount.setDiscount_value(discountBean.getDiscountValue()); discount.setDiscountValue(discountBean.getDiscountValue());
discount.setAmount(discountBean.getDiscountAmount()); discount.setAmount(discountBean.getDiscountAmount());
discount.setType(discountBean.getType()); discount.setType(discountBean.getType());
discount.setRemark(discountBean.getRemark()); discount.setRemark(discountBean.getRemark());
...@@ -1238,7 +1239,7 @@ public class OrderDetail implements Commodity, Serializable { ...@@ -1238,7 +1239,7 @@ public class OrderDetail implements Commodity, Serializable {
*/ */
public static OrderDetail discountTransOrderDetail(Discount discount, boolean isNew, long id, double sourcePrice) { public static OrderDetail discountTransOrderDetail(Discount discount, boolean isNew, long id, double sourcePrice) {
double discountPrice = OrderDiscount.calculationDiscount(discount, sourcePrice); double discountPrice = NomalDiscount.calculationDiscount(discount, sourcePrice);
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setProductName(discount.getRemark()); orderDetail.setProductName(discount.getRemark());
......
...@@ -13,20 +13,20 @@ import lombok.Getter; ...@@ -13,20 +13,20 @@ import lombok.Getter;
* 描述: 整單折扣{@link Discount} * 描述: 整單折扣{@link Discount}
*/ */
@Getter @Getter
public class NomalDiscount extends MultyDiscount{ public class NomalDiscount extends MultyDiscount {
private Discount discount; private Discount discount;
public NomalDiscount(String name,int status,MultyDiscount nextMultyDiscount,Discount discount) { public NomalDiscount(String name, int status, MultyDiscount nextMultyDiscount, Discount discount) {
super(name,status,nextMultyDiscount); super(name, status, nextMultyDiscount);
this.discount = discount; this.discount = discount;
} }
@Override @Override
public double calculate(double money) { public double calculate(double money) {
if(discount != null){ if (discount != null) {
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);
} }
...@@ -40,12 +40,16 @@ public class NomalDiscount extends MultyDiscount{ ...@@ -40,12 +40,16 @@ public class NomalDiscount extends MultyDiscount{
*/ */
public static double calculationDiscount(Discount discount, double sourceMoney) { public static double calculationDiscount(Discount discount, double sourceMoney) {
double discountMoney; double discountMoney;
if (discount.getType() == 0) { if (discount.getType() == Discount.DISCOUNT_TYPE_RATE) {
//百分比折扣
discountMoney = MoneyUtil.divide(MoneyUtil.multiply(sourceMoney, discount.getDiscountValue()), 100).doubleValue();
} else {
//金額折扣 //金額折扣
discountMoney = discount.getAmount(); discountMoney = discount.getAmount();
} else { }
//百分比折扣 if (Double.doubleToLongBits(discount.getDiscountCap()) != 0 && discount.getDiscountCap() < discountMoney) {
discountMoney = MoneyUtil.divide(MoneyUtil.multiply(sourceMoney, discount.getDiscount_value()), 100).doubleValue(); //不能大於折扣上限
discountMoney = discount.getDiscountCap();
} }
if (sourceMoney < discountMoney) { if (sourceMoney < discountMoney) {
//折扣金額不能超出總額 //折扣金額不能超出總額
......
package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.patterns.Strategy;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public interface DiscountAction{
}
package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import android.app.Activity;
import android.content.Context;
import android.text.InputType;
import com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount;
import com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.patterns.Strategy;
import com.gingersoft.gsa.cloud.table.mvp.model.table.action.TableAction;
import com.gingersoft.gsa.cloud.ui.view.AddKeyBoard;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
import java.util.List;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public class NomalDiscountAction implements Strategy<Discount> {
public Context mContext;
private List<NomalDiscount> mNomalDiscountList;
public NomalDiscountAction(Context context, List<NomalDiscount> nomalDiscountList) {
this.mContext = context;
this.mNomalDiscountList = nomalDiscountList;
}
@Override
public void action(Discount discount) {
for (NomalDiscount nomalDiscount : mNomalDiscountList) {
Discount item = nomalDiscount.getDiscount();
if () {
}
}
if (discount.getOnlyOnce() == 1) {
//此折扣只一次
return;
}
if (discount.getExclusive() == 1) {
//獨佔折扣
}
switch (discount.getType()) {
case Discount.DISCOUNT_TYPE_AMOUNT:
case Discount.DISCOUNT_TYPE_RATE:
break;
case Discount.DISCOUNT_TYPE_CUSTOM_AMOUNT:
showCustomAmountDialog(discount);
break;
case Discount.DISCOUNT_TYPE_KEYBOARD:
showKeyboardDialog(discount);
break;
case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
break;
default:
break;
}
}
private void showCustomAmountDialog(Discount discount) {
CommonTipDialog.showEditDialog((Activity) mContext, discount.getRemark(), "請輸入折扣金額", InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL, new CommonTipDialog.OnEditTextListener() {
@Override
public void inputText(String text) {
}
});
}
private void showKeyboardDialog(Discount discount) {
}
}
...@@ -20,8 +20,8 @@ public abstract class TableAction implements Strategy<TableBean.DataBean> { ...@@ -20,8 +20,8 @@ public abstract class TableAction implements Strategy<TableBean.DataBean> {
protected String actionHint; protected String actionHint;
protected String actionContent; protected String actionContent;
public TableAction(Context mContext) { public TableAction(Context context) {
this.mContext = mContext; this.mContext = context;
} }
public TableAction(Context context, String actionTitle, String actionHint, String actionContent) { public TableAction(Context context, String actionTitle, String actionHint, String actionContent) {
......
package com.gingersoft.gsa.cloud.table.mvp.presenter; package com.gingersoft.gsa.cloud.table.mvp.presenter;
import android.app.Application; import android.app.Application;
import android.text.InputType;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.SparseArray; import android.util.SparseArray;
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.aspectj.XClickUtil; import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
...@@ -24,12 +26,14 @@ import com.gingersoft.gsa.cloud.base.utils.LanguageUtils; ...@@ -24,12 +26,14 @@ import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil; import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils; import com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils; import com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.patterns.Strategy;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract; import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason; import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood; import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest; import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.discount.NomalDiscountAction;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity; import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter;
...@@ -57,6 +61,7 @@ import com.jess.arms.integration.AppManager; ...@@ -57,6 +61,7 @@ import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogBuilder;
import org.simple.eventbus.Subscriber; import org.simple.eventbus.Subscriber;
...@@ -139,15 +144,17 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -139,15 +144,17 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*/ */
private List<SoldoutCtrFood> mSoldoutCtrList = new ArrayList<>(); private List<SoldoutCtrFood> mSoldoutCtrList = new ArrayList<>();
private NomalDiscountAction mNomalDiscountAction;
private OrderDetail mCurrentOrderDetailBean;
private boolean RvMealClicked; private boolean RvMealClicked;
@Inject @Inject
public MealStandPresenter(MealStandContract.Model model, MealStandContract.View rootView) { public MealStandPresenter(MealStandContract.Model model, MealStandContract.View rootView) {
super(model, rootView); super(model, rootView);
this.IActivity = (MealStandActivity) rootView; this.IActivity = (MealStandActivity) rootView;
this.mNomalDiscountAction = new NomalDiscountAction(IActivity,mShoppingCart.getMultyDiscountList());
// initBillItem();
// updateBillInfo();
} }
@Override @Override
...@@ -203,11 +210,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -203,11 +210,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (mSelectMealAdapter != null) { if (mSelectMealAdapter != null) {
mRootView.setSelectFoodAdapter(mSelectMealAdapter); mRootView.setSelectFoodAdapter(mSelectMealAdapter);
} }
// myOrderManage.setSelectMealAdapter(mSelectMealAdapter);
// if (mFoodGroupAdapter == null) {
// mFoodGroupAdapter = new FoodGroupAdapter(IActivity, mFoodGroupList);
// mRootView.setFoodGroupAdapter(mFoodGroupAdapter);
// }
if (mFoodAdapter == null) { if (mFoodAdapter == null) {
mFoodAdapter = new FoodAdapter(IActivity, mFoodList, 1); mFoodAdapter = new FoodAdapter(IActivity, mFoodList, 1);
mRootView.setFoodAdapter(mFoodAdapter); mRootView.setFoodAdapter(mFoodAdapter);
...@@ -246,7 +248,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -246,7 +248,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
RvMealClicked = true; RvMealClicked = true;
//设置当前操作的食品 //设置当前操作的食品
mCurrentOrderDetailBean = datasBean; mCurrentOrderDetailBean = datasBean;
mSelectMealAdapter.setMyOrderManageSelectPosition();
loadComboData(datasBean, true); loadComboData(datasBean, true);
} }
...@@ -351,22 +352,43 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -351,22 +352,43 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Override @Override
public void onItemClick(View view, int viewType, Object data, int position) { public void onItemClick(View view, int viewType, Object data, int position) {
Discount datasBean = (Discount) data; Discount discountBean = (Discount) data;
mRootView.recordOperat(true); mRootView.recordOperat(true);
if (XClickUtil.isFastDoubleClick(view, 1000)) { if (XClickUtil.isFastDoubleClick(view, 1000)) {
return; return;
} }
if (!discountConditionFilter(datasBean)) { if (!discountConditionFilter(discountBean)) {
return; return;
} }
if (cutOutDiscount() == -100) { if (cutOutDiscount() == -100) {
return; return;
} }
addDiscountItem(datasBean); if (discountBean.getType() == Discount.DISCOUNT_TYPE_CUSTOM_AMOUNT) {
//更新賬單金額 showCustomAmountDialog(discountBean);
updateBillInfo(); } else {
addDiscountItem(discountBean);
}
// mNomalDiscountAction.action(discountBean, new Strategy.CallBackListener() {
//
// @Override
// public void callBack(Object o) {
// addDiscountItem((Discount) o);
// }
// });
// new NomalDiscountAction().
}
});
}
private void showCustomAmountDialog(Discount discountBean) {
CommonTipDialog.showEditDialog(IActivity, discountBean.getRemark(), "請輸入折扣金額", InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL, new CommonTipDialog.OnEditTextListener() {
@Override
public void inputText(String text) {
discountBean.setType(Discount.DISCOUNT_TYPE_AMOUNT);
discountBean.setAmount(Double.parseDouble(text));
addDiscountItem(discountBean);
} }
}); });
} }
...@@ -458,6 +480,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -458,6 +480,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mCurrentOrderDetailBean = OrderDetail.discountTransOrderDetail(datasBean, true, id, getDisountSourcePrice()); mCurrentOrderDetailBean = OrderDetail.discountTransOrderDetail(datasBean, true, id, getDisountSourcePrice());
int addPosition = mSelectMealAdapter.addFoodItem(mCurrentOrderDetailBean); int addPosition = mSelectMealAdapter.addFoodItem(mCurrentOrderDetailBean);
mRootView.setMealRvScrollToPosition(addPosition); mRootView.setMealRvScrollToPosition(addPosition);
//更新賬單金額
updateBillInfo();
} }
private void loadComboData(OrderDetail food, boolean isSelectedMeal) { private void loadComboData(OrderDetail food, boolean isSelectedMeal) {
...@@ -784,7 +809,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -784,7 +809,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
@Override @Override
public void createOrder(boolean isPrint, Class afterToActivity) { public void createOrder(boolean isPrint, Class<?> afterToActivity) {
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists()); CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
String json = GsonUtils.GsonString(request); String json = GsonUtils.GsonString(request);
...@@ -804,16 +829,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -804,16 +829,16 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (info.getData() != null) { if (info.getData() != null) {
if (info.getData() instanceof Double) { if (info.getData() instanceof Double) {
//未上線,避免正式版閃退 //未上線,避免正式版閃退
setOrderId((Double) info.getData()); setOrderId((double) info.getData());
mDoshokuOrder.setOrderNo(((Double) info.getData()).longValue() + ""); 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")) {
setOrderId((Double) tm.get(key)); setOrderId((double) tm.get(key));
} else if (key.equals("orderNo")) { } else if (key.equals("orderNo")) {
mDoshokuOrder.setOrderNo((String) tm.get(key)); setOrderNo((String) tm.get(key));
} }
} }
} }
...@@ -829,7 +854,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod ...@@ -829,7 +854,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
} }
@Override @Override
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(mDoshokuOrder.getOrderId()); food.setOrderId(mDoshokuOrder.getOrderId());
......
...@@ -18,6 +18,8 @@ import com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem; ...@@ -18,6 +18,8 @@ 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.discount.MultyDiscount;
import com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount;
import com.gingersoft.gsa.cloud.base.order.order.BaseOrder; 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;
...@@ -278,7 +280,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -278,7 +280,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
} }
@Override @Override
public void createOrder(boolean isPrint, Class afterToActivity) { public void createOrder(boolean isPrint, Class<?> afterToActivity) {
CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists()); CreateOrderRequest request = getCreateOrderRequest(getOrderFoodLists());
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request)); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), GsonUtils.GsonString(request));
String json = GsonUtils.GsonString(request); String json = GsonUtils.GsonString(request);
...@@ -299,7 +301,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -299,7 +301,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
} }
@Override @Override
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(mDoshokuOrder.getOrderId()); food.setOrderId(mDoshokuOrder.getOrderId());
...@@ -322,7 +324,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -322,7 +324,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}); });
} }
private void sendOrderRespose(BaseOrderRespose info, boolean isPrint, Class afterToActivity) { private void sendOrderRespose(BaseOrderRespose info, boolean isPrint, Class<?> afterToActivity) {
if (info == null) { if (info == null) {
if (isPrint) { if (isPrint) {
printOrder(mTableInfo.getId(), true); printOrder(mTableInfo.getId(), true);
...@@ -352,7 +354,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -352,7 +354,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
/** /**
* 送單打印上菜纸 * 送單打印上菜纸
*/ */
private void printSendOrder(Class afterToActivity) { private void printSendOrder(Class<?> afterToActivity) {
if (afterToActivity != null) { if (afterToActivity != null) {
mRootView.startActivityForResult(OrderContentActivity.BILL_CODE, afterToActivity, null); mRootView.startActivityForResult(OrderContentActivity.BILL_CODE, afterToActivity, null);
} }
...@@ -456,7 +458,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -456,7 +458,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if (memberInfo != null) { if (memberInfo != null) {
updateBillItem = true; updateBillItem = true;
mDoshokuOrder.setMemberInfo(memberInfo); mDoshokuOrder.setMemberInfo(memberInfo);
mShoppingCart.addMultyDiscount(mShoppingCart.createMemberDiscount(memberInfo,BillItem.BILL_ITEM_NO_ORDER_STATUS)); mShoppingCart.addMultyDiscount(mShoppingCart.createMemberDiscount(memberInfo, BillItem.BILL_ITEM_NO_ORDER_STATUS));
} }
CouponDiscountBean couponBean = couponResult.getCouponBean(); CouponDiscountBean couponBean = couponResult.getCouponBean();
if (couponBean != null) { if (couponBean != null) {
...@@ -464,7 +466,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -464,7 +466,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
return; return;
} }
updateBillItem = true; updateBillItem = true;
mShoppingCart.addMultyDiscount(mShoppingCart.createCouponDiscount(couponBean,BillItem.BILL_ITEM_NO_ORDER_STATUS)); mShoppingCart.addMultyDiscount(mShoppingCart.createCouponDiscount(couponBean, BillItem.BILL_ITEM_NO_ORDER_STATUS));
} }
if (updateBillItem) { if (updateBillItem) {
updateBillInfo(); updateBillInfo();
...@@ -745,7 +747,17 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -745,7 +747,17 @@ 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) {
mShoppingCart.addMultyDiscount(mShoppingCart.createNomalDiscount(item,BillItem.BILL_ITEM_NO_ORDER_STATUS)); if (item.getOnlyOnce() == 1) {
//此折扣只一次
return;
}
if (item.getExclusive() == 1) {
//獨佔折扣
}
MultyDiscount nomalDiscount = mShoppingCart.createNomalDiscount(item, BillItem.BILL_ITEM_NO_ORDER_STATUS);
mShoppingCart.addMultyDiscount(nomalDiscount);
updateBillInfo(); updateBillInfo();
} }
...@@ -757,8 +769,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra ...@@ -757,8 +769,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
} }
List<Discount> discountList = filterDiscountByType(mModel.queryDB_DiscountList("1"), "1"); List<Discount> discountList = filterDiscountByType(mModel.queryDB_DiscountList("1"), "1");
mDiscountDialog.addItems(discountList); mDiscountDialog.addItems(discountList);
// mDiscountDialog.addItems(getDiscountList());
// mDiscountDialog.setTopBarBagcolor(mFunctionList.get(4).getBackgroundColor());
mDiscountDialog.build().show(); mDiscountDialog.build().show();
} }
......
...@@ -429,6 +429,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont ...@@ -429,6 +429,8 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
//設置用餐人數 //設置用餐人數
openTableBean.setPerson(orderBean.getPerson()); openTableBean.setPerson(orderBean.getPerson());
//緩存訂單信息 //緩存訂單信息
doshokuOrder.setOrderId(orderBean.getId());
doshokuOrder.setOrderNo(orderBean.getOrderNo());
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) { if (orderBean.getMemberInfo() != null) {
......
...@@ -39,6 +39,7 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; ...@@ -39,6 +39,7 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import javax.inject.Inject; import javax.inject.Inject;
...@@ -214,9 +215,9 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All ...@@ -214,9 +215,9 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
}); });
} }
private List<BillItem> getOrderMoneyList(OrderDetailItem orderDetailItem, double totalMoney) { private ArrayList<BillItem> getOrderMoneyList(OrderDetailItem orderDetailItem, double totalMoney) {
List<SectionTextItem3> printOrderMoneyList = new ArrayList<>(); List<SectionTextItem3> printOrderMoneyList = new ArrayList<>();
List<BillItem> printBillOrderMoneyList = new ArrayList<>(); ArrayList<BillItem> printBillOrderMoneyList = new ArrayList<>();
SectionTextItem3 serviceAmountSection = getOrderServiceAmountSection(orderDetailItem); SectionTextItem3 serviceAmountSection = getOrderServiceAmountSection(orderDetailItem);
if (serviceAmountSection != null) { if (serviceAmountSection != null) {
printOrderMoneyList.add(serviceAmountSection); printOrderMoneyList.add(serviceAmountSection);
......
...@@ -22,6 +22,7 @@ import android.widget.LinearLayout; ...@@ -22,6 +22,7 @@ import android.widget.LinearLayout;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.ScrollView; import android.widget.ScrollView;
import android.widget.TextView; import android.widget.TextView;
import com.billy.cc.core.component.CC; import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil; import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication; import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
...@@ -62,6 +63,7 @@ import com.gingersoft.gsa.cloud.ui.view.RecyclerViewNoBugLinearLayoutManager; ...@@ -62,6 +63,7 @@ import com.gingersoft.gsa.cloud.ui.view.RecyclerViewNoBugLinearLayoutManager;
import com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView; import com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView;
import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog; import com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog;
import com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity; import com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity;
import com.jakewharton.rxbinding4.view.RxView;
import com.jess.arms.base.BaseFragmentActivity; import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.base.DefaultAdapter; import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
...@@ -250,6 +252,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -250,6 +252,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
private int mCurrentViewMode; private int mCurrentViewMode;
private boolean isPluMode = false; private boolean isPluMode = false;
/**
* 是否已初始化 已送單的折扣
*/
private boolean initSentOrderDiscount = false;
private ImageView[] ivPoints; private ImageView[] ivPoints;
private int mPageIndex; private int mPageIndex;
private int totalPage; private int totalPage;
...@@ -824,7 +831,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -824,7 +831,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
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);
if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && initTable && !DoshokuOrder.getInstance().isModifyOrder()) { if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.RESTAURANT_MODE) && initTable && !DoshokuOrder.getInstance().isModifyOrder()) {
TableBean.DataBean dataBean = DoshokuOrder.getInstance().getOpenTableInfo(); 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");
} }
...@@ -1304,7 +1311,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -1304,7 +1311,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
return; return;
} }
TableBean.DataBean dataBean = DoshokuOrder.getInstance().getOpenTableInfo(); TableBean.DataBean dataBean = DoshokuOrder.getInstance().getOpenTableInfo();
mPresenter.queryMember(1, qrCodeResult, GsaCloudApplication.getGsPosShopId(),dataBean.getId(),dataBean.getTableNumber()); mPresenter.queryMember(1, qrCodeResult, GsaCloudApplication.getGsPosShopId(), dataBean.getId(), dataBean.getTableNumber());
} }
} }
...@@ -1348,4 +1355,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter> ...@@ -1348,4 +1355,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
} }
public boolean isInitSentOrderDiscount() {
return initSentOrderDiscount;
}
public void setInitSentOrderDiscount(boolean initSentOrderDiscount) {
this.initSentOrderDiscount = initSentOrderDiscount;
}
} }
...@@ -52,6 +52,7 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction; ...@@ -52,6 +52,7 @@ import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import butterknife.BindView; import butterknife.BindView;
import butterknife.OnClick; import butterknife.OnClick;
...@@ -534,8 +535,8 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl ...@@ -534,8 +535,8 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
} }
private List<BillItem> getOrderMoneyList() { private ArrayList<BillItem> getOrderMoneyList() {
List<BillItem> billOrderMoneyList = new ArrayList<>(); ArrayList<BillItem> billOrderMoneyList = new ArrayList<>();
if (mOrderCenterMoneyList != null) { if (mOrderCenterMoneyList != null) {
for (SectionTextItem3 item : mOrderCenterMoneyList) { for (SectionTextItem3 item : mOrderCenterMoneyList) {
BillItem billItem = new BillOrderMoney(); BillItem billItem = new BillOrderMoney();
......
...@@ -32,15 +32,11 @@ public class DiscountAdapter extends DefaultAdapter<Discount> { ...@@ -32,15 +32,11 @@ public class DiscountAdapter extends DefaultAdapter<Discount> {
private int fontSize; private int fontSize;
private int colHeight; private int colHeight;
private int currentSelectPosition = 0;
public DiscountAdapter(Context context, List<Discount> infos) { public DiscountAdapter(Context context, List<Discount> infos) {
super(infos); super(infos);
this.mContext = context; this.mContext = context;
fontSize = GsaCloudApplication.uiStyleConfiguration.getDiscountFontSizeValue(); fontSize = GsaCloudApplication.uiStyleConfiguration.getDiscountFontSizeValue();
colHeight = GsaCloudApplication.uiStyleConfiguration.getDiscountHeightValue(); colHeight = GsaCloudApplication.uiStyleConfiguration.getDiscountHeightValue();
} }
@Override @Override
......
...@@ -175,19 +175,10 @@ public class FoodAdapter extends DefaultAdapter<Food> { ...@@ -175,19 +175,10 @@ public class FoodAdapter extends DefaultAdapter<Food> {
private void setStatus(Food datasBean) { private void setStatus(Food datasBean) {
tv_soldout.setMaxHeight(mSoldoutFoodFlagHeight);
tv_soldout.setMinHeight(mSoldoutFoodFlagHeight); tv_soldout.setMinHeight(mSoldoutFoodFlagHeight);
tv_soldout.setTextSize(mSoldoutFoodFlagFontSize); tv_soldout.setTextSize(mSoldoutFoodFlagFontSize);
// tv_soldout.setTextColor(Color.parseColor("#000000"));
tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.meal_shape_remaining_number_bg)); tv_soldout.setBackgroundDrawable(mContext.getResources().getDrawable(R.drawable.meal_shape_remaining_number_bg));
// tv_soldout.setMinWidth(20); tv_soldout.setGravity(Gravity.CENTER);
// tv_soldout.setTextSize(10);
// tv_soldout.setGravity(Gravity.CENTER);
// RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(new ViewGroup.MarginLayoutParams(60, 40));
// lp2.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
// lp2.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
// tv_soldout.setLayoutParams(lp2);
tv_soldout.setVisibility(View.INVISIBLE); tv_soldout.setVisibility(View.INVISIBLE);
iv_qtySold.setVisibility(View.INVISIBLE); iv_qtySold.setVisibility(View.INVISIBLE);
......
...@@ -176,7 +176,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -176,7 +176,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
} }
private void setViewVisibility(OrderDetail datasBean) { private void setViewVisibility(OrderDetail datasBean) {
if (datasBean.getAblediscount() == 0) { if (datasBean.getAblediscount() == 0) {
tv_D.setVisibility(View.VISIBLE); tv_D.setVisibility(View.VISIBLE);
} else { } else {
...@@ -343,7 +342,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -343,7 +342,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
setSelectPosition(select_position); setSelectPosition(select_position);
setIndex(); setIndex();
setItemNo(datasBean); setItemNo(datasBean);
setMyOrderManageSelectPosition();
return addPosition; return addPosition;
} }
...@@ -434,8 +432,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -434,8 +432,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
setSelectPosition(select_position); setSelectPosition(select_position);
setMyOrderManageSelectPosition();
mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode); mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
} }
...@@ -460,7 +456,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -460,7 +456,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
setIndex(); setIndex();
setSelectPosition(select_position); setSelectPosition(select_position);
setMyOrderManageSelectPosition();
} }
/** /**
...@@ -483,8 +478,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -483,8 +478,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
setSelectPosition(select_position); setSelectPosition(select_position);
setMyOrderManageSelectPosition();
if (mMealStandActivity != null) { if (mMealStandActivity != null) {
mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode); mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
} }
...@@ -583,7 +576,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -583,7 +576,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
} }
setIndex(); setIndex();
setSelectPosition(select_position); setSelectPosition(select_position);
setMyOrderManageSelectPosition();
} }
private void removeIntactFoodItem() { private void removeIntactFoodItem() {
...@@ -619,16 +611,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -619,16 +611,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
return remove; return remove;
} }
public void setMyOrderManageSelectPosition() {
// MyOrderManage.getInstance().setSelect_Full_start_position(select_full_start_position);
// MyOrderManage.getInstance().setSelect_Full_end_position(select_full_end_position);
// MyOrderManage.getInstance().setSelstartpostion(select_start_position);
// MyOrderManage.getInstance().setSelendpostion(select_end_position);
// MyOrderManage.getInstance().setSelmainendpostion(mainEndPos);
// MyOrderManage.getInstance().setSelmainstartpositon(mainStartPos);
// MyOrderManage.getInstance().setSelpostion(select_position);
}
/** /**
* 获取食品第细项最后一个子项位置 * 获取食品第细项最后一个子项位置
* *
...@@ -977,8 +959,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> { ...@@ -977,8 +959,6 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
mOnItemClickListener.onCurrentOrderDetail(mInfos.get(select_position), select_position); mOnItemClickListener.onCurrentOrderDetail(mInfos.get(select_position), select_position);
} }
notifyDataSetChanged(); notifyDataSetChanged();
setMyOrderManageSelectPosition();
} }
/** /**
......
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