Commit 9f67a4da by 宁斌

1、结账支付二种支付方式

parent 9d9f4fd6
package com.gingersoft.gsa.cloud.base.common.bean;
import lombok.Data;
/**
* Created by Wyh on 2020/1/15.
*/
@Data
public class BaseResult2 {
private String code;
private String errorMsg;
private Object data;
}
package com.gingersoft.gsa.cloud.base.common.bean;
import java.util.Date;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-25
* 修订历史:2020-07-25
* 描述:
*/
@Data
public class MemberInfo {
/**
* ablediscount : 0
* birthdaybonusratio : 1
* birthdayperiod : 5
* brCouponNum : 0
* brCouponTypeId : 0
* brPoints : 5
* brandId : 0
* brandName : Gingersoft
* couponTypeId : 0
* createBy : H5
* createTime : {"date":28,"day":4,"hours":17,"minutes":53,"month":4,"seconds":37,"time":1590659617000,"timezoneOffset":-480,"year":120}
* createTimes : 0
* creditPoints : 0
* discount : 0
* expireAfterDayClearPoints : 0
* extendExpireAmount : 1
* extendExpirePeriod : 365
* extendValidDays : 0
* foodDesc1 : GS白金會員
* foodDesc2 : GS白金會員
* foodDesc3 : GS白金會員
* foodPrice : 500
* groupId : 7
* id : 421439
* isDisplay : 0
* isVisible : 1
* isdefault : 1
* language : 0
* level : 0
* levelDesc : 60日內消費滿3000, 可升級為白金會員享有更多折扣會員享有更多折扣
* levelName :
* levelName1 : GS基本用戶
* levelName2 : 基本用戶
* levelName3 : 基本用戶
* levelUpAmount : 1
* levelUpPeriod : 365
* negativePoints : 0
* newCouponNum : 0
* nextDownLevel : 35
* nextUpLevel : 0
* optTime : {"date":25,"day":6,"hours":9,"minutes":48,"month":6,"seconds":50,"time":1595641730781,"timezoneOffset":-480,"year":120}
* optTimes : 0
* pointRedeemCash : 20
* pointRule : 2
* pointUnit : 1
* pointenddate :
* pointoveryear : 0
* points : 0
* pointsVariable : 50
* restaurantId : 2
* scCharge : 0
* seq1 : 3
* sid :
* updateBy : H5
* updateTime : {"date":23,"day":4,"hours":17,"minutes":33,"month":6,"seconds":14,"time":1595496794000,"timezoneOffset":-480,"year":120}
* updateTimes : 0
* vaildDays : 0
* adverHeight : 0
* advertCol : 1
* birthday :
* birthdays :
* brandImgUrl : http://m.ricepon.com/1/20160816/20160816133220847.png
* brandMemberInfoIcon : http://m.ricepon.com/ricepon-asset/images/1546398451087.png
* consumeAmount : 0
* consumePoints : 3
* countryId : 0
* districtId : 0
* districtName :
* email :
* emailActive : 0
* headImg :
* imgPath :
* isPush : 0
* levelImgUrl : http://m.ricepon.com/ricepon-asset/201912/member/member-1575525134386.jpg
* levelTime :
* memberDiscount : 20
* memberExpireDate : {"date":25,"day":6,"hours":9,"minutes":48,"month":6,"seconds":50,"time":1595641730781,"timezoneOffset":-480,"year":120}
* memberId : 0
* memberName :
* memberNo : 2005149175337
* memberNote :
* memberPoint : 3
* memberTypeId : 32
* openId :
* password :
* phone : 18218743523
* postcardNo :
* postcardType : 1
* proId : 0
* proName :
* secretKey :
* serviceOpenId :
* sex : 0
* shopCanUse :
* shopId :
* shopNote :
* source : 0
* status : 0
* type : 0
* vaildTime : {"date":25,"day":6,"hours":9,"minutes":48,"month":6,"seconds":50,"time":1595641730781,"timezoneOffset":-480,"year":120}
* MemberPoint : 3
*/
private CreateTimeBean createTime;
private UpdateTimeBean updateTime;
private MemberExpireDateBean memberExpireDate;
private VaildTimeBean vaildTime;
private int MemberPoint;
private int birthdaybonusratio;
private int creditPoints;
private int birthdayperiod;
private int extendExpirePeriod;
private int brCouponTypeId;
private int levelUpPeriod;
private int groupId;
private int seq1;
private int nextDownLevel;
private int discount;
private int language;
private int points;
private int negativePoints;
private int couponTypeId;
private int id;
private int isdefault;
private int pointsVariable;
private String brandName;
private int level;
private int newCouponNum;
private int isVisible;
private int isDisplay;
private int vaildDays;
private int brandId;
private int pointRedeemCash;
private int ablediscount;
private String levelName3;
private String levelName2;
private String levelName1;
private int expireAfterDayClearPoints;
private int extendExpireAmount;
private String foodDesc3;
private int scCharge;
private int extendValidDays;
private int levelUpAmount;
private int optTimes;
private int updateTimes;
private String foodDesc1;
private String foodDesc2;
private String sid;
private String pointenddate;
private String updateBy;
private int brPoints;
private String optTime;
private int createTimes;
private int brCouponNum;
private String levelName;
private int pointRule;
private int foodPrice;
private String createBy;
private int pointoveryear;
private String levelDesc;
private int pointUnit;
private int nextUpLevel;
private int restaurantId = 2;
@Data
public static class CreateTimeBean {
/**
* date : 28
* day : 4
* hours : 17
* minutes : 53
* month : 4
* seconds : 37
* time : 1590659617000
* timezoneOffset : -480
* year : 120
*/
private int date;
private int day;
private int hours;
private int minutes;
private int month;
private int seconds;
private long time;
private int timezoneOffset;
private int year;
}
@Data
public static class OptTimeBean {
/**
* date : 25
* day : 6
* hours : 9
* minutes : 48
* month : 6
* seconds : 50
* time : 1595641730781
* timezoneOffset : -480
* year : 120
*/
private int date;
private int day;
private int hours;
private int minutes;
private int month;
private int seconds;
private long time;
private int timezoneOffset;
private int year;
}
@Data
public static class UpdateTimeBean {
/**
* date : 23
* day : 4
* hours : 17
* minutes : 33
* month : 6
* seconds : 14
* time : 1595496794000
* timezoneOffset : -480
* year : 120
*/
private int date;
private int day;
private int hours;
private int minutes;
private int month;
private int seconds;
private long time;
private int timezoneOffset;
private int year;
}
@Data
public static class MemberExpireDateBean {
/**
* date : 25
* day : 6
* hours : 9
* minutes : 48
* month : 6
* seconds : 50
* time : 1595641730781
* timezoneOffset : -480
* year : 120
*/
private int date;
private int day;
private int hours;
private int minutes;
private int month;
private int seconds;
private long time;
private int timezoneOffset;
private int year;
}
@Data
public static class VaildTimeBean {
/**
* date : 25
* day : 6
* hours : 9
* minutes : 48
* month : 6
* seconds : 50
* time : 1595641730781
* timezoneOffset : -480
* year : 120
*/
private int date;
private int day;
private int hours;
private int minutes;
private int month;
private int seconds;
private long time;
private int timezoneOffset;
private int year;
}
}
package com.gingersoft.gsa.cloud.base.common.bean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Generated;
import java.util.ArrayList;
import java.util.List;
import lombok.Data;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-07-25
* 修订历史:2020-07-25
* 描述:
*/
@Data
public class OrderPayRequest {
private long orderId;
private int linePayType;
private int orderPayType;
private List<orderPay> orderPays = new ArrayList<>();
@Data
public static class orderPay{
private int payType;
private double amount;
private double tipsPrice;
}
}
......@@ -28,11 +28,11 @@ public class DaoMaster extends AbstractDaoMaster {
FoodComboDao.createTable(db, ifNotExists);
FoodModifierDao.createTable(db, ifNotExists);
FunctionDao.createTable(db, ifNotExists);
LanguageDao.createTable(db, ifNotExists);
ModifierDao.createTable(db, ifNotExists);
PrintCurrencyBeanDao.createTable(db, ifNotExists);
PrinterDeviceBeanDao.createTable(db, ifNotExists);
PrintModelBeanDao.createTable(db, ifNotExists);
LanguageDao.createTable(db, ifNotExists);
PrintCurrencyBeanDao.createTable(db, ifNotExists);
}
/** Drops underlying database table using DAOs. */
......@@ -44,11 +44,11 @@ public class DaoMaster extends AbstractDaoMaster {
FoodComboDao.dropTable(db, ifExists);
FoodModifierDao.dropTable(db, ifExists);
FunctionDao.dropTable(db, ifExists);
LanguageDao.dropTable(db, ifExists);
ModifierDao.dropTable(db, ifExists);
PrintCurrencyBeanDao.dropTable(db, ifExists);
PrinterDeviceBeanDao.dropTable(db, ifExists);
PrintModelBeanDao.dropTable(db, ifExists);
LanguageDao.dropTable(db, ifExists);
PrintCurrencyBeanDao.dropTable(db, ifExists);
}
/**
......@@ -74,10 +74,10 @@ public class DaoMaster extends AbstractDaoMaster {
registerDaoClass(FoodComboDao.class);
registerDaoClass(FoodModifierDao.class);
registerDaoClass(FunctionDao.class);
registerDaoClass(LanguageDao.class);
registerDaoClass(ModifierDao.class);
registerDaoClass(PrinterDeviceBeanDao.class);
registerDaoClass(PrintModelBeanDao.class);
registerDaoClass(LanguageDao.class);
registerDaoClass(PrintCurrencyBeanDao.class);
}
......
......@@ -102,21 +102,27 @@ public class OrderPayView extends LinearLayout {
// mBillMoneyAdapter.notifyDataSetChanged();
// }
// }
mBillMoneyList.clear();
// if (!mBillMoneyList.contains(method)) {
double differenceMoney = getDifferenceMoney();
if (differenceMoney > -1 && method != null) {
//補足差額
method.setPayMoney(differenceMoney);
// mBillMoneyList.clear();
if (!mBillMoneyList.contains(method)) {
if (mBillMoneyList.size() == 2) {
//替换掉第一个
mBillMoneyList.remove(0);
} else if (mBillMoneyList.size() == 1) {
//差一种支付方式 直接补足余额
double differenceMoney = getDifferenceMoney();
if (differenceMoney > -1) {
//補足差額
method.setPayMoney(differenceMoney);
}
}
//添加選中支付方式
mBillMoneyList.add(method);
mBillMoneyAdapter.setSelect_position(mBillMoneyList.size() - 1);
mBillMoneyAdapter.notifyDataSetChanged();
rv_bill_money.scrollToPosition(mBillMoneyList.size() - 1);
//設置差額狀態
setDifferenceText(context);
}
//添加選中支付方式
mBillMoneyList.add(method);
mBillMoneyAdapter.setSelect_position(mBillMoneyList.size() - 1);
mBillMoneyAdapter.notifyDataSetChanged();
rv_bill_money.scrollToPosition(mBillMoneyList.size() - 1);
//設置差額狀態
setDifferenceText(context);
// }
});
mBillMoneyAdapter.setOnItemClickListener(new BillMoneyAdapter.OnItemClickListener() {
......@@ -270,9 +276,7 @@ public class OrderPayView extends LinearLayout {
public double getBillMoney() {
double totalMoney = 0.0;
for (PayMethod method : mBillMoneyList) {
if (method != null) {
totalMoney = MoneyUtil.sum(totalMoney, method.getPayMoney());
}
totalMoney = MoneyUtil.sum(totalMoney, method.getPayMoney());
}
return totalMoney;
}
......
......@@ -66,4 +66,7 @@ dependencies {
// test
testImplementation rootProject.ext.dependencies["junit"]
implementation rootProject.ext.dependencies["BaseRecyclerViewAdapter"]
implementation 'org.projectlombok:lombok:1.18.8'
annotationProcessor 'org.projectlombok:lombok:1.18.8'
}
package com.gingersoft.gsa.cloud.table.mvp.contract;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.OrderPayRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.jess.arms.base.DefaultAdapter;
import com.jess.arms.mvp.IModel;
import com.jess.arms.mvp.IView;
import java.util.List;
import io.reactivex.Observable;
import okhttp3.RequestBody;
......@@ -40,7 +43,7 @@ public interface BaseOrderContract {
Observable<BaseResult> addFood(RequestBody requestBody);
Observable<BaseResult> toOrderPay(RequestBody formBody);
Observable<BaseResult> toOrderPay(RequestBody requestBody);
Observable<BaseResult> updateOrder(RequestBody formBody);
......
......@@ -4,6 +4,8 @@ import android.app.Activity;
import android.widget.BaseAdapter;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult2;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.database.bean.Food;
......@@ -46,6 +48,8 @@ public interface MealStandContract {
void initFineItemTabBarViewPage();
void updateMemberInfo(MemberInfo memberInfo);
void setCurrentFinePage();
void setPluMode();
......@@ -105,6 +109,8 @@ public interface MealStandContract {
Activity getActivity();
void setModifierTop(int Margins);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......@@ -121,7 +127,7 @@ public interface MealStandContract {
Observable<FoodReason> getRestaurantFoodReason(int brandId, int restaurantId, int type);
Observable<BaseResult> queryMember(int type, String sign, String shopName);
Observable<BaseResult2> queryMember(int type, String parm, String shopName);
List<Food> queryDB_AllFoodList();
......
......@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult2;
import com.gingersoft.gsa.cloud.base.common.bean.OrderPayRequest;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Discount;
......@@ -27,6 +29,7 @@ import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
......@@ -177,15 +180,15 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
}
@Override
public Observable<BaseResult> queryMember(int type, String parm, String shopName) {
public Observable<BaseResult2> queryMember(int type, String parm, String shopName) {
return mRepositoryManager.obtainRetrofitService(MemberService.class)
.queryMember(type,parm,shopName);
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody formBody) {
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(formBody);
.toOrderPay(requestBody);
}
@Override
......
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.OrderPayRequest;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.database.bean.Discount;
......@@ -117,9 +118,9 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody formBody) {
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(formBody);
.toOrderPay(requestBody);
}
@Override
......
......@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.OrderPayRequest;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import com.gingersoft.gsa.cloud.table.mvp.model.service.MealService;
......@@ -12,6 +13,8 @@ import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
import java.util.List;
import javax.inject.Inject;
import io.reactivex.Observable;
......@@ -96,9 +99,9 @@ public class OrderPayModel extends BaseModel implements OrderPayContract.Model {
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody formBody) {
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
return mRepositoryManager.obtainRetrofitService(OrderPayService.class)
.toOrderPay(formBody);
.toOrderPay(requestBody);
}
@Override
......
......@@ -2,11 +2,11 @@ package com.gingersoft.gsa.cloud.table.mvp.model.bean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import static com.gingersoft.gsa.cloud.base.common.bean.OrderDetail.FOOD_TYPE;
import static com.gingersoft.gsa.cloud.base.common.bean.OrderDetail.getItemType;
......@@ -17,6 +17,7 @@ import static com.gingersoft.gsa.cloud.base.common.bean.OrderDetail.getItemType;
* 修订历史:2020-03-14
* 描述:已結賬訂單
*/
@Data
public class OrderDetailItem implements Serializable {
/**
......@@ -53,15 +54,15 @@ public class OrderDetailItem implements Serializable {
private double totalAmount;
private int totalPoints;
/**支付金額*/
private double amount;
// private double amount;
/**賬單小數*/
private Double rounding;
/**服務費*/
private Double serviceAmount;
private String payName;
private String orderPayType;
private double tipsPrice;
private byte linePayType;
// private String payName;
// private String orderPayType;
// private double tipsPrice;
// private byte linePayType;
/**折扣ID*/
private Long discountId;
/**折扣金額*/
......@@ -78,6 +79,7 @@ public class OrderDetailItem implements Serializable {
private String endTime;
private List<OrderBean.OrderDetailsBean> orderDetails;
private List<orderPayBean> orderPays;
/**
* 訂單狀態:0:未支付;1:待確認(已支付, 待餐廳確認);2:制作中(餐厅确认);3:派送中;4:确认收货(完成);5:是否评论;6:取消;
......@@ -90,190 +92,24 @@ public class OrderDetailItem implements Serializable {
public static final byte STATUS_COMMENT = 5;
public static final byte STATUS_CANCEL = 6;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public int getTableId() {
return tableId;
}
public void setTableId(int tableId) {
this.tableId = tableId;
}
public String getOrderNo() {
return orderNo;
}
public void setOrderNo(String orderNo) {
this.orderNo = orderNo;
}
public String getOrderPayType() {
return orderPayType;
}
public void setOrderPayType(String orderPayType) {
this.orderPayType = orderPayType;
}
public Double getRounding() {
return rounding;
}
public void setRounding(Double rounding) {
this.rounding = rounding;
}
public Double getServiceAmount() {
return serviceAmount;
}
public void setServiceAmount(Double serviceAmount) {
this.serviceAmount = serviceAmount;
}
public double getTipsPrice() {
return tipsPrice;
}
public void setTipsPrice(double tipsPrice) {
this.tipsPrice = tipsPrice;
}
public byte getLinePayType() {
return linePayType;
}
public void setLinePayType(byte linePayType) {
this.linePayType = linePayType;
}
public String getPayName() {
return payName;
}
public void setPayName(String payName) {
this.payName = payName;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public double getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(double totalAmount) {
this.totalAmount = totalAmount;
}
public int getTotalPoints() {
return totalPoints;
}
public void setTotalPoints(int totalPoints) {
this.totalPoints = totalPoints;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public double getDiscountAmount() {
return discountAmount;
}
public void setDiscountAmount(double discountAmount) {
this.discountAmount = discountAmount;
}
public double getDiscountValue() {
return discountValue;
}
public void setDiscountValue(double discountValue) {
this.discountValue = discountValue;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public int getPerson() {
return person;
}
public void setPerson(int person) {
this.person = person;
}
public Long getDiscountId() {
return discountId;
}
@Data
public static class orderPayBean{
private long id;
private long lineOrderId;
private int payType;
private Date payTime;
private double amount;
private double tipsPrice;
private int status;
private int linePayType;
private double paySales;
private String payName;
public void setDiscountId(Long discountId) {
this.discountId = discountId;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public List<OrderBean.OrderDetailsBean> getOrderDetails() {
return orderDetails;
}
public void setOrderDetails(List<OrderBean.OrderDetailsBean> orderDetails) {
this.orderDetails = orderDetails;
}
// public static List<OrderDetail> orderTransOrderDetails(List<OrderBean.OrderDetailsBean> orderDetails) {
// List<OrderDetail> orderDetailList = new ArrayList<>();
// OrderDetail parentOrderDetail = null;
......
package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult2;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.BaseRespose;
import java.util.Map;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import retrofit2.http.Field;
......@@ -20,6 +23,6 @@ public interface MemberService {
@Headers({"Domain-Name: update_version"})
@GET("member/getMemberInfo?" + RetrofitUrlManager.IDENTIFICATION_PATH_SIZE + 2)
Observable<BaseResult> queryMember(@Query("type") int type,@Query("parm") String parm,@Query("gsposShopId") String shopName);
Observable<BaseResult2> queryMember(@Query("type") int type, @Query("parm") String parm, @Query("gsposShopId") String shopName);
}
package com.gingersoft.gsa.cloud.table.mvp.model.service;
import com.gingersoft.gsa.cloud.base.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.base.common.bean.OrderPayRequest;
import java.util.List;
import io.reactivex.Observable;
import me.jessyan.retrofiturlmanager.RetrofitUrlManager;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
......
......@@ -322,6 +322,14 @@ public class BaseOrderPresenter<M extends BaseOrderContract.Model, V extends Bas
}
/**
* 添加會員項
*/
private void addOrderMember(){
}
/**
* 添加餐檯服務費
*/
private void addTableServiceAmount() {
......
......@@ -10,6 +10,8 @@ import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.aspectj.XClickUtil;
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.BaseResult2;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.base.common.bean.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
......@@ -163,7 +165,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Override
public void onRequestPermissionSuccess() {
Intent intent = new Intent(IActivity, CaptureActivity.class);
IActivity.startActivityForResult(intent,MealStandActivity. SCAN_REQUEST_CODE);
IActivity.startActivityForResult(intent, MealStandActivity.SCAN_REQUEST_CODE);
}
@Override
......@@ -884,18 +886,28 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
});
}
public void queryMember(int type, String sign, String shopName) {
mModel.queryMember(type, sign,shopName)
public void queryMember(int type, String parm, String shopName) {
mModel.queryMember(type, parm, shopName)
.subscribeOn(Schedulers.io())
.subscribeOn(AndroidSchedulers.mainThread())
.observeOn(AndroidSchedulers.mainThread())
.compose(RxLifecycleUtils.bindToLifecycle(mRootView))
.subscribe(new ErrorHandleSubscriber<BaseResult>(mErrorHandler) {
.subscribe(new ErrorHandleSubscriber<BaseResult2>(mErrorHandler) {
@Override
public void onNext(@NonNull BaseResult info) {
public void onNext(@NonNull BaseResult2 info) {
if (info != null && info.getCode().equals("1")) {
if (info.getData() != null) {
MemberInfo memberInfo = JsonUtils.parseObject(info.getData(), MemberInfo.class);
if (memberInfo != null) {
mRootView.updateMemberInfo(memberInfo);
}
} else {
mRootView.showMessage("獲取會員信息失敗!");
}
} else {
mRootView.showMessage(info.getErrorMsg());
}
}
});
}
......@@ -1127,9 +1139,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*/
public void updateFoodSoldoutCtrData() {
// if (mSoldoutCtrList.size() > 0) {
clearFoodSoldoutCtrData();
addFoodSoldoutCtrItem(mSoldoutCtrList);
setFoodSoldoutCtrData(mSoldoutCtrList);
clearFoodSoldoutCtrData();
addFoodSoldoutCtrItem(mSoldoutCtrList);
setFoodSoldoutCtrData(mSoldoutCtrList);
// }
}
......@@ -1138,8 +1150,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*/
public void updateComboItemSoldoutCtrData() {
// if (mSoldoutCtrList.size() > 0) {
updateFoodSoldoutCtrData();
mComboAdapter.notifyDataSetChanged();
updateFoodSoldoutCtrData();
mComboAdapter.notifyDataSetChanged();
// }
}
......@@ -1148,10 +1160,10 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
*/
public void updateModifierSoldoutCtrData() {
// if (mSoldoutCtrList.size() > 0) {
clearModifierSoldoutCtrData();
addModifierCtrItem(mSoldoutCtrList);
setModifierSoldoutCtrData(mModifierList, mSoldoutCtrList);
mModifierAdapter.notifyDataSetChanged();
clearModifierSoldoutCtrData();
addModifierCtrItem(mSoldoutCtrList);
setModifierSoldoutCtrData(mModifierList, mSoldoutCtrList);
mModifierAdapter.notifyDataSetChanged();
// }
}
......@@ -1754,11 +1766,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if (item.getSelected() != 0) {
if (item.getItemType() == 1) {
int j = i;
int insertPosition = getEndInsertPosition(newOrderList,item,i);
int insertPosition = getEndInsertPosition(newOrderList, item, i);
if (insertPosition != -1) {
j = insertPosition + 1;
} else {
j++;
if (insertPosition < newOrderList.size()) {
j = insertPosition + 1;
}else {
j = insertPosition;
}
}
long id = item.isNew() ? item.getProductId() : item.getId();
OrderDetail modifierTransOrderDetail = OrderDetail.modifierTransOrderDetail(modifierItem, id, item.getProductId(), 1);
......@@ -1775,9 +1789,9 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return addPosition;
}
private int getEndInsertPosition(List<OrderDetail> newOrderList,OrderDetail orderDetail,int currentI) {
for (int i = currentI; i < mOrderFoodList.size(); i++) {
OrderDetail item = mOrderFoodList.get(i);
private int getEndInsertPosition(List<OrderDetail> newOrderList, OrderDetail orderDetail, int currentI) {
for (int i = currentI; i < newOrderList.size(); i++) {
OrderDetail item = newOrderList.get(i);
//往下找
int nextIndex = i + 1;
// if (mOrderFoodList.size() == (nextIndex - 1) && mOrderFoodList.get(nextIndex).getItemType() == 3) {
......@@ -1789,11 +1803,11 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
// return i;
// }
boolean samePackage = item.getParentProductId() == orderDetail.getProductId() || item.getProductId() == orderDetail.getProductId();
if (mOrderFoodList.size() == nextIndex && samePackage) {
if (newOrderList.size() == nextIndex && samePackage) {
//最後一個
return nextIndex;
}
if (mOrderFoodList.get(nextIndex).getItemType() != 3 && samePackage) {
if (newOrderList.get(nextIndex).getItemType() != 3 && samePackage) {
//添加到主食品細項最後面
return i;
}
......
......@@ -8,6 +8,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
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.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.OrderPayRequest;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
......@@ -212,14 +213,18 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
OrderPayView orderPayView = IActivity.getGsaPayView();
if (orderPayView.getBillMoneyList() == null || orderPayView.getBillMoneyList().size() == 0)
return;
RequestBody requestBody = new FormBody.Builder()
.add("orderPayType", String.valueOf(orderPayType))
.add("payType", String.valueOf(orderPayView.getBillMoneyList().get(0).getId()))
.add("orderId", String.valueOf(MyOrderManage.getInstance().getOrderId()))
.add("amount", String.valueOf(orderPayView.getBillMoney()))
.add("linePayType", String.valueOf(orderPayView.getLinePayType()))
.add("tipsPrice", String.valueOf(orderPayView.getTipsPrice()))
.build();
// RequestBody requestBody = new FormBody.Builder()
// .add("orderPayType", String.valueOf(orderPayType))
// .add("payType", String.valueOf(orderPayView.getBillMoneyList().get(0).getId()))
// .add("orderId", String.valueOf(MyOrderManage.getInstance().getOrderId()))
// .add("amount", String.valueOf(orderPayView.getBillMoney()))
// .add("linePayType", String.valueOf(orderPayView.getLinePayType()))
// .add("tipsPrice", String.valueOf(orderPayView.getTipsPrice()))
// .build();
String deleteOrderRequest = GsonUtils.GsonString(getOrderPayRequest(orderPayView));
RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), deleteOrderRequest);
mModel.toOrderPay(requestBody)
.subscribeOn(Schedulers.io())
.doOnSubscribe(disposable -> {
......@@ -249,6 +254,32 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
});
}
private OrderPayRequest getOrderPayRequest(OrderPayView orderPayView) {
List<PayMethod> payMethodList = orderPayView.getBillMoneyList();
OrderPayRequest payRequest = new OrderPayRequest();
payRequest.setOrderId(MyOrderManage.getInstance().getOrderId());
payRequest.setOrderPayType(orderPayType);
payRequest.setLinePayType(orderPayView.getLinePayType());
for (int i = 0; i < payMethodList.size(); i++) {
PayMethod payMethod = payMethodList.get(i);
OrderPayRequest.orderPay orderPay = new OrderPayRequest.orderPay();
orderPay.setPayType(payMethod.getId());
if (payMethodList.size() == 2) {
if (i == 1) {
//小费放在第二种支付方式里面
orderPay.setTipsPrice(orderPayView.getTipsPrice());
}
} else {
orderPay.setTipsPrice(orderPayView.getTipsPrice());
}
orderPay.setAmount(payMethod.getPayMoney());
payRequest.getOrderPays().add(orderPay);
}
return payRequest;
}
/**
* 修改訂單更新支付方式
*/
......
......@@ -183,6 +183,10 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
mRootView.setCurrentOperatType(TableOperatTypeConstant.move_table_4);
break;
case 2:
//分檯
mRootView.setCurrentOperatType(TableOperatTypeConstant.splite_table_1);
break;
case 3:
//上菜紙
mRootView.setCurrentOperatType(TableOperatTypeConstant.print_parper_2);
break;
......@@ -201,7 +205,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
// mBottomFunctionList.addAll(functions);
mBottomFunctionList.add(new Function((long) 1, "重置檯號", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_init));
mBottomFunctionList.add(new Function((long) 2, "轉檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_move));
// mBottomFunctionList.add(new Function((long) 3, "分檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_splite));
mBottomFunctionList.add(new Function((long) 3, "分檯", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_splite));
// mBottomFunctionList.add(new Function((long) 4, "skyorder", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_skyorder));
mBottomFunctionList.add(new Function((long) 5, "上菜紙", ArmsUtils.getColor(IActivity, R.color.theme_black), ArmsUtils.getDimens(IActivity, R.dimen.sp_14), R.mipmap.table_paper));
}
......
......@@ -35,12 +35,14 @@ import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager.widget.ViewPager;
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.OrderBean;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.encryption.Md5;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
......@@ -58,11 +60,13 @@ import com.gingersoft.gsa.cloud.constans.MealConstant;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.MemberInfoAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.widget.UseMemberDialog;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerConfig;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager;
import com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper;
......@@ -89,6 +93,7 @@ import org.simple.eventbus.EventBus;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -235,11 +240,16 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@BindView(R2.id.tv_fine_type)
TextView tv_fine_type;
private ChooseNumberDialog chooseNumberDialog;
private FragmentManager fm;
private FineItemAllFragment modMsgFineItemFragment, modSasteFineItemFragment;
private ChooseNumberDialog mChooseNumberDialog;
private UseMemberDialog mUseMemberDialog;
private MemberInfoAdapter mMemberInfoAdapter;
private List<SectionTextItem> mMemberInfoList;
private RecyclerView recycler_member_info;
/**
* 是否初始化细项布局
*/
......@@ -502,6 +512,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
showViewModeVisibility(MealConstant.fine_ViewMode, MealConstant.fine_tabs_ViewMode);
}
@Override
public void setCurrentFinePage() {
if (currentFinePage == 0) {
......@@ -556,27 +567,64 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@OnClick(R2.id.btn_table)
void onClickTable() {
//type取值:1qrCdoetype,2:手機號,3:memberId
new UseMemberDialog.BottomLayoutBuilder(this)
// mUseMemberDialog = new UseMemberDialog(this);
mUseMemberDialog = new UseMemberDialog.BottomLayoutBuilder(this)
.setOnLayoutClickListener(new UseMemberDialog.BottomLayoutBuilder.OnLayoutClickListener() {
@Override
public void onInputPhone(UseMemberDialog dialog, String phone) {
Map<String, String> parameterMap = new HashMap<>();
parameterMap.put("type", "2");
parameterMap.put("parm", phone);
// Md5 md5 = new Md5();
// String sign = md5.getMD5ofStr(parameterMap);
// mPresenter.queryMember(2,sign,GsaCloudApplication.getGsPosShopId(mContext));
mPresenter.queryMember(2, phone, GsaCloudApplication.getGsPosShopId(mContext));
}
@Override
public void onScanAction(UseMemberDialog dialog) {
mPresenter.toScanActivity();
}
@Override
public void setAdapter(RecyclerView recycler_member_info) {
if (mMemberInfoList == null) {
mMemberInfoList = new ArrayList<>();
}
if (mMemberInfoAdapter == null) {
mMemberInfoAdapter = new MemberInfoAdapter(mMemberInfoList);
}
recycler_member_info.setAdapter(mMemberInfoAdapter);
}
@Override
public void clearMemberInfo() {
if (mMemberInfoList.size() > 0) {
mMemberInfoList.clear();
}
mMemberInfoAdapter.notifyDataSetChanged();
}
})
.build()
.show();
.build();
mUseMemberDialog.show();
}
@Override
public void updateMemberInfo(MemberInfo memberInfo) {
if (mUseMemberDialog != null) {
List<SectionTextItem> data = getMemberInfoItem(memberInfo);
if (mMemberInfoList.size() > 0) {
mMemberInfoList.clear();
}
mMemberInfoList.addAll(data);
mMemberInfoAdapter.notifyDataSetChanged();
}
}
private List<SectionTextItem> getMemberInfoItem(MemberInfo memberInfo) {
List<SectionTextItem> textItems = new ArrayList<>();
textItems.add(new SectionTextItem("會員號碼: " + memberInfo.getMemberNo()));
textItems.add(new SectionTextItem("會員電話: " + memberInfo.getPhone()));
textItems.add(new SectionTextItem("會員名稱: " + memberInfo.getMemberName()));
textItems.add(new SectionTextItem("積分: " + memberInfo.getMemberPoint()));
return textItems;
}
@OnClick(R2.id.btn_multiple_selection)
void onClickMultipleSelection() {
......@@ -671,9 +719,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
mPresenter.changeNumber(i);
break;
case 99:
ChooseNumberDialog chooseNumberDialog = new ChooseNumberDialog(this);
chooseNumberDialog.builder();
chooseNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
ChooseNumberDialog mChooseNumberDialog = new ChooseNumberDialog(this);
mChooseNumberDialog.builder();
mChooseNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
@Override
public void onComfirmClick(String number) {
......@@ -687,9 +735,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
public void onBackPage() {
}
});
chooseNumberDialog.setValueHint("請輸入數量");
chooseNumberDialog.setCancelable(true);
chooseNumberDialog.show();
mChooseNumberDialog.setValueHint("請輸入數量");
mChooseNumberDialog.setCancelable(true);
mChooseNumberDialog.show();
break;
}
} else if (id == R.id.iv_fine_back) {
......@@ -764,14 +812,14 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public void showChoosePeopleNumDialog(boolean isNeedCancel) {
if (chooseNumberDialog == null) {
chooseNumberDialog = new ChooseNumberDialog(this);
chooseNumberDialog.builder();
chooseNumberDialog.setValueHint("請輸入人數");
if (mChooseNumberDialog == null) {
mChooseNumberDialog = new ChooseNumberDialog(this);
mChooseNumberDialog.builder();
mChooseNumberDialog.setValueHint("請輸入人數");
// mInputNumberDialog2.setTitle(LanguageUtils.get_language_system(this, "Meal.Mannumber", "Number"));
// mInputNumberDialog2.setHeadLayoutVisibility(View.VISIBLE);
if (!isNeedCancel)
chooseNumberDialog.setOnBackClickListener(new ChooseNumberDialog.OnBackClickListener() {
mChooseNumberDialog.setOnBackClickListener(new ChooseNumberDialog.OnBackClickListener() {
@Override
public void OnBackClick() {
......@@ -785,7 +833,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
} else {
backPageBtnVisibility = View.VISIBLE;
}
chooseNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
mChooseNumberDialog.setOnClickListener(new ChooseNumberDialog.OnClickListener() {
@Override
public void onComfirmClick(String number) {
......@@ -803,9 +851,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
returnBeforeActivity(true);
}
});
chooseNumberDialog.setCancelable(isNeedCancel);
mChooseNumberDialog.setCancelable(isNeedCancel);
}
chooseNumberDialog.show();
mChooseNumberDialog.show();
}
@Override
......
......@@ -292,8 +292,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
break;
case TableOperatTypeConstant.move_table_4:
if(mPresenter.getOriginalTableId() == dataBean.getId()){
CommonTipDialog.showCancelDialog(this, "相同檯不能转檯", OrderContentPresenter.class, mPresenter,
"", null, null);
CommonTipDialog.showCancelDialog(this, "相同檯不能转檯", OrderContentPresenter.class, mPresenter, "", null, null);
return;
}
//獲取餐檯狀態
......@@ -334,7 +333,9 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
public void setOperatTitle() {
switch (mPresenter.getCurrentChooseOperatType()) {
case TableOperatTypeConstant.splite_table_1:
tv_operat_hint.setText("請選擇檯號");
tv_operat_content.setText("");
mTopBar.setTitle("分檯");
break;
case TableOperatTypeConstant.print_parper_2:
tv_operat_hint.setText("請選擇檯號");
......
......@@ -174,7 +174,7 @@ public class OrderDetailActivity extends BaseActivity<OrderDetailPresenter> impl
if (!TextUtils.isEmpty(orderDetailItem.getEndTime())) {
tv_pay_time.setText(payBill + TimeUtil.getStringByFormat(new Date(orderDetailItem.getEndTime()), TimeUtil.dateFormatYMDHM));
}
tv_total_money.setText("$" + orderDetailItem.getAmount());
tv_total_money.setText("$" + orderDetailItem.getTotalAmount());
setOrderStatus(orderDetailItem);
......
package com.gingersoft.gsa.cloud.table.mvp.ui.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import java.util.List;
import androidx.annotation.Nullable;
public class MemberInfoAdapter extends BaseQuickAdapter<SectionTextItem, BaseViewHolder> {
public MemberInfoAdapter(@Nullable List<SectionTextItem> data) {
super(R.layout.meal_item_member_info, data);
}
@Override
protected void convert(BaseViewHolder helper, SectionTextItem item) {
helper.setText(R.id.tv_text, item.getText());
}
}
......@@ -19,6 +19,8 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.ui.adapter.BasTextSectiontAdapter;
import com.gingersoft.gsa.cloud.ui.bean.mode.BrandsBean;
......@@ -34,9 +36,11 @@ import com.qmuiteam.qmui.widget.section.QMUISection;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionAdapter;
import com.qmuiteam.qmui.widget.section.QMUIStickySectionLayout;
import com.rengwuxian.materialedittext.MaterialEditText;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
......@@ -59,6 +63,7 @@ public class UseMemberDialog extends Dialog {
private View mContentView;
private boolean mIsAnimating = false;
private OnBottomSheetShowListener mOnBottomSheetShowListener;
public UseMemberDialog(Context context) {
......@@ -204,6 +209,7 @@ public class UseMemberDialog extends Dialog {
void onShow();
}
/**
* 生成宫格类型的 {@link QMUIBottomSheet} 对话框。
*/
......@@ -212,10 +218,12 @@ public class UseMemberDialog extends Dialog {
private Context mContext;
private UseMemberDialog mDialog;
private MemberInfo mMemberInfo;
private QMUITopBar mTopBar;
private RecyclerView.LayoutManager mLayoutManager;
private RecyclerView recycler_memeber_info;
private RecyclerView recycler_member_info;
private MaterialEditText ed_phone;
private ImageView iv_no_data;
private LinearLayout ll_bottom;
......@@ -229,6 +237,9 @@ public class UseMemberDialog extends Dialog {
mContext = context;
}
public void setMemberInfo(MemberInfo mMemberInfo) {
this.mMemberInfo = mMemberInfo;
}
@Override
public void onClick(View v) {
......@@ -251,7 +262,7 @@ public class UseMemberDialog extends Dialog {
private View buildViews() {
View view = View.inflate(mContext, getContentViewLayoutId(), null);
mTopBar = view.findViewById(R.id.topbar);
recycler_memeber_info = view.findViewById(R.id.recycler_memeber_info);
recycler_member_info = view.findViewById(R.id.recycler_memeber_info);
ed_phone = view.findViewById(R.id.ed_phone);
iv_no_data = view.findViewById(R.id.iv_no_data);
btn_query_memeber = view.findViewById(R.id.btn_query_memeber);
......@@ -260,23 +271,23 @@ public class UseMemberDialog extends Dialog {
btn_clear_member = view.findViewById(R.id.btn_use_member);
initTopbar();
initStickyLayout();
initRecyclerLayout();
btn_query_memeber.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtils.isEmpty(getTvPhone())){
if (TextUtils.isEmpty(getTvPhone())) {
ed_phone.setError("請輸入會員手機號");
return;
}
if(onLayoutClickListener != null){
onLayoutClickListener.onInputPhone(mDialog,getTvPhone());
if (onLayoutClickListener != null) {
onLayoutClickListener.onInputPhone(mDialog, getTvPhone());
}
}
});
btn_scan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(onLayoutClickListener != null){
if (onLayoutClickListener != null) {
onLayoutClickListener.onScanAction(mDialog);
}
}
......@@ -290,14 +301,26 @@ public class UseMemberDialog extends Dialog {
btn_clear_member.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (onLayoutClickListener != null) {
onLayoutClickListener.clearMemberInfo();
}
}
});
if (onLayoutClickListener != null) {
onLayoutClickListener.setAdapter(recycler_member_info);
}
return view;
}
private void initTopbar() {
mTopBar.setBackgroundColor(ContextCompat.getColor(mContext, R.color.theme_color));
mTopBar.addRightTextButton("清除",R.id.btn_right)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
@Override
......@@ -308,11 +331,15 @@ public class UseMemberDialog extends Dialog {
mTopBar.setTitle("使用會員");
}
private void initStickyLayout() {
private void initRecyclerLayout() {
mLayoutManager = createLayoutManager();
// mSectionLayout.setLayoutManager(mLayoutManager);
recycler_member_info.setLayoutManager(mLayoutManager);
}
public void setAdapter(BaseQuickAdapter adapter) {
recycler_member_info.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
private RecyclerView.LayoutManager createLayoutManager() {
return new LinearLayoutManager(mContext) {
......@@ -324,7 +351,7 @@ public class UseMemberDialog extends Dialog {
};
}
private String getTvPhone(){
private String getTvPhone() {
return ed_phone.getText().toString();
}
......@@ -350,6 +377,10 @@ public class UseMemberDialog extends Dialog {
void onInputPhone(UseMemberDialog dialog, String phone);
void onScanAction(UseMemberDialog dialog);
void setAdapter(RecyclerView recycler_member_info);
void clearMemberInfo();
}
}
......
......@@ -114,6 +114,4 @@
android:textSize="@dimen/sp_14" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tv_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:paddingTop="@dimen/dp_5"
android:paddingBottom="@dimen/dp_5"
android:gravity="center_vertical"
android:text="會員名稱"
android:textColor="@color/theme_black"
android:textSize="@dimen/sp_14" />
......@@ -70,8 +70,7 @@
<ImageView
android:id="@+id/iv_tab_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
android:layout_height="wrap_content" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_bottom_function"
......@@ -87,7 +86,7 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dp_55"
android:textColor="@color/theme_white_color"
android:background="@color/theme_grey_color"
android:background="@color/transparent"
android:layout_alignParentBottom="true"
android:visibility="invisible"
android:text="取消" />
......
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