'use strict'; module.exports = function (app) { var mdbgoose = app.memdb.goose; // 充值订单 var PayRecordSchema = new mdbgoose.Schema({ _id: { type: String }, // 订单号 playerId: { type: String }, // 玩家ID payplayerId: { type: String, default: '' }, // 支付玩家ID total_fee: { type: Number }, // 总金额 payment: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 支付方式 0为微信 1为支付宝 paystate: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 支付状态 0未支付 1成功 paydiamond: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值钻石 payreward: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励 time: { type: Number, default: Date.now } // 时间戳 }, { collection: 'pay_records' }); mdbgoose.model('PayRecord', PayRecordSchema); var ConfigSchema = new mdbgoose.Schema({ _id: { type: String }, // 订单号 playerId: { type: String }, // 玩家ID payplayerId: { type: String, default: '' }, // 支付玩家ID total_fee: { type: Number }, // 总金额 payment: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 支付方式 0为微信 1为支付宝 paystate: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 支付状态 0未支付 1成功 paydiamond: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值钻石 payreward: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励 time: { type: Number, default: Date.now } // 时间戳 }, { collection: 'config' }); mdbgoose.model('Config', ConfigSchema); //chongzhi var UsdtPayRecordSchema = new mdbgoose.Schema({ _id: { type: String }, // 订单号 chainCode: { type: String, default: '' }, // 玩家ID clientId: { type: String, default: '' }, // 支付玩家ID code: {type: String, default: '' }, // 总金额 amount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 支付方式 0为微信 1为支付宝 hash: { type: String, default: '' }, // 支付状态 0未支付 1成功 status : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, fees: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, feesU: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, sourceAddress: { type: String, default: '' }, // 充值钻石 targetAddress: { type: String, default: '' }, // 充值奖励 risk: { type: Boolean, default: true }, // 充值奖励 timestamp: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励 sign: { type: String, default: '' }, // 充值奖励 time: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 时间戳 beforeusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, afterusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} } }, { collection: 'usdtPayRecord' }); mdbgoose.model('UsdtPayRecord', UsdtPayRecordSchema); var UsdtWithdrawRecordSchema = new mdbgoose.Schema({ _id: { type: String }, // 订单号 chainCode: { type: String, default: '' }, // 玩家ID userId: { type: String, default: '' }, // 支付玩家ID amount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 支付方式 0为微信 1为支付宝 tokenCode: { type: String, default: '' }, // 支付状态 0未支付 1成功 refOrderId: { type: String, default: '' }, // 充值钻石 msg: { type: String, default: '' }, // 充值钻石 targetAddress: { type: String, default: '' }, // 充值奖励 additionalAudit: { type: Boolean, default: true }, // 充值奖励 submifee: { type: Number, default: 3 }, submitTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, callBackTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励 sign: { type: String, default: '' }, // 充值奖励 time: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 时间戳 status: { type: Number, default: 100 }, beforeusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, afterusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, resultbeforeusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, resultafterusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, }, { collection: 'usdtWithdrawRecord' }); mdbgoose.model('UsdtWithdrawRecord', UsdtWithdrawRecordSchema); // 每个玩家每日充值上限,没有设置上限的玩家每日充值上限为quanjutop这条记录里的上限为准 var PayLimitSchema = new mdbgoose.Schema({ _id: { type: String }, // 标识 userId: { type: Number }, // 号码 name: { type: String, default: '' }, // 昵称 paytop: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值上限,-1表示没有设置上限 paytotal: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值总额 dataTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值总额对应的日期时间 registerTime: { type: Number, default: Date.now }, // 记录/更新时间 }, { collection: 'paylimit' }); mdbgoose.model('PayLimit', PayLimitSchema); // 签到相关 var SignInfoSchema = new mdbgoose.Schema({ _id: { type: String }, // 玩家ID keep: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 连续天数 lastTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 最后签到 shareTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} } // 分享时间 }, { collection: 'sign_infos' }); var SignRecordSchema = new mdbgoose.Schema({ _id: { type: String }, // UUID uid: { type: String }, // 玩家ID time: { type: Number, default: Date.now }, // 签到时间 diamond: { type: Number } // 领取钻石 }, { collection: 'sign_records' }); mdbgoose.model('SignInfo', SignInfoSchema); mdbgoose.model('SignRecord', SignRecordSchema); // 红包相关 var RedpackSchema = new mdbgoose.Schema({ _id: { type: String }, // UUID recvd: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 是否已领取 diamond: { type: Number }, // 钻石数量 sid: { type: String }, // 发放玩家 rid: { type: String, default: '' }, // 领取玩家 stime: { type: Number, default: Date.now }, // 发放时间 rtime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 领取时间 }, { collection: 'redpacks' }); mdbgoose.model('RedPack', RedpackSchema); //bug记录 var BugRecordSchema = new mdbgoose.Schema({ _id: { type: String }, // UUID playerId: { type: String }, // 玩家ID bugContent: { type: String }, // bug内容 bugFileName1: { type: String }, // bug图片文件1 bugFileName2: { type: String }, // bug图片文件2 bugFileName3: { type: String }, // bug图片文件3 answerStr: { type: String , default: "感谢您的反馈,我们正在积极处理。"}, // bug图片文件3 bugState: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));}}, // bug状态 registerTime: { type: Number, default: Date.now } // 注册时间 }, { collection: 'bugRecords' }); mdbgoose.model('BugRecords', BugRecordSchema); // 活动推广奖励产生记录 var ActiveRewardRecordSchema = new mdbgoose.Schema({ _id: { type: String }, // UUID rewardtype: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 奖励类型,0红包 totalfee: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 产生金额,红包为分 type:{ type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //活动类型:1国庆签到2国庆邀请 sid: { type: String, default: '' }, // 产生奖励的玩家id sname: { type: String, default: '' }, // 产生奖励的玩家name suid: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 产生奖励的玩家userId rid: { type: String, default: '' }, // 此条奖励的受益玩家userId gameCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏局数 stime: { type: Number, default: Date.now }, // 记录产生时间 succtime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 任务完成时间,任务未完成的时候这里是0 succState: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 任务是否完成的状态,0:未完成1:已达成 }, { collection: 'activerewardrecord' }); mdbgoose.model('ActiveRewardRecord', ActiveRewardRecordSchema); // 活动推广奖励领取记录 var ActiveReceiveRecordSchema = new mdbgoose.Schema({ _id: { type: String }, // UUID rewardtype: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 奖励类型,0红包 type:{ type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //活动类型:1国庆签到2国庆邀请 rid: { type: String, default: '' }, // 此条奖励领取的玩家id ruid: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 此条奖励领取的玩家userId outSwap: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 领取金额 totalFee: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 发放金额 payState: { type: Number, default: 1 }, // 支付状态 1为未支付 2人工支付 3支付成功 registerTime: { type: Number, default: Date.now } // 记录时间 }, { collection: 'activereceiverecord' }); mdbgoose.model('ActiveReceiveRecord', ActiveReceiveRecordSchema); // // 邮件相关 var MailInfoSchema = new mdbgoose.Schema({ _id: { type: String, default: '' }, //没啥用但是没有不行 index: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 邮件下标 tittleT: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 邮件标题类型 0:未定义 1:普通通知 2:有奖励通知 3:补偿通知 4:版本更新通知 descT: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 邮件内容类型 0:未定义 1:普通通知 2:有奖励通知 3:补偿通知 4:版本更新通知 reward: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 有无奖励 0:无奖励 1:有奖励 rewardT: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 奖励类型 0:未定义 1:钻石, rewardC: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 奖励数量 receive: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 是否领取 0:未领取 1:已领取 read: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 是否已读 0:未读 1:已读 form: { type: String, default: '' }, // 邮件来源 sendTime: { type: Number, default: Date.now } // 发送日期 }); var MailsSchema = new mdbgoose.Schema({ _id: { type: String, default: '' }, // 用户id(player表的主键) userId: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 用户的userId mailInfos: [MailInfoSchema]// 该活动的达成条件和奖励信息列表 }, { collection: 'mails' }); mdbgoose.model('Mails', MailsSchema); //// 比赛的开始和结束时间 var RaceTimeInfosSchema = new mdbgoose.Schema({ _id: { type: String }, // UUID 标识 aid: { type: String }, // 比赛代理的标识 agentNo: { type: Number }, // 比赛代理编号 stime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的开始时间 etime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的结束时间 bigRound: { type: Number, default: 3 },// 该次比赛的大局数量,统计战绩时使用 gameId: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的游戏id 10006为长沙麻将,10007为红中麻将,10008为跑得快 round: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的游戏局数 playerCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的游戏人数 other: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的游戏规则 outTime:{ type: Number, default: 1 }, // 过期时间(须大于结束时间40分钟之后) yljList: {type: [Number],set: function(arr) {if (!Array.isArray(arr)) return arr;return arr.map(num => {return Number(Number(num).toFixed(2));});},get: function(arr) {if (!Array.isArray(arr)) return arr;return arr.map(num => {return Number(Number(num).toFixed(2));});}}, // 该次比赛已领奖人员id数组 staticFlag: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },//是否统计过战绩,用于java定时器 registerTime: { type: Number, default: Date.now } // 记录时间 }, { collection: 'racetimeinfo' }); mdbgoose.model('RaceTimeInfos', RaceTimeInfosSchema); var JinSaiInfoSchema = new mdbgoose.Schema({ _id: { type: String, default: '' }, // 用户id(player表的主键) userId: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 用户的userId }, { collection: 'jinsaiinfo' }); mdbgoose.model('JinSaiInfo', JinSaiInfoSchema); };