Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
supplier
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王宇航
supplier
Commits
b01803d9
Commit
b01803d9
authored
Apr 30, 2021
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、添加部分會員優惠券邏輯
parent
f699e909
Hide whitespace changes
Inline
Side-by-side
Showing
39 changed files
with
1249 additions
and
1370 deletions
+1249
-1370
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/SoldoutCtrFood.java
+54
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/event/LoadFineEvent.java
+41
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter2.java
+14
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+8
-14
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/discount/NomalDiscountPresenter.java
+2
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FineChildAllPresenter.java
+0
-32
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/SetMealPresenter.java
+150
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
+0
-2
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountDialogFragment.java
+2
-5
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountFragment.java
+11
-8
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineChildAllFragment.java
+19
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/RiceponMemberDialogFragment.java
+7
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/SetMealFragment.java
+97
-38
component-table/src/main/res/layout/fragment_bill_discount.xml
+4
-4
component-table/src/main/res/layout/fragment_coupon.xml
+2
-2
component-table/src/main/res/layout/meal_layout_food_menu.xml
+2
-16
component-table/src/main/res/layout/meal_layout_meal_fine.xml
+19
-7
component-table/src/main/res/layout/table_dialog_discout.xml
+1
-1
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/member/MemberInfo.java
+373
-506
library-order/src/main/java/com/gingersoft/gsa/cloud/order/cart/ShoppingCart.java
+24
-24
library-order/src/main/java/com/gingersoft/gsa/cloud/order/commodity/OrderDetail.java
+54
-500
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PaymentControl.java
+3
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCommandImp.java
+0
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/contract/YedpayContract.java
+47
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/di/component/YedpayComponent.java
+42
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/di/module/YedpayModule.java
+31
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/fragment/YedpayFragment.java
+154
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/YedpayModel.java
+13
-12
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/service/YedpayService.java
+28
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/presenter/YedpayPresenter.java
+28
-25
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/contract/PayFlowContract.java
+0
-6
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/di/component/PayFlowComponent.java
+2
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/di/module/PayFlowModule.java
+3
-5
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/fragment/PayFlowFragment.java
+4
-41
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/model/bean/YedPayRefundBean.java
+0
-12
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/model/bean/YedpayFindSaleStatusBean.java
+0
-36
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/model/service/PayFlowService.java
+0
-55
library-order/src/main/res/layout/fragment_yedpay.xml
+9
-0
No files found.
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/SoldoutCtrFood.java
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
bean
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
android.text.TextUtils
;
import
java.io.File
;
...
...
@@ -16,7 +18,7 @@ import lombok.Setter;
*/
@Getter
@Setter
public
class
SoldoutCtrFood
{
public
class
SoldoutCtrFood
implements
Parcelable
{
private
long
id
;
private
int
restaurantId
;
...
...
@@ -100,4 +102,55 @@ public class SoldoutCtrFood {
}
return
""
;
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeLong
(
this
.
id
);
dest
.
writeInt
(
this
.
restaurantId
);
dest
.
writeLong
(
this
.
brandId
);
dest
.
writeValue
(
this
.
foodId
);
dest
.
writeValue
(
this
.
modifierId
);
dest
.
writeByte
(
this
.
type
);
dest
.
writeInt
(
this
.
remainingNumber
);
dest
.
writeInt
(
this
.
useNumber
);
dest
.
writeString
(
this
.
foodName
);
dest
.
writeString
(
this
.
foodName1
);
dest
.
writeString
(
this
.
foodName2
);
dest
.
writeByte
(
this
.
isStop
?
(
byte
)
1
:
(
byte
)
0
);
dest
.
writeInt
(
this
.
selected
);
}
protected
SoldoutCtrFood
(
Parcel
in
)
{
this
.
id
=
in
.
readLong
();
this
.
restaurantId
=
in
.
readInt
();
this
.
brandId
=
in
.
readLong
();
this
.
foodId
=
(
Long
)
in
.
readValue
(
Long
.
class
.
getClassLoader
());
this
.
modifierId
=
(
Long
)
in
.
readValue
(
Long
.
class
.
getClassLoader
());
this
.
type
=
in
.
readByte
();
this
.
remainingNumber
=
in
.
readInt
();
this
.
useNumber
=
in
.
readInt
();
this
.
foodName
=
in
.
readString
();
this
.
foodName1
=
in
.
readString
();
this
.
foodName2
=
in
.
readString
();
this
.
isStop
=
in
.
readByte
()
!=
0
;
this
.
selected
=
in
.
readInt
();
}
public
static
final
Creator
<
SoldoutCtrFood
>
CREATOR
=
new
Creator
<
SoldoutCtrFood
>()
{
@Override
public
SoldoutCtrFood
createFromParcel
(
Parcel
source
)
{
return
new
SoldoutCtrFood
(
source
);
}
@Override
public
SoldoutCtrFood
[]
newArray
(
int
size
)
{
return
new
SoldoutCtrFood
[
size
];
}
};
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/event/LoadFineEvent.java
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
bean
.
event
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
java.util.ArrayList
;
import
java.util.List
;
import
lombok.Data
;
...
...
@@ -13,11 +17,47 @@ import lombok.Data;
* @描述:
*/
@Data
public
class
LoadFineEvent
{
public
class
LoadFineEvent
implements
Parcelable
{
private
int
currFinePage
;
private
long
productId
;
private
int
selectedMode
;
private
List
<
SoldoutCtrFood
>
soldoutCtrFoods
;
public
LoadFineEvent
(){
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeInt
(
this
.
currFinePage
);
dest
.
writeLong
(
this
.
productId
);
dest
.
writeInt
(
this
.
selectedMode
);
dest
.
writeList
(
this
.
soldoutCtrFoods
);
}
public
LoadFineEvent
(
Parcel
in
)
{
this
.
currFinePage
=
in
.
readInt
();
this
.
productId
=
in
.
readLong
();
this
.
selectedMode
=
in
.
readInt
();
this
.
soldoutCtrFoods
=
new
ArrayList
<
SoldoutCtrFood
>();
in
.
readList
(
this
.
soldoutCtrFoods
,
SoldoutCtrFood
.
class
.
getClassLoader
());
}
public
static
final
Creator
<
LoadFineEvent
>
CREATOR
=
new
Creator
<
LoadFineEvent
>()
{
@Override
public
LoadFineEvent
createFromParcel
(
Parcel
source
)
{
return
new
LoadFineEvent
(
source
);
}
@Override
public
LoadFineEvent
[]
newArray
(
int
size
)
{
return
new
LoadFineEvent
[
size
];
}
};
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
b01803d9
...
...
@@ -1144,7 +1144,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
orderItem
.
setPrice
(
item
.
getUnit_price
());
orderItem
.
setCost
(
item
.
getCost
());
orderItem
.
setType
(
item
.
getType
());
orderItem
.
setPrintSetIng
(
item
.
getPrint
s
eting
());
orderItem
.
setPrintSetIng
(
item
.
getPrint
S
eting
());
orderItem
.
setAblediscount
(
item
.
getAblediscount
());
orderItem
.
setScAble
(
item
.
getScAble
());
if
(
item
.
canAbleDiscount
())
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter2.java
View file @
b01803d9
...
...
@@ -20,6 +20,7 @@ import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.order.bean.request.OrderDiscountRequest
;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse
;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderResponse
;
...
...
@@ -346,7 +347,19 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
couponDiscount
.
setSpend
(
orderDiscount
.
getSpend
());
couponDiscount
.
setDiscount
(
orderDiscount
.
getDiscountValue
());
couponDiscount
.
setAmount
(
orderDiscount
.
getDiscountAmount
());
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createCouponDiscount
(
couponDiscount
,
BillItem
.
BILL_ITEM_ORDER_SENT_STATUS
));
// MemberWalletCoupon memberWalletCoupon = new MemberWalletCoupon();
// memberWalletCoupon.setDiscountRecordId(orderDiscount.getId());
// memberWalletCoupon.setCouponTypeName1(orderDiscount.getRemark());
// memberWalletCoupon.setCouponTypeName2(orderDiscount.getRemark2());
// memberWalletCoupon.setCouponTypeName3(orderDiscount.getRemark3());
// memberWalletCoupon.setAccumulate(orderDiscount.getAccumulate());
// memberWalletCoupon.setSpend(orderDiscount.getSpend());
// memberWalletCoupon.setDiscount(orderDiscount.getDiscountValue());
// memberWalletCoupon.setAmount(orderDiscount.getDiscountAmount());
// mShoppingCart.addMultyDiscount(mShoppingCart.createMemberWalletCoupon(couponDiscount, BillItem.BILL_ITEM_ORDER_SENT_STATUS));
}
}
}
...
...
@@ -1146,7 +1159,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
orderItem
.
setPrice
(
item
.
getUnit_price
());
orderItem
.
setCost
(
item
.
getCost
());
orderItem
.
setType
(
item
.
getType
());
orderItem
.
setPrintSetIng
(
item
.
getPrint
s
eting
());
orderItem
.
setPrintSetIng
(
item
.
getPrint
S
eting
());
orderItem
.
setAblediscount
(
item
.
getAblediscount
());
orderItem
.
setScAble
(
item
.
getScAble
());
if
(
item
.
canAbleDiscount
())
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
b01803d9
...
...
@@ -117,7 +117,6 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
* 分檯弹窗
*/
private
SplitTableDialog
mSplitTableDialog
;
private
DiscountDialog
.
Builder
mDiscountDialog
;
/**
* 整單折扣
*/
...
...
@@ -138,6 +137,10 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
//转移食品可多选
mSelectMealAdapter
.
setSelectedMode
(
SelectMealAdapter
.
MULTIPLE_SELECTED
);
}
initAction
();
}
private
void
initAction
()
{
mNomalDiscountAction
=
BillDiscountAction
.
builder
()
.
cashStr
(
cashStr
)
.
context
(
IActivity
)
...
...
@@ -156,17 +159,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
})
.
build
();
mBillCouponAction
=
BillCouponAction
.
builder
()
.
context
(
IActivity
)
.
cashStr
(
cashStr
)
.
listener
(
new
BillCouponAction
.
OnCallBackListener
()
{
@Override
public
void
preformAddCoupon
(
MemberWalletCoupon
coupon
)
{
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createMemberWalletCoupon
(
coupon
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
));
DoshokuOrder
.
getInstance
().
setBillItemStatus
(
DoshokuOrder
.
DISCOUNT_ITEM_TAG
);
updateBillInfo
();
}
.
listener
((
coupon
)
->
{
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createMemberWalletCoupon
(
coupon
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
));
DoshokuOrder
.
getInstance
().
setBillItemStatus
(
DoshokuOrder
.
DISCOUNT_ITEM_TAG
);
updateBillInfo
();
})
.
build
();
}
...
...
@@ -1035,9 +1034,4 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
return
mFunctionList
;
}
public
void
closeDiscountDialog
()
{
if
(
mDiscountDialog
!=
null
)
{
mDiscountDialog
.
closeDialog
();
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/discount/NomalDiscountPresenter.java
View file @
b01803d9
...
...
@@ -6,7 +6,9 @@ import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.table.mvp.action.discount.MealDiscountAction
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.NomalDiscountContract
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.di.scope.FragmentScope
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FineChildAllPresenter.java
View file @
b01803d9
...
...
@@ -219,41 +219,9 @@ public class FineChildAllPresenter extends BasePresenter<FineChildAllContract.Mo
//获取数据
mModel
.
queryDB_ModifierByModModTasteVisibleQueryBuilder
()
.
doOnError
(
new
Consumer
<
Throwable
>()
{
@Override
public
void
accept
(
Throwable
throwable
)
throws
Exception
{
mFineItemOneList
.
clear
();
}
})
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Modifier
>>(
mErrorHandler
)
{
// @Override
// public void onError(Throwable t) {
// super.onError(t);
// }
//
// @Override
// public void onComplete() {
// super.onComplete();
// }
//
// @Override
// public void onNext(List<Modifier> modifierList) {
// if (modifierList == null || modifierList.size() == 0) {
// mFineItemOneList.clear();
// mFineItemAllAdapter.notifyDataSetChanged();
// return;
// }
//
// setFid(modifierList, fid);
//
// mFineItemOneList.clear();
// mFineItemOneList.addAll(modifierList);
// mRootView.setFineItemAllRecycleSpanCount(mFineItemOneList.size());
// mFineItemAllAdapter.notifyDataSetChanged();
// }
@Override
public
void
onSuccess
(
List
<
Modifier
>
modifierList
)
{
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/SetMealPresenter.java
View file @
b01803d9
...
...
@@ -23,6 +23,7 @@ import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.AbstractDiscount
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
...
...
@@ -30,15 +31,19 @@ import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.order.bean.request.DeleteOrderRequest
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.action.discount.MealCouponAction
;
import
com.gingersoft.gsa.cloud.table.mvp.action.discount.MealDiscountAction
;
import
com.gingersoft.gsa.cloud.table.mvp.action.meal.PrinterAction
;
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.event.LoadFineEvent
;
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.presenter.BaseOrderPresenter
;
...
...
@@ -133,6 +138,14 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
List
<
SoldoutCtrFood
>
mSoldoutCtrList
;
//沽清食品數據
private
PrinterAction
mPrinterAction
;
/**
* 食品折扣
*/
private
MealDiscountAction
mMealDiscountAction
;
/**
* 食品優惠券
*/
private
MealCouponAction
mMealCouponAction
;
private
OrderDetail
mCurrentOrderDetailBean
;
private
boolean
RvMealClicked
;
...
...
@@ -140,6 +153,43 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
@Inject
public
SetMealPresenter
(
SetMealContract
.
Model
model
,
SetMealContract
.
View
rootView
)
{
super
(
model
,
rootView
);
initAction
();
}
private
void
initAction
()
{
mMealDiscountAction
=
MealDiscountAction
.
builder
()
.
context
(
mRootView
.
getActivity2
())
.
cashStr
(
cashStr
)
.
listener
(
new
MealDiscountAction
.
OnCallBackListener
()
{
@Override
public
void
exclusiveRemoveOthers
()
{
//獨佔折扣刪除其他折扣
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
mOrderMealList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
orderMealItem
=
mOrderMealList
.
get
(
i
);
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
mOrderMealList
.
remove
(
i
);
}
}
}
}
@Override
public
void
preformAddDiscount
(
Discount
discount
)
{
addDiscountItem
(
discount
);
}
})
.
build
();
mMealCouponAction
=
MealCouponAction
.
builder
()
.
context
(
mRootView
.
getActivity2
())
.
cashStr
(
cashStr
)
.
listener
((
discount
)
->
{
addCouponItem
(
discount
);
})
.
build
();
}
@Override
...
...
@@ -481,7 +531,7 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
//更新賬單金額
updateBillInfo
();
// IActivity.setFineItemSlodoutListFull(mSoldoutCtrList
);
updateFineFragmentSoldoutList
(
);
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
}
...
...
@@ -519,6 +569,21 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
});
}
public
void
discountAndCouponClick
(
AbstractDiscount
discountBean
)
{
if
(!
discountAndCouponConditionFilter
())
{
return
;
}
if
(
discountBean
instanceof
MemberWalletCoupon
)
{
mMealCouponAction
.
setSelectMixOrderMealList
(
getSelectMixOrderMealList
());
mMealCouponAction
.
action
((
MemberWalletCoupon
)
discountBean
);
}
else
if
(
discountBean
instanceof
Discount
)
{
mMealDiscountAction
.
setSelectMixOrderMealList
(
getSelectMixOrderMealList
());
mMealDiscountAction
.
action
((
Discount
)
discountBean
);
}
else
{
//TODO
}
}
private
void
addFoodItemBefore
(
OrderDetail
datasBean
)
{
int
addPosition
=
addFoodItem
(
datasBean
);
//这里主食品作为选中主体
...
...
@@ -658,6 +723,26 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
updateOrderFoodNumber
();
}
private
void
addDiscountItem
(
Discount
discount
)
{
//主食品ID
long
id
=
getCurrParentFoodId
();
mCurrentOrderDetailBean
=
OrderDetail
.
discountTransOrderDetail
(
discount
,
true
,
id
,
getDisountSourcePrice
());
int
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
mCurrentOrderDetailBean
);
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
//更新賬單金額
updateBillInfo
();
}
private
void
addCouponItem
(
MemberWalletCoupon
walletCoupon
)
{
//主食品ID
long
id
=
getCurrParentFoodId
();
mCurrentOrderDetailBean
=
OrderDetail
.
couponTransOrderDetail
(
walletCoupon
,
true
,
id
,
getDisountSourcePrice
());
int
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
mCurrentOrderDetailBean
);
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
//更新賬單金額
updateBillInfo
();
}
/**
* 刪除食品
*
...
...
@@ -812,7 +897,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
/**
* 打印上菜紙
*
*/
private
void
printSendOrder
()
{
if
(
DoshokuOrder
.
getInstance
().
getNewFoodList
()
==
null
||
DoshokuOrder
.
getInstance
().
getNewFoodList
().
size
()
<=
0
)
{
...
...
@@ -1060,7 +1144,8 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
return
addPosition
;
}
private
int
getEndInsertPosition
(
List
<
OrderDetail
>
newOrderList
,
OrderDetail
orderDetail
,
int
currentI
)
{
private
int
getEndInsertPosition
(
List
<
OrderDetail
>
newOrderList
,
OrderDetail
orderDetail
,
int
currentI
)
{
boolean
hasChildFood
=
false
;
for
(
int
i
=
currentI
;
i
<
newOrderList
.
size
();
i
++)
{
OrderDetail
item
=
newOrderList
.
get
(
i
);
...
...
@@ -1359,7 +1444,8 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
}
}
private
void
setModifierSoldoutCtrData
(
List
<
Modifier
>
modifierList
,
List
<
SoldoutCtrFood
>
soldoutCtrFoods
)
{
private
void
setModifierSoldoutCtrData
(
List
<
Modifier
>
modifierList
,
List
<
SoldoutCtrFood
>
soldoutCtrFoods
)
{
for
(
SoldoutCtrFood
scc
:
soldoutCtrFoods
)
{
for
(
Modifier
modifier
:
modifierList
)
{
if
(
scc
.
getType
()
==
MODIFIER_TYPE
&&
scc
.
getModifierId
()
!=
null
&&
modifier
.
getMid
()
!=
0
&&
modifier
.
getMid
()
==
scc
.
getModifierId
())
{
...
...
@@ -1729,6 +1815,14 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
return
true
;
}
private
boolean
discountAndCouponConditionFilter
()
{
//折扣金額是否>0
if
(
Double
.
doubleToLongBits
(
getDisountSourcePrice
())
==
0
)
{
return
false
;
}
return
true
;
}
/**
* 獲取所要折扣金額
*
...
...
@@ -1761,6 +1855,38 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
}
/**
* 獲取當前選中的套餐食品組
*
* @return
*/
private
List
<
OrderDetail
>
getSelectMixOrderMealList
()
{
List
<
OrderDetail
>
mixOrderMealList
=
new
ArrayList
<>();
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
0
;
i
<
mOrderMealList
.
size
();
i
++)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
mixOrderMealList
.
add
(
mOrderMealList
.
get
(
i
));
}
}
return
mixOrderMealList
;
}
/**
* 獲取當前選擇主食品ID
* @return
*/
private
long
getCurrParentFoodId
(){
long
id
=
0
;
if
(
mSelectMealAdapter
.
getCurrentMainOrderDetail
()
!=
null
)
{
if
(
mCurrentOrderDetailBean
.
isNew
())
{
id
=
mSelectMealAdapter
.
getCurrentMainOrderDetail
().
getProductId
();
}
else
{
id
=
mSelectMealAdapter
.
getCurrentMainOrderDetail
().
getId
();
}
}
return
id
;
}
/**
* 更新食品組,食品選中數量
*/
public
void
updateOrderFoodNumber
()
{
...
...
@@ -1826,7 +1952,8 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
* @param deleteNumber
* @return
*/
private
DeleteOrderRequest
getDeleteOrderRequest
(
String
ids
,
long
reasonId
,
int
maxNumber
,
int
deleteNumber
)
{
private
DeleteOrderRequest
getDeleteOrderRequest
(
String
ids
,
long
reasonId
,
int
maxNumber
,
int
deleteNumber
)
{
List
<
DeleteOrderRequest
.
DeleteBean
>
mapsDelete
=
getMapsDelete
(
ids
,
maxNumber
,
deleteNumber
);
byte
type
=
(
byte
)
(
mDoshokuOrder
.
isModifyOrder
()
?
2
:
1
);
long
orderId
=
mDoshokuOrder
.
getOrderId
();
...
...
@@ -1849,7 +1976,8 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
* @param deleteNumber
* @return
*/
private
List
<
DeleteOrderRequest
.
DeleteBean
>
getMapsDelete
(
String
ids
,
int
maxNumber
,
int
deleteNumber
)
{
private
List
<
DeleteOrderRequest
.
DeleteBean
>
getMapsDelete
(
String
ids
,
int
maxNumber
,
int
deleteNumber
)
{
List
<
DeleteOrderRequest
.
DeleteBean
>
deleteMaps
=
new
ArrayList
<>();
//取消食品id
String
[]
idsArray
=
ids
.
split
(
","
);
...
...
@@ -1892,6 +2020,22 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
return
str
;
}
public
LoadFineEvent
getLoadFineData
(
int
currFinePage
)
{
long
productId
=
0
;
if
(
mCurrentOrderDetailBean
!=
null
)
{
productId
=
mCurrentOrderDetailBean
.
getProductId
();
}
//加載細項數據
List
<
SoldoutCtrFood
>
soldoutCtrList
=
mSoldoutCtrList
;
int
selectedMode
=
mSelectMealAdapter
.
getSelectedMode
();
LoadFineEvent
fineEvent
=
new
LoadFineEvent
();
fineEvent
.
setProductId
(
productId
);
fineEvent
.
setCurrFinePage
(
currFinePage
);
fineEvent
.
setSelectedMode
(
selectedMode
);
fineEvent
.
setSoldoutCtrFoods
(
soldoutCtrList
);
return
fineEvent
;
}
public
OrderDetail
getCurrentOrderDetailBean
()
{
return
mCurrentOrderDetailBean
;
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
View file @
b01803d9
...
...
@@ -625,8 +625,6 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
}
}
else
if
(
requestCode
==
ScanHelper
.
CALL_BACK_QR_RESULT
)
{
mPresenter
.
closeDiscountDialog
();
String
qrCodeResult
=
data
.
getStringExtra
(
"qrCodeResult"
);
String
encryptQRCode
;
try
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountDialogFragment.java
View file @
b01803d9
...
...
@@ -62,9 +62,6 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
@BindView
(
R2
.
id
.
ll_container
)
QMUILinearLayout
llContainer
;
private
CouponFragment
couponFragment
;
private
NomalDiscountFragment
billDiscountFragment
;
private
List
<
String
>
mTabList
=
new
ArrayList
<>();
private
int
mCurrentPageIndex
=
0
;
...
...
@@ -154,7 +151,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
private
List
<
Fragment
>
createFragments
()
{
List
<
Fragment
>
fragments
=
new
ArrayList
<>();
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
BILL_LIMIT_DISCOUNT
);
CouponFragment
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
BILL_LIMIT_DISCOUNT
);
couponFragment
.
setOnCouponItemClickListener
(
new
CouponFragment
.
OnCouponItemClickListener
()
{
@Override
public
void
onItemClick
(
MemberWalletCoupon
item
,
int
position
)
{
...
...
@@ -163,7 +160,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
}
}
});
billDiscountFragment
=
NomalDiscountFragment
.
newInstance
();
NomalDiscountFragment
billDiscountFragment
=
NomalDiscountFragment
.
newInstance
();
billDiscountFragment
.
setOnDiscountItemClickListener
(
new
NomalDiscountFragment
.
OnBillDiscountItemClickListener
()
{
@Override
public
void
onItemClick
(
Discount
item
,
int
position
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountFragment.java
View file @
b01803d9
...
...
@@ -118,25 +118,28 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
public
void
onDoubleTap
(
int
index
)
{
}
});
QMUITabSegmentUtils
.
setNomalTabSegmentStyle
(
tabSegment
,
viewPager
);
QMUITabSegmentUtils
.
setNomalTabSegmentStyle
(
tabSegment
,
viewPager
);
}
private
List
<
Fragment
>
createFragments
()
{
List
<
Fragment
>
fragments
=
new
ArrayList
<>();
CouponFragment
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
);
couponFragment
.
setOnCouponItemClickListener
((
item
,
position
)
->
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
}
});
NomalDiscountFragment
billDiscountFragment
=
NomalDiscountFragment
.
newInstance
();
billDiscountFragment
.
setOnDiscountItemClickListener
((
item
,
position
)
->
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onBillDiscountClick
(
item
,
position
);
}
});
fragments
.
add
(
couponFragment
);
CouponFragment
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
);
couponFragment
.
setOnCouponItemClickListener
((
item
,
position
)
->
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
}
});
fragments
.
add
(
billDiscountFragment
);
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
fragments
.
add
(
couponFragment
);
}
return
fragments
;
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineChildAllFragment.java
View file @
b01803d9
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
...
...
@@ -59,15 +60,22 @@ public class FineChildAllFragment extends BaseFragment<FineChildAllPresenter> im
@BindView
(
R2
.
id
.
recycle_fine_item_kind_item
)
RecyclerView
recycle_fine_item_kind_item
;
private
int
modCol
;
private
LoadFineEvent
mLoadFineEvent
;
p
ublic
final
static
String
LOAD_FINE_DATA_EVENT
=
"loadFineDataEvent"
;
public
final
static
String
UPDATE_FINE_DATA_EVENT
=
"updateFine
Data
Event"
;
p
rivate
int
modCol
;
public
final
static
String
UPDATE_FINE_DATA_EVENT
=
"updateFine
Soldout
Event"
;
public
static
FineChildAllFragment
newInstance
()
{
FineChildAllFragment
fragment
=
new
FineChildAllFragment
();
return
fragment
;
}
public
static
FineChildAllFragment
newInstance
(
LoadFineEvent
loadFineEvent
)
{
FineChildAllFragment
fragment
=
new
FineChildAllFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putParcelable
(
"loadFineEvent"
,
loadFineEvent
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
...
...
@@ -86,14 +94,20 @@ public class FineChildAllFragment extends BaseFragment<FineChildAllPresenter> im
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
final
Bundle
arguments
=
getArguments
();
if
(
arguments
!=
null
)
{
mLoadFineEvent
=
arguments
.
getParcelable
(
"loadFineEvent"
);
}
modCol
=
GsaCloudApplication
.
uiStyleConfiguration
.
getModColumnValue
();
mPresenter
.
initAdapter
();
mPresenter
.
initItemListener
(
mContext
);
if
(
mLoadFineEvent
!=
null
)
{
loadFineData
(
mLoadFineEvent
);
}
}
@Subscriber
(
tag
=
LOAD_FINE_DATA_EVENT
,
mode
=
ThreadMode
.
MAIN
)
public
void
loadFineData
(
LoadFineEvent
fineEvent
)
{
final
int
currFinePage
=
fineEvent
.
getCurrFinePage
();
final
long
productId
=
fineEvent
.
getProductId
();
...
...
@@ -120,7 +134,7 @@ public class FineChildAllFragment extends BaseFragment<FineChildAllPresenter> im
}
}
@Subscriber
(
tag
=
UPDATE_FINE_DATA_EVENT
,
mode
=
ThreadMode
.
MAIN
)
@Subscriber
(
tag
=
FineChildAllFragment
.
UPDATE_FINE_DATA_EVENT
,
mode
=
ThreadMode
.
MAIN
)
public
void
updateFineItemSoldoutListFull
(
List
<
SoldoutCtrFood
>
soldoutListFull
)
{
setModifierSoldoutFoodList_Full
(
soldoutListFull
);
updateParentModifierSlodoutFoodList_Full
();
...
...
@@ -128,7 +142,6 @@ public class FineChildAllFragment extends BaseFragment<FineChildAllPresenter> im
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
public
void
setModifierSoldoutFoodList_Full
(
List
<
SoldoutCtrFood
>
soldoutCtrFoodList
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/RiceponMemberDialogFragment.java
View file @
b01803d9
...
...
@@ -107,10 +107,11 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
private
TableBean
.
DataBean
mCurrTableBean
;
private
MemberInfo
mMemberInfo
;
public
static
RiceponMemberDialogFragment
newInstance
(
TableBean
.
DataBean
currTableBean
)
{
public
static
RiceponMemberDialogFragment
newInstance
(
TableBean
.
DataBean
currTableBean
,
MemberInfo
memberInfo
)
{
RiceponMemberDialogFragment
fragment
=
new
RiceponMemberDialogFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putParcelable
(
"currTableBean"
,
currTableBean
);
bundle
.
putParcelable
(
"memberInfo"
,
memberInfo
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
}
...
...
@@ -134,6 +135,7 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
public
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
mCurrTableBean
=
arguments
.
getParcelable
(
"currTableBean"
);
mMemberInfo
=
arguments
.
getParcelable
(
"memberInfo"
);
super
.
onCreate
(
savedInstanceState
);
}
...
...
@@ -142,6 +144,7 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
initTopbar
();
initAdapter
();
returnMemberInfo
(
mMemberInfo
);
}
@Override
...
...
@@ -265,6 +268,9 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
@Override
public
void
returnMemberInfo
(
MemberInfo
memberInfo
)
{
if
(
memberInfo
==
null
)
{
return
;
}
this
.
mMemberInfo
=
memberInfo
;
final
List
<
SectionTextItem
>
memberInfoItems
=
getMemberInfoItem
(
memberInfo
);
if
(
mMemberInfoList
.
size
()
>
0
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/SetMealFragment.java
View file @
b01803d9
...
...
@@ -6,6 +6,7 @@ import android.app.Dialog;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
import
android.view.LayoutInflater
;
...
...
@@ -44,8 +45,10 @@ import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import
com.gingersoft.gsa.cloud.common.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
...
...
@@ -72,12 +75,15 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.DiscountFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.CustomFoodDialog
;
import
com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter
;
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
;
import
com.gingersoft.gsa.cloud.ui.utils.QMUITabSegmentUtils
;
import
com.gingersoft.gsa.cloud.ui.view.MyTableView
;
import
com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
;
import
com.gingersoft.gsa.cloud.ui.view.base.NoScrollRecyclerView
;
...
...
@@ -92,6 +98,10 @@ import com.jess.arms.utils.ArmsUtils;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.qmuiteam.qmui.widget.tab.QMUITab
;
import
com.qmuiteam.qmui.widget.tab.QMUITabBuilder
;
import
com.qmuiteam.qmui.widget.tab.QMUITabSegment
;
import
com.qmuiteam.qmui.widget.tab.QMUITabSegment2
;
import
org.simple.eventbus.EventBus
;
import
org.simple.eventbus.Subscriber
;
...
...
@@ -181,19 +191,17 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@BindView
(
R2
.
id
.
scroll_combo
)
NestedScrollView
scrollCombo
;
//
@BindView(R2.id.ll_fine)
//
LinearLayout llFine;
// @BindView(R2.id.tab
_fine)
// MyTableView tab
Fine;
//
@BindView(R2.id.pager_fine)
//
ViewPager2 vPager2Fine;
@BindView
(
R2
.
id
.
ll_fine
)
LinearLayout
llFine
;
@BindView
(
R2
.
id
.
tabs
_fine
)
QMUITabSegment2
tabSegment
Fine
;
@BindView
(
R2
.
id
.
pager_fine
)
ViewPager2
vPager2Fine
;
@BindView
(
R2
.
id
.
meal_stand_search_keyboard_view
)
SearchKeyBoardView
mealStandSearchKeyboardView
;
@BindView
(
R2
.
id
.
fl_discount_fragment
)
FrameLayout
flDiscountFragment
;
@BindView
(
R2
.
id
.
fl_fine_fragment
)
FrameLayout
flFineFragment
;
@BindView
(
R2
.
id
.
btn_select_all
)
QMUIAlphaTextView
btnSelectAll
;
...
...
@@ -251,8 +259,8 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
private
int
comboColumn
=
4
;
private
int
modColumn
=
4
;
private
DiscountFragment
discountFragment
;
private
CancelFoodDialog
mCancelFoodDialog
;
private
ChooseNumberDialog
mChooseNumberDialog
;
public
static
SetMealFragment
newInstance
()
{
SetMealFragment
fragment
=
new
SetMealFragment
();
...
...
@@ -278,11 +286,13 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
mActivity
=
(
MealStandActivity2
)
_mActivity
;
initUIStyleConfiguration
();
discountFragment
=
findChildFragment
(
DiscountFragment
.
class
);
initRecyclerConfiguration
();
initViewMap
();
initAdapter
();
initLayoutManager
();
init
Click
Listener
();
initListener
();
mPresenter
.
initMealData
();
mPresenter
.
getCurrentSoldoutFood
();
}
...
...
@@ -304,7 +314,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
private
void
init
UIStyle
Configuration
()
{
private
void
init
Recycler
Configuration
()
{
foodGroupColumn
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupColumnValue
();
foodGroupRow
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupRowValue
();
foodColumn
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodColumnValue
();
...
...
@@ -317,7 +327,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
map
.
put
(
MealConstant
.
food_ViewMode
,
rvFood
);
map
.
put
(
MealConstant
.
combo_ViewMode
,
scrollCombo
);
map
.
put
(
MealConstant
.
discount_ViewMode
,
flDiscountFragment
);
map
.
put
(
MealConstant
.
fine_ViewMode
,
flFineFragment
);
map
.
put
(
MealConstant
.
fine_ViewMode
,
llFine
);
map
.
put
(
MealConstant
.
keys_viewMode
,
mealStandSearchKeyboardView
);
}
...
...
@@ -329,7 +339,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
else
{
btnTable
.
setText
(
dataBean
.
getTableName
());
}
btnNumberman
.
setText
(
"人數:"
+
dataBean
.
getPerson
()
+
""
);
btnNumberman
.
setText
(
"人數:"
+
dataBean
.
getPerson
());
}
}
...
...
@@ -360,7 +370,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
public
void
init
Click
Listener
()
{
public
void
initListener
()
{
mFoodAdapter
.
setOnItemClickListener
((
datasBean
,
position
)
->
{
recordOperat
(
true
);
mPresenter
.
foodItemClick
(
datasBean
);
...
...
@@ -389,6 +399,25 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
recordOperat
(
true
);
mPresenter
.
sendOrder
(
false
,
null
);
});
//折扣,优惠券
if
(
discountFragment
!=
null
)
{
discountFragment
.
setOnDiscountItemClickListener
(
new
DiscountFragment
.
OnDiscountItemClickListener
()
{
@Override
public
void
onBillDiscountClick
(
Discount
discountBean
,
int
position
)
{
recordOperat
(
true
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"折扣【"
+
discountBean
.
getRemark
()
+
"】"
);
mPresenter
.
discountAndCouponClick
(
discountBean
);
}
@Override
public
void
onCouponClick
(
MemberWalletCoupon
coupon
,
int
position
)
{
recordOperat
(
true
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"優惠券【"
+
coupon
.
getCouponTypeName
()
+
"】"
);
mPresenter
.
discountAndCouponClick
(
coupon
);
}
});
}
}
...
...
@@ -450,38 +479,68 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
@OnClick
(
R2
.
id
.
iv_fine_back
)
void
onFineBackViewClick
(
View
view
)
{
setCurrViewMode
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
}
/**
* 显示公共細項
*/
public
void
showFineLayout
(
int
currFinePage
)
{
if
(!
isLoadFineFragment
)
{
isLoadFineFragment
=
true
;
initFineViewPager
(
currFinePage
);
}
else
{
vPager2Fine
.
setCurrentItem
(
currFinePage
);
}
setCurrViewMode
(
MealConstant
.
fine_ViewMode
);
final
FineFragment
childFragment
=
findChildFragment
(
FineFragment
.
class
);
if
(
childFragment
!=
null
)
{
if
(
isLoadFineFragment
)
{
childFragment
.
setCurrentItem
(
currFinePage
);
return
;
}
private
void
initFineViewPager
(
int
currFinePage
)
{
String
[]
tabList
=
{
"口味"
,
"訊息"
};
QMUITabBuilder
builder
=
tabSegmentFine
.
tabBuilder
();
for
(
final
String
tabTitle
:
tabList
)
{
QMUITab
tab
=
builder
.
setText
(
tabTitle
)
.
build
(
mContext
);
tabSegmentFine
.
addTab
(
tab
);
}
vPager2Fine
.
setAdapter
(
new
ViewPager2Adapter
(
this
,
createFragments
()));
vPager2Fine
.
setCurrentItem
(
currFinePage
);
tabSegmentFine
.
addOnTabSelectedListener
(
new
QMUITabSegment
.
OnTabSelectedListener
()
{
@Override
public
void
onTabSelected
(
int
index
)
{
LoganManager
.
w_tableMode
(
TAG
,
"當前頁面【"
+
tabList
[
index
]
+
"】"
);
}
long
productId
=
0
;
if
(
mPresenter
.
getCurrentOrderDetailBean
()
!=
null
)
{
productId
=
mPresenter
.
getCurrentOrderDetailBean
().
getProductId
();
@Override
public
void
onTabUnselected
(
int
index
)
{
}
//選中模式
int
selectedMode
=
mPresenter
.
getSelectMealAdapter
().
getSelectedMode
();
//設置沽清數據
List
<
SoldoutCtrFood
>
soldoutCtrFoods
=
mPresenter
.
getSoldoutCtrList
();
LoadFineEvent
fineEvent
=
new
LoadFineEvent
();
fineEvent
.
setCurrFinePage
(
currFinePage
);
fineEvent
.
setProductId
(
productId
);
fineEvent
.
setSelectedMode
(
selectedMode
);
fineEvent
.
setSoldoutCtrFoods
(
soldoutCtrFoods
);
@Override
public
void
onTabReselected
(
int
index
)
{
}
//加载细项数据
EventBus
.
getDefault
().
post
(
fineEvent
,
FineChildAllFragment
.
LOAD_FINE_DATA_EVENT
);
childFragment
.
setCurrentItem
(
currFinePage
);
@Override
public
void
onDoubleTap
(
int
index
)
{
}
});
QMUITabSegmentUtils
.
setNomalTabSegmentStyle
(
tabSegmentFine
,
vPager2Fine
);
}
isLoadFineFragment
=
true
;
}
private
List
<
Fragment
>
createFragments
()
{
LoadFineEvent
loadFineData
=
mPresenter
.
getLoadFineData
(
0
);
LoadFineEvent
loadFineData2
=
mPresenter
.
getLoadFineData
(
1
);
List
<
Fragment
>
fragments
=
new
ArrayList
<>();
FineChildAllFragment
modSasteFineItemFragment
=
FineChildAllFragment
.
newInstance
(
loadFineData
);
FineChildAllFragment
modMsgFineItemFragment
=
FineChildAllFragment
.
newInstance
(
loadFineData2
);
fragments
.
add
(
modSasteFineItemFragment
);
fragments
.
add
(
modMsgFineItemFragment
);
return
fragments
;
}
@Override
...
...
@@ -1000,7 +1059,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
private
void
showRiceponMemberDialogFragment
()
{
recordOperat
(
false
);
RiceponMemberDialogFragment
dialogFragment
=
RiceponMemberDialogFragment
.
newInstance
(
DoshokuOrder
.
getInstance
().
getOpenTableInfo
());
RiceponMemberDialogFragment
dialogFragment
=
RiceponMemberDialogFragment
.
newInstance
(
DoshokuOrder
.
getInstance
().
getOpenTableInfo
()
,
DoshokuOrder
.
getInstance
().
getMemberInfo
()
);
dialogFragment
.
setOnUseMemberListener
(
new
RiceponMemberDialogFragment
.
OnUseMemberListener
()
{
@Override
public
void
onUseMember
(
MemberInfo
memberInfo
)
{
...
...
component-table/src/main/res/layout/fragment_bill_discount.xml
View file @
b01803d9
...
...
@@ -2,13 +2,12 @@
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_cont
ent"
>
android:layout_height=
"
match_par
ent"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_bill_discount"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
/>
android:layout_height=
"match_parent"
android:orientation=
"horizontal"
/>
</FrameLayout>
\ No newline at end of file
component-table/src/main/res/layout/fragment_coupon.xml
View file @
b01803d9
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_cont
ent"
>
android:layout_height=
"
match_par
ent"
>
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id=
"@+id/refreshLayout"
...
...
@@ -12,7 +12,7 @@
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_coupon"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_cont
ent"
android:layout_height=
"
match_par
ent"
android:layout_alignParentBottom=
"true"
android:layout_gravity=
"bottom"
android:orientation=
"horizontal"
/>
...
...
component-table/src/main/res/layout/meal_layout_food_menu.xml
View file @
b01803d9
...
...
@@ -57,23 +57,9 @@
android:layout_above=
"@+id/ll_modify"
android:visibility=
"gone"
>
<!-- <fragment-->
<!-- android:id="@+id/fragment_discount"-->
<!-- android:name="com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.DiscountFragment"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
</FrameLayout>
<FrameLayout
android:id=
"@+id/fl_fine_fragment"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@+id/ll_modify"
android:visibility=
"gone"
>
<fragment
android:id=
"@+id/fragment_
fine
"
android:name=
"com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
mealstand.Fine
Fragment"
android:id=
"@+id/fragment_
discount
"
android:name=
"com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
discount.Discount
Fragment"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</FrameLayout>
...
...
component-table/src/main/res/layout/meal_layout_meal_fine.xml
View file @
b01803d9
...
...
@@ -4,17 +4,30 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/ll_fine"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.tab.QMUITabSegment2
android:id=
"@+id/tabs_fine"
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_45"
android:background=
"@drawable/shape_tab_panel_bg"
/>
android:layout_height=
"wrap_content"
android:background=
"@drawable/shape_tab_panel_bg"
>
<com.qmuiteam.qmui.widget.tab.QMUITabSegment2
android:id=
"@+id/tabs_fine"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_45"
/>
<ImageView
android:id=
"@+id/iv_fine_back"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:padding=
"@dimen/dp_10"
android:src=
"@drawable/ic_black_back"
/>
</FrameLayout>
<androidx.viewpager2.widget.ViewPager2
android:id=
"@+id/pager_fine"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
component-table/src/main/res/layout/table_dialog_discout.xml
View file @
b01803d9
...
...
@@ -3,7 +3,7 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/ll_container"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_cont
ent"
android:layout_height=
"
match_par
ent"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.tab.QMUITabSegment2
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/member/MemberInfo.java
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
core
.
member
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
android.text.TextUtils
;
import
java.io.Serializable
;
...
...
@@ -14,7 +16,7 @@ import lombok.Data;
* 描述:
*/
@Data
public
class
MemberInfo
implements
Serializ
able
{
public
class
MemberInfo
implements
Parcel
able
{
/**
* ablediscount : 0
...
...
@@ -190,8 +192,8 @@ public class MemberInfo implements Serializable {
private
MemberExpireDateBean
memberExpireDate
;
private
VaildTimeBean
vaildTime
;
public
MemberInfo
()
{
}
public
String
getLevelName
(){
if
(!
TextUtils
.
isEmpty
(
levelName1
))
{
...
...
@@ -216,8 +218,18 @@ public class MemberInfo implements Serializable {
return
0
;
}
public
String
getMemberName
()
{
if
(!
TextUtils
.
isEmpty
(
memberName
)){
return
memberName
;
}
return
getLevelName
();
}
@Data
public
static
class
CreateTimeBean
implements
Serializ
able
{
public
static
class
CreateTimeBean
implements
Parcel
able
{
/**
* date : 28
* day : 4
...
...
@@ -240,10 +252,52 @@ public class MemberInfo implements Serializable {
private
int
timezoneOffset
;
private
int
year
;
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeInt
(
this
.
date
);
dest
.
writeInt
(
this
.
day
);
dest
.
writeInt
(
this
.
hours
);
dest
.
writeInt
(
this
.
minutes
);
dest
.
writeInt
(
this
.
month
);
dest
.
writeInt
(
this
.
seconds
);
dest
.
writeLong
(
this
.
time
);
dest
.
writeInt
(
this
.
timezoneOffset
);
dest
.
writeInt
(
this
.
year
);
}
protected
CreateTimeBean
(
Parcel
in
)
{
this
.
date
=
in
.
readInt
();
this
.
day
=
in
.
readInt
();
this
.
hours
=
in
.
readInt
();
this
.
minutes
=
in
.
readInt
();
this
.
month
=
in
.
readInt
();
this
.
seconds
=
in
.
readInt
();
this
.
time
=
in
.
readLong
();
this
.
timezoneOffset
=
in
.
readInt
();
this
.
year
=
in
.
readInt
();
}
public
static
final
Creator
<
CreateTimeBean
>
CREATOR
=
new
Creator
<
CreateTimeBean
>()
{
@Override
public
CreateTimeBean
createFromParcel
(
Parcel
source
)
{
return
new
CreateTimeBean
(
source
);
}
@Override
public
CreateTimeBean
[]
newArray
(
int
size
)
{
return
new
CreateTimeBean
[
size
];
}
};
}
@Data
public
static
class
OptTimeBean
implements
Serializ
able
{
public
static
class
OptTimeBean
implements
Parcel
able
{
/**
* date : 25
* day : 6
...
...
@@ -255,7 +309,6 @@ public class MemberInfo implements Serializable {
* timezoneOffset : -480
* year : 120
*/
private
int
date
;
private
int
day
;
private
int
hours
;
...
...
@@ -266,10 +319,52 @@ public class MemberInfo implements Serializable {
private
int
timezoneOffset
;
private
int
year
;
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeInt
(
this
.
date
);
dest
.
writeInt
(
this
.
day
);
dest
.
writeInt
(
this
.
hours
);
dest
.
writeInt
(
this
.
minutes
);
dest
.
writeInt
(
this
.
month
);
dest
.
writeInt
(
this
.
seconds
);
dest
.
writeLong
(
this
.
time
);
dest
.
writeInt
(
this
.
timezoneOffset
);
dest
.
writeInt
(
this
.
year
);
}
protected
OptTimeBean
(
Parcel
in
)
{
this
.
date
=
in
.
readInt
();
this
.
day
=
in
.
readInt
();
this
.
hours
=
in
.
readInt
();
this
.
minutes
=
in
.
readInt
();
this
.
month
=
in
.
readInt
();
this
.
seconds
=
in
.
readInt
();
this
.
time
=
in
.
readLong
();
this
.
timezoneOffset
=
in
.
readInt
();
this
.
year
=
in
.
readInt
();
}
public
static
final
Creator
<
OptTimeBean
>
CREATOR
=
new
Creator
<
OptTimeBean
>()
{
@Override
public
OptTimeBean
createFromParcel
(
Parcel
source
)
{
return
new
OptTimeBean
(
source
);
}
@Override
public
OptTimeBean
[]
newArray
(
int
size
)
{
return
new
OptTimeBean
[
size
];
}
};
}
@Data
public
static
class
UpdateTimeBean
implements
Serializ
able
{
public
static
class
UpdateTimeBean
implements
Parcel
able
{
/**
* date : 23
* day : 4
...
...
@@ -281,7 +376,6 @@ public class MemberInfo implements Serializable {
* timezoneOffset : -480
* year : 120
*/
private
int
date
;
private
int
day
;
private
int
hours
;
...
...
@@ -292,10 +386,52 @@ public class MemberInfo implements Serializable {
private
int
timezoneOffset
;
private
int
year
;
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeInt
(
this
.
date
);
dest
.
writeInt
(
this
.
day
);
dest
.
writeInt
(
this
.
hours
);
dest
.
writeInt
(
this
.
minutes
);
dest
.
writeInt
(
this
.
month
);
dest
.
writeInt
(
this
.
seconds
);
dest
.
writeLong
(
this
.
time
);
dest
.
writeInt
(
this
.
timezoneOffset
);
dest
.
writeInt
(
this
.
year
);
}
protected
UpdateTimeBean
(
Parcel
in
)
{
this
.
date
=
in
.
readInt
();
this
.
day
=
in
.
readInt
();
this
.
hours
=
in
.
readInt
();
this
.
minutes
=
in
.
readInt
();
this
.
month
=
in
.
readInt
();
this
.
seconds
=
in
.
readInt
();
this
.
time
=
in
.
readLong
();
this
.
timezoneOffset
=
in
.
readInt
();
this
.
year
=
in
.
readInt
();
}
public
static
final
Creator
<
UpdateTimeBean
>
CREATOR
=
new
Creator
<
UpdateTimeBean
>()
{
@Override
public
UpdateTimeBean
createFromParcel
(
Parcel
source
)
{
return
new
UpdateTimeBean
(
source
);
}
@Override
public
UpdateTimeBean
[]
newArray
(
int
size
)
{
return
new
UpdateTimeBean
[
size
];
}
};
}
@Data
public
static
class
MemberExpireDateBean
implements
Serializ
able
{
public
static
class
MemberExpireDateBean
implements
Parcel
able
{
/**
* date : 25
* day : 6
...
...
@@ -318,10 +454,51 @@ public class MemberInfo implements Serializable {
private
int
timezoneOffset
;
private
int
year
;
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeInt
(
this
.
date
);
dest
.
writeInt
(
this
.
day
);
dest
.
writeInt
(
this
.
hours
);
dest
.
writeInt
(
this
.
minutes
);
dest
.
writeInt
(
this
.
month
);
dest
.
writeInt
(
this
.
seconds
);
dest
.
writeLong
(
this
.
time
);
dest
.
writeInt
(
this
.
timezoneOffset
);
dest
.
writeInt
(
this
.
year
);
}
protected
MemberExpireDateBean
(
Parcel
in
)
{
this
.
date
=
in
.
readInt
();
this
.
day
=
in
.
readInt
();
this
.
hours
=
in
.
readInt
();
this
.
minutes
=
in
.
readInt
();
this
.
month
=
in
.
readInt
();
this
.
seconds
=
in
.
readInt
();
this
.
time
=
in
.
readLong
();
this
.
timezoneOffset
=
in
.
readInt
();
this
.
year
=
in
.
readInt
();
}
public
static
final
Creator
<
MemberExpireDateBean
>
CREATOR
=
new
Creator
<
MemberExpireDateBean
>()
{
@Override
public
MemberExpireDateBean
createFromParcel
(
Parcel
source
)
{
return
new
MemberExpireDateBean
(
source
);
}
@Override
public
MemberExpireDateBean
[]
newArray
(
int
size
)
{
return
new
MemberExpireDateBean
[
size
];
}
};
}
@Data
public
static
class
VaildTimeBean
implements
Serializ
able
{
public
static
class
VaildTimeBean
implements
Parcel
able
{
/**
* date : 25
* day : 6
...
...
@@ -344,512 +521,202 @@ public class MemberInfo implements Serializable {
private
int
timezoneOffset
;
private
int
year
;
}
public
long
getId
()
{
return
id
;
}
public
void
setId
(
long
id
)
{
this
.
id
=
id
;
}
public
String
getMemberNo
()
{
return
memberNo
;
}
public
void
setMemberNo
(
String
memberNo
)
{
this
.
memberNo
=
memberNo
;
}
public
int
getMemberDiscount
()
{
return
memberDiscount
;
}
public
void
setMemberDiscount
(
int
memberDiscount
)
{
this
.
memberDiscount
=
memberDiscount
;
}
public
void
setMemberPoint
(
float
memberPoint
)
{
MemberPoint
=
memberPoint
;
}
public
String
getMemberName
()
{
if
(!
TextUtils
.
isEmpty
(
memberName
)){
return
memberName
;
@Override
public
int
describeContents
()
{
return
0
;
}
return
getLevelName
();
}
public
void
setMemberName
(
String
memberName
)
{
this
.
memberName
=
memberName
;
}
public
String
getLevelName3
()
{
return
levelName3
;
}
public
void
setLevelName3
(
String
levelName3
)
{
this
.
levelName3
=
levelName3
;
}
public
String
getLevelName2
()
{
return
levelName2
;
}
public
void
setLevelName2
(
String
levelName2
)
{
this
.
levelName2
=
levelName2
;
}
public
String
getLevelName1
()
{
return
levelName1
;
}
public
void
setLevelName1
(
String
levelName1
)
{
this
.
levelName1
=
levelName1
;
}
public
void
setLevelName
(
String
levelName
)
{
this
.
levelName
=
levelName
;
}
public
String
getPhone
()
{
return
phone
;
}
public
void
setPhone
(
String
phone
)
{
this
.
phone
=
phone
;
}
public
int
getBirthdaybonusratio
()
{
return
birthdaybonusratio
;
}
public
void
setBirthdaybonusratio
(
int
birthdaybonusratio
)
{
this
.
birthdaybonusratio
=
birthdaybonusratio
;
}
public
int
getCreditPoints
()
{
return
creditPoints
;
}
public
void
setCreditPoints
(
int
creditPoints
)
{
this
.
creditPoints
=
creditPoints
;
}
public
int
getBirthdayperiod
()
{
return
birthdayperiod
;
}
public
void
setBirthdayperiod
(
int
birthdayperiod
)
{
this
.
birthdayperiod
=
birthdayperiod
;
}
public
int
getExtendExpirePeriod
()
{
return
extendExpirePeriod
;
}
public
void
setExtendExpirePeriod
(
int
extendExpirePeriod
)
{
this
.
extendExpirePeriod
=
extendExpirePeriod
;
}
public
int
getBrCouponTypeId
()
{
return
brCouponTypeId
;
}
public
void
setBrCouponTypeId
(
int
brCouponTypeId
)
{
this
.
brCouponTypeId
=
brCouponTypeId
;
}
public
int
getLevelUpPeriod
()
{
return
levelUpPeriod
;
}
public
void
setLevelUpPeriod
(
int
levelUpPeriod
)
{
this
.
levelUpPeriod
=
levelUpPeriod
;
}
public
int
getGroupId
()
{
return
groupId
;
}
public
void
setGroupId
(
int
groupId
)
{
this
.
groupId
=
groupId
;
}
public
int
getSeq1
()
{
return
seq1
;
}
public
void
setSeq1
(
int
seq1
)
{
this
.
seq1
=
seq1
;
}
public
int
getNextDownLevel
()
{
return
nextDownLevel
;
}
public
void
setNextDownLevel
(
int
nextDownLevel
)
{
this
.
nextDownLevel
=
nextDownLevel
;
}
public
int
getDiscount
()
{
return
discount
;
}
public
void
setDiscount
(
int
discount
)
{
this
.
discount
=
discount
;
}
public
int
getLanguage
()
{
return
language
;
}
public
void
setLanguage
(
int
language
)
{
this
.
language
=
language
;
}
public
int
getPoints
()
{
return
points
;
}
public
void
setPoints
(
int
points
)
{
this
.
points
=
points
;
}
public
int
getNegativePoints
()
{
return
negativePoints
;
}
public
void
setNegativePoints
(
int
negativePoints
)
{
this
.
negativePoints
=
negativePoints
;
}
public
int
getCouponTypeId
()
{
return
couponTypeId
;
}
public
void
setCouponTypeId
(
int
couponTypeId
)
{
this
.
couponTypeId
=
couponTypeId
;
}
public
int
getIsdefault
()
{
return
isdefault
;
}
public
void
setIsdefault
(
int
isdefault
)
{
this
.
isdefault
=
isdefault
;
}
public
int
getPointsVariable
()
{
return
pointsVariable
;
}
public
void
setPointsVariable
(
int
pointsVariable
)
{
this
.
pointsVariable
=
pointsVariable
;
}
public
String
getBrandName
()
{
return
brandName
;
}
public
void
setBrandName
(
String
brandName
)
{
this
.
brandName
=
brandName
;
}
public
int
getLevel
()
{
return
level
;
}
public
void
setLevel
(
int
level
)
{
this
.
level
=
level
;
}
public
int
getNewCouponNum
()
{
return
newCouponNum
;
}
public
void
setNewCouponNum
(
int
newCouponNum
)
{
this
.
newCouponNum
=
newCouponNum
;
}
public
int
getIsVisible
()
{
return
isVisible
;
}
public
void
setIsVisible
(
int
isVisible
)
{
this
.
isVisible
=
isVisible
;
}
public
int
getIsDisplay
()
{
return
isDisplay
;
}
public
void
setIsDisplay
(
int
isDisplay
)
{
this
.
isDisplay
=
isDisplay
;
}
public
int
getVaildDays
()
{
return
vaildDays
;
}
public
void
setVaildDays
(
int
vaildDays
)
{
this
.
vaildDays
=
vaildDays
;
}
public
int
getBrandId
()
{
return
brandId
;
}
public
void
setBrandId
(
int
brandId
)
{
this
.
brandId
=
brandId
;
}
public
float
getPointRedeemCash
()
{
return
pointRedeemCash
;
}
public
void
setPointRedeemCash
(
float
pointRedeemCash
)
{
this
.
pointRedeemCash
=
pointRedeemCash
;
}
public
int
getAblediscount
()
{
return
ablediscount
;
}
public
void
setAblediscount
(
int
ablediscount
)
{
this
.
ablediscount
=
ablediscount
;
}
public
float
getExpireAfterDayClearPoints
()
{
return
expireAfterDayClearPoints
;
}
public
void
setExpireAfterDayClearPoints
(
float
expireAfterDayClearPoints
)
{
this
.
expireAfterDayClearPoints
=
expireAfterDayClearPoints
;
}
public
double
getExtendExpireAmount
()
{
return
extendExpireAmount
;
}
public
void
setExtendExpireAmount
(
double
extendExpireAmount
)
{
this
.
extendExpireAmount
=
extendExpireAmount
;
}
public
String
getFoodDesc3
()
{
return
foodDesc3
;
}
public
void
setFoodDesc3
(
String
foodDesc3
)
{
this
.
foodDesc3
=
foodDesc3
;
}
public
int
getScCharge
()
{
return
scCharge
;
}
public
void
setScCharge
(
int
scCharge
)
{
this
.
scCharge
=
scCharge
;
}
public
int
getExtendValidDays
()
{
return
extendValidDays
;
}
public
void
setExtendValidDays
(
int
extendValidDays
)
{
this
.
extendValidDays
=
extendValidDays
;
}
public
double
getLevelUpAmount
()
{
return
levelUpAmount
;
}
public
void
setLevelUpAmount
(
double
levelUpAmount
)
{
this
.
levelUpAmount
=
levelUpAmount
;
}
public
int
getOptTimes
()
{
return
optTimes
;
}
public
void
setOptTimes
(
int
optTimes
)
{
this
.
optTimes
=
optTimes
;
}
public
int
getUpdateTimes
()
{
return
updateTimes
;
}
public
void
setUpdateTimes
(
int
updateTimes
)
{
this
.
updateTimes
=
updateTimes
;
}
public
String
getFoodDesc1
()
{
return
foodDesc1
;
}
public
void
setFoodDesc1
(
String
foodDesc1
)
{
this
.
foodDesc1
=
foodDesc1
;
}
public
String
getFoodDesc2
()
{
return
foodDesc2
;
}
public
void
setFoodDesc2
(
String
foodDesc2
)
{
this
.
foodDesc2
=
foodDesc2
;
}
public
String
getSid
()
{
return
sid
;
}
public
void
setSid
(
String
sid
)
{
this
.
sid
=
sid
;
}
public
String
getPointenddate
()
{
return
pointenddate
;
}
public
void
setPointenddate
(
String
pointenddate
)
{
this
.
pointenddate
=
pointenddate
;
}
public
String
getUpdateBy
()
{
return
updateBy
;
}
public
void
setUpdateBy
(
String
updateBy
)
{
this
.
updateBy
=
updateBy
;
}
public
int
getBrPoints
()
{
return
brPoints
;
}
public
void
setBrPoints
(
int
brPoints
)
{
this
.
brPoints
=
brPoints
;
}
public
String
getOptTime
()
{
return
optTime
;
}
public
void
setOptTime
(
String
optTime
)
{
this
.
optTime
=
optTime
;
}
public
int
getCreateTimes
()
{
return
createTimes
;
}
public
void
setCreateTimes
(
int
createTimes
)
{
this
.
createTimes
=
createTimes
;
}
public
int
getBrCouponNum
()
{
return
brCouponNum
;
}
public
void
setBrCouponNum
(
int
brCouponNum
)
{
this
.
brCouponNum
=
brCouponNum
;
}
public
int
getPointRule
()
{
return
pointRule
;
}
public
void
setPointRule
(
int
pointRule
)
{
this
.
pointRule
=
pointRule
;
}
public
int
getFoodPrice
()
{
return
foodPrice
;
}
public
void
setFoodPrice
(
int
foodPrice
)
{
this
.
foodPrice
=
foodPrice
;
}
public
String
getCreateBy
()
{
return
createBy
;
}
public
void
setCreateBy
(
String
createBy
)
{
this
.
createBy
=
createBy
;
}
public
int
getPointoveryear
()
{
return
pointoveryear
;
}
public
void
setPointoveryear
(
int
pointoveryear
)
{
this
.
pointoveryear
=
pointoveryear
;
}
public
String
getLevelDesc
()
{
return
levelDesc
;
}
public
void
setLevelDesc
(
String
levelDesc
)
{
this
.
levelDesc
=
levelDesc
;
}
public
int
getPointUnit
()
{
return
pointUnit
;
}
public
void
setPointUnit
(
int
pointUnit
)
{
this
.
pointUnit
=
pointUnit
;
}
public
int
getNextUpLevel
()
{
return
nextUpLevel
;
}
public
void
setNextUpLevel
(
int
nextUpLevel
)
{
this
.
nextUpLevel
=
nextUpLevel
;
}
public
int
getRestaurantId
()
{
return
restaurantId
;
}
public
void
setRestaurantId
(
int
restaurantId
)
{
this
.
restaurantId
=
restaurantId
;
}
public
CreateTimeBean
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeInt
(
this
.
date
);
dest
.
writeInt
(
this
.
day
);
dest
.
writeInt
(
this
.
hours
);
dest
.
writeInt
(
this
.
minutes
);
dest
.
writeInt
(
this
.
month
);
dest
.
writeInt
(
this
.
seconds
);
dest
.
writeLong
(
this
.
time
);
dest
.
writeInt
(
this
.
timezoneOffset
);
dest
.
writeInt
(
this
.
year
);
}
public
void
setCreateTime
(
CreateTimeBean
createTime
)
{
this
.
createTime
=
createTime
;
}
protected
VaildTimeBean
(
Parcel
in
)
{
this
.
date
=
in
.
readInt
();
this
.
day
=
in
.
readInt
();
this
.
hours
=
in
.
readInt
();
this
.
minutes
=
in
.
readInt
();
this
.
month
=
in
.
readInt
();
this
.
seconds
=
in
.
readInt
();
this
.
time
=
in
.
readLong
();
this
.
timezoneOffset
=
in
.
readInt
();
this
.
year
=
in
.
readInt
();
}
public
UpdateTimeBean
getUpdateTime
()
{
return
updateTime
;
}
public
static
final
Creator
<
VaildTimeBean
>
CREATOR
=
new
Creator
<
VaildTimeBean
>()
{
@Override
public
VaildTimeBean
createFromParcel
(
Parcel
source
)
{
return
new
VaildTimeBean
(
source
);
}
public
void
setUpdateTime
(
UpdateTimeBean
updateTime
)
{
this
.
updateTime
=
updateTime
;
@Override
public
VaildTimeBean
[]
newArray
(
int
size
)
{
return
new
VaildTimeBean
[
size
];
}
};
}
public
MemberExpireDateBean
getMemberExpireDate
()
{
return
memberExpireDate
;
}
public
void
setMemberExpireDate
(
MemberExpireDateBean
memberExpireDate
)
{
this
.
memberExpireDate
=
memberExpireDate
;
@Override
public
int
describeContents
()
{
return
0
;
}
public
VaildTimeBean
getVaildTime
()
{
return
vaildTime
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeLong
(
this
.
id
);
dest
.
writeString
(
this
.
memberNo
);
dest
.
writeInt
(
this
.
memberDiscount
);
dest
.
writeFloat
(
this
.
MemberPoint
);
dest
.
writeFloat
(
this
.
memberPoint
);
dest
.
writeString
(
this
.
memberName
);
dest
.
writeString
(
this
.
levelName3
);
dest
.
writeString
(
this
.
levelName2
);
dest
.
writeString
(
this
.
levelName1
);
dest
.
writeString
(
this
.
levelName
);
dest
.
writeString
(
this
.
phone
);
dest
.
writeInt
(
this
.
birthdaybonusratio
);
dest
.
writeInt
(
this
.
creditPoints
);
dest
.
writeInt
(
this
.
birthdayperiod
);
dest
.
writeInt
(
this
.
extendExpirePeriod
);
dest
.
writeInt
(
this
.
brCouponTypeId
);
dest
.
writeInt
(
this
.
levelUpPeriod
);
dest
.
writeInt
(
this
.
groupId
);
dest
.
writeInt
(
this
.
seq1
);
dest
.
writeInt
(
this
.
nextDownLevel
);
dest
.
writeInt
(
this
.
discount
);
dest
.
writeInt
(
this
.
language
);
dest
.
writeInt
(
this
.
points
);
dest
.
writeInt
(
this
.
negativePoints
);
dest
.
writeInt
(
this
.
couponTypeId
);
dest
.
writeInt
(
this
.
isdefault
);
dest
.
writeInt
(
this
.
pointsVariable
);
dest
.
writeString
(
this
.
brandName
);
dest
.
writeInt
(
this
.
level
);
dest
.
writeInt
(
this
.
newCouponNum
);
dest
.
writeInt
(
this
.
isVisible
);
dest
.
writeInt
(
this
.
isDisplay
);
dest
.
writeInt
(
this
.
vaildDays
);
dest
.
writeInt
(
this
.
brandId
);
dest
.
writeFloat
(
this
.
pointRedeemCash
);
dest
.
writeInt
(
this
.
ablediscount
);
dest
.
writeFloat
(
this
.
expireAfterDayClearPoints
);
dest
.
writeDouble
(
this
.
extendExpireAmount
);
dest
.
writeString
(
this
.
foodDesc3
);
dest
.
writeInt
(
this
.
scCharge
);
dest
.
writeInt
(
this
.
extendValidDays
);
dest
.
writeDouble
(
this
.
levelUpAmount
);
dest
.
writeInt
(
this
.
optTimes
);
dest
.
writeInt
(
this
.
updateTimes
);
dest
.
writeString
(
this
.
foodDesc1
);
dest
.
writeString
(
this
.
foodDesc2
);
dest
.
writeString
(
this
.
sid
);
dest
.
writeString
(
this
.
pointenddate
);
dest
.
writeString
(
this
.
updateBy
);
dest
.
writeInt
(
this
.
brPoints
);
dest
.
writeString
(
this
.
optTime
);
dest
.
writeInt
(
this
.
createTimes
);
dest
.
writeInt
(
this
.
brCouponNum
);
dest
.
writeInt
(
this
.
pointRule
);
dest
.
writeInt
(
this
.
foodPrice
);
dest
.
writeString
(
this
.
createBy
);
dest
.
writeInt
(
this
.
pointoveryear
);
dest
.
writeString
(
this
.
levelDesc
);
dest
.
writeInt
(
this
.
pointUnit
);
dest
.
writeInt
(
this
.
nextUpLevel
);
dest
.
writeInt
(
this
.
restaurantId
);
dest
.
writeParcelable
(
this
.
createTime
,
flags
);
dest
.
writeParcelable
(
this
.
updateTime
,
flags
);
dest
.
writeParcelable
(
this
.
memberExpireDate
,
flags
);
dest
.
writeParcelable
(
this
.
vaildTime
,
flags
);
}
protected
MemberInfo
(
Parcel
in
)
{
this
.
id
=
in
.
readLong
();
this
.
memberNo
=
in
.
readString
();
this
.
memberDiscount
=
in
.
readInt
();
this
.
MemberPoint
=
in
.
readFloat
();
this
.
memberPoint
=
in
.
readFloat
();
this
.
memberName
=
in
.
readString
();
this
.
levelName3
=
in
.
readString
();
this
.
levelName2
=
in
.
readString
();
this
.
levelName1
=
in
.
readString
();
this
.
levelName
=
in
.
readString
();
this
.
phone
=
in
.
readString
();
this
.
birthdaybonusratio
=
in
.
readInt
();
this
.
creditPoints
=
in
.
readInt
();
this
.
birthdayperiod
=
in
.
readInt
();
this
.
extendExpirePeriod
=
in
.
readInt
();
this
.
brCouponTypeId
=
in
.
readInt
();
this
.
levelUpPeriod
=
in
.
readInt
();
this
.
groupId
=
in
.
readInt
();
this
.
seq1
=
in
.
readInt
();
this
.
nextDownLevel
=
in
.
readInt
();
this
.
discount
=
in
.
readInt
();
this
.
language
=
in
.
readInt
();
this
.
points
=
in
.
readInt
();
this
.
negativePoints
=
in
.
readInt
();
this
.
couponTypeId
=
in
.
readInt
();
this
.
isdefault
=
in
.
readInt
();
this
.
pointsVariable
=
in
.
readInt
();
this
.
brandName
=
in
.
readString
();
this
.
level
=
in
.
readInt
();
this
.
newCouponNum
=
in
.
readInt
();
this
.
isVisible
=
in
.
readInt
();
this
.
isDisplay
=
in
.
readInt
();
this
.
vaildDays
=
in
.
readInt
();
this
.
brandId
=
in
.
readInt
();
this
.
pointRedeemCash
=
in
.
readFloat
();
this
.
ablediscount
=
in
.
readInt
();
this
.
expireAfterDayClearPoints
=
in
.
readFloat
();
this
.
extendExpireAmount
=
in
.
readDouble
();
this
.
foodDesc3
=
in
.
readString
();
this
.
scCharge
=
in
.
readInt
();
this
.
extendValidDays
=
in
.
readInt
();
this
.
levelUpAmount
=
in
.
readDouble
();
this
.
optTimes
=
in
.
readInt
();
this
.
updateTimes
=
in
.
readInt
();
this
.
foodDesc1
=
in
.
readString
();
this
.
foodDesc2
=
in
.
readString
();
this
.
sid
=
in
.
readString
();
this
.
pointenddate
=
in
.
readString
();
this
.
updateBy
=
in
.
readString
();
this
.
brPoints
=
in
.
readInt
();
this
.
optTime
=
in
.
readString
();
this
.
createTimes
=
in
.
readInt
();
this
.
brCouponNum
=
in
.
readInt
();
this
.
pointRule
=
in
.
readInt
();
this
.
foodPrice
=
in
.
readInt
();
this
.
createBy
=
in
.
readString
();
this
.
pointoveryear
=
in
.
readInt
();
this
.
levelDesc
=
in
.
readString
();
this
.
pointUnit
=
in
.
readInt
();
this
.
nextUpLevel
=
in
.
readInt
();
this
.
restaurantId
=
in
.
readInt
();
this
.
createTime
=
in
.
readParcelable
(
CreateTimeBean
.
class
.
getClassLoader
());
this
.
updateTime
=
in
.
readParcelable
(
UpdateTimeBean
.
class
.
getClassLoader
());
this
.
memberExpireDate
=
in
.
readParcelable
(
MemberExpireDateBean
.
class
.
getClassLoader
());
this
.
vaildTime
=
in
.
readParcelable
(
VaildTimeBean
.
class
.
getClassLoader
());
}
public
static
final
Creator
<
MemberInfo
>
CREATOR
=
new
Creator
<
MemberInfo
>()
{
@Override
public
MemberInfo
createFromParcel
(
Parcel
source
)
{
return
new
MemberInfo
(
source
);
}
public
void
setVaildTime
(
VaildTimeBean
vaildTime
)
{
this
.
vaildTime
=
vaildTime
;
}
@Override
public
MemberInfo
[]
newArray
(
int
size
)
{
return
new
MemberInfo
[
size
];
}
};
}
library-order/src/main/java/com/gingersoft/gsa/cloud/order/cart/ShoppingCart.java
View file @
b01803d9
...
...
@@ -185,15 +185,13 @@ public class ShoppingCart {
public
void
delAllMultyDiscount
()
{
List
<
MultyDiscount
>
multyDiscountList
=
getMultyDiscountList
();
boolean
result
=
multyDiscountList
.
removeAll
(
multyDiscountList
);
int
i
=
100
;
}
/**
* 刪除所有單折扣
*/
public
void
delAllNomalDiscountList
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
boolean
result
=
getMultyDiscountList
().
removeAll
(
nomalDiscountList
);
int
i
=
100
;
public
boolean
delAllNomalDiscountList
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
return
getMultyDiscountList
().
removeAll
(
nomalDiscountList
);
}
/**
...
...
@@ -232,17 +230,17 @@ public class ShoppingCart {
MultyDiscount
memberLevelDiscount
=
new
MemberLevelDiscount
(
discount
.
getMemberName
(),
status
,
multyDiscounts
,
discount
);
return
memberLevelDiscount
;
}
/**
* 將會員優惠券折扣添加到鏈條中
*
* @param discount
* @return
*/
public
MultyDiscount
addMemberCouponDiscountToLinked
(
MultyDiscount
multyDiscounts
,
CouponDiscountBean
discount
,
int
status
)
{
MultyDiscount
couponDiscount
=
new
MemberCouponDiscount
(
discount
.
getName
(),
status
,
multyDiscounts
,
discount
);
return
couponDiscount
;
}
//
//
/**
//
* 將會員優惠券折扣添加到鏈條中
//
*
//
* @param discount
//
* @return
//
*/
//
public MultyDiscount addMemberCouponDiscountToLinked(MultyDiscount multyDiscounts, CouponDiscountBean discount, int status) {
//
MultyDiscount couponDiscount = new MemberCouponDiscount(discount.getName(), status, multyDiscounts, discount);
//
return couponDiscount;
//
}
/**
* 將會員錢包折扣添加到鏈條中
...
...
@@ -289,9 +287,11 @@ public class ShoppingCart {
multyDiscounts
=
addNomalDiscountToLinked
(
multyDiscounts
,
((
NomalDiscount
)
discount
).
getDiscount
(),
discount
.
getStatus
());
}
else
if
(
discount
instanceof
MemberLevelDiscount
)
{
multyDiscounts
=
addMemberLevelDiscountToLinked
(
multyDiscounts
,
((
MemberLevelDiscount
)
discount
).
getMemberDiscount
(),
discount
.
getStatus
());
}
else
if
(
discount
instanceof
MemberCouponDiscount
)
{
multyDiscounts
=
addMemberCouponDiscountToLinked
(
multyDiscounts
,
((
MemberCouponDiscount
)
discount
).
getCouponDiscount
(),
discount
.
getStatus
());
}
else
if
(
discount
instanceof
MemberWalletCouponDiscount
)
{
}
// else if (discount instanceof MemberCouponDiscount) {
// multyDiscounts = addMemberCouponDiscountToLinked(multyDiscounts, ((MemberCouponDiscount) discount).getCouponDiscount(), discount.getStatus());
// }
else
if
(
discount
instanceof
MemberWalletCouponDiscount
)
{
multyDiscounts
=
addMemberWalletCouponDiscountToLinked
(
multyDiscounts
,
((
MemberWalletCouponDiscount
)
discount
).
getWalletCoupon
(),
discount
.
getStatus
());
}
multyDiscountArrays
.
add
(
multyDiscounts
);
...
...
@@ -360,12 +360,12 @@ public class ShoppingCart {
multyDiscounts
=
shoppingCart
.
addNomalDiscountToLinked
(
multyDiscounts
,
discount
,
0
);
shoppingCart
.
addMultyDiscount
(
multyDiscounts
);
CouponDiscountBean
couponDiscountBean
=
new
CouponDiscountBean
();
couponDiscountBean
.
setCouponTypeName1
(
"魚屋立減50元券"
);
couponDiscountBean
.
setAmount
(
50
);
couponDiscountBean
.
setCouponType
((
byte
)
2
);
multyDiscounts
=
shoppingCart
.
addMember
CouponDiscountToLinked
(
multyDiscounts
,
couponDiscountBean
,
0
);
shoppingCart
.
addMultyDiscount
(
multyDiscounts
);
//
CouponDiscountBean couponDiscountBean = new CouponDiscountBean();
//
couponDiscountBean.setCouponTypeName1("魚屋立減50元券");
//
couponDiscountBean.setAmount(50);
//
couponDiscountBean.setCouponType((byte) 2);
// multyDiscounts = shoppingCart.addMemberWallet
CouponDiscountToLinked(multyDiscounts, couponDiscountBean, 0);
//
shoppingCart.addMultyDiscount(multyDiscounts);
MemberInfo
memberInfo2
=
new
MemberInfo
();
memberInfo2
.
setMemberName
(
"白金會員20%"
);
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/order/commodity/OrderDetail.java
View file @
b01803d9
...
...
@@ -10,7 +10,9 @@ import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.order.discount.MemberWalletCouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
...
...
@@ -97,11 +99,13 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
* 2:套餐
* 3:細項
* 4:折扣
* 5:優惠券
*/
public
static
final
byte
FOOD_PROP
=
1
;
public
static
final
byte
COMBO_PROP
=
2
;
public
static
final
byte
MODIFIER_PROP
=
3
;
public
static
final
byte
DISCOUNT_PROP
=
4
;
public
static
final
byte
COUPON_PROP
=
5
;
/***
* 層級
* 1:主食品
...
...
@@ -210,6 +214,10 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
*/
private
Discount
discount
;
/**
* 會員優惠券實體
*/
private
MemberWalletCoupon
walletCoupon
;
/**
* 折扣狀態#0:沒有折扣;1:有折扣未送單;2:折扣全部已送單;
*/
private
int
discountStatus
;
...
...
@@ -321,6 +329,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
this
.
freeServiceCharge
=
orderDetail
.
freeServiceCharge
;
this
.
additionalDiscount
=
orderDetail
.
additionalDiscount
;
this
.
discount
=
orderDetail
.
discount
;
this
.
walletCoupon
=
orderDetail
.
walletCoupon
;
this
.
discountStatus
=
orderDetail
.
discountStatus
;
this
.
status
=
orderDetail
.
status
;
this
.
printSeting
=
orderDetail
.
printSeting
;
...
...
@@ -335,94 +344,6 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
this
.
cancelNumber
=
orderDetail
.
cancelNumber
;
}
public
static
long
getSerialVersionUID
()
{
return
serialVersionUID
;
}
public
void
setModify
(
boolean
modify
)
{
isModify
=
modify
;
}
public
int
getModifyBeforeNumber
()
{
return
modifyBeforeNumber
;
}
public
void
setModifyBeforeNumber
(
int
modifyBeforeNumber
)
{
this
.
modifyBeforeNumber
=
modifyBeforeNumber
;
}
public
String
getCancelReason
()
{
return
cancelReason
;
}
public
void
setCancelReason
(
String
cancelReason
)
{
this
.
cancelReason
=
cancelReason
;
}
public
int
getReasonId
()
{
return
reasonId
;
}
public
void
setReasonId
(
int
reasonId
)
{
this
.
reasonId
=
reasonId
;
}
public
int
getCancelNumber
()
{
return
cancelNumber
;
}
public
void
setCancelNumber
(
int
cancelNumber
)
{
this
.
cancelNumber
=
cancelNumber
;
}
public
static
byte
getFoodProp
()
{
return
FOOD_PROP
;
}
public
static
byte
getComboProp
()
{
return
COMBO_PROP
;
}
public
static
byte
getModifierProp
()
{
return
MODIFIER_PROP
;
}
public
static
byte
getDiscountProp
()
{
return
DISCOUNT_PROP
;
}
public
String
getPrintSeting
()
{
return
printSeting
;
}
public
void
setPrintSeting
(
String
printSeting
)
{
this
.
printSeting
=
printSeting
;
}
public
byte
getScAble
()
{
return
scAble
;
}
public
void
setScAble
(
byte
scAble
)
{
this
.
scAble
=
scAble
;
}
public
double
getPointsAdd
()
{
return
pointsAdd
;
}
public
void
setPointsAdd
(
double
pointsAdd
)
{
this
.
pointsAdd
=
pointsAdd
;
}
public
double
getPointsRedeem
()
{
return
pointsRedeem
;
}
public
void
setPointsRedeem
(
double
pointsRedeem
)
{
this
.
pointsRedeem
=
pointsRedeem
;
}
public
static
byte
getStatusNormal
()
{
return
STATUS_NORMAL
;
}
...
...
@@ -452,406 +373,6 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
return
isModify
;
}
public
int
getSelected
()
{
return
selected
;
}
public
boolean
isIsfood
()
{
return
isIsfood
;
}
public
int
getParentIndex
()
{
return
parentIndex
;
}
public
int
getMyIndex
()
{
return
myIndex
;
}
public
boolean
isNew
()
{
return
isNew
;
}
public
boolean
isVisible
()
{
return
visible
;
}
public
int
getAutoMod
()
{
return
autoMod
;
}
public
int
getLimitQty
()
{
return
limitQty
;
}
public
double
getPERCENTAGE
()
{
return
PERCENTAGE
;
}
public
int
getProp
()
{
return
prop
;
}
public
long
getComid
()
{
return
comid
;
}
public
long
getMid
()
{
return
mid
;
}
public
int
getChangeBeforeQty
()
{
return
changeBeforeQty
;
}
public
boolean
isHasChild
()
{
return
hasChild
;
}
public
int
getBgColor
()
{
return
bgColor
;
}
public
int
getFontColor
()
{
return
fontColor
;
}
public
int
getComboLevel
()
{
return
ComboLevel
;
}
public
boolean
isComboAuto
()
{
return
isComboAuto
;
}
public
long
getId
()
{
return
id
;
}
public
long
getOrderId
()
{
return
orderId
;
}
public
long
getParentId
()
{
return
parentId
;
}
public
String
getProductName
()
{
return
productName
;
}
public
long
getProductId
()
{
return
productId
;
}
public
double
getUnit_price
()
{
return
unit_price
;
}
public
double
getLunchboxPrice
()
{
return
lunchboxPrice
;
}
public
double
getItemsPrice
()
{
return
itemsPrice
;
}
public
int
getNumber
()
{
return
number
;
}
public
String
getUserCouponNo
()
{
return
userCouponNo
;
}
public
byte
getType
()
{
return
type
;
}
public
String
getQmUseData
()
{
return
qmUseData
;
}
public
String
getRemark
()
{
return
remark
;
}
public
String
getItems
()
{
return
items
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
long
getAblediscount
()
{
return
ablediscount
;
}
public
String
getFtName
()
{
return
ftName
;
}
public
String
getMajorName
()
{
return
majorName
;
}
public
void
setSelected
(
int
selected
)
{
this
.
selected
=
selected
;
}
public
void
setIsfood
(
boolean
isfood
)
{
isIsfood
=
isfood
;
}
public
void
setParentIndex
(
int
parentIndex
)
{
this
.
parentIndex
=
parentIndex
;
}
public
void
setMyIndex
(
int
myIndex
)
{
this
.
myIndex
=
myIndex
;
}
public
void
setNew
(
boolean
aNew
)
{
isNew
=
aNew
;
}
public
void
setVisible
(
boolean
visible
)
{
this
.
visible
=
visible
;
}
public
void
setAutoMod
(
int
autoMod
)
{
this
.
autoMod
=
autoMod
;
}
public
void
setLimitQty
(
int
limitQty
)
{
this
.
limitQty
=
limitQty
;
}
public
void
setPERCENTAGE
(
double
PERCENTAGE
)
{
this
.
PERCENTAGE
=
PERCENTAGE
;
}
public
void
setProp
(
int
prop
)
{
this
.
prop
=
prop
;
}
public
void
setComid
(
long
comid
)
{
this
.
comid
=
comid
;
}
public
void
setMid
(
long
mid
)
{
this
.
mid
=
mid
;
}
public
void
setChangeBeforeQty
(
int
changeBeforeQty
)
{
this
.
changeBeforeQty
=
changeBeforeQty
;
}
public
void
setHasChild
(
boolean
hasChild
)
{
this
.
hasChild
=
hasChild
;
}
public
void
setBgColor
(
int
bgColor
)
{
this
.
bgColor
=
bgColor
;
}
public
void
setFontColor
(
int
fontColor
)
{
this
.
fontColor
=
fontColor
;
}
public
void
setComboLevel
(
int
comboLevel
)
{
ComboLevel
=
comboLevel
;
}
public
void
setComboAuto
(
boolean
comboAuto
)
{
isComboAuto
=
comboAuto
;
}
public
Discount
getDiscount
()
{
return
discount
;
}
public
void
setDiscount
(
Discount
discount
)
{
this
.
discount
=
discount
;
}
public
void
setId
(
long
id
)
{
this
.
id
=
id
;
}
public
void
setOrderId
(
long
orderId
)
{
this
.
orderId
=
orderId
;
}
public
void
setParentId
(
long
parentId
)
{
this
.
parentId
=
parentId
;
}
public
void
setProductName
(
String
productName
)
{
this
.
productName
=
productName
;
}
public
void
setProductId
(
long
productId
)
{
this
.
productId
=
productId
;
}
public
long
getParentProductId
()
{
return
parentProductId
;
}
public
void
setParentProductId
(
long
parentProductId
)
{
this
.
parentProductId
=
parentProductId
;
}
public
void
setUnit_price
(
double
unit_price
)
{
this
.
unit_price
=
unit_price
;
}
public
void
setLunchboxPrice
(
double
lunchboxPrice
)
{
this
.
lunchboxPrice
=
lunchboxPrice
;
}
public
void
setItemsPrice
(
double
itemsPrice
)
{
this
.
itemsPrice
=
itemsPrice
;
}
public
void
setNumber
(
int
number
)
{
this
.
number
=
number
;
}
public
void
setUserCouponNo
(
String
userCouponNo
)
{
this
.
userCouponNo
=
userCouponNo
;
}
public
void
setType
(
byte
type
)
{
this
.
type
=
type
;
}
public
void
setQmUseData
(
String
qmUseData
)
{
this
.
qmUseData
=
qmUseData
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
void
setItems
(
String
items
)
{
this
.
items
=
items
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
void
setAblediscount
(
long
ablediscount
)
{
this
.
ablediscount
=
ablediscount
;
}
public
void
setFtName
(
String
ftName
)
{
this
.
ftName
=
ftName
;
}
public
void
setMajorName
(
String
majorName
)
{
this
.
majorName
=
majorName
;
}
public
double
getPrice
()
{
return
price
;
}
public
void
setPrice
(
double
price
)
{
this
.
price
=
price
;
}
public
Byte
getStatus
()
{
return
status
;
}
public
void
setStatus
(
Byte
status
)
{
this
.
status
=
status
;
}
public
int
getItemType
()
{
return
itemType
;
}
public
void
setItemType
(
int
itemType
)
{
this
.
itemType
=
itemType
;
}
public
String
getPrintseting
()
{
return
printSeting
==
null
?
""
:
printSeting
;
}
public
void
setPrintseting
(
String
printseting
)
{
this
.
printSeting
=
printseting
;
}
public
long
getTopId
()
{
return
topId
;
}
public
void
setTopId
(
long
topId
)
{
this
.
topId
=
topId
;
}
public
int
getDiscountStatus
()
{
return
discountStatus
;
}
public
void
setDiscountStatus
(
int
discountStatus
)
{
this
.
discountStatus
=
discountStatus
;
}
public
long
getKtPrintMainItem
()
{
return
ktPrintMainItem
;
}
public
void
setKtPrintMainItem
(
long
ktPrintMainItem
)
{
this
.
ktPrintMainItem
=
ktPrintMainItem
;
}
public
String
getCurrentMaxNumber
()
{
return
currentMaxNumber
;
}
public
void
setCurrentMaxNumber
(
String
currentMaxNumber
)
{
this
.
currentMaxNumber
=
currentMaxNumber
;
}
public
long
getPrintFont
()
{
return
printFont
;
}
public
void
setPrintFont
(
long
printFont
)
{
this
.
printFont
=
printFont
;
}
public
long
getPrintToBill
()
{
return
printToBill
;
}
public
void
setPrintToBill
(
long
printToBill
)
{
this
.
printToBill
=
printToBill
;
}
public
long
getPrintTo
()
{
return
printTo
;
}
public
void
setPrintTo
(
long
printTo
)
{
this
.
printTo
=
printTo
;
}
public
long
getKtShowPrice
()
{
return
ktShowPrice
;
}
public
void
setKtShowPrice
(
long
ktShowPrice
)
{
this
.
ktShowPrice
=
ktShowPrice
;
}
/**
* @param type 是食品清單還是賬單 0清單 1賬單
* @param productnameBeans 訂單食品項
...
...
@@ -1032,7 +553,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
orderDetail
.
setUnit_price
(
orderDetailsBean
.
getPrice
());
orderDetail
.
setPrice
(
orderDetailsBean
.
getPrice
()
*
orderDetailsBean
.
getNumber
());
orderDetail
.
setVisible
(
orderDetailsBean
.
getStatus
()
==
0
);
orderDetail
.
setPrint
s
eting
(
orderDetailsBean
.
getPrintSetIng
());
orderDetail
.
setPrint
S
eting
(
orderDetailsBean
.
getPrintSetIng
());
// orderDetail.setAutomod(foods.getAutomod());
orderDetail
.
setKtPrintMainItem
(
orderDetailsBean
.
getKtPrintMainItem
());
orderDetail
.
setPrintFont
(
orderDetailsBean
.
getPrintFont
());
...
...
@@ -1095,6 +616,11 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
discount
.
setDiscountRecordId
(
discountBean
.
getId
());
discount
.
setDiscountValue
(
discountBean
.
getDiscountValue
());
discount
.
setAmount
(
discountBean
.
getDiscountAmount
());
if
(
discountBean
.
getType
()
==
2
)
{
discount
.
setAbstractDiscountType
(
DiscountConstact
.
WALLET_COUPON_TYPE
);
}
else
{
discount
.
setAbstractDiscountType
(
DiscountConstact
.
DISCOUNT_TYPE
);
}
discount
.
setType
(
discountBean
.
getType
());
discount
.
setRemark
(
discountBean
.
getRemark
());
return
discount
;
...
...
@@ -1153,7 +679,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
orderDetail
.
setCost
(
food
.
getCost
());
orderDetail
.
setNumber
(
number
);
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setPrint
s
eting
(
food
.
getPrintSeting
());
orderDetail
.
setPrint
S
eting
(
food
.
getPrintSeting
());
orderDetail
.
setIsfood
(
true
);
orderDetail
.
setNew
(
true
);
orderDetail
.
setType
(
FOOD_TYPE
);
...
...
@@ -1202,7 +728,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
orderDetail
.
setType
(
FOOD_TYPE
);
orderDetail
.
setItemType
(
2
);
orderDetail
.
setProp
(
prop
);
orderDetail
.
setPrint
s
eting
(
foodCombo
.
getPrintSeting
());
orderDetail
.
setPrint
S
eting
(
foodCombo
.
getPrintSeting
());
orderDetail
.
setAblediscount
(
foodCombo
.
getAblediscount
());
// orderDetail.setComboAuto(foodCombo.isAutoMode());
if
(
isRvMealClicked
)
{
...
...
@@ -1254,7 +780,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
}
/**
* 折扣
,優惠券
轉換
* 折扣轉換
*
* @param discount
* @return
...
...
@@ -1275,11 +801,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setIsfood
(
false
);
orderDetail
.
setNew
(
isNew
);
if
(
discount
.
getFreeServiceCharge
()
==
DiscountConstact
.
WALLET_COUPON_TYPE
)
{
orderDetail
.
setType
(
COUPON_TYPE
);
}
else
{
orderDetail
.
setType
(
DISCOUNT_TYPE
);
}
orderDetail
.
setType
(
DISCOUNT_TYPE
);
orderDetail
.
setProp
(
DISCOUNT_PROP
);
orderDetail
.
setSelected
(
2
);
orderDetail
.
setItemType
(
2
);
...
...
@@ -1289,6 +811,38 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
return
orderDetail
;
}
/**
* 會員優惠券轉換
*
* @param walletCoupon
* @return
*/
public
static
OrderDetail
couponTransOrderDetail
(
MemberWalletCoupon
walletCoupon
,
boolean
isNew
,
long
id
,
double
sourcePrice
)
{
double
discountPrice
=
MemberWalletCouponDiscount
.
calculationCoupon
(
walletCoupon
,
sourcePrice
);
OrderDetail
orderDetail
=
new
OrderDetail
();
orderDetail
.
setProductName
(
walletCoupon
.
getCouponTypeName
());
orderDetail
.
setId
(
walletCoupon
.
getId
());
orderDetail
.
setTopId
(
id
);
orderDetail
.
setParentId
(
id
);
orderDetail
.
setProductId
(
walletCoupon
.
getId
());
orderDetail
.
setNumber
(
1
);
orderDetail
.
setPrice
(
discountPrice
);
orderDetail
.
setUnit_price
(
discountPrice
);
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setIsfood
(
false
);
orderDetail
.
setNew
(
isNew
);
orderDetail
.
setType
(
COUPON_TYPE
);
orderDetail
.
setProp
(
COUPON_PROP
);
orderDetail
.
setSelected
(
2
);
orderDetail
.
setItemType
(
2
);
orderDetail
.
setWalletCoupon
(
walletCoupon
);
return
orderDetail
;
}
public
static
List
<
OrderDetail
>
transNewOrderDetails
(
List
<
OrderDetail
>
orderDetailList
)
{
List
<
OrderDetail
>
newOrderList
=
new
ArrayList
<>();
for
(
OrderDetail
orderDetail
:
orderDetailList
)
{
...
...
@@ -1337,7 +891,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
orderData
.
setProductName
(
bean
.
getPRODUCT_NAME
());
orderData
.
setPrice
(
Double
.
parseDouble
(
Objects
.
requireNonNull
(
bean
.
getPRICE
())));
orderData
.
setNumber
(
Integer
.
parseInt
(
Objects
.
requireNonNull
(
bean
.
getNum
())));
orderData
.
setPrint
s
eting
(
bean
.
getPrintseting
());
orderData
.
setPrint
S
eting
(
bean
.
getPrintseting
());
orderData
.
setItemType
(
1
);
if
(
bean
.
getChild
()
!=
null
)
{
for
(
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
.
ChildBeanX
childBeanX
:
bean
.
getChild
())
{
...
...
@@ -1345,7 +899,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
childOrderData
.
setProductName
(
childBeanX
.
getPRODUCT_NAME
());
childOrderData
.
setPrice
(
Double
.
parseDouble
(
Objects
.
requireNonNull
(
childBeanX
.
getPRICE
())));
childOrderData
.
setNumber
(
Integer
.
parseInt
(
Objects
.
requireNonNull
(
childBeanX
.
getNum
())));
childOrderData
.
setPrint
s
eting
(
childBeanX
.
getPrintseting
());
childOrderData
.
setPrint
S
eting
(
childBeanX
.
getPrintseting
());
childOrderData
.
setItemType
(
2
);
if
(
childBeanX
.
getChild
()
!=
null
)
{
for
(
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
.
ChildBeanX
.
ChildBean
childBean
:
childBeanX
.
getChild
())
{
...
...
@@ -1353,7 +907,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
childOrderData2
.
setProductName
(
childBean
.
getPRODUCT_NAME
());
childOrderData2
.
setPrice
(
Double
.
parseDouble
(
Objects
.
requireNonNull
(
childBean
.
getPRICE
())));
childOrderData2
.
setNumber
(
Integer
.
parseInt
(
Objects
.
requireNonNull
(
childBean
.
getNum
())));
childOrderData2
.
setPrint
s
eting
(
childBean
.
getPrintseting
());
childOrderData2
.
setPrint
S
eting
(
childBean
.
getPrintseting
());
childOrderData2
.
setItemType
(
3
);
orderDetailList
.
add
(
childOrderData2
);
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PaymentControl.java
View file @
b01803d9
...
...
@@ -2,8 +2,10 @@ package com.gingersoft.gsa.cloud.pay;
import
androidx.fragment.app.FragmentActivity
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.contract.YedpayContract
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.fragment.PayFlowFragment
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.Preconditions
;
import
lombok.Getter
;
...
...
@@ -71,7 +73,7 @@ public class PaymentControl {
}
public
void
showPayFlowFragment
(
FragmentActivity
fragmentActivity
,
RequestParms
requestParms
){
PayFlowFragment
payFlowFragment
=
PayFlowFragment
.
newInstance
(
requestParms
);
PayFlowFragment
<
BasePresenter
<
YedpayContract
.
Model
,
YedpayContract
.
View
>>
payFlowFragment
=
PayFlowFragment
.
newInstance
(
requestParms
);
payFlowFragment
.
show
(
fragmentActivity
.
getSupportFragmentManager
(),
"PayFlowDialogFragment"
);
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCommandImp.java
View file @
b01803d9
...
...
@@ -7,7 +7,6 @@ import androidx.fragment.app.Fragment;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.presenter.PayFlowPresenter
;
/**
* @作者: bin
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/contract/YedpayContract.java
0 → 100644
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
contract
;
import
android.content.Intent
;
import
androidx.fragment.app.Fragment
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.pay.PayStep
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/30/2021 16:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
YedpayContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
void
showStatusLoadingDialog
(
PayStep
status
);
void
startActivityForResult
(
Intent
intent
);
Fragment
getFragment
();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Single
<
BaseResult
>
findSaleStatus
(
RequestBody
body
);
Single
<
BaseResult
>
refundOrder
(
RequestBody
body
);
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/di/component/YedpayComponent.java
0 → 100644
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.di.module.YedpayModule
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.contract.YedpayContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.fragment.YedpayFragment
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/30/2021 16:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
@Component
(
modules
=
YedpayModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
YedpayComponent
{
void
inject
(
YedpayFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
YedpayComponent
.
Builder
view
(
YedpayContract
.
View
view
);
YedpayComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
YedpayComponent
build
();
}
}
\ No newline at end of file
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/di/module/YedpayModule.java
0 → 100644
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
di
.
module
;
import
com.jess.arms.di.scope.FragmentScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.contract.YedpayContract
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.model.YedpayModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/30/2021 16:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
YedpayModule
{
@Binds
abstract
YedpayContract
.
Model
bindYedpayModel
(
YedpayModel
model
);
}
\ No newline at end of file
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/fragment/YedpayFragment.java
0 → 100644
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
fragment
;
import
android.content.Intent
;
import
android.graphics.drawable.ColorDrawable
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
com.gingersoft.gsa.cloud.order.R
;
import
com.gingersoft.gsa.cloud.order.R2
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.fragment.PayFlowFragment
;
import
com.gingersoft.gsa.cloud.pay.view.customstatus.CustomStatusView
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.contract.YedpayContract
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.presenter.YedpayPresenter
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/30/2021 16:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
YedpayFragment
extends
PayFlowFragment
<
YedpayPresenter
>
implements
YedpayContract
.
View
{
@BindView
(
R2
.
id
.
ll_container
)
LinearLayout
ll_container
;
@BindView
(
R2
.
id
.
as_status
)
CustomStatusView
as_status
;
@BindView
(
R2
.
id
.
tv_status
)
TextView
tv_status
;
// public static PayFlowFragment newInstance(RequestParms parms) {
// PayFlowFragment fragment = new PayFlowFragment();
// Bundle bundle = new Bundle();
// bundle.putParcelable("requestParms", parms);
// fragment.setArguments(bundle);
// return fragment;
// }
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerYedpayComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
getDialog
().
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
getDialog
().
setCancelable
(
false
);
return
inflater
.
inflate
(
R
.
layout
.
dialog_pay_loading
,
container
,
false
);
}
@Override
public
void
onStart
()
{
super
.
onStart
();
mWindow
.
setBackgroundDrawable
(
new
ColorDrawable
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
trans
)));
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
// mPresenter.excutePayFlow(requestParms);
}
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
@Override
public
void
showLoading
(
String
message
)
{
}
@Override
public
void
hideLoading
()
{
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
checkNotNull
(
message
);
ArmsUtils
.
makeText
(
mContext
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
super
.
killMyself
();
}
// @Override
// public void onActivityResult(int requestCode, int resultCode, @Nullable Intent intent) {
// super.onActivityResult(requestCode, resultCode, intent);
// LoganManager.w_code(TAG, "onActivityResult->" + "resultCode=" + resultCode + " requestCode=" + requestCode);
// if (resultCode == android.app.Activity.RESULT_OK) {
// switch (requestCode) {
// case YedpayConstant.CallRequestCode.SALE_REQUEST_CODE: {
// if (intent.getExtras() != null) {
// String status = (String) intent.getExtras().get("status");
// String transaction_id = (String) intent.getExtras().get("transaction_id");
// LoganManager.w_code(TAG, "onActivityResult-》" + "status=" + status + " transaction_id=" + transaction_id);
// mPresenter.yedPayUpdateStatus(transaction_id, requestParms.getOrderId(), requestParms.getPayType(), requestParms.getResturantId());
// }
// break;
// }
// default:
// showStatusLoadingDialog(PayStep.FAILURE);
// break;
// }
// } else {
// showStatusLoadingDialog(PayStep.FAILURE);
// }
// }
@Override
public
void
startActivityForResult
(
Intent
intent
)
{
startActivityForResult
(
intent
,
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
);
}
@Override
public
Fragment
getFragment
()
{
return
this
;
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/
lifecycle/model/PayFlow
Model.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/
device/pos/yedpay/lifecycle/model/Yedpay
Model.java
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
model
;
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.model.service.YedpayService
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.model.service.PayFlowService
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
...
...
@@ -12,7 +13,7 @@ import com.jess.arms.di.scope.FragmentScope;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.pay.
lifecycle.contract.PayFlow
Contract
;
import
com.gingersoft.gsa.cloud.pay.
device.pos.yedpay.lifecycle.contract.Yedpay
Contract
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
...
...
@@ -22,7 +23,7 @@ import okhttp3.RequestBody;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/
15/2021 14:44
* Created by MVPArmsTemplate on 04/
30/2021 16:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -31,14 +32,14 @@ import okhttp3.RequestBody;
* ================================================
*/
@FragmentScope
public
class
PayFlowModel
extends
BaseModel
implements
PayFlow
Contract
.
Model
{
public
class
YedpayModel
extends
BaseModel
implements
Yedpay
Contract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
PayFlow
Model
(
IRepositoryManager
repositoryManager
)
{
public
Yedpay
Model
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
...
...
@@ -49,16 +50,15 @@ public class PayFlowModel extends BaseModel implements PayFlowContract.Model {
this
.
mApplication
=
null
;
}
@Override
public
Single
<
BaseResult
>
yedPayF
indSaleStatus
(
RequestBody
body
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
PayFlow
Service
.
class
)
.
yedPayF
indSaleStatus
(
body
);
public
Single
<
BaseResult
>
f
indSaleStatus
(
RequestBody
body
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
Yedpay
Service
.
class
)
.
f
indSaleStatus
(
body
);
}
@Override
public
Single
<
BaseResult
>
yedPayR
efundOrder
(
RequestBody
body
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
PayFlow
Service
.
class
)
.
yedPayR
efundOrder
(
body
);
public
Single
<
BaseResult
>
r
efundOrder
(
RequestBody
body
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
Yedpay
Service
.
class
)
.
r
efundOrder
(
body
);
}
}
\ No newline at end of file
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/service/YedpayService.java
0 → 100644
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
service
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
io.reactivex.Single
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
okhttp3.RequestBody
;
import
retrofit2.http.Body
;
import
retrofit2.http.Headers
;
import
retrofit2.http.POST
;
/**
* @作者: bin
* @創建時間: 2021-04-30 16:27
* @更新時間: 2021-04-30 16:27
* @描述:
*/
public
interface
YedpayService
{
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"gsaYedPay/updatePayStatus"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
findSaleStatus
(
@Body
RequestBody
requestBody
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"gsaYedPay/refund"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
refundOrder
(
@Body
RequestBody
requestBody
);
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/
lifecycle/presenter/PayFlow
Presenter.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/
device/pos/yedpay/lifecycle/presenter/Yedpay
Presenter.java
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
presenter
;
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
presenter
;
import
android.app.Application
;
import
android.content.Intent
;
import
android.net.Uri
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.AppDevices
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.pay.PayStep
;
import
com.gingersoft.gsa.cloud.pay.PaymentControl
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.ResultCallback
;
import
com.gingersoft.gsa.cloud.pay.device.pos.bbpos.BBposCommandImp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.hyweb.HywebCommandImp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayCommandImp
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.model.bean.YedpayFindSaleStatusBean
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayCommand
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.model.bean.YedpayFindSaleStatusBean
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.mvp.BasePresenter
;
...
...
@@ -28,7 +27,7 @@ import okhttp3.RequestBody;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.pay.
lifecycle.contract.PayFlow
Contract
;
import
com.gingersoft.gsa.cloud.pay.
device.pos.yedpay.lifecycle.contract.Yedpay
Contract
;
import
com.jess.arms.utils.RxLifecycleUtils
;
...
...
@@ -36,7 +35,7 @@ import com.jess.arms.utils.RxLifecycleUtils;
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/
15/2021 14:44
* Created by MVPArmsTemplate on 04/
30/2021 16:23
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
...
...
@@ -45,7 +44,7 @@ import com.jess.arms.utils.RxLifecycleUtils;
* ================================================
*/
@FragmentScope
public
class
PayFlowPresenter
extends
BasePresenter
<
PayFlowContract
.
Model
,
PayFlow
Contract
.
View
>
{
public
class
YedpayPresenter
extends
BasePresenter
<
YedpayContract
.
Model
,
Yedpay
Contract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
...
...
@@ -59,7 +58,7 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
private
ResultCallback
mResultCallback
;
@Inject
public
PayFlowPresenter
(
PayFlowContract
.
Model
model
,
PayFlow
Contract
.
View
rootView
)
{
public
YedpayPresenter
(
YedpayContract
.
Model
model
,
Yedpay
Contract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
...
...
@@ -72,7 +71,8 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
this
.
mApplication
=
null
;
}
public
void
yedPayUpdateStatus
(
String
transactionId
,
long
orderId
,
int
payType
,
int
restaurantId
)
{
public
void
findSaleStatus
(
String
transactionId
,
long
orderId
,
int
payType
,
int
restaurantId
)
{
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"transactionId"
,
transactionId
)
.
add
(
"orderId"
,
orderId
+
""
)
...
...
@@ -80,7 +80,7 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
.
add
(
"restaurantId"
,
restaurantId
+
""
)
.
build
();
mModel
.
yedPayF
indSaleStatus
(
requestBody
)
mModel
.
f
indSaleStatus
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
...
...
@@ -129,14 +129,14 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
});
}
public
void
yedPayR
efundOrder
(
String
refundReason
,
long
orderId
,
int
payType
,
int
restaurantId
)
{
public
void
r
efundOrder
(
String
refundReason
,
long
orderId
,
int
payType
,
int
restaurantId
)
{
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"refundReason"
,
refundReason
)
.
add
(
"orderId"
,
String
.
valueOf
(
orderId
))
.
add
(
"payType"
,
String
.
valueOf
(
payType
))
.
add
(
"restaurantId"
,
String
.
valueOf
(
restaurantId
))
.
build
();
mModel
.
yedPayR
efundOrder
(
requestBody
)
mModel
.
r
efundOrder
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
...
...
@@ -173,7 +173,7 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
this
.
mRequestParms
=
requestParms
;
this
.
mResultCallback
=
mRequestParms
.
getResultCallback
();
setCallbackBy
(
requestParms
);
mRequestParms
.
setCallback
(
yedpayCommand
);
switch
(
requestParms
.
getAction
())
{
case
SALE:
...
...
@@ -185,16 +185,19 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
}
}
private
void
setCallbackBy
(
RequestParms
requestParms
)
{
if
(
AppDevices
.
isHywebPos
())
{
requestParms
.
setCallback
(
new
HywebCommandImp
());
}
else
if
(
AppDevices
.
isBBPos
())
{
requestParms
.
setCallback
(
new
BBposCommandImp
());
}
else
if
(
AppDevices
.
isYedpay
())
{
requestParms
.
setCallback
(
new
YedpayCommandImp
(
mRootView
.
getFragment
(),
this
,
mRequestParms
));
}
else
{
requestParms
.
setCallback
(
new
YedpayCommandImp
(
mRootView
.
getFragment
(),
this
,
mRequestParms
));
private
YedpayCommand
yedpayCommand
=
new
YedpayCommand
()
{
@Override
public
void
callSaleUri
(
String
uri
)
{
Uri
uri2
=
Uri
.
parse
(
uri
);
Intent
intent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
uri2
);
mRootView
.
getFragment
().
startActivityForResult
(
intent
,
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
);
}
}
@Override
public
void
refundResult
(
boolean
result
)
{
refundOrder
(
mRequestParms
.
getRefundReason
(),
mRequestParms
.
getOrderId
(),
mRequestParms
.
getPayType
(),
mRequestParms
.
getResturantId
());
}
};
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/contract/PayFlowContract.java
View file @
b01803d9
...
...
@@ -32,17 +32,11 @@ public interface PayFlowContract {
void
showStatusLoadingDialog
(
PayStep
status
);
void
startActivityForResult
(
Intent
intent
);
Fragment
getFragment
();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Single
<
BaseResult
>
yedPayFindSaleStatus
(
RequestBody
body
);
Single
<
BaseResult
>
yedPayRefundOrder
(
RequestBody
body
);
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/di/component/PayFlowComponent.java
View file @
b01803d9
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.pay.lifecycle.di.component;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.contract.YedpayContract
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.di.module.PayFlowModule
;
...
...
@@ -10,6 +11,7 @@ import com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.fragment.PayFlowFragment
;
import
com.jess.arms.mvp.BasePresenter
;
/**
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/di/module/PayFlowModule.java
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
di
.
module
;
import
com.jess.arms.di.scope.FragmentScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract
;
import
com.
gingersoft.gsa.cloud.pay.lifecycle.model.PayFlow
Model
;
import
com.
jess.arms.mvp.Base
Model
;
/**
...
...
@@ -26,5 +23,5 @@ import com.gingersoft.gsa.cloud.pay.lifecycle.model.PayFlowModel;
public
abstract
class
PayFlowModule
{
@Binds
abstract
PayFlowContract
.
Model
bindPayFlowModel
(
PayFlow
Model
model
);
abstract
PayFlowContract
.
Model
bindPayFlowModel
(
Base
Model
model
);
}
\ No newline at end of file
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/fragment/PayFlowFragment.java
View file @
b01803d9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
fragment
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.graphics.drawable.ColorDrawable
;
import
android.os.Bundle
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.FrameLayout
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
...
...
@@ -18,23 +15,19 @@ import androidx.annotation.NonNull;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.order.R
;
import
com.gingersoft.gsa.cloud.order.R2
;
import
com.gingersoft.gsa.cloud.pay.PayAction
;
import
com.gingersoft.gsa.cloud.pay.PayStep
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.
constant.YedpayConstan
t
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.
lifecycle.contract.YedpayContrac
t
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.di.component.DaggerPayFlowComponent
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.view.customstatus.CustomStatusView
;
import
com.gingersoft.gsa.cloud.pay.widget.StatusLoadingDialog
;
import
com.jess.arms.base.BaseDialogFragment
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.presenter.PayFlowPresenter
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
butterknife.BindView
;
...
...
@@ -53,7 +46,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
PayFlowFragment
extends
BaseDialogFragment
<
PayFlowPresenter
>
implements
PayFlowContract
.
View
{
public
class
PayFlowFragment
<
P
extends
BasePresenter
>
extends
BaseDialogFragment
implements
PayFlowContract
.
View
{
@BindView
(
R2
.
id
.
ll_container
)
LinearLayout
ll_container
;
...
...
@@ -102,15 +95,13 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
requestParms
=
(
RequestParms
)
arguments
.
getParcelable
(
"requestParms"
);
requestParms
=
arguments
.
getParcelable
(
"requestParms"
);
action
=
requestParms
.
getAction
();
tv_status
.
setText
(
mLoadingText
);
ll_container
.
setLayoutParams
(
new
FrameLayout
.
LayoutParams
((
int
)
(
ArmsUtils
.
getScreenWidth
(
mContext
)
*
0.4
),
(
int
)
(
ArmsUtils
.
getScreenWidth
(
mContext
)
*
0.4
)));
showStatusLoadingDialog
(
PayStep
.
LOADING
);
mPresenter
.
excutePayFlow
(
requestParms
);
}
@Override
...
...
@@ -190,34 +181,6 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
},
mCancelDelayMillis
);
}
@Override
public
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
intent
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
intent
);
LoganManager
.
w_code
(
TAG
,
"onActivityResult->"
+
"resultCode="
+
resultCode
+
" requestCode="
+
requestCode
);
if
(
resultCode
==
android
.
app
.
Activity
.
RESULT_OK
)
{
switch
(
requestCode
)
{
case
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
:
{
if
(
intent
.
getExtras
()
!=
null
)
{
String
status
=
(
String
)
intent
.
getExtras
().
get
(
"status"
);
String
transaction_id
=
(
String
)
intent
.
getExtras
().
get
(
"transaction_id"
);
LoganManager
.
w_code
(
TAG
,
"onActivityResult-》"
+
"status="
+
status
+
" transaction_id="
+
transaction_id
);
mPresenter
.
yedPayUpdateStatus
(
transaction_id
,
requestParms
.
getOrderId
(),
requestParms
.
getPayType
(),
requestParms
.
getResturantId
());
}
break
;
}
default
:
showStatusLoadingDialog
(
PayStep
.
FAILURE
);
break
;
}
}
else
{
showStatusLoadingDialog
(
PayStep
.
FAILURE
);
}
}
@Override
public
void
startActivityForResult
(
Intent
intent
)
{
startActivityForResult
(
intent
,
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
);
}
@Override
public
Fragment
getFragment
()
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/model/bean/YedPayRefundBean.java
deleted
100644 → 0
View file @
f699e909
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
model
.
bean
;
/**
* @作者: bin
* @創建時間: 2021-04-15 18:46
* @更新時間: 2021-04-15 18:46
* @描述:
*/
public
class
YedPayRefundBean
{
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/model/bean/YedpayFindSaleStatusBean.java
deleted
100644 → 0
View file @
f699e909
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
model
.
bean
;
import
lombok.Data
;
/**
* @作者: bin
* @創建時間: 2021-04-15 18:46
* @更新時間: 2021-04-15 18:46
* @描述:
*/
@Data
public
class
YedpayFindSaleStatusBean
{
/**
* 訂單id
*/
private
long
orderId
=
-
1L
;
/**
* 支付状态:0 未支付 1 支付失败 2 支持成功 3 已支付未到账 4.支付中 5.已退款 6.廢棄(第二次結賬)
*/
private
Integer
status
;
/**
* 交易id
*/
private
String
transactionId
;
/**
* 退款id
*/
private
String
refundId
;
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/model/service/PayFlowService.java
deleted
100644 → 0
View file @
f699e909
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
model
.
service
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
io.reactivex.Single
;
import
io.reactivex.Single
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
okhttp3.RequestBody
;
import
retrofit2.http.Body
;
import
retrofit2.http.GET
;
import
retrofit2.http.Headers
;
import
retrofit2.http.POST
;
import
retrofit2.http.Query
;
/**
* Created by Wyh on 2020/1/17.
*/
public
interface
PayFlowService
{
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"posPay/getTxnId"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
getTxnId
(
@Query
(
"type"
)
int
type
,
@Query
(
"parm"
)
String
parm
,
@Query
(
"gsposShopId"
)
String
shopName
,
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"posPay/getRefundTxnId"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
getRefundTxnId
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"posPay/getCancelTxnId"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
getCancelTxnId
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"orderPay/updatePosRefund"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
updatePosRefund
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"memberId"
)
Long
memberId
,
@Query
(
"couponMemberId"
)
long
couponMemberId
,
@Query
(
"couponNo"
)
String
couponNo
,
@Query
(
"restaurantId"
)
int
restaurantId
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"member/getMemberWalletList"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
getMemberWalletList
(
@Query
(
"brandId"
)
int
brandId
,
@Query
(
"memberId"
)
long
memberId
,
@Query
(
"limitType"
)
long
limitType
,
@Query
(
"pageIndex"
)
long
pageIndex
,
@Query
(
"pageSize"
)
long
pageSize
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"orderPay/add"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
add
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"posPay/updatePosCancel"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
updatePosCancel
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"gsaYedPay/updatePayStatus"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
yedPayFindSaleStatus
(
@Body
RequestBody
requestBody
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"gsaYedPay/refund"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
yedPayRefundOrder
(
@Body
RequestBody
requestBody
);
}
library-order/src/main/res/layout/fragment_yedpay.xml
0 → 100644
View file @
b01803d9
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
</LinearLayout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment