捐献
This commit is contained in:
48
shared/db/WishPoolReport.ts
Normal file
48
shared/db/WishPoolReport.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose';
|
||||
import { nowSeconds, getTodayZeroPoint } from '../pubUtils/timeUtil';
|
||||
|
||||
@index({ guildCode: 1 })
|
||||
|
||||
export default class WishPoolReport extends BaseModel {
|
||||
@prop({ required: true })
|
||||
guildCode: string; // 角色 id
|
||||
|
||||
@prop({ required: true })
|
||||
dntTime: number; //捐献时间
|
||||
|
||||
@prop({ required: true })
|
||||
roleId: string; //被捐献人
|
||||
|
||||
@prop({ required: true })
|
||||
roleName: string; //捐赠人
|
||||
|
||||
@prop({ required: true })
|
||||
goodId: number; //捐献物品
|
||||
|
||||
@prop({ required: true })
|
||||
count: number; //捐献物品数量
|
||||
|
||||
@prop({ required: true })
|
||||
dntRoleId: string; //捐赠人
|
||||
|
||||
@prop({ required: true })
|
||||
dntRoleName: string; //捐赠人
|
||||
|
||||
public static async addReport(guildCode: string, roleId: string, roleName: string, dntRoleId: string, dntRoleName: string, goodId: number, count: number, lean = true) {
|
||||
const doc = new WishPoolReportModel();
|
||||
const report = Object.assign(doc.toJSON(), { guildCode, roleId, roleName, dntRoleId, dntRoleName, goodId, dntTime: nowSeconds(), count });
|
||||
await WishPoolReportModel.create(report);
|
||||
return report;
|
||||
}
|
||||
//获得day天之前的许愿池战报
|
||||
public static async getReportsByTime(guildCode: string, day: number, lean = true) {
|
||||
let time = getTodayZeroPoint() - day * 24 * 60;
|
||||
const reports = await WishPoolReportModel.find({ guildCode, dntTime: {$gte: time}});
|
||||
return reports;
|
||||
}
|
||||
}
|
||||
|
||||
export const WishPoolReportModel = getModelForClass(WishPoolReport);
|
||||
|
||||
export interface WishPoolReportType extends Pick<DocumentType<WishPoolReport>, keyof WishPoolReport>{}
|
||||
Reference in New Issue
Block a user