每日添加购买次数逻辑
This commit is contained in:
@@ -14,23 +14,26 @@ export default class DailyRecord extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
count: number; // 挑战次数
|
||||
@prop({ required: true, default: 0 })
|
||||
buyCount: number; // 购买次数次数
|
||||
@prop({ required: true, default: 0 })
|
||||
refTime: number; // 刷新时间
|
||||
|
||||
public static async getDailyRecordById(roleId: string, type: number, lean = true) {
|
||||
const result = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {}, {new: true, upsert: true}).select('count refTime').lean(lean);
|
||||
const result = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {}, {new: true, upsert: true}).select('type count buyCount refTime').lean(lean);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async refreshRecord(roleId: string, type: number, lean = true) {
|
||||
const dailyRecord = await DailyRecordModel.findOne({ roleId, type }).lean(lean);
|
||||
let {count = 0, refTime = 0} = dailyRecord||{};
|
||||
let {count = 0, refTime = 0, buyCount = 0} = dailyRecord||{};
|
||||
let now = new Date();
|
||||
let today = now.setHours(0, 0, 0, 0);
|
||||
if(today > refTime) {
|
||||
refTime = today;
|
||||
count = 0;
|
||||
buyCount = 0;
|
||||
}
|
||||
let result = await DailyRecordModel.findOneAndUpdate({roleId, type}, {$set: {refTime, count}}, {new: true, upsert: true});
|
||||
let result = await DailyRecordModel.findOneAndUpdate({roleId, type}, {$set: {refTime, count, buyCount}}, {new: true, upsert: true});
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -43,6 +46,11 @@ export default class DailyRecord extends BaseModel {
|
||||
let result = await DailyRecordModel.deleteMany({roleId}).lean(lean);
|
||||
return result||{};
|
||||
}
|
||||
|
||||
public static async increseBuyCount(roleId: string, type: number, count: number, lean = true) {
|
||||
const result = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {$inc: { buyCount:count } }, {new: true, upsert: true}).lean(lean);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const DailyRecordModel = getModelForClass(DailyRecord);
|
||||
|
||||
Reference in New Issue
Block a user