Blame view

lib/models/user_entity.dart 2.66 KB
056970d8   Key   feat: api
1
2
3
4
5
6
7
  import 'dart:convert';
  
  import 'package:wow_english/generated/json/base/json_field.dart';
  import 'package:wow_english/generated/json/user_entity.g.dart';
  
  @JsonSerializable()
  class UserEntity {
1892df31   Key   优化接口调用
8
9
    late int id;
    late String name;
c95453ce   Key   feat: User界面完善
10
11
  
    /// 一定有也必须要有
278208b8   吴启风   feat:1、用户访问权限调整;2...
12
    String? token;
c95453ce   Key   feat: User界面完善
13
14
15
  
    //late int expireTime;
  
1892df31   Key   优化接口调用
16
    int? age;
056970d8   Key   feat: api
17
  
23b46e8e   Key   feat: 修改个人信息性别
18
    /// 性别:0男, 1女
1892df31   Key   优化接口调用
19
20
    int? gender;
    String? avatarUrl;
da82bd70   Key   feat: user_inform...
21
    late String phoneNum;
c95453ce   Key   feat: User界面完善
22
23
24
25
26
27
28
29
30
  
    /// 用户信息是否填写 0.未填写 1.已经填写
    int? fillUserInfo;
  
    /// 当前模块Id
    int? nowCourseModuleId;
  
    /// 有效时间,VIP,为null没有
    String? effectiveDate;
056970d8   Key   feat: api
31
  
278208b8   吴启风   feat:1、用户访问权限调整;2...
32
33
34
35
36
37
    /// 有效天数
    int? validDay;
  
    /// 游戏权限
    bool? valid;
  
1892df31   Key   优化接口调用
38
    UserEntity();
056970d8   Key   feat: api
39
  
1892df31   Key   优化接口调用
40
    factory UserEntity.fromJson(Map<String, dynamic> json) => $UserEntityFromJson(json);
056970d8   Key   feat: api
41
  
1892df31   Key   优化接口调用
42
43
44
45
46
47
    Map<String, dynamic> toJson() => $UserEntityToJson(this);
  
    @override
    String toString() {
      return jsonEncode(this);
    }
c95453ce   Key   feat: User界面完善
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
  
    Map<String, dynamic> toUpdateJson() {
      final Map<String, dynamic> data = <String, dynamic>{};
      data['name'] = name;
      data['age'] = age;
      data['gender'] = gender;
      data['avatarUrl'] = avatarUrl;
      return data;
    }
  
    String getGenderString() {
      return gender == null
          ? ''
          : gender == 0
              ? '男'
              : '女';
    }
e55bbdf3   Key   fixed: aliyun oss...
65
  
795fb23f   吴启风   feat:支付成功刷新用户数据
66
67
68
69
70
    // 是否有游戏权限
    bool hasGamePermission() {
      return valid ?? false;
    }
  
7d417b04   吴启风   feat:fix用户vip到期日问题
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
    // 计算用户vip到期日
    String? getEffectiveDate() {
      if (effectiveDate == null) {
        return null;
      }
      DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(int.parse(effectiveDate!));
      // 获取年、月、日
      String year = dateTime.year.toString();
      String month = dateTime.month.toString().padLeft(2, '0'); // 如果月份是个位数,则在前面加上0,使其两位数
      String day = dateTime.day.toString().padLeft(2, '0'); // 如果日期是个位数,则在前面加上0,使其两位数
  
      // 拼接成日期字符串
      String formattedDate = '$year-$month-$day';
      return formattedDate;
    }
  
e55bbdf3   Key   fixed: aliyun oss...
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
    UserEntity copyWith({
      int? id,
      String? name,
      String? token,
      int? age,
      int? gender,
      String? avatarUrl,
      String? phoneNum,
      int? fillUserInfo,
      int? nowCourseModuleId,
      String? effectiveDate,
    }) {
      return UserEntity()
        ..id = id ?? this.id
        ..name = name ?? this.name
        ..token = token ?? this.token
        ..age = age ?? this.age
        ..gender = gender ?? this.gender
        ..avatarUrl = avatarUrl ?? this.avatarUrl
        ..phoneNum = phoneNum ?? this.phoneNum
        ..fillUserInfo = fillUserInfo ?? this.fillUserInfo
        ..nowCourseModuleId = nowCourseModuleId ?? this.nowCourseModuleId
        ..effectiveDate = effectiveDate ?? this.effectiveDate;
    }
056970d8   Key   feat: api
111
  }