import 'package:huixiang/data/mini_detail.dart';
import 'package:huixiang/data/sku_attr_list.dart';
import 'package:huixiang/generated/json/base/json_field.dart';
import 'package:huixiang/generated/json/shoping_home_config.g.dart';
import 'dart:convert';
export 'package:huixiang/generated/json/shoping_home_config.g.dart';

@JsonSerializable()
class ShopingHomeConfig {
	List<SpecialArea>? specialArea = [];
	List<QuickEntry>? quickEntry = [];
	List<String>? hotSearch = [];
	List<CategoryGroup>? categoryGroup = [];

	ShopingHomeConfig();

	factory ShopingHomeConfig.fromJson(Map<String, dynamic> json) => $ShopingHomeConfigFromJson(json);

	Map<String, dynamic> toJson() => $ShopingHomeConfigToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class SpecialArea {
	String? img = '';
	String? id = '';
	List<ShopHomeProductList>? productList = [];

	SpecialArea();

	factory SpecialArea.fromJson(Map<String, dynamic> json) => $SpecialAreaFromJson(json);

	Map<String, dynamic> toJson() => $SpecialAreaToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class ShopHomeProductList {
	String? productImg = '';
	List<ShopHomeProductSkuVOList>? productSkuVOList = [];
	String? productName = '';
	bool? posShow = false;
	List<AttrList>? attrList = [];
	String? price = '';
	String? productPrice = '';
	String? promotionPrice = '';
	int? sellCount = 0;
	String? id = '';
	String? applyPrice = '';
	String? productId = '';
	int? productStock = 0;
	int? stock = 0;
	int? status = 0;

	ShopHomeProductList();

	factory ShopHomeProductList.fromJson(Map<String, dynamic> json) => $ShopHomeProductListFromJson(json);

	Map<String, dynamic> toJson() => $ShopHomeProductListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class ShopHomeProductSkuVOList {
	String? productId = '';
	int? isDelete = 0;
	String? setMeal = '';
	String? updateUser = '';
	String? skuPrice = '';
	int? skuStock = 0;
	int? weight = 0;
	String? updateTime = '';
	String? storeId = '';
	int? volume = 0;
	String? skuNameStr = '';
	String? createTime = '';
	String? createUser = '';
	String? id = '';
	String? applyPrice = '';
	List<SkuAttrList>? skuAttrList = [];
	String? skuCode = '';

	ShopHomeProductSkuVOList();

	factory ShopHomeProductSkuVOList.fromJson(Map<String, dynamic> json) => $ShopHomeProductSkuVOListFromJson(json);

	Map<String, dynamic> toJson() => $ShopHomeProductSkuVOListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}


@JsonSerializable()
class ShopHomeAttrList {
	String? productId = '';
	int? isDelete = 0;
	bool? needImg = false;
	List<ShopHomeAttrValueList>? attrValueList = [];
	String? id = '';
	String? attrName = '';

	ShopHomeAttrList();

	factory ShopHomeAttrList.fromJson(Map<String, dynamic> json) => $ShopHomeAttrListFromJson(json);

	Map<String, dynamic> toJson() => $ShopHomeAttrListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class ShopHomeAttrValueList {
	int? isDelete = 0;
	String? attrId = '';
	String? id = '';
	String? attrValue = '';
	String? attrValueImg = '';

	ShopHomeAttrValueList();

	factory ShopHomeAttrValueList.fromJson(Map<String, dynamic> json) => $ShopHomeAttrValueListFromJson(json);

	Map<String, dynamic> toJson() => $ShopHomeAttrValueListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class QuickEntry {
	String? img = '';
	String? url = '';
	String? id = '';

	QuickEntry();

	factory QuickEntry.fromJson(Map<String, dynamic> json) => $QuickEntryFromJson(json);

	Map<String, dynamic> toJson() => $QuickEntryToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class CategoryGroup {
	List<GroupList>? groupList = [];
	String? groupCommodityName = '';
	String? name = '';

	CategoryGroup();

	factory CategoryGroup.fromJson(Map<String, dynamic> json) => $CategoryGroupFromJson(json);

	Map<String, dynamic> toJson() => $CategoryGroupToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class GroupList {
	int? isDelete = 0;
	String? updateUser = '';
	String? updateTime = '';
	String? groupImg = '';
	int? sort = 0;
	String? storeId = '';
	String? groupName = '';
	String? createTime = '';
	int? kitchenGroup = 0;
	String? printerId = '';
	String? createUser = '';
	int? isCharge = 0;
	String? id = '';

	GroupList();

	factory GroupList.fromJson(Map<String, dynamic> json) => $GroupListFromJson(json);

	Map<String, dynamic> toJson() => $GroupListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}