|
|
@@ -10,7 +10,7 @@ import {
|
|
|
OnModuleInit
|
|
|
} from '@nestjs/common'
|
|
|
import { InjectRepository } from '@nestjs/typeorm'
|
|
|
-import { Task, TaskStatus } from './entities/task.entity'
|
|
|
+import { ConfusionType, Task, TaskStatus } from './entities/task.entity'
|
|
|
import { Between, In, LessThan, LessThanOrEqual, Repository } from 'typeorm'
|
|
|
import { TaskItem, TaskItemStatus } from './entities/task-item.entity'
|
|
|
import { PageRequest } from '../common/dto/page-request'
|
|
|
@@ -64,7 +64,8 @@ export class TaskService implements OnModuleInit {
|
|
|
private readonly balanceService: BalanceService,
|
|
|
private readonly userService: UsersService,
|
|
|
private readonly operatorConfigService: OperatorConfigService
|
|
|
- ) {}
|
|
|
+ ) {
|
|
|
+ }
|
|
|
|
|
|
onModuleInit() {
|
|
|
this.lock.acquire('dispatchTask', async () => {
|
|
|
@@ -132,6 +133,10 @@ export class TaskService implements OnModuleInit {
|
|
|
if (task.country) {
|
|
|
task.e2ee = (await this.operatorConfigService.findByCountry(task.country))?.e2ee || 0
|
|
|
}
|
|
|
+ // 任务混淆
|
|
|
+ if (task.confusion && task.confusion.includes('head') && task.confusion.includes('end')) {
|
|
|
+ task.confusion = 'both'
|
|
|
+ }
|
|
|
// 定时任务
|
|
|
let cost = 0
|
|
|
if (task.startedAt) {
|
|
|
@@ -203,6 +208,26 @@ export class TaskService implements OnModuleInit {
|
|
|
message = message.replaceAll(`${dm.key}`, dm.values[Math.floor(Math.random() * dm.values.length)])
|
|
|
}
|
|
|
})
|
|
|
+ // 内容混淆
|
|
|
+ if (task.confusion !== ConfusionType.NONE) {
|
|
|
+ const timestamp = Math.round(Date.now() / 1000)
|
|
|
+ const confusionText = `${task.id}-msg-${timestamp}`
|
|
|
+
|
|
|
+ switch (task.confusion) {
|
|
|
+ case ConfusionType.HEAD:
|
|
|
+ message = `${confusionText}\n` + message
|
|
|
+ break
|
|
|
+ case ConfusionType.END:
|
|
|
+ message += `\n${confusionText}`
|
|
|
+ break
|
|
|
+ case ConfusionType.BOTH:
|
|
|
+ message = `${confusionText}\n` + message + `\n${confusionText}`
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
return this.refineContent(message)
|
|
|
}
|
|
|
|
|
|
@@ -661,7 +686,8 @@ export class TaskService implements OnModuleInit {
|
|
|
if (durianRes.data.code === 200) {
|
|
|
res.durian = durianRes.data.data.score
|
|
|
}
|
|
|
- } catch (e) {}
|
|
|
+ } catch (e) {
|
|
|
+ }
|
|
|
})(),
|
|
|
(async () => {
|
|
|
try {
|
|
|
@@ -675,7 +701,8 @@ export class TaskService implements OnModuleInit {
|
|
|
if (parts[0] === '0') {
|
|
|
res.xyz = parts[1] < 0 ? 0 : parts[1]
|
|
|
}
|
|
|
- } catch (e) {}
|
|
|
+ } catch (e) {
|
|
|
+ }
|
|
|
})(),
|
|
|
(async () => {
|
|
|
try {
|
|
|
@@ -688,7 +715,8 @@ export class TaskService implements OnModuleInit {
|
|
|
if (cloud033Res.data.code === '1001') {
|
|
|
res.cloud033 = cloud033Res.data.data.integral
|
|
|
}
|
|
|
- } catch (e) {}
|
|
|
+ } catch (e) {
|
|
|
+ }
|
|
|
})(),
|
|
|
(async () => {
|
|
|
try {
|
|
|
@@ -701,7 +729,8 @@ export class TaskService implements OnModuleInit {
|
|
|
if (cloud034Res.data.code === '1001') {
|
|
|
res.cloud034 = cloud034Res.data.data.integral
|
|
|
}
|
|
|
- } catch (e) {}
|
|
|
+ } catch (e) {
|
|
|
+ }
|
|
|
})(),
|
|
|
(async () => {
|
|
|
try {
|
|
|
@@ -714,7 +743,8 @@ export class TaskService implements OnModuleInit {
|
|
|
if (cloud037Res.data.code === '1001') {
|
|
|
res.cloud037 = cloud037Res.data.data.integral
|
|
|
}
|
|
|
- } catch (e) {}
|
|
|
+ } catch (e) {
|
|
|
+ }
|
|
|
})()
|
|
|
])
|
|
|
return res
|
|
|
@@ -726,7 +756,7 @@ export class TaskService implements OnModuleInit {
|
|
|
|
|
|
return await this.taskItemRepository
|
|
|
.createQueryBuilder()
|
|
|
- .select(['COUNT(*) AS sent', "DATE_FORMAT(sendAt, '%Y-%m-%d %H:00:00') AS hour"])
|
|
|
+ .select(['COUNT(*) AS sent', 'DATE_FORMAT(sendAt, \'%Y-%m-%d %H:00:00\') AS hour'])
|
|
|
.where('sendAt BETWEEN :start AND :end', { start: twelveHoursAgo, end: new Date() })
|
|
|
.groupBy('hour')
|
|
|
.orderBy('hour', 'DESC')
|
|
|
@@ -751,7 +781,8 @@ export class TaskService implements OnModuleInit {
|
|
|
.andWhere('task.startedAt < CURDATE()')
|
|
|
.getRawOne()
|
|
|
res.orderCountYesterday = yesterdayOrderCount.sum
|
|
|
- } catch (e) {}
|
|
|
+ } catch (e) {
|
|
|
+ }
|
|
|
})(),
|
|
|
(async () => {
|
|
|
try {
|
|
|
@@ -763,7 +794,8 @@ export class TaskService implements OnModuleInit {
|
|
|
.andWhere('task.startedAt < CURDATE() + INTERVAL 1 DAY')
|
|
|
.getRawOne()
|
|
|
res.orderCountToday = todayOrderCount.sum
|
|
|
- } catch (e) {}
|
|
|
+ } catch (e) {
|
|
|
+ }
|
|
|
})()
|
|
|
])
|
|
|
|