战力:替换新方法
This commit is contained in:
@@ -166,8 +166,6 @@ export default class Hero extends BaseModel {
|
||||
ce: number; // 武将战力
|
||||
@prop({ required: false, set: (val: boolean) => val, get: () => true })
|
||||
isReducedCe: boolean; // 如果战力没有缩过就会返回false,缩过了就会返回true
|
||||
@prop({ required: true, default: 0 })
|
||||
historyCe: number; // 武将历史最高战力
|
||||
@prop({ required: true, type: CeAttrData, default: [], _id: false })
|
||||
attr: CeAttrData[]; // 影响战力的属性
|
||||
|
||||
@@ -300,16 +298,6 @@ export default class Hero extends BaseModel {
|
||||
return <HeroType[]>insertInfos;
|
||||
}
|
||||
|
||||
public static async sumTopHeroCe(roleId: string, num: number) {
|
||||
let ce: Array<{ historyCe: number }> = await HeroModel.aggregate([
|
||||
{ $match: { roleId } },
|
||||
{ $sort: { historyCe: -1 } },
|
||||
{ $limit: num },
|
||||
{ $group: { _id: null, historyCe: { $sum: '$historyCe' } } }
|
||||
]);
|
||||
return ce.length > 0 ? ce[0].historyCe : 0;
|
||||
}
|
||||
|
||||
public static async sumHeroCe(roleId: string) {
|
||||
let ce: Array<{ ce: number }> = await HeroModel.aggregate([
|
||||
{ $match: { roleId } },
|
||||
@@ -323,13 +311,6 @@ export default class Hero extends BaseModel {
|
||||
return heroes;
|
||||
}
|
||||
|
||||
public static async updateCe(roleId: string, hid: number, ce: number, oldCe: number, historyCe: number, lean = true) {
|
||||
let distance = ce - oldCe;
|
||||
let historyDistance = ce > historyCe ? ce - historyCe : 0;
|
||||
let result: HeroType = await HeroModel.findOneAndUpdate({ roleId, hid }, { $inc: { ce: distance, historyCe: historyDistance } }).lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async deleteAccount(roleId: string) {
|
||||
let result = await HeroModel.deleteMany({ roleId });
|
||||
return result;
|
||||
|
||||
@@ -17,6 +17,10 @@ export class HeroAttr {
|
||||
lv: number;
|
||||
@prop({ required: true, type: () => AttrCell, _id: false })
|
||||
attrs: AttrCell[];
|
||||
@prop({ required: true })
|
||||
historyCe: number;
|
||||
@prop({ required: true })
|
||||
objectId: string;
|
||||
}
|
||||
|
||||
export class EquipAttr {
|
||||
@@ -78,7 +82,7 @@ export default class RoleCe extends BaseModel {
|
||||
scrollAttrs: ScrollAttr[];
|
||||
|
||||
public static async findByRoleId(roleId: string) {
|
||||
let result: RoleCeType = await RoleCeModel.findOne({ roleId }).lean();
|
||||
let result: RoleCeType = await RoleCeModel.findOneAndUpdate({ roleId }).lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user