personnel_manage_model.dart 3.99 KB
import 'package:json_annotation/json_annotation.dart';

part 'personnel_manage_model.g.dart';

@JsonSerializable()
class PersonnelManageModel extends Object {
  @JsonKey(name: 'ret')
  int ret;

  @JsonKey(name: 'data')
  PersonnelManageModelData data;

  @JsonKey(name: 'msg')
  String msg;

  PersonnelManageModel(
    this.ret,
    this.data,
    this.msg,
  );

  factory PersonnelManageModel.fromJson(Map<String, dynamic> srcJson) =>
      _$PersonnelManageModelFromJson(srcJson);

  Map<String, dynamic> toJson() => _$PersonnelManageModelToJson(this);
}

@JsonSerializable()
class PersonnelManageModelData extends Object {
  @JsonKey(name: 'admin')
  Admin admin;

  @JsonKey(name: 'shopowner')
  Shopowner shopowner;

  @JsonKey(name: 'cashier')
  Cashier cashier;

  @JsonKey(name: 'waiter')
  Waiter waiter;

  @JsonKey(name: 'manager')
  Manager manager;

  PersonnelManageModelData(
    this.admin,
    this.shopowner,
    this.cashier,
    this.waiter,
    this.manager,
  );

  factory PersonnelManageModelData.fromJson(Map<String, dynamic> srcJson) =>
      _$PersonnelManageModelDataFromJson(srcJson);

  Map<String, dynamic> toJson() => _$PersonnelManageModelDataToJson(this);
}

@JsonSerializable()
class Admin extends Object {
  @JsonKey(name: 'listdata')
  List<PersonnelManageSunModel> listdata;

  @JsonKey(name: 'role_id')
  String roleId;

  Admin(
    this.listdata,
    this.roleId,
  );

  factory Admin.fromJson(Map<String, dynamic> srcJson) =>
      _$AdminFromJson(srcJson);

  Map<String, dynamic> toJson() => _$AdminToJson(this);
}

@JsonSerializable()
class PersonnelManageSunModel extends Object {
  @JsonKey(name: 'id')
  String id;

  @JsonKey(name: 'openid')
  String openid;

  @JsonKey(name: 'user_name')
  String userName;

  @JsonKey(name: 'nick_name')
  String nickName;

  @JsonKey(name: 'is_first')
  String isFirst;

  @JsonKey(name: 'role_id')
  String roleId;

  @JsonKey(name: 'phone')
  String phone;

  @JsonKey(name: 'code')
  String code;

  @JsonKey(name: 'account')
  String account;

  @JsonKey(name: 'is_on_call')
  String isOnCall;

  @JsonKey(name: 'headimgurl')
  String headimgurl;

  PersonnelManageSunModel(
    this.id,
    this.openid,
    this.userName,
    this.nickName,
    this.isFirst,
    this.roleId,
    this.phone,
    this.code,
    this.account,
    this.isOnCall,
    this.headimgurl,
  );

  factory PersonnelManageSunModel.fromJson(Map<String, dynamic> srcJson) =>
      _$PersonnelManageSunModelFromJson(srcJson);

  Map<String, dynamic> toJson() => _$PersonnelManageSunModelToJson(this);
}

@JsonSerializable()
class Shopowner extends Object {
  @JsonKey(name: 'listdata')
  List<PersonnelManageSunModel> listdata;

  @JsonKey(name: 'role_id')
  String roleId;

  Shopowner(
    this.listdata,
    this.roleId,
  );

  factory Shopowner.fromJson(Map<String, dynamic> srcJson) =>
      _$ShopownerFromJson(srcJson);

  Map<String, dynamic> toJson() => _$ShopownerToJson(this);
}

@JsonSerializable()
class Cashier extends Object {
  @JsonKey(name: 'listdata')
  List<PersonnelManageSunModel> listdata;

  @JsonKey(name: 'role_id')
  String roleId;

  Cashier(
    this.listdata,
    this.roleId,
  );

  factory Cashier.fromJson(Map<String, dynamic> srcJson) =>
      _$CashierFromJson(srcJson);

  Map<String, dynamic> toJson() => _$CashierToJson(this);
}

@JsonSerializable()
class Waiter extends Object {
  @JsonKey(name: 'listdata')
  List<PersonnelManageSunModel> listdata;

  @JsonKey(name: 'role_id')
  String roleId;

  Waiter(
    this.listdata,
    this.roleId,
  );

  factory Waiter.fromJson(Map<String, dynamic> srcJson) =>
      _$WaiterFromJson(srcJson);

  Map<String, dynamic> toJson() => _$WaiterToJson(this);
}

@JsonSerializable()
class Manager extends Object {
  @JsonKey(name: 'listdata')
  List<PersonnelManageSunModel> listdata;

  @JsonKey(name: 'role_id')
  String roleId;

  Manager(
    this.listdata,
    this.roleId,
  );

  factory Manager.fromJson(Map<String, dynamic> srcJson) =>
      _$ManagerFromJson(srcJson);

  Map<String, dynamic> toJson() => _$ManagerToJson(this);
}