Merge branch 'master' of gitlab.trgame.cn:zyztech/zyz_server

This commit is contained in:
mamengke01
2021-01-15 16:07:39 +08:00
6 changed files with 61 additions and 30 deletions

View File

@@ -144,8 +144,12 @@ export default class Hero extends BaseModel {
@prop({ required: true, type: EPlace, default: getInitialEplace(), _id: false })
ePlace: EPlace[]; // 武将装备引用数组
public static async findByRole(roleId: string, lean = true) {
const heros: HeroType[] = await HeroModel.find({ roleId }).lean(lean);
public static async findByRole(roleId: string, sort: { field: string, sortBy: number }[] = []) {
let sortParam = {};
for(let {field, sortBy} of sort) {
sortParam[field] = sortBy;
}
const heros: HeroType[] = await HeroModel.find({ roleId }).sort(sortParam).lean();
return heros;
}

View File

@@ -1,7 +1,7 @@
import BaseModel from './BaseModel';
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
import { PvpEnemies } from './generalField';
import { PvpEnemies, PvpHeroInfo, PvpOtherHeroes } from './generalField';
export class HeroScores {
@prop({ required: true })
@@ -38,6 +38,8 @@ export default class PvpHistoryOpp extends BaseModel {
rankLv: number; // 对手排名
@prop({ required: true, type: PvpEnemies, default: [] })
heroes: PvpEnemies[]; // 对手阵容
@prop({ required: true, type: PvpOtherHeroes, default: [] })
otherHeroes: PvpOtherHeroes[]; // 阵容以外所有武将信息
@prop({ required: true, default: 0 })
status: number; // 状态 0-仅刷出 1-挑战过

View File

@@ -145,7 +145,7 @@ export class PvpHeroInfo {
@prop({ required: false })
quality?: number = 0; // 品质
@prop({ required: true, _id: false, default: new CeAttrNumber() })
@prop({ required: true, _id: false })
attribute?: CeAttrNumber; // 属性
setHeroInfo(hero: HeroType) {
@@ -243,4 +243,16 @@ export class PvpEnemies extends Enemies {
this.lv = heroInfo.lv;
this.score = score;
}
}
// 未显示在阵容中的其他武将
export class PvpOtherHeroes extends PvpHeroInfo {
@prop({ required: true })
score: number;
// score: 这个武将的军功
constructor(score: number) {
super();
this.score = score;
}
}

View File

@@ -1,7 +1,7 @@
// 一些通用的interface定义
import { reduceCe } from "./util";
import { PvpEnemies } from "../db/generalField";
import { PvpEnemies, PvpHeroInfo, PvpOtherHeroes } from "../db/generalField";
export interface RewardInter {
id: number;
@@ -128,7 +128,7 @@ export class PlayerDetailHero {
quality: number;
score: number;
setPvpHeroInfo?(hero: PvpEnemies) {
setPvpHeroInfo?(hero: PvpEnemies|PvpOtherHeroes) {
this.actorId = hero.actorId;
this.lv = hero.lv;
this.star = hero.star;