拍卖行:分红数据的生成和计算
This commit is contained in:
@@ -14,6 +14,7 @@ export const AUCTION_SOURCE = {
|
||||
};
|
||||
|
||||
export const LOT_CODE_LEN = 8;
|
||||
export const DIVIDEND_CODE_LEN = 8;
|
||||
|
||||
// 世界拍卖开始时间需晚于军团拍卖结束时间
|
||||
export const AUCTION_TIME = {
|
||||
@@ -25,4 +26,11 @@ export const AUCTION_TIME = {
|
||||
GUILD_END_MIN: 30, // 军团拍卖结束
|
||||
WORLD_END_HOUR: 10, // 世界拍卖结束
|
||||
WORLD_END_MIN: 0, // 世界拍卖结束
|
||||
}
|
||||
};
|
||||
|
||||
export const DIVIDEND_STATUS = {
|
||||
DEFAULT: 0, // 0:未开始
|
||||
ING: 1, // 1:进行中
|
||||
END: 2, // 2:已结束
|
||||
SENT: 3, // 3:已发放
|
||||
};
|
||||
|
||||
@@ -11,9 +11,11 @@ import { genCode } from '../pubUtils/util';
|
||||
@index({ guildCode: 1 })
|
||||
export default class Dividend extends BaseModel {
|
||||
@prop({ required: true, default: 0 })
|
||||
type: number; // 0:初始值,1:演武;2:蛮夷入侵;3:诸侯混战;4:粮草先行
|
||||
serverId: number; // 区服编号
|
||||
@prop({ required: true, default: '' })
|
||||
guildCode: string; // 军团编号
|
||||
@prop({ required: true, default: 0 })
|
||||
sourceType: number; // 0:初始值,1:演武;2:蛮夷入侵;3:诸侯混战;4:粮草先行
|
||||
@prop({ required: true, default: '' })
|
||||
sourceCode: string; // 来源的唯一标识,如活动编号
|
||||
@prop({ required: true, default: '' })
|
||||
@@ -24,6 +26,10 @@ export default class Dividend extends BaseModel {
|
||||
totalPrice: number; // 分红总金额
|
||||
@prop({ required: true, type: DividendRec, default: [] })
|
||||
dividends: DividendRec[];
|
||||
@prop({ required: true, default: 0 })
|
||||
status: number; // 0:未开始;1:进行中;2:已结束;3:已发放
|
||||
@prop({ required: true })
|
||||
end: Date;
|
||||
|
||||
public static async createDividend(data: DividendParam) {
|
||||
const code = genCode(8);
|
||||
@@ -36,6 +42,11 @@ export default class Dividend extends BaseModel {
|
||||
const result = await DividendModel.findOne({ code }).select('-_id -__v').lean();
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async updateDividend(code: string, update: DividendParam) {
|
||||
const result = await DividendModel.findOneAndUpdate({ code }, { ...update }, { new: true }).select('-_id -__v').lean();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
export const DividendModel = getModelForClass(Dividend);
|
||||
|
||||
@@ -56,8 +56,8 @@ export default class Lot extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async findGuildLotsByTime(guildCode: string, time: Date) {
|
||||
const results = await LotModel.find({ guildCode, createdAt: { $gte: time } }).select('-_id -__v').lean();
|
||||
public static async findGuildLotsByTime(guildCode: string, sourceType: number, time: Date) {
|
||||
const results = await LotModel.find({ guildCode, sourceType, createdAt: { $gte: time } }).select('-_id -__v').lean();
|
||||
return results;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,4 +273,6 @@ export class DividendRec {
|
||||
weekendNum: number; // 额外分红,周末
|
||||
@prop({ required: true, default: 0 })
|
||||
total: number; // 总分红
|
||||
@prop({ required: true, default: 0 })
|
||||
status: number; // 0:未领取,1:已领取
|
||||
}
|
||||
Reference in New Issue
Block a user