From cf79216a6ebeebb86cafbb45c141f0720c9a491b Mon Sep 17 00:00:00 2001 From: Mozzie Date: Fri, 8 Sep 2023 15:56:16 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A0=87=E7=AD=BE=E5=88=87=E5=9B=9Emys?= =?UTF-8?q?ql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/services/dicom/src/app.constant.ts | 7 +++++ .../dicom/src/label/entity/label.entity.ts | 30 +++++++++++++++++++ .../dicom/src/label/label.controller.ts | 2 +- apps/services/dicom/src/label/label.module.ts | 18 ++++++++--- .../services/dicom/src/label/label.service.ts | 19 +++++------- .../dicom/src/label/schema/label.schema.ts | 13 -------- 6 files changed, 60 insertions(+), 29 deletions(-) create mode 100644 apps/services/dicom/src/app.constant.ts create mode 100644 apps/services/dicom/src/label/entity/label.entity.ts delete mode 100644 apps/services/dicom/src/label/schema/label.schema.ts diff --git a/apps/services/dicom/src/app.constant.ts b/apps/services/dicom/src/app.constant.ts new file mode 100644 index 0000000..2ac764c --- /dev/null +++ b/apps/services/dicom/src/app.constant.ts @@ -0,0 +1,7 @@ +/** + * 标签的来源 + */ +export enum LabelSource { + SYSTEM = 'SYSTEM', + USER = 'USER', +} diff --git a/apps/services/dicom/src/label/entity/label.entity.ts b/apps/services/dicom/src/label/entity/label.entity.ts new file mode 100644 index 0000000..b4cfe91 --- /dev/null +++ b/apps/services/dicom/src/label/entity/label.entity.ts @@ -0,0 +1,30 @@ +import { LabelSource } from 'src/app.constant'; +import { + Column, + CreateDateColumn, + Entity, + PrimaryGeneratedColumn, + UpdateDateColumn, +} from 'typeorm'; + +@Entity() +export class Label { + @PrimaryGeneratedColumn() + id: number; + + @Column() + name: string; + + @Column({ + type: 'enum', + enum: LabelSource, + default: LabelSource.SYSTEM, // 设置一个默认值,如果需要的话 + }) + source: LabelSource; + + @CreateDateColumn({ type: 'timestamp' }) + createAt: Date; + + @UpdateDateColumn({ type: 'timestamp' }) + updateAt: Date; +} diff --git a/apps/services/dicom/src/label/label.controller.ts b/apps/services/dicom/src/label/label.controller.ts index 4c1d4be..12ed176 100644 --- a/apps/services/dicom/src/label/label.controller.ts +++ b/apps/services/dicom/src/label/label.controller.ts @@ -8,6 +8,6 @@ export class LabelController { @EventPattern({ cmd: 'dicom.label.create' }) async createLabel(payload) { - return await this.labelService.createLabel(); + return await this.labelService.createLabel(payload); } } diff --git a/apps/services/dicom/src/label/label.module.ts b/apps/services/dicom/src/label/label.module.ts index b2a4247..0edf643 100644 --- a/apps/services/dicom/src/label/label.module.ts +++ b/apps/services/dicom/src/label/label.module.ts @@ -1,14 +1,24 @@ import { Module } from '@nestjs/common'; import { LabelController } from './label.controller'; -import { Label, LabelSchema } from './schema/label.schema'; import { LabelService } from './label.service'; -import { MongooseModule } from '@nestjs/mongoose'; +import { TypeOrmModule } from '@nestjs/typeorm'; +import { Label } from './entity/label.entity'; @Module({ controllers: [LabelController], imports: [ - MongooseModule.forRoot('mongodb://test:test@localhost:27017/tavi'), - MongooseModule.forFeature([{ name: Label.name, schema: LabelSchema }]), + TypeOrmModule.forRoot({ + type: 'mysql', + host: 'localhost', + port: 3306, + username: 'root', + password: 'root', + database: 'dicom', + entities: [__dirname + '/**/*.entity{.ts,.js}'], + synchronize: true, + timezone: 'Asia/Shanghai', // 这里设置了时区 + }), + TypeOrmModule.forFeature([Label]), ], providers: [LabelService], }) diff --git a/apps/services/dicom/src/label/label.service.ts b/apps/services/dicom/src/label/label.service.ts index 55a646b..f335a6c 100644 --- a/apps/services/dicom/src/label/label.service.ts +++ b/apps/services/dicom/src/label/label.service.ts @@ -1,22 +1,19 @@ import { Injectable } from '@nestjs/common'; -import { Label, LabelDocument } from './schema/label.schema'; -import { InjectModel } from '@nestjs/mongoose'; -import { Model } from 'mongoose'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Label } from './entity/label.entity'; +import { Repository } from 'typeorm'; @Injectable() export class LabelService { constructor( - @InjectModel(Label.name) - private readonly labelModel: Model, + @InjectRepository(Label) + private readonly labelRepository: Repository