import BaseModel from './BaseModel'; import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoose'; export class RefundRec { @prop({ required: true }) roleId: string; @prop({ required: true }) itemId: number; @prop({ required: true }) diff: number; } /** * 活动系统 - 团购玩家记录 */ @index({ activityId: 1 }) export default class Activity_Group_Shop_Refund extends BaseModel { @prop({ required: true }) activityId: number; // 活动Id @prop({ required: true, type: RefundRec, _id: false }) refundRec: RefundRec[]; // 是否退好费了 public static async check(activityId: number) { return await ActivityGroupShopRefundModel.exists({ activityId }); } public static async refund(activityId: number, refundRec: RefundRec[]) { let result: ActivityGroupShopRefundRecType = await ActivityGroupShopRefundModel.findOneAndUpdate({ activityId }, { $set: { refundRec } }, { upsert: true, new: true }).lean(); return result; } } export const ActivityGroupShopRefundModel = getModelForClass(Activity_Group_Shop_Refund); export interface ActivityGroupShopRefundRecType extends Pick, keyof Activity_Group_Shop_Refund> { } export type ActivityGroupShopRefundRecTypeParam = Partial; // 将所有字段变成可选项