task-svr/src/models/stake/CecStakeReward.ts
2025-01-15 14:42:03 +08:00

59 lines
1.2 KiB
TypeScript

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'] })