文件
OmniCard/backend/src/modules/nfc/entity/rule.ts

87 行
1.7 KiB
TypeScript

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

import { BaseEntity, transformerJson } from '../../base/entity/base';
import { Column, Entity, Index } from 'typeorm';
import { NFCSceneMode, NFCSceneRule } from '../../../comm/types/omni';
/**
* NFC 场景路由规则
* 表名: nfc_rule
* deviceId 为空时对租户下全部设备生效
*/
@Entity('nfc_rule')
export class NfcRuleEntity extends BaseEntity implements NFCSceneRule {
@Index()
@Column({
name: 'device_id',
comment: '绑定设备;空则对租户下全部设备生效',
type: 'bigint',
nullable: true,
})
deviceId?: number | null;
@Column({
name: 'name',
comment: '规则名称',
length: 100,
})
name: string;
@Column({
name: 'scene_mode',
comment: '命中后的场景模式 business/social',
length: 16,
default: 'business',
})
sceneMode: NFCSceneMode;
@Column({
name: 'target_card_id',
comment: '命中后导向的名片 ID',
type: 'bigint',
})
targetCardId: number;
@Index()
@Column({
name: 'enabled',
comment: '是否启用',
default: true,
})
enabled: boolean;
@Column({
name: 'start_time',
comment: '生效开始时刻 HH:mm',
type: 'varchar',
length: 8,
nullable: true,
})
startTime?: string | null;
@Column({
name: 'end_time',
comment: '生效结束时刻 HH:mm',
type: 'varchar',
length: 8,
nullable: true,
})
endTime?: string | null;
@Column({
name: 'weekdays',
comment: '生效星期 0-6(周日=0)',
type: 'json',
nullable: true,
transformer: transformerJson,
})
weekdays?: number[] | null;
@Index()
@Column({
name: 'country_code',
comment: '地理国家码 ISO 3166-1 alpha-2',
length: 8,
nullable: true,
})
countryCode?: string | null;
}