Commit ffdd771f51110d42d5a705e11292bff5fe117bcb

Authored by weixin_45529955
1 parent 606fec0f

限制展示数量

class SellerHideConfiModel {
int? ret;
List<SellerHideConfiSunModel>? data;
String? msg;
SellerHideConfiModel({this.ret, this.data, this.msg});
SellerHideConfiModel.fromJson(Map<String, dynamic> json) {
if(json["ret"] is int) {
ret = json["ret"];
}
if(json["data"] is List) {
data = json["data"] == null ? null : (json["data"] as List).map((e) => SellerHideConfiSunModel.fromJson(e)).toList();
}
if(json["msg"] is String) {
msg = json["msg"];
}
}
static List<SellerHideConfiModel> fromList(List<Map<String, dynamic>> list) {
return list.map(SellerHideConfiModel.fromJson).toList();
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> _data = <String, dynamic>{};
_data["ret"] = ret;
if(data != null) {
_data["data"] = data?.map((e) => e.toJson()).toList();
}
_data["msg"] = msg;
return _data;
}
}
class SellerHideConfiSunModel {
String? id;
String? sid;
String? str;
SellerHideConfiSunModel({this.id, this.sid, this.str});
SellerHideConfiSunModel.fromJson(Map<String, dynamic> json) {
if(json["id"] is String) {
id = json["id"];
}
if(json["sid"] is String) {
sid = json["sid"];
}
if(json["str"] is String) {
str = json["str"];
}
}
static List<SellerHideConfiSunModel> fromList(List<Map<String, dynamic>> list) {
return list.map(SellerHideConfiSunModel.fromJson).toList();
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> _data = <String, dynamic>{};
_data["id"] = id;
_data["sid"] = sid;
_data["str"] = str;
return _data;
}
}
\ No newline at end of file
... ...
... ... @@ -640,6 +640,12 @@ class HttpUrl {
"?service=App.PayOnline.RechargeRefundApply"; // 新版购买优惠券退款(会员充值退款)
static const get_seller_hide_conf=
"?service=App.Seller.GetSellerHideConf"; // 获取商家隐藏订单日期配置列表
... ...
... ... @@ -349,6 +349,12 @@ class NoteBookPageState extends State<NoteBookPage> {
//获取已预订列表
_getReserveList({bool needLoading = false, bool showLoading = true}) async {
if (Utils.isBeforeToday(dateTimeNow!)) {
await noteBookModel.getSellerHideConf(
context,
);
}
Map<String, String?> params = {
"sid": userModel.user!.sellerid,
"rdate": _getRdate(),
... ... @@ -362,7 +368,7 @@ class NoteBookPageState extends State<NoteBookPage> {
params["account"] = userModel.user!.account;
}
await noteBookModel.getReserveListSort(context, params,
await noteBookModel.getReserveListSort(context, params, dateTimeNow!,
needLoading: needLoading, showLoading: showLoading);
// _simpleState();
}
... ... @@ -1754,13 +1760,13 @@ class NoteBookPageState extends State<NoteBookPage> {
) {
if (!Utils.isOneDay(day, dateTimeNow!)) {
//不是一天
day = DateTime(
day.year,
day.month,
day.day,
DateTime.now().hour,
DateTime.now().minute,
DateTime.now().second);
day = DateTime(
day.year,
day.month,
day.day,
DateTime.now().hour,
DateTime.now().minute,
DateTime.now().second);
dateTimeNow = day;
_focusedDay = dateTimeNow;
clearSel = false;
... ...
... ... @@ -5,6 +5,7 @@ import 'package:one_key/constant/constant.dart';
import 'package:one_key/constant/error.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/notebook.dart';
import 'package:one_key/models/seller_hide_conf_model.dart';
import 'package:one_key/net/base_resp.dart';
import 'package:one_key/net/dio_util.dart';
import 'package:one_key/net/http_url.dart';
... ... @@ -29,6 +30,28 @@ class NoteBookModel extends ChangeNotifier {
bool isSimple = true;
List<NoteBookOnlySunModel>? notebooksSort = [];
List<SellerHideConfiSunModel>? sellerHideConfiData = [];
//获取商家隐藏订单日期配置列表
Future<List<SellerHideConfiSunModel>?> getSellerHideConf(
BuildContext context) async {
try {
BaseResp<dynamic> baseResp = await DioUtil().request<dynamic>(
context, Method.get, HttpUrl.get_seller_hide_conf,
showLoading: false);
if (baseResp != null && baseResp.code == Constant.status_success) {
sellerHideConfiData = SellerHideConfiModel.fromJson(
baseResp.responseData as Map<String, dynamic>)
.data ??
[];
}
return sellerHideConfiData;
} catch (error) {
print(error.toString());
return [];
}
}
//获取已预订订单
getReserveList(BuildContext context, Map<String, String?> params,
{bool needLoading = false, bool showLoading = true}) async {
... ... @@ -92,7 +115,7 @@ class NoteBookModel extends ChangeNotifier {
//获取已预订订单
Future<List<NoteBookOnlySunModel>?> getReserveListSort(
BuildContext context, Map<String, String?> params,
BuildContext context, Map<String, String?> params, DateTime now,
{bool needLoading = false, bool showLoading = true}) async {
if (needLoading) {
pageState = PageState.Loading;
... ... @@ -106,11 +129,50 @@ class NoteBookModel extends ChangeNotifier {
context, Method.get, HttpUrl.get_reserve_list_also_order,
data: params, showLoading: needLoading ? false : showLoading);
if (baseResp == null) return null;
List<NoteBookOnlySunModel>? tempSort = [];
notebooksSort = [];
if (baseResp.code == Constant.status_success) {
notebooksSort = NoteBookOnlyModel.fromJson(
print(sellerHideConfiData);
int limitNum = -1;
if (sellerHideConfiData!.length > 0) {
int index = sellerHideConfiData!
.indexWhere((element) => element.sid == params['sid']);
if (index != -1) {
//存在配置
// "str": "3-2"
// 判断请求的日期是周一到周四还是其他
String str = sellerHideConfiData![index].str ?? '';
List<String> config = str.split('-');
if (now.weekday == 1 ||
now.weekday == 2 ||
now.weekday == 3 ||
now.weekday == 4) {
//周一到周四
limitNum = int.parse(config[0]);
} else {
limitNum = int.parse(config[1]);
}
}
}
tempSort = NoteBookOnlyModel.fromJson(
baseResp.responseData as Map<String, dynamic>)
.data;
if (limitNum != -1) {
if (tempSort!.length > limitNum) {
notebooksSort = tempSort.sublist(0, limitNum);
} else {
notebooksSort = tempSort;
}
} else {
notebooksSort = tempSort;
}
if (notebooksSort!.isEmpty) {
pageState = PageState.Empty;
... ...
... ... @@ -12,6 +12,7 @@ import 'package:one_key/models/area_model.dart';
import 'package:one_key/models/guest_info_model.dart';
import 'package:one_key/models/notebook.dart';
import 'package:one_key/models/reserve_info_model.dart';
import 'package:one_key/models/seller_hide_conf_model.dart';
import 'package:one_key/models/tableOuter.dart';
import 'package:one_key/models/table_list.dart';
import 'package:one_key/net/base_resp.dart';
... ... @@ -87,6 +88,8 @@ class TableManagerModelOrReserve with ChangeNotifier {
List<TableListReserve> selectTablesOrReserve = []; //选择的桌位
List<SellerHideConfiSunModel>? sellerHideConfiData = [];
TableManagerModelOrReserve() {
// print('fdsfs');
... ... @@ -148,6 +151,25 @@ class TableManagerModelOrReserve with ChangeNotifier {
return '1';
}
//获取商家隐藏订单日期配置列表
Future<List<SellerHideConfiSunModel>?> getSellerHideConf(
BuildContext context) async {
try {
BaseResp<dynamic> baseResp = await DioUtil().request<dynamic>(
context, Method.get, HttpUrl.get_seller_hide_conf,
showLoading: false);
if (baseResp != null && baseResp.code == Constant.status_success) {
sellerHideConfiData = SellerHideConfiModel.fromJson(
baseResp.responseData as Map<String, dynamic>)
.data ??
[];
}
return sellerHideConfiData;
} catch (error) {
print(error.toString());
return [];
}
}
// 获取商家桌位列表及对应预订数据
Future<bool> getTableListOrReserve(
... ... @@ -164,6 +186,12 @@ class TableManagerModelOrReserve with ChangeNotifier {
// showLoading = true;
// }
if (Utils.isBeforeToday(datetime)) {
await getSellerHideConf(
context,
);
}
Map<String, String?> params = {
'sid': Provider.of<UserModel>(context, listen: false).user!.sellerid,
'x': '1',
... ... @@ -185,6 +213,66 @@ class TableManagerModelOrReserve with ChangeNotifier {
tablesOrReserveDataShow = TableListReseveModel.fromJson(
baseResp.responseData as Map<String, dynamic>)
.data;
//
// 处理
print(sellerHideConfiData);
int limitNum = -1;
if (sellerHideConfiData!.length > 0) {
int index = sellerHideConfiData!
.indexWhere((element) => element.sid == params['sid']);
if (index != -1) {
//存在配置
// "str": "3-2"
// 判断请求的日期是周一到周四还是其他
String str = sellerHideConfiData![index].str ?? '';
List<String> config = str.split('-');
if (datetime.weekday == 1 ||
datetime.weekday == 2 ||
datetime.weekday == 3 ||
datetime.weekday == 4) {
//周一到周四
limitNum = int.parse(config[0]);
} else {
limitNum = int.parse(config[1]);
}
}
}
if (limitNum != -1) {
//存在配置
int sum = 0;
tablesOrReserveData?.forEach((element) {
element.tableList?.forEach((subelement) {
if (subelement.reserveList != null) {
sum++;
}
if (sum > limitNum) {
subelement.reserveList = null;
}
});
});
int sumShow = 0;
tablesOrReserveDataShow?.forEach((element) {
element.tableList?.forEach((subelement) {
if (subelement.reserveList != null) {
sumShow++;
}
if (sumShow > limitNum) {
subelement.reserveList = null;
}
});
});
}
//
if (tablesOrReserveData!.length == 0) {
pageStateOrReserve = PageState.Empty;
} else {
... ... @@ -1771,8 +1859,7 @@ class TableManagerModelOrReserve with ChangeNotifier {
}
//获取区域数据
Future<List<AreaSunModel>?> getRegionBySellerid(
BuildContext context) async {
Future<List<AreaSunModel>?> getRegionBySellerid(BuildContext context) async {
Map<String, String?> params = {
"sellerid": Provider.of<UserModel>(context, listen: false).user!.sellerid
};
... ...
... ... @@ -56,6 +56,12 @@ import 'dart:typed_data';
typedef BookTimeSetCallback = void Function(bool needChange);
class Utils {
static bool isBeforeToday(DateTime dateToCompare) {
DateTime today = DateTime.now();
// 只比较年、月、日部分,忽略时间部分
return dateToCompare.isBefore(DateTime(today.year, today.month, today.day));
}
static Future<bool> isImageLargerThan120KB(Uint8List? imageBytes) async {
if (imageBytes == null) {
return false;
... ...