Files
biz_xfj_cloud/lib/common/api/hard_api.dart
T
2026-07-28 21:34:12 +08:00

238 lines
7.2 KiB
Dart

import 'package:dio/dio.dart' as dio;
import 'package:pj_supermarket_cloud/common/index.dart';
abstract class HardApi {
/// 获取硬件配置信息
static Future<ServiceHardware?> bind(dynamic pa) async {
final res = await HttpManage().dio.post(
"/hard/hard-api/ad/bind",
data: pa,
);
if (res.data == null) return null;
return ServiceHardware.fromJson(res.data);
}
/// 获取硬件配置信息
static Future<ServiceHardware?> get(dynamic pa) async {
final res = await HttpManage().dio.get(
"/hard/hard-api/ad/get",
queryParameters: pa,
);
if (res.data == null) return null;
return ServiceHardware.fromJson(res.data);
}
/// 获取用户信息
static Future<ServiceUser?> getUserInfoById(
dynamic formData,
) async {
final res = await HttpManage().dio.get(
"/hard/hard-api/ad/get-user",
queryParameters: formData,
);
if (res.data == null) return null;
return ServiceUser.fromJson(res.data);
}
/// 获取用户信息
static Future<ServiceUser?> getUserByCard(
dynamic formData,
) async {
final res = await HttpManage().dio.get(
"/hard/hard-api/ad/get-user-by-card",
queryParameters: formData,
);
if (res.data == null) return null;
return ServiceUser.fromJson(res.data);
}
/// 仅按当前终端和识别身份查询本人预约,调用方不得补充商户或其他用户参数。
static Future<ServiceReservationMenuQuery?> queryReservationMenu(
ReservationMenuQueryRequest request,
) async {
final res = await HttpManage().dio.post(
"/hard/hard-api/ad/reservation-menu/query",
data: request.toJson(),
);
if (res.data == null) return null;
return ServiceReservationMenuQuery.fromJson(res.data);
}
/// 只按查询结果中的订单 ID 核销一笔预约订单。
static Future<bool> cancelReservationOrder({
required int orderId,
}) async {
final setting = await AppSettingTool.getSysSetting();
final res = await HttpManage().dio.post(
'/hard/hard-api/ad/reservation-menu/cancel',
data: {'orderId': orderId},
options: dio.Options(
headers: {
if (setting.serviceId != null) 'DEVICE-ID': setting.serviceId,
},
),
);
return res.data == true;
}
/// 分页查询当前设备的预约核销记录,设备范围由服务端再次校验。
static Future<ServiceVerificationRecordPage?> verificationRecordPage({
required int current,
required int size,
required VerificationRecordQueryRequest request,
}) async {
final res = await HttpManage().dio.post(
'/hard/hard-api/ad/verification-record/page',
queryParameters: {'current': current, 'size': size},
data: request.toJson(),
options: dio.Options(headers: {'DEVICE-ID': request.hardId}),
);
if (res.data == null) return null;
return ServiceVerificationRecordPage.fromJson(res.data);
}
/// 创建硬件订单
static Future<String?> createHardwareOrder(dynamic formData) async {
final res = await HttpManage().dio.post(
"/hard/hard-api/ad/create-order",
data: formData,
);
if (res.data == null) return null;
return res.data;
}
/// 创建硬件订单
static Future<ServiceHardCreateHardQrCodeScanOrder?>
createHardQrCodeScanOrder(dynamic formData) async {
final res = await HttpManage().dio.post(
"/hard/hard-api/ad/create-hard-qr-code-order",
data: formData,
);
if (res.data == null) return null;
return ServiceHardCreateHardQrCodeScanOrder.fromJson(res.data);
}
/// 根据订单id,获取订单详情
static Future<ServiceHardOrder?> getOrder(dynamic formData) async {
final res = await HttpManage().dio.get(
"/hard/hard-api/ad/get-order",
queryParameters: formData,
);
if (res.data == null) return null;
return ServiceHardOrder.fromJson(res.data);
}
/// 获取订单购物车
static Future<List<ServiceCar>?> getCarByOrderId(
dynamic formData,
) async {
final res = await HttpManage().dio.get(
"/hard/hard-api/ad/get-by-order-id",
queryParameters: formData,
);
if (res.data == null) return null;
return res.data?.map<ServiceCar>((e) => ServiceCar.fromJson(e)).toList();
}
/// 核销订单
static Future<bool> cancelQrCode(dynamic formData) async {
final res = await HttpManage().dio.post(
"/hard/hard-api/ad/cancel-code",
data: formData,
);
if (res.data == null) return false;
return true;
}
/// 核销活动订单
static Future<bool> cancelActQrCode(dynamic formData) async {
final res = await HttpManage().dio.post(
"/hard/hard-api/ad/cancel-act-code",
data: formData,
);
if (res.data == null) return false;
return true;
}
/// 生成发票
static Future<ServiceGenerateInvoice?> generateInvoice(
dynamic formData,
) async {
final res = await HttpManage().dio.get(
"/hard/hard-api/ad/generate-invoice",
queryParameters: formData,
);
if (res.data == null) return null;
return ServiceGenerateInvoice.fromJson(res.data);
}
/// 打印成功
static Future<bool> printInvoice(dynamic formData) async {
final res = await HttpManage().dio.get(
"/hard/hard-api/ad/print-invoice",
queryParameters: formData,
);
if (res.data == null) return false;
return true;
}
/// 离线同步
static Future<List<String>?> syncOfflineOrder(dynamic formData) async {
final res = await HttpManage().dio.post(
"/hard/hard-api/ad/sync-offline-order",
data: formData,
);
if (res.data == null) return null;
return res.data?.map<String>((e) => e.toString()).toList();
}
/// 统计每天、每周、每月、每年的交易人数和次数
static Future<ServiceChartLatitude?> chartLatitude(
dynamic formData,
) async {
final res = await HttpManage().dio.get(
"/hard/hard-api/ad/chart-latitude",
queryParameters: formData,
);
if (res.data == null) return null;
return ServiceChartLatitude.fromJson(res.data);
}
/// android查询今日的广播
static Future<ServiceBroadcastTodayPage?> broadcastToday(
dynamic formData,
) async {
final res = await HttpManage().dio.get(
"/hard/hard-broadcast/ad/today",
queryParameters: formData,
data: {"hardId": formData["hardId"]},
);
if (res.data == null) return null;
return ServiceBroadcastTodayPage.fromJson(res.data);
}
/// android完成一轮广播
static Future<ServiceBroadcastTodayPage?> broadcast(
dynamic formData,
) async {
final res = await HttpManage()
.dio
.post("/hard/hard-broadcast/ad/broadcast", data: formData);
if (res.data == null) return null;
return ServiceBroadcastTodayPage.fromJson(res.data);
}
/// 消费机限时退款
static Future<bool> timeLimitRefund(
dynamic formData,
) async {
final res = await HttpManage().dio.get(
"/hard/hard-after-sale/ad/time-limit-refund",
queryParameters: formData,
);
if (res.data == null) return false;
return true;
}
}