拍卖行:接口定义
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
import { Application, BackendSession, ChannelService } from "pinus";
|
||||||
|
|
||||||
|
export default function (app: Application) {
|
||||||
|
return new AuctionHandler(app);
|
||||||
|
}
|
||||||
|
|
||||||
|
export class AuctionHandler {
|
||||||
|
channelService: ChannelService;
|
||||||
|
constructor(private app: Application) {
|
||||||
|
this.channelService = app.get('channelService');
|
||||||
|
}
|
||||||
|
|
||||||
|
async getAuction(msg: {}, session: BackendSession) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async offer(msg: { max: boolean }, session: BackendSession) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async checkDividend(msg: {}, session: BackendSession) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async getDividend(msg: {}, session: BackendSession) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async myOffers(msg: { count: number }, session: BackendSession) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
import { ItemReward } from "../domain/dbGeneral";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 生成拍卖数据
|
||||||
|
* @export
|
||||||
|
* @param {string} guildCode
|
||||||
|
* @param {number} sourceType
|
||||||
|
* @param {string} sourceCode
|
||||||
|
* @param {number} serverId
|
||||||
|
* @param {ItemReward[]} rewards
|
||||||
|
*/
|
||||||
|
export async function genAuction(guildCode: string, sourceType: number, sourceCode: string, serverId: number, rewards: ItemReward[]) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 获取活动参加者
|
||||||
|
* @export
|
||||||
|
* @param {string} guildCode
|
||||||
|
* @param {number} sourceType
|
||||||
|
* @param {string} sourceCode
|
||||||
|
*/
|
||||||
|
export async function participants(guildCode: string, sourceType: number, sourceCode: string) {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
import { LotRec, DividendRec } from './../domain/dbGeneral';
|
||||||
|
import BaseModel from './BaseModel';
|
||||||
|
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分红记录表
|
||||||
|
**/
|
||||||
|
@modelOptions({ schemaOptions: { id: false } })
|
||||||
|
@index({ code: 1 })
|
||||||
|
@index({ guildCode: 1 })
|
||||||
|
export default class Dividend extends BaseModel {
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
type: number; // 0:初始值,1:演武;2:蛮夷入侵;3:诸侯混战;4:粮草先行
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
guildCode: string; // 军团编号
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
sourceCode: string; // 来源的唯一标识,如活动编号
|
||||||
|
@prop({ required: true, type: LotRec, default: [] })
|
||||||
|
lots: LotRec[];
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
totalPrice: number; // 分红总金额
|
||||||
|
@prop({ required: true, type: DividendRec, default: [] })
|
||||||
|
dividends: DividendRec[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export const DividendModel = getModelForClass(Dividend);
|
||||||
|
|
||||||
|
export interface DividendType extends Pick<DocumentType<Dividend>, keyof Dividend>{}
|
||||||
|
export type DividendParam = Partial<DividendType>;
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
import { BidRec } from './../domain/dbGeneral';
|
||||||
|
import BaseModel from './BaseModel';
|
||||||
|
import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 竞拍物品表
|
||||||
|
**/
|
||||||
|
@modelOptions({ schemaOptions: { id: false } })
|
||||||
|
@index({ code: 1 })
|
||||||
|
@index({ guildCode: 1 })
|
||||||
|
export default class Lot extends BaseModel {
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
auctionStage: number; // 0:初始添加,1:军团拍卖,2:世界拍卖,3:拍卖结束
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
type: number; // 0:初始值,1:演武;2:蛮夷入侵;3:诸侯混战;4:粮草先行
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
sourceCode: string; // 来源的唯一标识,如活动编号
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
serverId: number; // 区服编号
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
guildCode: string; // 军团编号
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
code: string; // 竞拍物品唯一标识
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
gid: number; // 物品 id
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
curPrice: number; // 当前出价
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
curBuyer: string; // 当前出价最高者 RoleId
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
maxPrice: number; // 一口价,最高价格
|
||||||
|
@prop({ required: true, type: BidRec, default: [] })
|
||||||
|
bidRoles: BidRec[];
|
||||||
|
@prop({ required: true })
|
||||||
|
begin: Date; // 竞拍开始时间
|
||||||
|
@prop({ required: true })
|
||||||
|
end: Date; // 竞拍结束时间
|
||||||
|
}
|
||||||
|
|
||||||
|
export const LotModel = getModelForClass(Lot);
|
||||||
|
|
||||||
|
export interface LotType extends Pick<DocumentType<Lot>, keyof Lot>{}
|
||||||
|
export type LotParam = Partial<LotType>;
|
||||||
@@ -228,3 +228,49 @@ export class Figure {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 出价记录
|
||||||
|
* @export
|
||||||
|
* @class BidRec
|
||||||
|
*/
|
||||||
|
export class BidRec {
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
roleId: string; // 出价玩家
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
price: number; // 出价金额
|
||||||
|
@prop({ required: true })
|
||||||
|
time: Date; // 出价时间
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 拍品记录
|
||||||
|
* @export
|
||||||
|
* @class LotRec
|
||||||
|
*/
|
||||||
|
export class LotRec {
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
code: string; // 竞拍物品唯一标识
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
gid: number; // 物品 id
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
price: number; // 物品成交价
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 分红记录
|
||||||
|
* @export
|
||||||
|
* @class DividendRec
|
||||||
|
*/
|
||||||
|
export class DividendRec {
|
||||||
|
@prop({ required: true, default: '' })
|
||||||
|
roleId: string;
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
baseNum: number; // 基础分红
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
posNum: number; // 职位分红
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
weekendNum: number; // 额外分红,周末
|
||||||
|
@prop({ required: true, default: 0 })
|
||||||
|
total: number; // 总分红
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user