Commit 1d233a8d by 宁斌

食品支持多个折扣 接口结构调整

parent bd5562ed
......@@ -155,6 +155,9 @@ dependencies {
debugImplementation 'com.didichuxing.doraemonkit:dokitx:3.3.3'
releaseImplementation 'com.didichuxing.doraemonkit:dokitx-no-op:3.3.3'
//RecyclerView 流式佈局layoutManager
api 'com.google.android:flexbox:1.0.0'
api rootProject.ext.dependencies["permissionx"]
api rootProject.ext.dependencies["design"]
api rootProject.ext.dependencies["appcompat-v7"]
......
......@@ -53,9 +53,9 @@ import me.jessyan.autosize.AutoSize;
import me.jessyan.autosize.AutoSizeConfig;
import me.jessyan.autosize.onAdaptListener;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import com.gingersoft.gsa.cloud.config.expandInfo.UIStyleExtendedConfiguration;
import com.gingersoft.gsa.cloud.config.expandInfo.FunctionExtendedConfiguration;
import com.gingersoft.gsa.cloud.config.expandInfo.ExpandInfoSetting;
import com.gingersoft.gsa.cloud.config.expandconfig.UIStyleExtendedConfiguration;
import com.gingersoft.gsa.cloud.config.expandconfig.FunctionExtendedConfiguration;
import com.gingersoft.gsa.cloud.config.expandconfig.ExpandInfoSetting;
/**
* Created by Wyh on 2019/12/21.
......
......@@ -2,9 +2,9 @@ package com.gingersoft.gsa.cloud.base.utils;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import com.gingersoft.gsa.cloud.config.expandInfo.ExpandInfoSetting;
import com.gingersoft.gsa.cloud.config.expandInfo.FunctionExtendedConfiguration;
import com.gingersoft.gsa.cloud.config.expandInfo.UIStyleExtendedConfiguration;
import com.gingersoft.gsa.cloud.config.expandconfig.ExpandInfoSetting;
import com.gingersoft.gsa.cloud.config.expandconfig.FunctionExtendedConfiguration;
import com.gingersoft.gsa.cloud.config.expandconfig.UIStyleExtendedConfiguration;
import com.gingersoft.gsa.cloud.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.database.bean.ExpandInfo;
import java.lang.reflect.Field;
......
package com.gingersoft.gsa.cloud.config.expandInfo;
package com.gingersoft.gsa.cloud.config.expandconfig;
import com.gingersoft.gsa.cloud.base.Api;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
......
package com.gingersoft.gsa.cloud.config.expandInfo;
package com.gingersoft.gsa.cloud.config.expandconfig;
import lombok.Getter;
import lombok.Setter;
import com.gingersoft.gsa.cloud.config.expandInfo.ExpandInfoSetting;
import com.gingersoft.gsa.cloud.config.expandconfig.ExpandInfoSetting;
/**
* @author : bin
......
package com.gingersoft.gsa.cloud.config.expandInfo;
package com.gingersoft.gsa.cloud.config.expandconfig;
import lombok.Getter;
import lombok.Setter;
import com.gingersoft.gsa.cloud.config.expandInfo.ExpandInfoSetting;
import com.gingersoft.gsa.cloud.config.expandconfig.ExpandInfoSetting;
/**
* @author : bin
* @create date: 2020-10-20
......
......@@ -76,10 +76,13 @@ public class MyResponseErrorListener implements ResponseErrorListener {
} else {
if (httpException.code() == 400) {
//Bad Request
ArmsUtils.killAll();
Activity activity = GsaCloudApplication.getAppContext().getCurrentActivity();
if (activity == null || !activity.getClass().getSimpleName().equals("LoginActivity")) {
//不处于登录页面 返回到登录页
ArmsUtils.killAll();
toLoginActivity(activity);
}
}
msg = httpException.message();
}
return msg;
......
......@@ -2,9 +2,6 @@ package com.gingersoft.gsa.cloud.print.bean;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
import lombok.Getter;
import lombok.Setter;
......@@ -27,8 +24,6 @@ public class PrintQRCodeContent implements PrintContent, Parcelable {
private String printMealEndTime;
private String printBottonInfo;
public PrintQRCodeContent() {
}
......
......@@ -214,8 +214,10 @@ public class CommonTipDialog {
dialog.dismiss();
if (onEditTextListener != null) {
CharSequence text = dialogBuilder.getEditText().getText();
if (!TextUtils.isEmpty(text)) {
onEditTextListener.inputText(text.toString());
}
}
});
dialogBuilder.addAction("取消", (dialog, index) -> dialog.dismiss());
dialogBuilder.create(R.style.MyEditDialogTheme).show();
......
......@@ -137,6 +137,12 @@ public class Discount {
*/
@Transient
private long memberId = -1;
/**
* 送单折扣记录ID
*/
@Transient
private Long discountRecordId;
@Generated(hash = 1938515536)
public Discount(Long id, int restaurantId, double amount, int discountValue,
......@@ -178,6 +184,7 @@ public class Discount {
public Discount() {
}
public Long getId() {
return this.id;
}
......
......@@ -116,7 +116,6 @@ dokitExt {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// addComponent 'public-base'
addComponent 'main-module'
addComponent 'download-module'
addComponent 'table-module'
......
......@@ -89,7 +89,7 @@ public class AddAreaFragment extends BaseFragment<AddAreaPresenter> implements A
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTableArea = (TableArea) getArguments().getSerializable(TABLE_AREA);
mTableArea = getArguments().getParcelable(TABLE_AREA);
}
@Override
......
......@@ -102,7 +102,7 @@ public class AddTableFragment extends BaseFragment<AddTablePresenter> implements
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTableItem = (TableManagerItem) getArguments().getSerializable(TABLE_AREA);
mTableItem = getArguments().getParcelable(TABLE_AREA);
}
@Override
......
......@@ -145,10 +145,6 @@ public class TableListFragment extends BaseFragment<TableListPresenter> implemen
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
BaseFragment firstFragment = findChildFragment(TableListFragment.class);
if (firstFragment == null) {
}
}
@Override
......
......@@ -133,7 +133,8 @@ public class OrderResponse {
@Data
public static class RestaurantDiscountVO implements Serializable{
private long id;
private Long id;
private long discountId;
private int type;
private int discountValue;
private String remark;
......
......@@ -198,7 +198,7 @@ public class OrderDetail implements Commodity, Serializable {
*/
private Discount discount;
/**
* 折扣狀態#0:沒有折扣;1:折扣未送單;2:折扣已送單;
* 折扣狀態#0:沒有折扣;1:有折扣未送單;2:折扣全部已送單;
*/
private int discountStatus;
/**
......@@ -1065,6 +1065,9 @@ public class OrderDetail implements Commodity, Serializable {
List<OrderResponse.OrderDetailsBean.RestaurantDiscountVO> discountList = orderDetailsBean.getDiscountList();
if (discountList != null) {
for (OrderResponse.OrderDetailsBean.RestaurantDiscountVO discount : discountList) {
if (discount == null) {
continue;
}
orderDetailList.add(discountTransOrderDetail(getDiscountItem(discount), false, parentId, discountSourcePrice));
}
}
......@@ -1080,11 +1083,10 @@ public class OrderDetail implements Commodity, Serializable {
return orderDetailList;
}
//PLU可输入子项
//食品数量支持小数 例如1.25
private static Discount getDiscountItem(OrderResponse.OrderDetailsBean.RestaurantDiscountVO discountBean) {
Discount discount = new Discount();
discount.setId(discountBean.getId());
discount.setId(discountBean.getDiscountId());
discount.setDiscountRecordId(discountBean.getId());
discount.setDiscountValue(discountBean.getDiscountValue());
discount.setAmount(discountBean.getDiscountAmount());
discount.setType(discountBean.getType());
......
......@@ -2,10 +2,7 @@ package com.gingersoft.gsa.cloud.base.table.bean;
import android.os.Parcel;
import android.os.Parcelable;
import com.qmuiteam.qmui.widget.section.QMUISection;
import java.io.Serializable;
import lombok.Data;
/**
......
......@@ -13,28 +13,33 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
public class ComponentTable implements IComponent {
public static final class table{
/**餐檯頁*/
public static final class table {
/**
* 餐檯頁
*/
public static final FModule[] bottom = {
new FModule("table/bottom/init", R.mipmap.table_init,0) ,
new FModule("table/bottom/move", R.mipmap.table_move,0) ,
new FModule("table/bottom/null", 0,0) ,
new FModule("table/bottom/splite", R.mipmap.table_splite,0) ,
new FModule("table/bottom/parper", R.mipmap.table_paper,0) ,
new FModule("table/bottom/skyorder", R.mipmap.table_skyorder,0)
new FModule("table/bottom/init", R.mipmap.table_init, 0),
new FModule("table/bottom/move", R.mipmap.table_move, 0),
new FModule("table/bottom/skyorder", 0, 0),
new FModule("table/bottom/splite", R.mipmap.table_splite, 0),
new FModule("table/bottom/parper", R.mipmap.table_paper, 0),
};
/**餐牌頁*/
public static final FModule [] meal = {
new FModule("table/meal/plu", R.mipmap.table_paper,0) ,
new FModule("table/meal/discount", R.mipmap.table_skyorder,0)
/**
* 餐牌頁
*/
public static final FModule[] meal = {
new FModule("table/meal/plu", R.mipmap.table_paper, 0),
new FModule("table/meal/discount", R.mipmap.table_skyorder, 0)
};
/**賬單內容頁*/
public static final FModule [] order = {
new FModule("table/order/send", 0,0) ,
new FModule("table/order/print", 0,0) ,
new FModule("table/order/pay", 0,0) ,
new FModule("table/order/transfer", 0,0) ,
new FModule("table/order/discount", 0,0)
/**
* 賬單內容頁
*/
public static final FModule[] order = {
new FModule("table/order/send", 0, 0),
new FModule("table/order/print", 0, 0),
new FModule("table/order/pay", 0, 0),
new FModule("table/order/transfer", 0, 0),
new FModule("table/order/discount", 0, 0)
};
}
......@@ -49,6 +54,7 @@ public class ComponentTable implements IComponent {
* 组件被调用时的入口
* 要确保每个逻辑分支都会调用到CC.sendCCResult,
* 包括try-catch,if-else,switch-case-default,startActivity
*
* @param cc 组件调用对象,可从此对象中获取相关信息
* @return true:将异步调用CC.sendCCResult(...),用于异步实现相关功能,例如:文件加载、网络请求等
* false:会同步调用CC.sendCCResult(...),即在onCall方法return之前调用,否则将被视为不合法的实现
......
......@@ -21,7 +21,7 @@ import lombok.Data;
* 描述:已結賬訂單
*/
@Data
public class OrderManagerResponse implements Parcelable {
public class OrderManagerResponse implements Serializable {
/**
* id : 47040
......@@ -90,7 +90,6 @@ public class OrderManagerResponse implements Parcelable {
/**會員積分相关实体*/
private OrderPayResponse integralInfo;
/**
* 訂單狀態:0:未支付;1:待確認(已支付, 待餐廳確認);2:制作中(餐厅确认);3:派送中;4:确认收货(完成);5:是否评论;6:取消;
*/
......@@ -111,7 +110,7 @@ public class OrderManagerResponse implements Parcelable {
public static final byte ORDER_TYPE_SELFCOLLECTION = 7;
@Data
public static final class OrderPayBean implements Parcelable{
public static final class OrderPayBean implements Serializable{
private long id;
private long lineOrderId;
private int payType;
......@@ -123,122 +122,5 @@ public class OrderManagerResponse implements Parcelable {
private double paySales;
private String payName;
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(this.id);
dest.writeLong(this.lineOrderId);
dest.writeInt(this.payType);
dest.writeString(this.payTime);
dest.writeDouble(this.amount);
dest.writeDouble(this.tipsPrice);
dest.writeInt(this.status);
dest.writeInt(this.linePayType);
dest.writeDouble(this.paySales);
dest.writeString(this.payName);
}
protected OrderPayBean(Parcel in) {
this.id = in.readLong();
this.lineOrderId = in.readLong();
this.payType = in.readInt();
this.payTime = in.readString();
this.amount = in.readDouble();
this.tipsPrice = in.readDouble();
this.status = in.readInt();
this.linePayType = in.readInt();
this.paySales = in.readDouble();
this.payName = in.readString();
}
public static final Creator<OrderPayBean> CREATOR = new Creator<OrderPayBean>() {
@Override
public OrderPayBean createFromParcel(Parcel source) {
return new OrderPayBean(source);
}
@Override
public OrderPayBean[] newArray(int size) {
return new OrderPayBean[size];
}
};
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(this.id);
dest.writeInt(this.status);
dest.writeString(this.orderNo);
dest.writeString(this.tableName);
dest.writeInt(this.tableId);
dest.writeInt(this.person);
dest.writeInt(this.orderType);
dest.writeDouble(this.totalAmount);
dest.writeInt(this.totalPoints);
dest.writeDouble(this.amount);
dest.writeValue(this.rounding);
dest.writeValue(this.serviceAmount);
dest.writeString(this.billNo);
dest.writeString(this.takeFoodCode);
dest.writeString(this.createTime);
dest.writeString(this.endTime);
dest.writeList(this.orderDetails);
dest.writeTypedList(this.discountDetails);
dest.writeList(this.orderPays);
dest.writeSerializable(this.restaurantTable);
dest.writeSerializable(this.memberInfo);
dest.writeString(this.verifyCode);
dest.writeParcelable(this.integralInfo, flags);
}
protected OrderManagerResponse(Parcel in) {
this.id = in.readLong();
this.status = in.readInt();
this.orderNo = in.readString();
this.tableName = in.readString();
this.tableId = in.readInt();
this.person = in.readInt();
this.orderType = in.readInt();
this.totalAmount = in.readDouble();
this.totalPoints = in.readInt();
this.amount = in.readDouble();
this.rounding = (Double) in.readValue(Double.class.getClassLoader());
this.serviceAmount = (Double) in.readValue(Double.class.getClassLoader());
this.billNo = in.readString();
this.takeFoodCode = in.readString();
this.createTime = in.readString();
this.endTime = in.readString();
this.orderDetails = new ArrayList<>();
in.readList(this.orderDetails, OrderResponse.OrderDetailsBean.class.getClassLoader());
this.discountDetails = in.createTypedArrayList(OrderDiscountResponse.CREATOR);
this.orderPays = new ArrayList<>();
in.readList(this.orderPays, OrderPayBean.class.getClassLoader());
this.restaurantTable = (TableBean.DataBean) in.readSerializable();
this.memberInfo = (MemberInfo) in.readSerializable();
this.verifyCode = in.readString();
this.integralInfo = in.readParcelable(OrderPayResponse.class.getClassLoader());
}
public static final Creator<OrderManagerResponse> CREATOR = new Creator<OrderManagerResponse>() {
@Override
public OrderManagerResponse createFromParcel(Parcel source) {
return new OrderManagerResponse(source);
}
@Override
public OrderManagerResponse[] newArray(int size) {
return new OrderManagerResponse[size];
}
};
}
......@@ -15,7 +15,7 @@ import lombok.Data;
* 描述:
*/
@Data
public class OrderPayResponse implements Parcelable {
public class OrderPayResponse implements Serializable {
/**
* verifyCode : 387F9C1D8B2AD91B42982C8E50835A8C
......@@ -30,36 +30,4 @@ public class OrderPayResponse implements Parcelable {
/**结余積分*/
private float nowPoints;
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.verifyCode);
dest.writeFloat(this.addPoints);
dest.writeFloat(this.oldPoints);
dest.writeFloat(this.nowPoints);
}
protected OrderPayResponse(Parcel in) {
this.verifyCode = in.readString();
this.addPoints = in.readFloat();
this.oldPoints = in.readFloat();
this.nowPoints = in.readFloat();
}
public static final Creator<OrderPayResponse> CREATOR = new Creator<OrderPayResponse>() {
@Override
public OrderPayResponse createFromParcel(Parcel source) {
return new OrderPayResponse(source);
}
@Override
public OrderPayResponse[] newArray(int size) {
return new OrderPayResponse[size];
}
};
}
......@@ -595,7 +595,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
updateData = true;
double discountPrice = NomalDiscount.calculationDiscount(orderDetailsBean.getDiscount(), totalMoney);
//更新折扣金額
orderDetailsBean.setPrice(-discountPrice);
orderDetailsBean.setPrice(discountPrice);
break;
} else {
if (orderDetailsBean.getAblediscount() == 0) {
......@@ -986,6 +986,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
/**
* 獲取賬單折扣
*
* @return
*/
private List<OrderDiscountRequest> getOrderDiscountDetails() {
......@@ -1023,10 +1024,12 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
continue;
}
mapIndex += 1;
List<OrderResponse.OrderDetailsBean> orderItems = getOrderMapItems(i, item, foodList);
List<OrderResponse.OrderDetailsBean> orderItems = getOrderMapItems(1, i, item, foodList);
if (orderItems.size() > 0) {
orderDetails.put(String.valueOf(mapIndex), orderItems);
}
}
}
return orderDetails;
}
......@@ -1047,7 +1050,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
int indexCount = 0;
for (int i = 0; i < foodList.size(); i++) {
OrderDetail item = foodList.get(i);
if (item.getItemType() == 1) {
if (item.getItemType() != 1) {
//不是主食品直接跳過
continue;
}
......@@ -1059,14 +1062,16 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
//基礎上新加
mapIndex = indexCount + "-" + type2;
}
List<OrderResponse.OrderDetailsBean> orderItems = getOrderMapItems(i, item, foodList);
List<OrderResponse.OrderDetailsBean> orderItems = getOrderMapItems(2, i, item, foodList);
if (orderItems.size() > 0) {
orderDetails.put(mapIndex, orderItems);
}
}
}
return orderDetails;
}
private List<OrderResponse.OrderDetailsBean> getOrderMapItems(int startIndex, OrderDetail parentItem, List<OrderDetail> foodList) {
private List<OrderResponse.OrderDetailsBean> getOrderMapItems(int orderAction, int startIndex, OrderDetail parentItem, List<OrderDetail> foodList) {
List<OrderResponse.OrderDetailsBean> orderItems = new ArrayList<>();
for (int j = startIndex; j < foodList.size(); j++) {
OrderDetail item = foodList.get(j);
......@@ -1080,7 +1085,14 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
//折扣直接跳過
continue;
}
OrderResponse.OrderDetailsBean orderItem = new OrderResponse.OrderDetailsBean();
if (orderAction == 2) {
orderItem.setOrderId(item.getOrderId());
if (item.getId() != 0) {
orderItem.setId(item.getId());
}
}
orderItem.setMemberId(GsaCloudApplication.getMemberId());
orderItem.setProductName(item.getProductName());
orderItem.setProductId(item.getProductId());
......@@ -1094,7 +1106,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
orderItem.setScAble(item.getScAble());
if (item.getAblediscount() == 1) {
//可參與折扣
List<OrderResponse.OrderDetailsBean.RestaurantDiscountVO> discountList = getRestaurantDiscountList(foodList, parentItem.getProductId());
List<OrderResponse.OrderDetailsBean.RestaurantDiscountVO> discountList = getRestaurantDiscountList(foodList, parentItem);
if (discountList.size() > 0) {
orderItem.setDiscountList(discountList);
}
......@@ -1102,7 +1114,22 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
orderItem.setLunchboxPrice(0);
orderItem.setPointsAdd(item.getPointsAdd());
orderItem.setPointsRedeem(item.getPointsRedeem());
if (orderAction == 2) {
if (item.isNew() || item.getDiscountStatus() == 1) {
//這裡只添加新食品或有新折扣食品
orderItems.add(orderItem);
//保存新食品,打印用到
mDoshokuOrder.getNewFoodList().add(item);
}
} else {
if (item.isNew()) {
//這裡只添加新食品
orderItems.add(orderItem);
//保存新食品,打印用到
mDoshokuOrder.getNewFoodList().add(item);
}
}
}
return orderItems;
}
......@@ -1230,21 +1257,27 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* 根據主食品ID獲取折扣列表
*
* @param orderItems
* @param mainParentId
* @param parentItem
* @return
*/
private List<OrderResponse.OrderDetailsBean.RestaurantDiscountVO> getRestaurantDiscountList(List<OrderDetail> orderItems, long mainParentId) {
private List<OrderResponse.OrderDetailsBean.RestaurantDiscountVO> getRestaurantDiscountList(List<OrderDetail> orderItems, OrderDetail parentItem) {
long mainParentId = parentItem.isNew() ? parentItem.getProductId() : parentItem.getId();
List<OrderResponse.OrderDetailsBean.RestaurantDiscountVO> discountList = new ArrayList<>();
for (OrderDetail item : orderItems) {
if (item.getDiscount() != null && item.getParentId() == mainParentId) {
Discount discount = item.getDiscount();
OrderResponse.OrderDetailsBean.RestaurantDiscountVO discountVO = new OrderResponse.OrderDetailsBean.RestaurantDiscountVO();
discountVO.setId(discount.getId());
discountVO.setId(discount.getDiscountRecordId());
discountVO.setDiscountId(discount.getId());
discountVO.setType(discount.getType());
discountVO.setRemark(discount.getRemark());
discountVO.setDiscountValue(discount.getDiscountValue());
discountVO.setDiscountAmount(item.getPrice());
discountList.add(discountVO);
if (item.isNew()) {
//设置当前食品下包含为送单折扣状态
parentItem.setDiscountStatus(1);
}
}
}
return discountList;
......
......@@ -132,7 +132,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
initGetTableTimer();
}
private void initTableActions(Activity context, List<Function> functions) {
for (Function function : functions) {
if (function.getResUrl().endsWith("init")) {
......
......@@ -41,6 +41,7 @@ import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import com.qmuiteam.qmui.widget.QMUITopBar;
import com.qmuiteam.qmui.widget.popup.QMUIPopup;
import com.qmuiteam.qmui.widget.popup.QMUIPopups;
import com.qmuiteam.qmui.widget.roundwidget.QMUIRoundRelativeLayout;
import com.qmuiteam.qmui.widget.tab.QMUITab;
import com.qmuiteam.qmui.widget.tab.QMUITabBuilder;
import com.qmuiteam.qmui.widget.tab.QMUITabIndicator;
......@@ -107,7 +108,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
TextView tv_table_action_content;
@BindView(R2.id.rl_skyorder)
RelativeLayout rl_skyorder;
QMUIRoundRelativeLayout rl_skyorder;
@BindView(R2.id.iv_lock)
ImageView iv_lock;
......@@ -165,6 +166,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
// getTables(true, null);
// }
// });
View view = getWindow().getDecorView();
initTabAndPager();
getTables(true, null);
}
......@@ -651,13 +653,4 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
mPresenter.getTables(show, refreshLayout);
}
public int getCurrentSelectTableStatus() {
return mCurrentSelectTableStatus;
}
public void setCurrentSelectTableStatus(int mCurrentSelectTableStatus) {
this.mCurrentSelectTableStatus = mCurrentSelectTableStatus;
}
}
......@@ -55,8 +55,6 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
//展示的布局高度
private float mDiaplayScreenHeight;
private int mTableTextSize;
private int style;
private int mRadius;
......@@ -74,7 +72,6 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
this.mContext = context;
this.mFunction = function;
this.mDiaplayScreenHeight = diaplayScreenHeight;
this.mTableTextSize = 20;
this.mRadius = QMUIDisplayHelper.dp2px(context, 5);
initItemDispalyHeight();
......@@ -163,6 +160,7 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
String createDate = item.getCreateTime();
if (!TextUtils.isEmpty(createDate)) {
LogUtil.d(TAG, "tableName: " + item.getTableName() + " " + "createDate: " + createDate);
try {
Date date = new Date(createDate);
String createTime = TimeUtils.getStringByFormat(date, TimeUtils.DEFAULT_DATE_FORMAT);
String currentTime = TimeUtils.getStringByFormat(System.currentTimeMillis(), TimeUtils.DEFAULT_DATE_FORMAT);
......@@ -177,6 +175,9 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
tv_open_duration.setText("00:00");
}
tv_open_duration.setVisibility(View.VISIBLE);
} catch (Exception e) {
tv_open_duration.setVisibility(View.GONE);
}
} else {
tv_open_duration.setVisibility(View.GONE);
}
......
......@@ -20,6 +20,10 @@ import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FoodReasonAdapter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog;
import com.google.android.flexbox.FlexDirection;
import com.google.android.flexbox.FlexWrap;
import com.google.android.flexbox.FlexboxLayoutManager;
import com.google.android.flexbox.JustifyContent;
import com.google.gson.JsonIOException;
import com.google.gson.JsonParseException;
import com.qmuiteam.qmui.layout.QMUILinearLayout;
......@@ -104,10 +108,6 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
super.dismiss();
}
public void addItem(FoodReason item) {
mItems.add(item);
}
public void addItems(List<FoodReason> items) {
if (mItems.size() > 0) {
mItems.clear();
......@@ -193,13 +193,15 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
recycle_cancel_info.setAdapter(mAdapter);
}
private RecyclerView.LayoutManager createLayoutManager() {
return new GridLayoutManager(mContext, spanCount, LinearLayoutManager.VERTICAL, false) {
@Override
public RecyclerView.LayoutParams generateDefaultLayoutParams() {
return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
}
};
private FlexboxLayoutManager createLayoutManager() {
FlexboxLayoutManager flexboxLayoutManager = new FlexboxLayoutManager(mContext);
//flexDirection 属性决定主轴的方向(即项目的排列方向)。类似 LinearLayout 的 vertical 和 horizontal。
flexboxLayoutManager.setFlexDirection(FlexDirection.ROW);//主轴为水平方向,起点在左端。
//flexWrap 默认情况下 Flex 跟 LinearLayout 一样,都是不带换行排列的,但是flexWrap属性可以支持换行排列。
flexboxLayoutManager.setFlexWrap(FlexWrap.WRAP);//按正常方向换行
//justifyContent 属性定义了项目在主轴上的对齐方式。
flexboxLayoutManager.setJustifyContent(JustifyContent.FLEX_START);//交叉轴的起点对齐。
return flexboxLayoutManager;
}
private int getCurrentProgress(int num) {
......
......@@ -38,6 +38,10 @@ import com.gingersoft.gsa.cloud.table.mvp.model.constant.SkyOrderConstant;
import com.gingersoft.gsa.cloud.table.mvp.model.utils.MathUtils;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FoodSummaryAdapter;
import com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog;
import com.google.android.flexbox.FlexDirection;
import com.google.android.flexbox.FlexWrap;
import com.google.android.flexbox.FlexboxLayoutManager;
import com.google.android.flexbox.JustifyContent;
import com.jess.arms.utils.ArmsUtils;
import com.qmuiteam.qmui.QMUILog;
import com.qmuiteam.qmui.alpha.QMUIAlphaTextView;
......@@ -552,13 +556,15 @@ public class SkyOrderDialog extends BaseRetryDialog implements View.OnClickListe
rvSummary.setLayoutManager(layoutManager);
}
private RecyclerView.LayoutManager createLayoutManager() {
return new GridLayoutManager(mContext, 4, LinearLayoutManager.VERTICAL, false) {
@Override
public RecyclerView.LayoutParams generateDefaultLayoutParams() {
return new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
}
};
private FlexboxLayoutManager createLayoutManager() {
FlexboxLayoutManager flexboxLayoutManager = new FlexboxLayoutManager(mContext);
//flexDirection 属性决定主轴的方向(即项目的排列方向)。类似 LinearLayout 的 vertical 和 horizontal。
flexboxLayoutManager.setFlexDirection(FlexDirection.ROW);//主轴为水平方向,起点在左端。
//flexWrap 默认情况下 Flex 跟 LinearLayout 一样,都是不带换行排列的,但是flexWrap属性可以支持换行排列。
flexboxLayoutManager.setFlexWrap(FlexWrap.WRAP);//按正常方向换行
//justifyContent 属性定义了项目在主轴上的对齐方式。
flexboxLayoutManager.setJustifyContent(JustifyContent.FLEX_START);//交叉轴的起点对齐。
return flexboxLayoutManager;
}
private void showSelectTimePopup(TextView textView, List<Integer> text) {
......
......@@ -16,6 +16,7 @@
android:layout_height="wrap_content"
android:layout_above="@+id/bn_table_function"
android:layout_marginTop="?attr/qmui_topbar_height"
android:layout_marginBottom="@dimen/dp_60"
android:background="#FFE8E8E8">
<TextView
......@@ -35,8 +36,7 @@
android:id="@+id/contentViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_45"
android:layout_marginBottom="@dimen/dp_60"/>
android:layout_marginTop="@dimen/dp_45" />
<LinearLayout
android:id="@+id/ll_table_operat_content"
......@@ -83,7 +83,7 @@
<com.qmuiteam.qmui.layout.QMUIButton
android:id="@+id/btn_cancel_operat"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_55"
android:layout_height="@dimen/dp_60"
android:layout_alignParentBottom="true"
android:background="@color/transparent"
android:text="取消"
......
......@@ -2,9 +2,9 @@
<com.qmuiteam.qmui.layout.QMUILinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/ll_container"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/theme_white_color">
<com.qmuiteam.qmui.widget.QMUITopBar
......@@ -117,8 +117,6 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycle_cancel_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="4"/>
android:layout_height="wrap_content" />
</FrameLayout>
</com.qmuiteam.qmui.layout.QMUILinearLayout>
\ No newline at end of file
......@@ -4,9 +4,9 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/btn_reason"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/dp_12"
android:padding="@dimen/dp_10"
android:textSize="@dimen/sp_14"
android:textColor="@color/theme_black"
android:text="客人取消"
......
......@@ -2,21 +2,18 @@
<com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/btn_summary"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="@dimen/dp_14"
android:textColor="@color/theme_text_color_black"
android:text="早餐"
android:ellipsize="end"
android:maxLines="1"
android:paddingTop="@dimen/dp_8"
android:paddingBottom="@dimen/dp_8"
android:paddingStart="@dimen/dp_15"
android:paddingEnd="@dimen/dp_15"
android:layout_margin="@dimen/dp_5"
app:qmui_borderColor="@color/theme_text_color_black"
app:qmui_radius="@dimen/dp_5"
app:qmui_backgroundColor="@color/theme_white_color">
app:qmui_backgroundColor="@color/theme_white_color"/>
</com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton>
\ No newline at end of file
......@@ -2,15 +2,20 @@
<com.qmuiteam.qmui.widget.roundwidget.QMUIRoundRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/rl_skyorder"
android:layout_width="@dimen/dp_65"
android:layout_height="@dimen/dp_65"
android:layout_marginBottom="@dimen/dp_20"
android:gravity="center"
android:layout_width="@dimen/dp_66"
android:layout_height="@dimen/dp_66"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="@dimen/dp_27"
android:gravity="center"
android:orientation="vertical"
app:qmui_backgroundColor="@color/theme_color">
<!-- app:layout_constraintStart_toStartOf="@+id/rv_bottom_function"-->
<!-- app:layout_constraintEnd_toEndOf="@+id/rv_bottom_function"-->
<!-- app:layout_constraintBottom_toBottomOf="@+id/rv_bottom_function"-->
<!-- app:layout_constraintTop_toTopOf="@+id/rv_bottom_function"-->
<!-- app:layout_constraintBottom_toTopOf="@+id/rv_bottom_function"-->
<ImageView
android:id="@+id/iv_skyorder_qrcode"
android:layout_width="wrap_content"
......
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