Преглед изворни кода

refactor(rcs-number): 优化号码检测逻辑

- 将查询方法从 findOneBy 改为 countBy,提高查询效率
-增加异常捕获处理,提高代码稳定性
- 修改判断逻辑,允许存在最多 3 个相同号码
wui пре 6 месеци
родитељ
комит
b7a4d6be8f
1 измењених фајлова са 11 додато и 6 уклоњено
  1. 11 6
      src/rcs-number/rcs-number.service.ts

+ 11 - 6
src/rcs-number/rcs-number.service.ts

@@ -391,13 +391,18 @@ export class RcsNumberService {
     }
 
     async checkForDuplicateNumbers(res: GetNumberResponse, channel: RcsNumberSource) {
-        if (channel === RcsNumberSource.smspva || channel === RcsNumberSource.smspva02) {
-            const existingNumber = await this.rcsNumberRepository.findOneBy({
-                number: res.number
-            })
-            if (existingNumber) {
-                return true
+        try {
+            if (channel === RcsNumberSource.smspva || channel === RcsNumberSource.smspva02) {
+                const size = await this.rcsNumberRepository.countBy({
+                    number: res.number
+                })
+                if (size > 3) {
+                    return true
+                }
             }
+        } catch (e) {
+            Logger.error('checkForDuplicateNumbers error:', e.message)
+            return false
         }
         return false
     }