import 'dart:convert'; import 'package:bbyyy/beans/coupon_bean_entity.dart'; import 'package:bbyyy/beans/new_order_bean_entity.dart'; import 'package:bbyyy/beans/smart_order_bean_entity.dart'; import 'package:bbyyy/beans/system_information_bean_entity.dart'; import 'package:bbyyy/https/MyDio.dart'; import 'package:bbyyy/my_tools/event_bus.dart'; import 'const.dart'; import 'dims.dart'; import 'easy_loading/easy_loading.dart'; class PopUpQueue { PopUpQueue._internal(); static PopUpQueue _singleton = PopUpQueue._internal(); factory PopUpQueue() => _singleton; List coupon = []; var nsqData = []; bool onShow = true; showNext(){ print('========================='); print(onShow); print(nsqData.length); print(coupon.length); print('========================='); if(onShow){ return; } if(nsqData.isNotEmpty){ if(nsqData[0] is NewOrderBeanEntity){ checkOrder(nsqData[0]); }else if(nsqData[0] is SystemInformationBeanEntity){ onShow = true; EventBus().emit('systemInformation',nsqData[0]); nsqData.removeAt(0); } } else if(coupon.isNotEmpty){ onShow = true; EventBus().emit('hasCoupon',coupon[0]); coupon.clear(); } else{ EasyLoading.dismiss(); } } void checkOrder(NewOrderBeanEntity data) { MyDio().query({ "key": "order", "filters": { "conditions": [ 'uid == ${data.content.uID}' ] }, "dims": orderDims, "paging": [1, 20] }, (response, hasError) { if (!hasError) { SmartOrderBeanEntity entity = SmartOrderBeanEntity .fromJson(json.decode(response.data.toString())); if(entity.data.data[0].state==orderStateUnpaid){ onShow = true; EventBus().emit('hasNewOrder', nsqData[0]); nsqData.removeAt(0); }else{ nsqData.removeAt(0); } } }, (error) { nsqData.removeAt(0); }); } }