添加数据库类型别名

This commit is contained in:
luying
2020-12-15 18:08:29 +08:00
parent 1565dd206a
commit 2d774fc0e4
38 changed files with 393 additions and 321 deletions
+11 -9
View File
@@ -1,5 +1,5 @@
import BaseModel from './BaseModel';
import { index, getModelForClass, prop } from '@typegoose/typegoose';
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
import { DAILY_CONST } from './../consts';
import { setLocalHours } from './../pubUtils/util';
@@ -22,12 +22,12 @@ export default class DailyRecord extends BaseModel {
refTime: number; // 刷新时间
public static async getDailyRecordById(roleId: string, type: number, lean = true) {
const result = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {}, {new: true, upsert: true}).lean(lean);
const result: DailyRecordType = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {}, {new: true, upsert: true}).lean(lean);
return result;
}
public static async refreshRecord(roleId: string, type: number, lean = true) {
const dailyRecord = await DailyRecordModel.findOne({ roleId, type }).lean(lean);
const dailyRecord: DailyRecordType = await DailyRecordModel.findOne({ roleId, type }).lean(lean);
let {count = 0, refTime = 0, buyCount = 0} = dailyRecord||{};
let now = new Date();
let today = setLocalHours(DAILY_CONST.REFRESH_TIME, now);
@@ -35,24 +35,26 @@ export default class DailyRecord extends BaseModel {
if(today > refTime) {
refTime = today; count = 0; buyCount = 0;
}
let result = await DailyRecordModel.findOneAndUpdate({roleId, type}, {$set: {refTime, count, buyCount}}, {new: true, upsert: true});
let result: DailyRecordType = await DailyRecordModel.findOneAndUpdate({roleId, type}, {$set: {refTime, count, buyCount}}, {new: true, upsert: true}).lean(lean);
return result;
}
public static async increseDailyCount(roleId: string, type: number, count: number, lean = true) {
const result = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {$inc: { count } }, {new: true, upsert: true}).lean(lean);
const result: DailyRecordType = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {$inc: { count } }, {new: true, upsert: true}).lean(lean);
return result;
}
public static async deleteAccount(roleId: string, lean = true) {
let result = await DailyRecordModel.deleteMany({roleId}).lean(lean);
return result||{};
public static async deleteAccount(roleId: string) {
let result = await DailyRecordModel.deleteMany({roleId});
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);
const result: DailyRecordType = await DailyRecordModel.findOneAndUpdate({ roleId, type }, {$inc: { buyCount:count } }, {new: true, upsert: true}).lean(lean);
return result;
}
}
export const DailyRecordModel = getModelForClass(DailyRecord);
export interface DailyRecordType extends Pick<DocumentType<DailyRecord>, keyof DailyRecord>{};