import { dbconn } from 'decorators/dbconn' import { getModelForClass, index, modelOptions, prop } from '@typegoose/typegoose' import { BaseModule } from '../Base' export enum ClaimStatusEnum { NORMAL = 1, CLAIMED = 2, } /** * 2025/01/25 CEC质押活动 * bit: 27 */ @dbconn() @index({ address: 1, stakeTime: 1 }, { unique: false }) @modelOptions({ schemaOptions: { collection: 'cec_stake_reward', timestamps: true }, }) export class CecStakeRewardClass extends BaseModule { @prop() public address: string @prop() public stakeAmount: string @prop() public stakeNum: number @prop() public stakeTime: number @prop() public amount: string // 用于显示 @prop() public num: number @prop() public apy: number @prop({ enum: ClaimStatusEnum, default: ClaimStatusEnum.NORMAL }) public status: ClaimStatusEnum @prop() public desc: string public toJson() { return { address: this.address, amount: this.amount.toString(), num: this.num, desc: this.desc, apy: this.apy, status: this.status, stakeAmount: this.stakeAmount, stakeTime: this.stakeTime, } } } export const CecStakeReward = getModelForClass(CecStakeRewardClass, { existingConnection: CecStakeRewardClass['db'] })