|
...
|
...
|
@@ -44,6 +44,7 @@ import '../../models/customer_by_seller_model.dart'; |
|
|
|
import '../../app.dart';
|
|
|
|
|
|
|
|
import '../../models/get_seller_info_model.dart';
|
|
|
|
import '../../models/seller_version_model.dart';
|
|
|
|
import '../../models/user.dart';
|
|
|
|
import '../../provider/collect_store_provider.dart';
|
|
|
|
import '../../provider/feast_model.dart';
|
|
...
|
...
|
@@ -89,6 +90,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
|
|
Timer timerSeller;
|
|
|
|
Timer timerSellerEdate; //店铺过期时间提醒
|
|
|
|
|
|
|
|
Timer timerSellerModuleEdate; //模块过期提醒
|
|
|
|
|
|
|
|
int xgCount = 1; //注册信鸽次数,最多5次
|
|
|
|
|
|
|
|
DateTime lastBack;
|
|
...
|
...
|
@@ -101,6 +104,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
|
|
|
|
|
|
CollectStoreProvider collectStoreProvider;
|
|
|
|
|
|
|
|
Map dataSp = Map();
|
|
|
|
|
|
|
|
//实现监听
|
|
|
|
Future<dynamic> platformCallHandler(MethodCall call) async {
|
|
|
|
switch (call.method) {
|
|
...
|
...
|
@@ -272,7 +277,32 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
|
|
|
|
|
|
getSellerVersion() async {
|
|
|
|
await collectStoreProvider.getSellerVersion(context);
|
|
|
|
|
|
|
|
if (collectStoreProvider.sellerVersionList != null) {
|
|
|
|
//获取到店铺过期时间
|
|
|
|
//店铺过期提醒
|
|
|
|
// 计算时间差
|
|
|
|
//店铺过期日期
|
|
|
|
List<SellerVersionSunModel> showData = [];
|
|
|
|
// App.sp.remove('sellerEdateModule');
|
|
|
|
|
|
|
|
collectStoreProvider.sellerVersionList.forEach((element) {
|
|
|
|
_edateSellerModuleShow(showData, element, dataSp);
|
|
|
|
});
|
|
|
|
print(showData);
|
|
|
|
print(dataSp);
|
|
|
|
App.sp.setString("sellerEdateModule", json.encode(dataSp));
|
|
|
|
if (showData != null && showData.length > 0) {
|
|
|
|
DialogUtil.showSellerVersionEdateDialog(context, showData, (object) {});
|
|
|
|
}
|
|
|
|
//通过showdata 弹窗
|
|
|
|
|
|
|
|
// timerSellerModuleEdate = Timer.periodic(Duration(days: 1), (_) {
|
|
|
|
// //店铺过期提醒
|
|
|
|
// // 计算时间差
|
|
|
|
// //店铺过期日期
|
|
|
|
// _edateShow();
|
|
|
|
// });
|
|
|
|
}
|
|
|
|
setState(() {});
|
|
|
|
}
|
|
|
|
|
|
...
|
...
|
@@ -324,6 +354,179 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
|
|
//
|
|
|
|
}
|
|
|
|
|
|
|
|
_setSpSellerModule(String day, SellerVersionSunModel sellerVersionSunModel) {
|
|
|
|
Map data = Map();
|
|
|
|
List days = [];
|
|
|
|
|
|
|
|
//已经存进去过数据
|
|
|
|
if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
}
|
|
|
|
days.add(day);
|
|
|
|
print(data);
|
|
|
|
|
|
|
|
data[sellerVersionSunModel.vid] = days;
|
|
|
|
return data;
|
|
|
|
}
|
|
|
|
// _setSpSellerModule(String day, SellerVersionSunModel sellerVersionSunModel) {
|
|
|
|
// Map data = Map();
|
|
|
|
// List days = [];
|
|
|
|
|
|
|
|
// //已经存进去过数据
|
|
|
|
// if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
// data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
// days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
// }
|
|
|
|
// days.add(day);
|
|
|
|
// print(data);
|
|
|
|
|
|
|
|
// data[sellerVersionSunModel.vid] = days;
|
|
|
|
// print(data);
|
|
|
|
// App.sp.setString("sellerEdateModule", json.encode(data));
|
|
|
|
// }
|
|
|
|
|
|
|
|
_removeSpSellerModule(SellerVersionSunModel sellerVersionSunModel) {
|
|
|
|
//已经存进去过数据
|
|
|
|
if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
Map data = {};
|
|
|
|
data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
data.removeWhere((key, value) => key == sellerVersionSunModel.vid);
|
|
|
|
if (data != null && data.length == 0) {
|
|
|
|
App.sp.remove("sellerEdateModule");
|
|
|
|
} else {
|
|
|
|
App.sp.setString("sellerEdateModule", json.encode(data));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
_edateSellerModuleShow(List<SellerVersionSunModel> showData,
|
|
|
|
SellerVersionSunModel sellerVersionSunModel, Map dataSp) async {
|
|
|
|
//店铺过期提醒
|
|
|
|
// 计算时间差
|
|
|
|
//店铺过期日期
|
|
|
|
DateTime edate = DateTime.fromMillisecondsSinceEpoch(
|
|
|
|
int.parse(sellerVersionSunModel.edate) * 1000);
|
|
|
|
|
|
|
|
//当前日期
|
|
|
|
final datenow = DateTime.now();
|
|
|
|
|
|
|
|
//比较相差的天数
|
|
|
|
int difference = edate.difference(datenow).inDays;
|
|
|
|
|
|
|
|
int differenceSeconds = edate.difference(datenow).inSeconds;
|
|
|
|
if (difference == 7) {
|
|
|
|
if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
//已经存进去过数据
|
|
|
|
|
|
|
|
Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
if (!days.contains('7')) {
|
|
|
|
//7天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //7天已经提醒过了
|
|
|
|
|
|
|
|
_setSpSellerModule('7', sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
//7天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //7天已经提醒过了
|
|
|
|
_setSpSellerModule('7', sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
|
|
|
|
// _showSellerAlert('7', edate);
|
|
|
|
} else if (difference == 3) {
|
|
|
|
//过期差3天,提醒一次
|
|
|
|
|
|
|
|
// _showSellerAlert('3', edate);
|
|
|
|
if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
//已经存进去过数据
|
|
|
|
|
|
|
|
Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
if (!days.contains('3')) {
|
|
|
|
//3天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //3天已经提醒过了
|
|
|
|
_setSpSellerModule('3', sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
//3天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //3天已经提醒过了
|
|
|
|
_setSpSellerModule('3', sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
} else if (difference == 2) {
|
|
|
|
//过期差2天,提醒一次
|
|
|
|
|
|
|
|
if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
//已经存进去过数据
|
|
|
|
|
|
|
|
Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
if (!days.contains('2')) {
|
|
|
|
//2天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //2天已经提醒过了
|
|
|
|
// _showSellerAlert('2', edate);
|
|
|
|
_setSpSellerModule('2', sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
//2天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //3天已经提醒过了
|
|
|
|
_setSpSellerModule('2', sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
} else if (difference == 1) {
|
|
|
|
//过期差1天,提醒一次
|
|
|
|
|
|
|
|
if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
//已经存进去过数据
|
|
|
|
|
|
|
|
Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
if (!days.contains('1')) {
|
|
|
|
//1天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //1天已经提醒过了
|
|
|
|
// _showSellerAlert('1', edate);
|
|
|
|
_setSpSellerModule('1', sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
//1天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //1天已经提醒过了
|
|
|
|
// _showSellerAlert('1', edate);
|
|
|
|
_setSpSellerModule('1', sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
} else if (difference == 0 && differenceSeconds > 0) {
|
|
|
|
//剩余不足一天
|
|
|
|
|
|
|
|
if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
//已经存进去过数据
|
|
|
|
|
|
|
|
Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
if (!days.contains('0')) {
|
|
|
|
//0天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //0天已经提醒过了
|
|
|
|
// _showSellerAlert('0', edate);
|
|
|
|
|
|
|
|
dataSp.addAll(_setSpSellerModule('0', sellerVersionSunModel));
|
|
|
|
print(dataSp);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
//0天没有提醒过
|
|
|
|
showData.add(sellerVersionSunModel); //0天已经提醒过了
|
|
|
|
// _showSellerAlert('0', edate);
|
|
|
|
dataSp.addAll(_setSpSellerModule('0', sellerVersionSunModel));
|
|
|
|
print(dataSp);
|
|
|
|
}
|
|
|
|
} else if (difference < 0 || (difference == 0 && differenceSeconds <= 0)) {
|
|
|
|
//已到期
|
|
|
|
// _showSellerAlert('-1', edate);
|
|
|
|
} else if (difference > 7) {
|
|
|
|
//没到期
|
|
|
|
//
|
|
|
|
_removeSpSellerModule(sellerVersionSunModel);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 根据showdata 进行提醒
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取店铺过期时间
|
|
|
|
_getSellerById() async {
|
|
|
|
StoreBaseIndoProvider storeBaseIndoProvider =
|
...
|
...
|
|