抽卡:修复转盘积分bug
This commit is contained in:
@@ -2,6 +2,7 @@ import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
|
||||
import { getTodayZeroDate } from '../pubUtils/timeUtil';
|
||||
import { REFRESH_HOUR } from '../consts';
|
||||
import { RECRUIT } from '../pubUtils/dicParam';
|
||||
|
||||
class Floor {
|
||||
@prop({ required: true })
|
||||
@@ -70,7 +71,12 @@ export default class UserGacha extends BaseModel {
|
||||
refHopeTime: Date; // 心愿单刷新时间
|
||||
|
||||
@prop({ required: true, default: 0 })
|
||||
point: number; // 积分
|
||||
costPoint: number; // 消耗的积分
|
||||
|
||||
// 积分
|
||||
public get point() {
|
||||
return Math.floor(this.count/RECRUIT.RECRUIT_BONUS) - (this.costPoint||0);
|
||||
}
|
||||
|
||||
@prop({ required: true, type: Turntable, default: [], _id: false })
|
||||
turntable: Turntable[]; // 转盘
|
||||
@@ -85,7 +91,7 @@ export default class UserGacha extends BaseModel {
|
||||
refVisitedTime: Date; // 玩家指定武将
|
||||
|
||||
public static async findAllByRole(roleId: string) {
|
||||
let rec: UserGachaType[] = await UserGachaModel.find({ roleId }).lean();
|
||||
let rec: UserGachaType[] = await UserGachaModel.find({ roleId }).lean({ virtuals: true });
|
||||
return rec;
|
||||
}
|
||||
|
||||
@@ -93,7 +99,7 @@ export default class UserGacha extends BaseModel {
|
||||
const doc = new UserGachaModel();
|
||||
const update = Object.assign(doc.toJSON(), { roleId, gachaId, activityId });
|
||||
delete update._id;
|
||||
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, activityId }, { $setOnInsert: update }, { new: true, upsert: true }).lean();
|
||||
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, activityId }, { $setOnInsert: update }, { new: true, upsert: true }).lean({ virtuals: true });
|
||||
return rec;
|
||||
}
|
||||
|
||||
@@ -104,17 +110,17 @@ export default class UserGacha extends BaseModel {
|
||||
for(let key in update) {
|
||||
delete setOnInsert[key];
|
||||
}
|
||||
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, activityId }, { $set: update, $setOnInsert: setOnInsert }, { new: true, upsert: true }).lean();
|
||||
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, activityId }, { $set: update, $setOnInsert: setOnInsert }, { new: true, upsert: true }).lean({ virtuals: true });
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async refreshFreeCount(roleId: string, gachaId: number, aid: number, refFreeTime: Date) {
|
||||
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, aid }, { $set: { freeCount: 0, refFreeTime } }, { new: true }).lean();
|
||||
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, aid }, { $set: { freeCount: 0, refFreeTime } }, { new: true }).lean({ virtuals: true });
|
||||
return rec;
|
||||
}
|
||||
|
||||
public static async refreshHopeCount(roleId: string, gachaId: number, aid: number, refHopeTime: Date) {
|
||||
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, aid }, { $set: { 'hope.$.hasGet': false, refHopeTime } }, { new: true }).lean();
|
||||
let rec: UserGachaType = await UserGachaModel.findOneAndUpdate({ roleId, gachaId, aid }, { $set: { 'hope.$.hasGet': false, refHopeTime } }, { new: true }).lean({ virtuals: true });
|
||||
return rec;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user