import 'package:cashier_reserve/common/request/request_manager.dart'; import 'package:cashier_reserve/data_model/reserve/reserve_log_model.dart'; import 'package:cashier_reserve/data_model/reserve/table_area_model.dart'; import 'package:cashier_reserve/data_model/reserve/table_model.dart'; /// ReserveModel 台桌预定相关请求 class ReserveModel { /// getShopTableAreaList 获取店铺桌台区域列表 static Future> getShopTableAreaList() async { final r = await RequestManager.get("/api/booking/shop-table/area"); if (r == null) { return []; } List list = []; for (var item in r as List) { list.add(TableAreaModel.fromJson(item)); } return list; } /// getAreaTableList 获取区域桌台列表 static Future> getAreaTableList(num areaId, String date, String type) async { Map paramData = { "bookingDate": date, "bookingType": type, }; if (areaId > 0) { paramData["areaId"] = areaId; } final r = await RequestManager.get("/api/booking/shop-table/list", params: paramData); if (r == null) { return []; } List list = []; for (var item in r as List) { list.add(TableModel.fromJson(item)); } return list; } /// commitReserveInfo 提交预定信息 static Future commitReserveInfo(Map params) async { await RequestManager.post("/api/booking/shop-table", params); } static Future> getUserReserveLog(List phoneNos) async { final r = await RequestManager.post("/api/booking/shop-table/summary", { "phoneNos": phoneNos, }); Map map = {}; if (r == null) { return map; } for (var item in r.entries) { map[item.key] = ReserveLogModel.fromJson(item.value); } return map; } static Future getReserveSms() async { final r = await RequestManager.get("/api/booking/shop-table/sms"); return r.toString(); } static Future updateReserveStatus(num reserveId, num status) async { await RequestManager.post("/api/booking/shop-table/mark-status", { "id": reserveId, "status": status, }); } }