LaiTool/src/main/Service/ServiceBasic/bookBackTaskServiceBasic.ts

78 lines
2.6 KiB
TypeScript
Raw Normal View History

import { BookBackTaskStatus, BookBackTaskType, TaskExecuteType } from "../../../define/enum/bookEnum";
import { BookBackTaskListService } from "../../../define/db/service/Book/bookBackTaskListService";
import { Book } from "../../../model/book";
export default class BookBackTaskServiceBasic {
bookBackTaskListService: BookBackTaskListService
constructor() { }
private async InitService() {
if (!this.bookBackTaskListService) {
this.bookBackTaskListService = await BookBackTaskListService.getInstance()
}
}
/**
*
* @param bookId ID
* @param taskType
* @param executeType
* @param bookTaskId ID
* @param bookTaskDetailId ID
* @param responseMessageName
*/
async AddBookBackTask(bookId: string,
taskType: BookBackTaskType,
executeType = TaskExecuteType.AUTO,
bookTaskId = null,
bookTaskDetailId = null,
responseMessageName: string = null
): Promise<TaskModal.Task> {
await this.InitService();
let res = this.bookBackTaskListService.AddBookBackTask(bookId, taskType, executeType, bookTaskId, bookTaskDetailId, responseMessageName)
if (res.code == 0) {
throw new Error(res.message)
}
return res.data as TaskModal.Task
}
/**
*
* @param status
* @returns
*/
async GetAllStatusTaskCount(status: BookBackTaskStatus[]): Promise<number> {
await this.InitService();
let count = this.bookBackTaskListService.GetAllStatusTaskCount(status)
return count;
}
/**
*
* @param bookBackTask
*/
async UpdateTaskStatus(bookBackTask: Book.UpdateBookTaskListStatus) {
await this.InitService();
this.bookBackTaskListService.UpdateTaskStatus(bookBackTask)
}
/**
*
*/
async GiveUpNotStartBackTask() {
await this.InitService();
let task = this.bookBackTaskListService.realm.objects('BookBackTaskList').filtered('status == $0 || status == $1', BookBackTaskStatus.WAIT, BookBackTaskStatus.RECONNECT);
let ids = task.map((item) => {
return item.id
})
// 讲所有的人物状态改为放弃然后errmessage改为 此任务已丢弃
this.bookBackTaskListService.transaction(() => {
for (let i = 0; i < ids.length; i++) {
const element = this.bookBackTaskListService.realm.objectForPrimaryKey('BookBackTaskList', ids[i]);
element.status = BookBackTaskStatus.FAIL
element.errorMessage = '任务被丢弃'
}
})
}
}