|
@@ -44,6 +44,7 @@ import '../../models/customer_by_seller_model.dart'; |
|
@@ -44,6 +44,7 @@ import '../../models/customer_by_seller_model.dart'; |
|
44
|
import '../../app.dart';
|
44
|
import '../../app.dart';
|
|
45
|
|
45
|
|
|
46
|
import '../../models/get_seller_info_model.dart';
|
46
|
import '../../models/get_seller_info_model.dart';
|
|
|
|
47
|
+import '../../models/seller_version_model.dart';
|
|
47
|
import '../../models/user.dart';
|
48
|
import '../../models/user.dart';
|
|
48
|
import '../../provider/collect_store_provider.dart';
|
49
|
import '../../provider/collect_store_provider.dart';
|
|
49
|
import '../../provider/feast_model.dart';
|
50
|
import '../../provider/feast_model.dart';
|
|
@@ -89,6 +90,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
@@ -89,6 +90,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
89
|
Timer timerSeller;
|
90
|
Timer timerSeller;
|
|
90
|
Timer timerSellerEdate; //店铺过期时间提醒
|
91
|
Timer timerSellerEdate; //店铺过期时间提醒
|
|
91
|
|
92
|
|
|
|
|
93
|
+ Timer timerSellerModuleEdate; //模块过期提醒
|
|
|
|
94
|
+
|
|
92
|
int xgCount = 1; //注册信鸽次数,最多5次
|
95
|
int xgCount = 1; //注册信鸽次数,最多5次
|
|
93
|
|
96
|
|
|
94
|
DateTime lastBack;
|
97
|
DateTime lastBack;
|
|
@@ -101,6 +104,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
@@ -101,6 +104,8 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
101
|
|
104
|
|
|
102
|
CollectStoreProvider collectStoreProvider;
|
105
|
CollectStoreProvider collectStoreProvider;
|
|
103
|
|
106
|
|
|
|
|
107
|
+ Map dataSp = Map();
|
|
|
|
108
|
+
|
|
104
|
//实现监听
|
109
|
//实现监听
|
|
105
|
Future<dynamic> platformCallHandler(MethodCall call) async {
|
110
|
Future<dynamic> platformCallHandler(MethodCall call) async {
|
|
106
|
switch (call.method) {
|
111
|
switch (call.method) {
|
|
@@ -272,7 +277,32 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
@@ -272,7 +277,32 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
272
|
|
277
|
|
|
273
|
getSellerVersion() async {
|
278
|
getSellerVersion() async {
|
|
274
|
await collectStoreProvider.getSellerVersion(context);
|
279
|
await collectStoreProvider.getSellerVersion(context);
|
|
275
|
-
|
280
|
+ if (collectStoreProvider.sellerVersionList != null) {
|
|
|
|
281
|
+//获取到店铺过期时间
|
|
|
|
282
|
+ //店铺过期提醒
|
|
|
|
283
|
+ // 计算时间差
|
|
|
|
284
|
+ //店铺过期日期
|
|
|
|
285
|
+ List<SellerVersionSunModel> showData = [];
|
|
|
|
286
|
+ // App.sp.remove('sellerEdateModule');
|
|
|
|
287
|
+
|
|
|
|
288
|
+ collectStoreProvider.sellerVersionList.forEach((element) {
|
|
|
|
289
|
+ _edateSellerModuleShow(showData, element, dataSp);
|
|
|
|
290
|
+ });
|
|
|
|
291
|
+ print(showData);
|
|
|
|
292
|
+ print(dataSp);
|
|
|
|
293
|
+ App.sp.setString("sellerEdateModule", json.encode(dataSp));
|
|
|
|
294
|
+ if (showData != null && showData.length > 0) {
|
|
|
|
295
|
+ DialogUtil.showSellerVersionEdateDialog(context, showData, (object) {});
|
|
|
|
296
|
+ }
|
|
|
|
297
|
+ //通过showdata 弹窗
|
|
|
|
298
|
+
|
|
|
|
299
|
+ // timerSellerModuleEdate = Timer.periodic(Duration(days: 1), (_) {
|
|
|
|
300
|
+ // //店铺过期提醒
|
|
|
|
301
|
+ // // 计算时间差
|
|
|
|
302
|
+ // //店铺过期日期
|
|
|
|
303
|
+ // _edateShow();
|
|
|
|
304
|
+ // });
|
|
|
|
305
|
+ }
|
|
276
|
setState(() {});
|
306
|
setState(() {});
|
|
277
|
}
|
307
|
}
|
|
278
|
|
308
|
|
|
@@ -324,6 +354,179 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
@@ -324,6 +354,179 @@ class HomePageState extends State<HomePage> with WidgetsBindingObserver { |
|
324
|
//
|
354
|
//
|
|
325
|
}
|
355
|
}
|
|
326
|
|
356
|
|
|
|
|
357
|
+ _setSpSellerModule(String day, SellerVersionSunModel sellerVersionSunModel) {
|
|
|
|
358
|
+ Map data = Map();
|
|
|
|
359
|
+ List days = [];
|
|
|
|
360
|
+
|
|
|
|
361
|
+ //已经存进去过数据
|
|
|
|
362
|
+ if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
363
|
+ data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
364
|
+ days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
365
|
+ }
|
|
|
|
366
|
+ days.add(day);
|
|
|
|
367
|
+ print(data);
|
|
|
|
368
|
+
|
|
|
|
369
|
+ data[sellerVersionSunModel.vid] = days;
|
|
|
|
370
|
+ return data;
|
|
|
|
371
|
+ }
|
|
|
|
372
|
+ // _setSpSellerModule(String day, SellerVersionSunModel sellerVersionSunModel) {
|
|
|
|
373
|
+ // Map data = Map();
|
|
|
|
374
|
+ // List days = [];
|
|
|
|
375
|
+
|
|
|
|
376
|
+ // //已经存进去过数据
|
|
|
|
377
|
+ // if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
378
|
+ // data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
379
|
+ // days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
380
|
+ // }
|
|
|
|
381
|
+ // days.add(day);
|
|
|
|
382
|
+ // print(data);
|
|
|
|
383
|
+
|
|
|
|
384
|
+ // data[sellerVersionSunModel.vid] = days;
|
|
|
|
385
|
+ // print(data);
|
|
|
|
386
|
+ // App.sp.setString("sellerEdateModule", json.encode(data));
|
|
|
|
387
|
+ // }
|
|
|
|
388
|
+
|
|
|
|
389
|
+ _removeSpSellerModule(SellerVersionSunModel sellerVersionSunModel) {
|
|
|
|
390
|
+ //已经存进去过数据
|
|
|
|
391
|
+ if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
392
|
+ Map data = {};
|
|
|
|
393
|
+ data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
394
|
+ data.removeWhere((key, value) => key == sellerVersionSunModel.vid);
|
|
|
|
395
|
+ if (data != null && data.length == 0) {
|
|
|
|
396
|
+ App.sp.remove("sellerEdateModule");
|
|
|
|
397
|
+ } else {
|
|
|
|
398
|
+ App.sp.setString("sellerEdateModule", json.encode(data));
|
|
|
|
399
|
+ }
|
|
|
|
400
|
+ }
|
|
|
|
401
|
+ }
|
|
|
|
402
|
+
|
|
|
|
403
|
+ _edateSellerModuleShow(List<SellerVersionSunModel> showData,
|
|
|
|
404
|
+ SellerVersionSunModel sellerVersionSunModel, Map dataSp) async {
|
|
|
|
405
|
+ //店铺过期提醒
|
|
|
|
406
|
+ // 计算时间差
|
|
|
|
407
|
+ //店铺过期日期
|
|
|
|
408
|
+ DateTime edate = DateTime.fromMillisecondsSinceEpoch(
|
|
|
|
409
|
+ int.parse(sellerVersionSunModel.edate) * 1000);
|
|
|
|
410
|
+
|
|
|
|
411
|
+ //当前日期
|
|
|
|
412
|
+ final datenow = DateTime.now();
|
|
|
|
413
|
+
|
|
|
|
414
|
+ //比较相差的天数
|
|
|
|
415
|
+ int difference = edate.difference(datenow).inDays;
|
|
|
|
416
|
+
|
|
|
|
417
|
+ int differenceSeconds = edate.difference(datenow).inSeconds;
|
|
|
|
418
|
+ if (difference == 7) {
|
|
|
|
419
|
+ if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
420
|
+ //已经存进去过数据
|
|
|
|
421
|
+
|
|
|
|
422
|
+ Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
423
|
+ List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
424
|
+ if (!days.contains('7')) {
|
|
|
|
425
|
+ //7天没有提醒过
|
|
|
|
426
|
+ showData.add(sellerVersionSunModel); //7天已经提醒过了
|
|
|
|
427
|
+
|
|
|
|
428
|
+ _setSpSellerModule('7', sellerVersionSunModel);
|
|
|
|
429
|
+ }
|
|
|
|
430
|
+ } else {
|
|
|
|
431
|
+ //7天没有提醒过
|
|
|
|
432
|
+ showData.add(sellerVersionSunModel); //7天已经提醒过了
|
|
|
|
433
|
+ _setSpSellerModule('7', sellerVersionSunModel);
|
|
|
|
434
|
+ }
|
|
|
|
435
|
+
|
|
|
|
436
|
+ // _showSellerAlert('7', edate);
|
|
|
|
437
|
+ } else if (difference == 3) {
|
|
|
|
438
|
+ //过期差3天,提醒一次
|
|
|
|
439
|
+
|
|
|
|
440
|
+ // _showSellerAlert('3', edate);
|
|
|
|
441
|
+ if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
442
|
+ //已经存进去过数据
|
|
|
|
443
|
+
|
|
|
|
444
|
+ Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
445
|
+ List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
446
|
+ if (!days.contains('3')) {
|
|
|
|
447
|
+ //3天没有提醒过
|
|
|
|
448
|
+ showData.add(sellerVersionSunModel); //3天已经提醒过了
|
|
|
|
449
|
+ _setSpSellerModule('3', sellerVersionSunModel);
|
|
|
|
450
|
+ }
|
|
|
|
451
|
+ } else {
|
|
|
|
452
|
+ //3天没有提醒过
|
|
|
|
453
|
+ showData.add(sellerVersionSunModel); //3天已经提醒过了
|
|
|
|
454
|
+ _setSpSellerModule('3', sellerVersionSunModel);
|
|
|
|
455
|
+ }
|
|
|
|
456
|
+ } else if (difference == 2) {
|
|
|
|
457
|
+ //过期差2天,提醒一次
|
|
|
|
458
|
+
|
|
|
|
459
|
+ if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
460
|
+ //已经存进去过数据
|
|
|
|
461
|
+
|
|
|
|
462
|
+ Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
463
|
+ List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
464
|
+ if (!days.contains('2')) {
|
|
|
|
465
|
+ //2天没有提醒过
|
|
|
|
466
|
+ showData.add(sellerVersionSunModel); //2天已经提醒过了
|
|
|
|
467
|
+ // _showSellerAlert('2', edate);
|
|
|
|
468
|
+ _setSpSellerModule('2', sellerVersionSunModel);
|
|
|
|
469
|
+ }
|
|
|
|
470
|
+ } else {
|
|
|
|
471
|
+ //2天没有提醒过
|
|
|
|
472
|
+ showData.add(sellerVersionSunModel); //3天已经提醒过了
|
|
|
|
473
|
+ _setSpSellerModule('2', sellerVersionSunModel);
|
|
|
|
474
|
+ }
|
|
|
|
475
|
+ } else if (difference == 1) {
|
|
|
|
476
|
+ //过期差1天,提醒一次
|
|
|
|
477
|
+
|
|
|
|
478
|
+ if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
479
|
+ //已经存进去过数据
|
|
|
|
480
|
+
|
|
|
|
481
|
+ Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
482
|
+ List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
483
|
+ if (!days.contains('1')) {
|
|
|
|
484
|
+ //1天没有提醒过
|
|
|
|
485
|
+ showData.add(sellerVersionSunModel); //1天已经提醒过了
|
|
|
|
486
|
+ // _showSellerAlert('1', edate);
|
|
|
|
487
|
+ _setSpSellerModule('1', sellerVersionSunModel);
|
|
|
|
488
|
+ }
|
|
|
|
489
|
+ } else {
|
|
|
|
490
|
+ //1天没有提醒过
|
|
|
|
491
|
+ showData.add(sellerVersionSunModel); //1天已经提醒过了
|
|
|
|
492
|
+ // _showSellerAlert('1', edate);
|
|
|
|
493
|
+ _setSpSellerModule('1', sellerVersionSunModel);
|
|
|
|
494
|
+ }
|
|
|
|
495
|
+ } else if (difference == 0 && differenceSeconds > 0) {
|
|
|
|
496
|
+ //剩余不足一天
|
|
|
|
497
|
+
|
|
|
|
498
|
+ if (App.sp.containsKey('sellerEdateModule')) {
|
|
|
|
499
|
+ //已经存进去过数据
|
|
|
|
500
|
+
|
|
|
|
501
|
+ Map data = json.decode(App.sp.getString('sellerEdateModule')) ?? {};
|
|
|
|
502
|
+ List days = data[sellerVersionSunModel.vid] ?? [];
|
|
|
|
503
|
+ if (!days.contains('0')) {
|
|
|
|
504
|
+ //0天没有提醒过
|
|
|
|
505
|
+ showData.add(sellerVersionSunModel); //0天已经提醒过了
|
|
|
|
506
|
+ // _showSellerAlert('0', edate);
|
|
|
|
507
|
+
|
|
|
|
508
|
+ dataSp.addAll(_setSpSellerModule('0', sellerVersionSunModel));
|
|
|
|
509
|
+ print(dataSp);
|
|
|
|
510
|
+ }
|
|
|
|
511
|
+ } else {
|
|
|
|
512
|
+ //0天没有提醒过
|
|
|
|
513
|
+ showData.add(sellerVersionSunModel); //0天已经提醒过了
|
|
|
|
514
|
+ // _showSellerAlert('0', edate);
|
|
|
|
515
|
+ dataSp.addAll(_setSpSellerModule('0', sellerVersionSunModel));
|
|
|
|
516
|
+ print(dataSp);
|
|
|
|
517
|
+ }
|
|
|
|
518
|
+ } else if (difference < 0 || (difference == 0 && differenceSeconds <= 0)) {
|
|
|
|
519
|
+ //已到期
|
|
|
|
520
|
+ // _showSellerAlert('-1', edate);
|
|
|
|
521
|
+ } else if (difference > 7) {
|
|
|
|
522
|
+ //没到期
|
|
|
|
523
|
+ //
|
|
|
|
524
|
+ _removeSpSellerModule(sellerVersionSunModel);
|
|
|
|
525
|
+ }
|
|
|
|
526
|
+
|
|
|
|
527
|
+ // 根据showdata 进行提醒
|
|
|
|
528
|
+ }
|
|
|
|
529
|
+
|
|
327
|
///获取店铺过期时间
|
530
|
///获取店铺过期时间
|
|
328
|
_getSellerById() async {
|
531
|
_getSellerById() async {
|
|
329
|
StoreBaseIndoProvider storeBaseIndoProvider =
|
532
|
StoreBaseIndoProvider storeBaseIndoProvider =
|