feat:消费机更新
feat:人员调用钱包部门不调动的bug
This commit is contained in:
1 parent
842402e364
commit
60d9380a65
144 files changed
+27832
-1666
No files matched your search
@@ -36,31 +36,68 @@ enum OrderType implements BaseEnum {
|
||||
|
||||
/// 付款方式
|
||||
enum OrderPayType implements BaseEnum {
|
||||
/// 默认钱包余额支付。
|
||||
WALLET_DEFAULT("1", "普通钱包支付"),
|
||||
|
||||
/// 用户向终端出示自有钱包二维码支付。
|
||||
WALLET_QR_CODE("2", "钱包二维码支付"),
|
||||
|
||||
/// 旧版终端展示自有钱包订单码,由移动端扫码支付。
|
||||
WALLET_QR_CODE_SCAN("22", "钱包扫一扫支付"),
|
||||
|
||||
/// 终端展示支付宝、微信共用的 HTTPS 聚合收银二维码。
|
||||
AGGREGATE_ORDER_PAY("23", "支付宝微信聚合码支付"),
|
||||
|
||||
/// 实体饭卡钱包支付。
|
||||
WALLET_CARD("3", "钱包饭卡支付"),
|
||||
|
||||
/// 人脸识别钱包支付。
|
||||
FACE("4", "人脸识别支付"),
|
||||
|
||||
/// 跨单位业务二维码支付。
|
||||
STRIDE_DEPT_QR_CODE("5", "跨单位二维码支付"),
|
||||
|
||||
/// 外来人员票券二维码支付。
|
||||
FOREIGN_TICKET_QR_CODE("6", "外来人员二维码支付"),
|
||||
|
||||
/// 线上预约订单二维码核销支付。
|
||||
RESERVE_QR_CODE("7", "线上订餐二维码支付"),
|
||||
|
||||
/// 终端线下现金支付。
|
||||
CASH("8", "现金支付"),
|
||||
|
||||
/// 微信用户付款码支付。
|
||||
WECHANT_SELF_QR_CODE_PAY("10", "微信付款码支付"),
|
||||
|
||||
/// 支付宝用户付款码支付。
|
||||
ALI_SELF_QR_CODE_PAY("11", "支付宝付款码支付"),
|
||||
|
||||
/// 中医院渠道支付。
|
||||
ZYY("12", "中医院"),
|
||||
|
||||
/// 人民医院渠道支付。
|
||||
RMYY("13", "人民医院"),
|
||||
|
||||
/// 超市消费卡渠道支付。
|
||||
CSXFK("13", "超市消费卡"),
|
||||
|
||||
/// 活动订单核销。
|
||||
ACT_CANCEL("50", "活动核销"),
|
||||
;
|
||||
|
||||
@override
|
||||
|
||||
/// 数据库和服务端接口使用的稳定支付类型编码。
|
||||
final String code;
|
||||
@override
|
||||
|
||||
/// 支付方式的中文展示名称。
|
||||
final String title;
|
||||
|
||||
/// 创建一个使用稳定协议编码的支付方式枚举值。
|
||||
const OrderPayType(this.code, this.title);
|
||||
|
||||
// 是否是外部人员支付
|
||||
/// 判断是否为跨单位或外来人员二维码支付。
|
||||
static bool isStrideOrForeign(OrderPayType payType) {
|
||||
return [
|
||||
OrderPayType.STRIDE_DEPT_QR_CODE,
|
||||
@@ -68,7 +105,7 @@ enum OrderPayType implements BaseEnum {
|
||||
].contains(payType);
|
||||
}
|
||||
|
||||
// 是否是自付款(微信、支付宝)
|
||||
/// 判断是否为顾客直接使用微信或支付宝付款码支付。
|
||||
static bool isExternalPay(OrderPayType payType) {
|
||||
return [
|
||||
OrderPayType.WECHANT_SELF_QR_CODE_PAY,
|
||||
|
||||
@@ -22,6 +22,30 @@ class SysSetting extends Equatable {
|
||||
/// 商户id
|
||||
String? serviceMerchantId;
|
||||
|
||||
/// 当前业务终端绑定的 EY_PRINT 逻辑打印机资产 ID;未绑定时为空。
|
||||
String? printerHardId;
|
||||
|
||||
/// 当前业务终端绑定的 EY_PRINT 逻辑打印机资产名称;未绑定时为空。
|
||||
String? printerHardName;
|
||||
|
||||
/// 当前业务终端代理的 USB 打印机型号,由服务端绑定配置下发。
|
||||
String? printerModel;
|
||||
|
||||
/// 当前绑定打印机的 USB Vendor ID 十进制值;尚未上报时为空。
|
||||
int? printerUsbVendorId;
|
||||
|
||||
/// 当前绑定打印机的 USB Product ID 十进制值;尚未上报时为空。
|
||||
int? printerUsbProductId;
|
||||
|
||||
/// 当前绑定打印机的纸宽,单位毫米;旧配置缺失时默认 80。
|
||||
int printerPaperWidth;
|
||||
|
||||
/// 当前绑定打印机是否在完整写入后发送自动切刀指令。
|
||||
bool printerAutoCut;
|
||||
|
||||
/// 当前绑定打印机的 ESC/POS 图片指令模式,默认使用 GS_V0。
|
||||
String printerImageMode;
|
||||
|
||||
/// 商户部门id
|
||||
String? merchantDeptId;
|
||||
|
||||
@@ -94,6 +118,18 @@ class SysSetting extends Equatable {
|
||||
// 全局字体大小
|
||||
SettingGlobalFontSize? globalFontSize;
|
||||
|
||||
/// 按钮、标签及小型操作控件的圆角。
|
||||
@JsonKey(defaultValue: SettingButtonRadius.standard)
|
||||
SettingButtonRadius buttonRadius;
|
||||
|
||||
/// 页面分组、信息卡片及 Forui 卡片的圆角。
|
||||
@JsonKey(defaultValue: SettingCardRadius.standard)
|
||||
SettingCardRadius cardRadius;
|
||||
|
||||
/// 按钮和标签的内边距档位,不改变全局字体大小。
|
||||
@JsonKey(defaultValue: SettingButtonSize.standard)
|
||||
SettingButtonSize buttonSize;
|
||||
|
||||
// 使用支付方式
|
||||
List<OrderPayDisplayType>? usePayDisplayType;
|
||||
|
||||
@@ -103,6 +139,20 @@ class SysSetting extends Equatable {
|
||||
// 租户列表
|
||||
List<ServiceTenant>? tenantList;
|
||||
|
||||
/// 设置为主控后不访问扫码、饭卡和人脸硬件,改由操作员输入硬件结果。
|
||||
@JsonKey(defaultValue: false)
|
||||
bool manualHardwareInput;
|
||||
|
||||
/// Root 最近一次真实命令检查状态;旧配置缺失时按未检查处理。
|
||||
@JsonKey(defaultValue: RootAccessStatus.unknown)
|
||||
RootAccessStatus rootAccessStatus;
|
||||
|
||||
/// Root 最近一次检查时间;旧配置或从未检查时为空。
|
||||
DateTime? rootAccessCheckedAt;
|
||||
|
||||
/// Root 检查诊断摘要;可用时说明确认结果,不可用时说明拒绝、超时等原因。
|
||||
String? rootAccessDiagnostic;
|
||||
|
||||
SysSetting({
|
||||
required this.sysType,
|
||||
this.androidId,
|
||||
@@ -112,7 +162,17 @@ class SysSetting extends Equatable {
|
||||
this.sqlAddress,
|
||||
this.logAddress,
|
||||
this.hardGroupId,
|
||||
this.printerPaperWidth = 80,
|
||||
this.printerAutoCut = true,
|
||||
this.printerImageMode = 'GS_V0',
|
||||
this.tenantList,
|
||||
this.manualHardwareInput = false,
|
||||
this.rootAccessStatus = RootAccessStatus.unknown,
|
||||
this.rootAccessCheckedAt,
|
||||
this.rootAccessDiagnostic,
|
||||
this.buttonRadius = SettingButtonRadius.standard,
|
||||
this.cardRadius = SettingCardRadius.standard,
|
||||
this.buttonSize = SettingButtonSize.standard,
|
||||
});
|
||||
|
||||
factory SysSetting.fromJson(Map<String, dynamic> json) =>
|
||||
@@ -127,6 +187,14 @@ class SysSetting extends Equatable {
|
||||
serviceId,
|
||||
serviceName,
|
||||
serviceMerchantId,
|
||||
printerHardId,
|
||||
printerHardName,
|
||||
printerModel,
|
||||
printerUsbVendorId,
|
||||
printerUsbProductId,
|
||||
printerPaperWidth,
|
||||
printerAutoCut,
|
||||
printerImageMode,
|
||||
merchantDeptId,
|
||||
hardGroupId,
|
||||
mqSocketAddress,
|
||||
@@ -151,9 +219,16 @@ class SysSetting extends Equatable {
|
||||
mqSyncTime?.millisecondsSinceEpoch,
|
||||
hourType,
|
||||
globalFontSize,
|
||||
buttonRadius,
|
||||
cardRadius,
|
||||
buttonSize,
|
||||
usePayDisplayType,
|
||||
defaultPayDisplayType,
|
||||
tenantList,
|
||||
manualHardwareInput,
|
||||
rootAccessStatus,
|
||||
rootAccessCheckedAt?.millisecondsSinceEpoch,
|
||||
rootAccessDiagnostic,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@@ -15,12 +15,37 @@ SysSetting _$SysSettingFromJson(Map<String, dynamic> json) => SysSetting(
|
||||
sqlAddress: json['sqlAddress'] as String?,
|
||||
logAddress: json['logAddress'] as String?,
|
||||
hardGroupId: json['hardGroupId'] as String?,
|
||||
printerPaperWidth: (json['printerPaperWidth'] as num?)?.toInt() ?? 80,
|
||||
printerAutoCut: json['printerAutoCut'] as bool? ?? true,
|
||||
printerImageMode: json['printerImageMode'] as String? ?? 'GS_V0',
|
||||
tenantList: (json['tenantList'] as List<dynamic>?)
|
||||
?.map((e) => ServiceTenant.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
manualHardwareInput: json['manualHardwareInput'] as bool? ?? false,
|
||||
rootAccessStatus: $enumDecodeNullable(
|
||||
_$RootAccessStatusEnumMap, json['rootAccessStatus']) ??
|
||||
RootAccessStatus.unknown,
|
||||
rootAccessCheckedAt: json['rootAccessCheckedAt'] == null
|
||||
? null
|
||||
: DateTime.parse(json['rootAccessCheckedAt'] as String),
|
||||
rootAccessDiagnostic: json['rootAccessDiagnostic'] as String?,
|
||||
buttonRadius: $enumDecodeNullable(
|
||||
_$SettingButtonRadiusEnumMap, json['buttonRadius']) ??
|
||||
SettingButtonRadius.standard,
|
||||
cardRadius:
|
||||
$enumDecodeNullable(_$SettingCardRadiusEnumMap, json['cardRadius']) ??
|
||||
SettingCardRadius.standard,
|
||||
buttonSize:
|
||||
$enumDecodeNullable(_$SettingButtonSizeEnumMap, json['buttonSize']) ??
|
||||
SettingButtonSize.standard,
|
||||
)
|
||||
..serviceName = json['serviceName'] as String?
|
||||
..serviceMerchantId = json['serviceMerchantId'] as String?
|
||||
..printerHardId = json['printerHardId'] as String?
|
||||
..printerHardName = json['printerHardName'] as String?
|
||||
..printerModel = json['printerModel'] as String?
|
||||
..printerUsbVendorId = (json['printerUsbVendorId'] as num?)?.toInt()
|
||||
..printerUsbProductId = (json['printerUsbProductId'] as num?)?.toInt()
|
||||
..merchantDeptId = json['merchantDeptId'] as String?
|
||||
..mqSocketPort = json['mqSocketPort'] as String?
|
||||
..mqUsername = json['mqUsername'] as String?
|
||||
@@ -70,6 +95,14 @@ Map<String, dynamic> _$SysSettingToJson(SysSetting instance) =>
|
||||
'serviceId': instance.serviceId,
|
||||
'serviceName': instance.serviceName,
|
||||
'serviceMerchantId': instance.serviceMerchantId,
|
||||
'printerHardId': instance.printerHardId,
|
||||
'printerHardName': instance.printerHardName,
|
||||
'printerModel': instance.printerModel,
|
||||
'printerUsbVendorId': instance.printerUsbVendorId,
|
||||
'printerUsbProductId': instance.printerUsbProductId,
|
||||
'printerPaperWidth': instance.printerPaperWidth,
|
||||
'printerAutoCut': instance.printerAutoCut,
|
||||
'printerImageMode': instance.printerImageMode,
|
||||
'merchantDeptId': instance.merchantDeptId,
|
||||
'hardGroupId': instance.hardGroupId,
|
||||
'mqSocketAddress': instance.mqSocketAddress,
|
||||
@@ -98,12 +131,19 @@ Map<String, dynamic> _$SysSettingToJson(SysSetting instance) =>
|
||||
'mqSyncTime': instance.mqSyncTime?.toIso8601String(),
|
||||
'hourType': _$ProductHourTypeEnumMap[instance.hourType],
|
||||
'globalFontSize': _$SettingGlobalFontSizeEnumMap[instance.globalFontSize],
|
||||
'buttonRadius': _$SettingButtonRadiusEnumMap[instance.buttonRadius]!,
|
||||
'cardRadius': _$SettingCardRadiusEnumMap[instance.cardRadius]!,
|
||||
'buttonSize': _$SettingButtonSizeEnumMap[instance.buttonSize]!,
|
||||
'usePayDisplayType': instance.usePayDisplayType
|
||||
?.map((e) => _$OrderPayDisplayTypeEnumMap[e]!)
|
||||
.toList(),
|
||||
'defaultPayDisplayType':
|
||||
_$OrderPayDisplayTypeEnumMap[instance.defaultPayDisplayType],
|
||||
'tenantList': instance.tenantList,
|
||||
'manualHardwareInput': instance.manualHardwareInput,
|
||||
'rootAccessStatus': _$RootAccessStatusEnumMap[instance.rootAccessStatus]!,
|
||||
'rootAccessCheckedAt': instance.rootAccessCheckedAt?.toIso8601String(),
|
||||
'rootAccessDiagnostic': instance.rootAccessDiagnostic,
|
||||
};
|
||||
|
||||
const _$SysTypeEnumMap = {
|
||||
@@ -111,6 +151,30 @@ const _$SysTypeEnumMap = {
|
||||
SysType.CANTEEN: 'CANTEEN',
|
||||
};
|
||||
|
||||
const _$RootAccessStatusEnumMap = {
|
||||
RootAccessStatus.unknown: 'unknown',
|
||||
RootAccessStatus.available: 'available',
|
||||
RootAccessStatus.unavailable: 'unavailable',
|
||||
};
|
||||
|
||||
const _$SettingButtonRadiusEnumMap = {
|
||||
SettingButtonRadius.compact: 'compact',
|
||||
SettingButtonRadius.standard: 'standard',
|
||||
SettingButtonRadius.large: 'large',
|
||||
};
|
||||
|
||||
const _$SettingCardRadiusEnumMap = {
|
||||
SettingCardRadius.compact: 'compact',
|
||||
SettingCardRadius.standard: 'standard',
|
||||
SettingCardRadius.large: 'large',
|
||||
};
|
||||
|
||||
const _$SettingButtonSizeEnumMap = {
|
||||
SettingButtonSize.compact: 'compact',
|
||||
SettingButtonSize.standard: 'standard',
|
||||
SettingButtonSize.large: 'large',
|
||||
};
|
||||
|
||||
const _$ProductHourTypeEnumMap = {
|
||||
ProductHourType.TOTAL: 'TOTAL',
|
||||
ProductHourType.MORNING: 'MORNING',
|
||||
|
||||
Reference in new issue
Block a user