皮肤:周边相关功能影响
This commit is contained in:
@@ -3,6 +3,36 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos
|
||||
import { TOWER_TASK_STATUS } from '../consts';
|
||||
import { genCode } from '../pubUtils/util';
|
||||
import { getZeroPointD } from '../pubUtils/timeUtil';
|
||||
import { HeroType } from './Hero';
|
||||
import { gameData } from '../pubUtils/data';
|
||||
|
||||
export class TaskHero {
|
||||
@prop({ required: true })
|
||||
seqId: number;
|
||||
@prop({ required: true })
|
||||
hid: number;
|
||||
@prop({ required: true })
|
||||
skinId: number;
|
||||
@prop({ required: true })
|
||||
jobClass: number;
|
||||
@prop({ required: true })
|
||||
star: number;
|
||||
@prop({ required: true })
|
||||
colorStar: number;
|
||||
@prop({ required: true })
|
||||
camp: number;
|
||||
|
||||
constructor(hero: HeroType) {
|
||||
let dicHero = gameData.hero.get(hero.hid);
|
||||
this.seqId = hero.seqId;
|
||||
this.hid = hero.hid;
|
||||
this.skinId = hero.skinId;
|
||||
this.jobClass = dicHero.jobClass;
|
||||
this.star = hero.star;
|
||||
this.colorStar = hero.colorStar;
|
||||
this.camp = dicHero.camp;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 天梯派遣记录表
|
||||
@@ -21,8 +51,8 @@ export default class TowerTaskRec extends BaseModel {
|
||||
position: number; // 本批派遣任务当中的第几个任务
|
||||
@prop({ required: true, default: 0, enum: TOWER_TASK_STATUS })
|
||||
status: TOWER_TASK_STATUS; // 派遣任务当前状态,0-可派遣,1-已派遣,2-已完成,3-已领取
|
||||
@prop({ required: true, type: Number, default: [] })
|
||||
heroes: Array<number>; // 此批派遣使用的全部武将
|
||||
@prop({ required: true, type: TaskHero, default: [], _id: false })
|
||||
heroes: TaskHero[]; // 此批派遣使用的全部武将
|
||||
|
||||
@prop({ required: true })
|
||||
taskId: number; // 任务唯一 Id,来自任务表
|
||||
@@ -82,12 +112,12 @@ export default class TowerTaskRec extends BaseModel {
|
||||
return recs;
|
||||
}
|
||||
|
||||
public static async sendHeroes(_roleId: string, batchCode: string, tasks: Array<{taskCode:string, heroes: Array<number>, completeTime: number}>, sendTime: Date, lean = true) {
|
||||
public static async sendHeroes(_roleId: string, batchCode: string, tasks: {taskCode:string, heroes: TaskHero[], completeTime: number}[], sendTime: Date, lean = true) {
|
||||
let recs = new Array();
|
||||
for (let {taskCode, heroes, completeTime} of tasks) {
|
||||
const rec: TowerTaskRecType = await TowerTaskRecModel.findOneAndUpdate(
|
||||
{ batchCode, taskCode: taskCode },
|
||||
{heroes: heroes, status: TOWER_TASK_STATUS.DOINING, sendTime, completeTime: new Date(sendTime.getTime() + completeTime * 1000)},
|
||||
{ heroes, status: TOWER_TASK_STATUS.DOINING, sendTime, completeTime: new Date(sendTime.getTime() + completeTime * 1000)},
|
||||
{new: true}).lean(lean);
|
||||
|
||||
recs.push(rec);
|
||||
|
||||
Reference in New Issue
Block a user