daily_red_packet.dart 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import 'dart:convert';
  2. import 'package:bbyyy/beans/activity_bean_entity.dart';
  3. import 'package:bbyyy/beans/grab_a_red_envelope_bean_entity.dart';
  4. import 'package:bbyyy/https/MyDio.dart';
  5. import 'package:bbyyy/my_tools/event_bus.dart';
  6. import 'package:bbyyy/my_tools/my_apis.dart';
  7. import 'package:bbyyy/my_tools/my_cookie.dart';
  8. import '../const.dart';
  9. import '../dims.dart';
  10. class DailyRedPacketTool {
  11. ActivityBeanData dailyRedPacket;
  12. GrabARedEnvelopeBeanData grabARedEnvelopeBeanData;
  13. DailyRedPacketTool._internal();
  14. static DailyRedPacketTool _singleton = DailyRedPacketTool._internal();
  15. factory DailyRedPacketTool() => _singleton;
  16. queryRedEnvelopeInformation() {
  17. MyDio().query({
  18. "key": "activity",
  19. "dims": activityDims,
  20. "filters": {
  21. 'conditions': ['type == $activityTypeLoginForCash']
  22. }
  23. }, (response, hasError) {
  24. if (!hasError) {
  25. ActivityBeanEntity entity =
  26. ActivityBeanEntity().fromJson(json.decode(response.toString()));
  27. if (entity.data.isNotEmpty) {
  28. dailyRedPacket = entity.data[0];
  29. if(!dailyRedPacket.valid){
  30. return;
  31. }
  32. // EventBus().emit('showRP');
  33. try {
  34. String lastShowTime = MyCookie().prefs.get('dailyRedPacket');
  35. DateTime dateTime = DateTime.now();
  36. String sT = '${MyCookie().getUID()}${dateTime.year}-${dateTime.month}-${dateTime.day}';
  37. if (lastShowTime == null || lastShowTime == '') {
  38. EventBus().emit('showRP');
  39. MyCookie().prefs.setString('dailyRedPacket', sT);
  40. }else{
  41. if(lastShowTime==sT){
  42. }else{
  43. EventBus().emit('showRP');
  44. MyCookie().prefs.setString('dailyRedPacket', sT);
  45. }
  46. }
  47. } catch (e) {}
  48. }
  49. }
  50. }, (error) {});
  51. }
  52. grabARedEnvelope() {
  53. MyDio().post(
  54. MyApis.getApi('joinActivity'),
  55. {'id': dailyRedPacket.id, 'user_uid': MyCookie().getUID()},
  56. (response, hasError) {
  57. if(!hasError){
  58. GrabARedEnvelopeBeanEntity entity = GrabARedEnvelopeBeanEntity().fromJson(json.decode(response.toString()));
  59. grabARedEnvelopeBeanData = entity.data;
  60. EventBus().emit('grabARedEnvelope',grabARedEnvelopeBeanData);
  61. }
  62. },
  63. (error) {});
  64. }
  65. }