xiongzhu 10 mesiacov pred
rodič
commit
dbbe4e85de

+ 57 - 26
src/sys-config/sys-config.service.ts

@@ -11,23 +11,71 @@ export class SysConfigService implements OnModuleInit {
         @InjectRepository(SysConfig)
         private readonly sysConfigRepository: Repository<SysConfig>
     ) {
-        ;(async function init() {})()
+        ; (async function init() { })()
     }
     async onModuleInit() {
-        if (!(await this.sysConfigRepository.findOneBy({ name: 'rcs_wait' }))) {
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'single_qty' }))) {
             await this.sysConfigRepository.save({
-                name: 'rcs_wait',
-                value: '3000',
+                name: 'single_qty',
+                value: '25',
                 type: SysConfigType.Number,
-                remark: 'RCS等待时间'
+                remark: '单发数量'
             })
         }
-        if (!(await this.sysConfigRepository.findOneBy({ name: 'rcs_interval' }))) {
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'single_timeout' }))) {
             await this.sysConfigRepository.save({
-                name: 'rcs_interval',
-                value: '3000',
+                name: 'single_timeout',
+                value: '5000',
+                type: SysConfigType.Number,
+                remark: '单发超时时间'
+            })
+        }
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'single_delay' }))) {
+            await this.sysConfigRepository.save({
+                name: 'single_delay',
+                value: '0',
+                type: SysConfigType.Number,
+                remark: '单发间隔时间'
+            })
+        }
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'group_mode' }))) {
+            await this.sysConfigRepository.save({
+                name: 'group_mode',
+                value: 'false',
+                type: SysConfigType.Boolean,
+                remark: '群发模式'
+            })
+        }
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'group_qty' }))) {
+            await this.sysConfigRepository.save({
+                name: 'group_qty',
+                value: '3',
+                type: SysConfigType.Number,
+                remark: '群发数量'
+            })
+        }
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'group_delay' }))) {
+            await this.sysConfigRepository.save({
+                name: 'group_delay',
+                value: '0',
+                type: SysConfigType.Number,
+                remark: '群发间隔时间'
+            })
+        }
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'group_timeout' }))) {
+            await this.sysConfigRepository.save({
+                name: 'group_timeout',
+                value: '8000',
                 type: SysConfigType.Number,
-                remark: 'RCS发送间隔'
+                remark: '群发超时时间'
+            })
+        }
+        if (!(await this.sysConfigRepository.findOneBy({ name: 'group_size' }))) {
+            await this.sysConfigRepository.save({
+                name: 'group_size',
+                value: '9',
+                type: SysConfigType.Number,
+                remark: '拉群人数'
             })
         }
         if (!(await this.sysConfigRepository.findOneBy({ name: 'clean_count' }))) {
@@ -38,23 +86,6 @@ export class SysConfigService implements OnModuleInit {
                 remark: '清理数量'
             })
         }
-        if (!(await this.sysConfigRepository.findOneBy({ name: 'request_number_interval' }))) {
-            await this.sysConfigRepository.save({
-                name: 'request_number_interval',
-                value: '100',
-                type: SysConfigType.Number,
-                remark: '请求新号码间隔'
-            })
-        } else {
-            await this.sysConfigRepository.update(
-                (
-                    await this.sysConfigRepository.findOneBy({ name: 'request_number_interval' })
-                ).id,
-                {
-                    remark: '单个号码发送量'
-                }
-            )
-        }
         if (!(await this.sysConfigRepository.findOneBy({ name: 'check_availability_numbers' }))) {
             await this.sysConfigRepository.save({
                 name: 'check_availability_numbers',

+ 20 - 5
src/task/entities/task.entity.ts

@@ -55,10 +55,28 @@ export class Task {
     error: string
 
     @Column({ default: 0 })
-    rcsWait: number
+    singleDelay: number
 
     @Column({ default: 0 })
-    rcsInterval: number
+    singleQty: number
+
+    @Column({ default: 0 })
+    singleTimeout: number
+
+    @Column({ default: false })
+    groupMode: boolean
+
+    @Column({ default: 0 })
+    groupDelay: number
+
+    @Column({ default: 0 })
+    groupQty: number
+
+    @Column({ default: 0 })
+    groupTimeout: number
+
+    @Column({ default: 0 })
+    groupSize: number
 
     @Column({ default: 0 })
     cleanCount: number
@@ -81,9 +99,6 @@ export class Task {
     @Column({ default: 0 })
     deliveryCount: number
 
-    @Column({ default: 0 })
-    requestNumberInterval: number
-
     @Column({ nullable: true })
     country: string
 

+ 17 - 7
src/task/task.service.ts

@@ -161,7 +161,7 @@ export class TaskService implements OnModuleInit {
         // 用户单条号码最大发送数
         const users = await this.userRepository.findOneBy({ id: task.userId })
         if (users.maxSend > 0) {
-            task.requestNumberInterval = users.maxSend
+            task.singleQty = users.maxSend
         }
         task = await this.taskRepository.save(task)
         if (task.paid) {
@@ -275,10 +275,15 @@ export class TaskService implements OnModuleInit {
                 message: data.message === '' ? '' : data.message || old.message,
                 img: data.img || old.img,
                 dynamicMessage: data.dynamicMessage || old.dynamicMessage,
-                rcsWait: data.rcsWait,
-                rcsInterval: data.rcsInterval,
+                singleQty: data.singleQty,
+                singleTimeout: data.singleTimeout,
+                singleDelay: data.singleDelay,
+                groupMode: data.groupMode,
+                groupQty: data.groupQty,
+                groupSize: data.groupSize,
+                groupTimeout: data.groupTimeout,
+                groupDelay: data.groupDelay,
                 cleanCount: data.cleanCount,
-                requestNumberInterval: data.requestNumberInterval,
                 checkConnection: data.checkConnection,
                 country: data.country,
                 matchDevice: data.matchDevice,
@@ -1438,10 +1443,15 @@ export class TaskService implements OnModuleInit {
 
         devices = devices.splice(0, Math.ceil(taskItems.length / 5))
         const taskConfig = {
-            rcsWait: task.rcsWait || (await this.getConfig('rcs_wait', 2000)),
-            rcsInterval: task.rcsInterval || (await this.getConfig('rcs_interval', 3000)),
+            singleQty: task.singleQty || (await this.getConfig('single_qty', 1)),
+            singleTimeout: task.singleTimeout || (await this.getConfig('single_timeout', 2000)),
+            singleDelay: task.singleDelay || (await this.getConfig('single_delay', 3000)),
             cleanCount: task.cleanCount || (await this.getConfig('clean_count', 20)),
-            requestNumberInterval: task.requestNumberInterval || (await this.getConfig('request_number_interval', 100)),
+            groupMode: task.groupMode,
+            groupQty: task.groupQty,
+            groupSize: task.groupSize,
+            groupTimeout: task.groupTimeout || (await this.getConfig('group_timeout', 2000)),
+            groupDelay: task.groupDelay || (await this.getConfig('group_delay', 3000)),
             checkConnection: task.checkConnection,
             useBackup: task.useBackup,
             e2ee: task.e2ee,