拍卖行:领取奖励、查看关注、查看出价的接口实现和测试用例
This commit is contained in:
+18
-2
@@ -2,6 +2,7 @@ import { LotRec, DividendRec } from './../domain/dbGeneral';
|
||||
import BaseModel from './BaseModel';
|
||||
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
|
||||
import { genCode } from '../pubUtils/util';
|
||||
import { DIVIDEND_STATUS, ROLE_RECEIVE_STATUS } from '../consts';
|
||||
|
||||
/**
|
||||
* 分红记录表
|
||||
@@ -22,11 +23,11 @@ export default class Dividend extends BaseModel {
|
||||
sourceCode: string; // 来源的唯一标识,如活动编号
|
||||
@prop({ required: true, default: '' })
|
||||
code: string; // 分红记录唯一标识
|
||||
@prop({ required: true, type: LotRec, default: [] })
|
||||
@prop({ required: true, type: LotRec, default: [], _id: false })
|
||||
lots: LotRec[];
|
||||
@prop({ required: true, default: 0 })
|
||||
totalPrice: number; // 分红总金额
|
||||
@prop({ required: true, type: DividendRec, default: [] })
|
||||
@prop({ required: true, type: DividendRec, default: [], _id: false })
|
||||
dividends: DividendRec[];
|
||||
@prop({ required: true, default: 0 })
|
||||
status: number; // 0:未开始;1:进行中;2:已结束;3:已发放
|
||||
@@ -64,6 +65,21 @@ export default class Dividend extends BaseModel {
|
||||
const result = await DividendModel.findOneAndUpdate({ 'lots.code': lotCode }, { 'lots.$.gid': gid, 'lots.$.price': price, $inc: { totalPrice: incPrice} }, { new: true }).select('-_id -__v').lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async findReadyDividend(guildCode: string, sourceType: number) {
|
||||
const result: DividendType = await DividendModel.findOne({ guildCode, sourceType, status: DIVIDEND_STATUS.END }).select('-_id -__v').lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateReceiveStatus(code: string, roleId: string) {
|
||||
const result: DividendType = await DividendModel.findOneAndUpdate({ code, status: DIVIDEND_STATUS.END, 'lots.roleId': roleId }, { 'lots.status': ROLE_RECEIVE_STATUS.YES }, { new: true }).select('-_id -__v').lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateDividendReady(guildCode: string, sourceType: number) {
|
||||
const result: DividendType = await DividendModel.findOneAndUpdate({ guildCode, sourceType }, { status: DIVIDEND_STATUS.END }, { new: true }).select('-_id -__v').lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const DividendModel = getModelForClass(Dividend);
|
||||
|
||||
Reference in New Issue
Block a user