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; }