Просмотр исходного кода

添加二维码激活状态检查,未激活二维码时不增加扫描记录

wuyi 1 месяц назад
Родитель
Сommit
dd5d6e141e
2 измененных файлов с 14 добавлено и 1 удалено
  1. 8 0
      src/controllers/scan-record.controller.ts
  2. 6 1
      src/services/scan-record.service.ts

+ 8 - 0
src/controllers/scan-record.controller.ts

@@ -29,6 +29,14 @@ export class ScanRecordController {
         finalUserAgent
       )
 
+      // 如果二维码未激活,返回提示信息
+      if (!scanRecord) {
+        return reply.code(200).send({
+          message: '二维码未激活',
+          data: null
+        })
+      }
+
       return reply.code(201).send({
         message: '扫描记录创建成功',
         data: scanRecord

+ 6 - 1
src/services/scan-record.service.ts

@@ -23,13 +23,18 @@ export class ScanRecordService {
     address?: string,
     ipAddress?: string,
     userAgent?: string
-  ): Promise<ScanRecord> {
+  ): Promise<ScanRecord | null> {
     // 获取二维码实体
     const qrCodeEntity = await this.qrCodeService.findByQrCode(qrCode)
     if (!qrCodeEntity) {
       throw new Error('二维码不存在')
     }
 
+    // 只有激活的二维码才记录扫描信息
+    if (!qrCodeEntity.isActivated) {
+      return null
+    }
+
     // 创建扫描记录
     const scanRecord = this.scanRecordRepository.create({
       qrCodeId: qrCodeEntity.id,