[6.5.0]
[fix] [订单不可逆逻辑校验]
This commit is contained in:
@@ -7,6 +7,7 @@ object OrderModel {
|
||||
private val mOrderStatusCallbackMap: MutableMap<String, OrderListener> = ConcurrentHashMap()
|
||||
|
||||
var orderBean: BaseOrderBean?=null
|
||||
var preOrderBean: BaseOrderBean?=null
|
||||
|
||||
init {
|
||||
|
||||
@@ -21,23 +22,35 @@ object OrderModel {
|
||||
mOrderStatusCallbackMap[tag] = callback
|
||||
}
|
||||
|
||||
fun <T: BaseOrderBean?>invokeListener(orderBean: T?){
|
||||
fun <T: BaseOrderBean?>invokeListener(newOrderBean: T?){
|
||||
preOrderBean?.let {
|
||||
if(newOrderBean!=null){
|
||||
if(it.orderNo==newOrderBean.orderNo){
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
if(this.orderBean==null){
|
||||
this.orderBean = orderBean
|
||||
this.orderBean = newOrderBean
|
||||
}else {
|
||||
if(orderBean==null){
|
||||
if(newOrderBean==null){
|
||||
this.preOrderBean = this.orderBean
|
||||
this.orderBean = null
|
||||
}else{
|
||||
if (this.orderBean!!.orderNo == orderBean.orderNo && this.orderBean!!.orderStatus == orderBean.orderStatus) {
|
||||
return
|
||||
if(this.orderBean!!.orderNo == newOrderBean.orderNo){
|
||||
if(this.orderBean!!.orderStatus >= newOrderBean.orderStatus){
|
||||
return
|
||||
}else{
|
||||
this.orderBean = newOrderBean
|
||||
}
|
||||
}else{
|
||||
this.orderBean = orderBean
|
||||
this.orderBean = newOrderBean
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (callback in mOrderStatusCallbackMap.values) {
|
||||
callback.onCurrentOrderStatusChanged(orderBean)
|
||||
callback.onCurrentOrderStatusChanged(newOrderBean)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user