添加数据库类型别名
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop } from '@typegoose/typegoose';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
|
||||
function genCodeTmp(len) {
|
||||
const chars = '123456789ABCDEFGHJKLMNPQRSTWXYZabcdefghijklmnopqrstuvwxyz';
|
||||
@@ -43,7 +43,7 @@ export default class TowerTaskRec extends BaseModel {
|
||||
completeTime: Date; // 派遣结束时间
|
||||
|
||||
public static async getCurTasks(roleId: string, lean = true) {
|
||||
const recs = await TowerTaskRecModel.find({roleId, refreshStatus: 1}).sort({createdAt: 1}).lean(lean);
|
||||
const recs: TowerTaskRecType[] = await TowerTaskRecModel.find({roleId, refreshStatus: 1}).sort({createdAt: 1}).lean(lean);
|
||||
return recs;
|
||||
}
|
||||
|
||||
@@ -59,14 +59,14 @@ export default class TowerTaskRec extends BaseModel {
|
||||
}
|
||||
|
||||
public static async getTasksByCode(batchCode: string, lean = true) {
|
||||
const recs = await TowerTaskRecModel.find({batchCode}).lean(lean);
|
||||
const recs: TowerTaskRecType[] = await TowerTaskRecModel.find({batchCode}).lean(lean);
|
||||
return recs;
|
||||
}
|
||||
|
||||
public static async sendHeroes(_roleId: string, batchCode: string, tasks: Array<{taskCode:string, heroes: Array<number>, completeTime: number}>, sendTime: Date, lean = true) {
|
||||
let recs = new Array();
|
||||
for (let {taskCode, heroes, completeTime} of tasks) {
|
||||
const rec = await TowerTaskRecModel.findOneAndUpdate(
|
||||
const rec: TowerTaskRecType = await TowerTaskRecModel.findOneAndUpdate(
|
||||
{batchCode, taskCode: taskCode, refreshStatus: 1},
|
||||
{heroes: heroes, status: 1, sendTime, completeTime: new Date(sendTime.getTime() + completeTime * 1000)},
|
||||
{new: true}).lean(lean);
|
||||
@@ -76,32 +76,34 @@ export default class TowerTaskRec extends BaseModel {
|
||||
return recs;
|
||||
}
|
||||
|
||||
public static async finishTask(batchCode: string, tasks: Array<string>, lean = true) {
|
||||
const recs = await TowerTaskRecModel.updateMany({batchCode, taskCode: {$in:tasks}}, {status: 3, refreshStatus: -1}).lean(lean);
|
||||
public static async finishTask(batchCode: string, tasks: Array<string>, _lean = true) {
|
||||
const recs:{ok: number, n:number, nModified:number} = await TowerTaskRecModel.updateMany({batchCode, taskCode: {$in:tasks}}, {status: 3, refreshStatus: -1});
|
||||
return recs;
|
||||
}
|
||||
|
||||
// 将隐藏的任务显示出来 0=>1
|
||||
public static async showTask(roleId: string, bactchCode: string, num: number, lean = true) {
|
||||
const recs = await TowerTaskRecModel.updateMany({roleId, refreshStatus: 0}, {bactchCode, refreshStatus: 1}).sort({createdAt: 1}).limit(num).lean(lean);
|
||||
public static async showTask(roleId: string, bactchCode: string, num: number, _lean = true) {
|
||||
const recs:{ok: number, n:number, nModified:number} = await TowerTaskRecModel.updateMany({roleId, refreshStatus: 0}, {bactchCode, refreshStatus: 1}).sort({createdAt: 1}).limit(num);
|
||||
return recs;
|
||||
}
|
||||
// 刷掉旧任务 1=>-1
|
||||
public static async hideTask(roleId: string, taskIds: Array<string>, lean = true) {
|
||||
public static async hideTask(roleId: string, taskIds: Array<string>, _lean = true) {
|
||||
// console.log(refTime)
|
||||
const recs = await TowerTaskRecModel.updateMany({roleId, taskCode: {$in: taskIds}, refreshStatus: 1}, {refreshStatus: -1}).lean(lean);
|
||||
const recs:{ok: number, n:number, nModified:number} = await TowerTaskRecModel.updateMany({roleId, taskCode: {$in: taskIds}, refreshStatus: 1}, {refreshStatus: -1});
|
||||
return recs;
|
||||
}
|
||||
|
||||
public static async updateBatchCode(roleId: string, taskIds: Array<string>, batchCode: string, lean = true) {
|
||||
const recs = await TowerTaskRecModel.updateMany({roleId, taskCode: {$in: taskIds}}, {batchCode}).lean(lean);
|
||||
public static async updateBatchCode(roleId: string, taskIds: Array<string>, batchCode: string, _lean = true) {
|
||||
const recs:{ok: number, n:number, nModified:number} = await TowerTaskRecModel.updateMany({roleId, taskCode: {$in: taskIds}}, {batchCode});
|
||||
return recs;
|
||||
}
|
||||
|
||||
public static async deleteAccount(roleId: string, lean = true) {
|
||||
let result = await TowerTaskRecModel.deleteMany({roleId}).lean(lean);
|
||||
return result||{};
|
||||
public static async deleteAccount(roleId: string) {
|
||||
let result = await TowerTaskRecModel.deleteMany({roleId});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const TowerTaskRecModel = getModelForClass(TowerTaskRec);
|
||||
|
||||
export interface TowerTaskRecType extends Pick<DocumentType<TowerTaskRec>, keyof TowerTaskRec>{};
|
||||
Reference in New Issue
Block a user