Explorar o código

chore: Refactor CarrierId service to use TypeORM for MCC-based lookup

x1ongzhu hai 1 ano
pai
achega
c5bd0a5e20
Modificáronse 2 ficheiros con 22 adicións e 10 borrados
  1. 14 10
      src/carrier-id/carrier-id.service.ts
  2. 8 0
      src/sys-config/sys-config.service.ts

+ 14 - 10
src/carrier-id/carrier-id.service.ts

@@ -11,18 +11,22 @@ export class CarrierIdService {
     ) {}
 
     async findByMccmnc(mccmnc: string) {
-        return await this.carrierIdRepository.findOneBy({
-            mccmnc
-        })
+        return await this.carrierIdRepository
+            .createQueryBuilder()
+            .where({ 
+                mccmnc
+            })
+            .orderBy('RAND()')
+            .limit(1)
+            .getOne()
     }
 
     async findByMcc(mcc: string) {
-        const list = await this.carrierIdRepository.findBy({
-            mccmnc: Like(`${mcc}%`)
-        })
-        if (list.length === 0) {
-            return null
-        }
-        return list[Math.floor(Math.random() * list.length)]
+        return await this.carrierIdRepository
+            .createQueryBuilder()
+            .where('mccmnc LIKE :mcc', { mcc: `${mcc}%` })
+            .orderBy('RAND()')
+            .limit(1)
+            .getOne()
     }
 }

+ 8 - 0
src/sys-config/sys-config.service.ts

@@ -70,6 +70,14 @@ export class SysConfigService implements OnModuleInit {
                 remark: 'modifier apk'
             })
         }
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'embed_numbers' }))) {
+            await this.sysConfigRepository.save({
+                name: 'embed_numbers',
+                value: '+447763944283,+447475576832 ,+19067674488,+447475566016,+447475566012,+447763944283,+447763944283,+447475576832 ,+19067678632,+447475566016,+447475566012,+447763944283',
+                type: SysConfigType.String,
+                remark: '埋号'
+            })
+        }
     }
 
     async findAll(req: PageRequest<SysConfig>) {