|
@@ -2,250 +2,251 @@
|
|
|
|
|
|
|
|
module.exports = function (app) {
|
|
module.exports = function (app) {
|
|
|
var mdbgoose = app.memdb.goose;
|
|
var mdbgoose = app.memdb.goose;
|
|
|
- var Types = mdbgoose.Schema.Types;
|
|
|
|
|
-
|
|
|
|
|
- // // ts++房间创建记录
|
|
|
|
|
- // var CTableRecordSchema = new mdbgoose.Schema({
|
|
|
|
|
- // _id: { type: String }, // 房间标识
|
|
|
|
|
- // playerId: { type: String, default: '' }, // 玩家标识
|
|
|
|
|
- // registerTime: { type: Number, default: Date.now } // 记录时间
|
|
|
|
|
- // }, { collection: 'ctableRecord' });
|
|
|
|
|
-
|
|
|
|
|
- // mdbgoose.model('CTableRecord', CTableRecordSchema);
|
|
|
|
|
-
|
|
|
|
|
- // 玩家战绩
|
|
|
|
|
- var UserSchema = new mdbgoose.Schema({
|
|
|
|
|
- _id: { type: String }, // 玩家标识
|
|
|
|
|
- chairId: { type: Number, default: 0}, // 椅子号
|
|
|
|
|
- userId: { type: Number, default: 0}, // 玩家号码
|
|
|
|
|
- name: { type: String, default: ''}, // 昵称
|
|
|
|
|
- sex: { type: String, default: ''}, // 性别
|
|
|
|
|
- headurl: { type: String, default: ''}, // 头像
|
|
|
|
|
- over: { type: Number, default: 0}, // 游戏局数
|
|
|
|
|
- score: { type: Number, default: 0} // 分数
|
|
|
|
|
- //gameCost: { type: Number, default: 0 }, // 游戏消耗
|
|
|
|
|
- //giftCost: { type: Number, default: 0 }, // 礼物消耗
|
|
|
|
|
- //diamond: { type: Number, default: 0 } // 最新钻石
|
|
|
|
|
- //extend: { type: Types.Mixed, default: {} } // 扩展
|
|
|
|
|
- });
|
|
|
|
|
- // 实时战绩
|
|
|
|
|
- var SSZJSchema = new mdbgoose.Schema({
|
|
|
|
|
- _id: { type: String }, // 子局数
|
|
|
|
|
- sszjScore: [String], // 本局成绩
|
|
|
|
|
- sszjAllScore: [String], // 总成绩
|
|
|
|
|
- banker: { type: Number, default: -1 }, // 庄家
|
|
|
|
|
- hu: { type: Number, default: -1 }, // 胡
|
|
|
|
|
- pao: { type: Number, default: -1 } // 放炮
|
|
|
|
|
- //fName: { type: String, default: '' } // 实时战绩文件
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- // 奉化麻将(10007)
|
|
|
|
|
- var FHMJTablesSchema = new mdbgoose.Schema({
|
|
|
|
|
- _id: { type: String }, // ts++标识
|
|
|
|
|
- gameId: { type: Number , default: 0 }, // 游戏id,10006为长沙麻将,10007为红中麻将,10008为跑得快
|
|
|
|
|
- tableNo: { type: String , default: ''}, // ts++房间号
|
|
|
|
|
- ownerId: { type: String, default: '' }, // 房主标识
|
|
|
|
|
- agentId: { type: String, default: '' }, // 代理ID
|
|
|
|
|
- type: { type: Number , default: 0 }, // 类型
|
|
|
|
|
- kind: { type: Number, default: 0 }, // 玩法
|
|
|
|
|
- other: { type: Number, default: 0 }, // 其他玩法
|
|
|
|
|
- playerCount: { type: Number, default: 0 }, // 游戏人数
|
|
|
|
|
- round: { type: Number, default: 0 }, // 总局数
|
|
|
|
|
- over: { type: Number , default: 0 }, // 游戏局数
|
|
|
|
|
- ctime: { type: Number, default: 0 }, // 创建时间
|
|
|
|
|
- stime: { type: Number , default: 0 }, // 开始时间
|
|
|
|
|
- time: { type: Number, default: 0 }, // 结束时间
|
|
|
|
|
- endMode: { type: Number, default: 0 }, // 结束模式
|
|
|
|
|
- gameCost: { type: Number, default: 0 }, // 游戏消耗
|
|
|
|
|
- giftCost: { type: Number, default: 0 }, // 礼物消耗
|
|
|
|
|
- agentRebate: { type: Number, default: 0 }, // 代理返利
|
|
|
|
|
- sszjFile: [String], // 实时战绩文件
|
|
|
|
|
- sszj: [SSZJSchema], // 实时战绩
|
|
|
|
|
- users: [UserSchema] // 玩家
|
|
|
|
|
- }, { collection: 'fhmjtables' });
|
|
|
|
|
-
|
|
|
|
|
- mdbgoose.model('FHMJTables', FHMJTablesSchema);
|
|
|
|
|
-
|
|
|
|
|
- //ts++ 游戏记录 仅在创建房间时候添加,仅用于判断近期内某个玩家是否创建过多的房间
|
|
|
|
|
- var GameTableSchema = new mdbgoose.Schema({
|
|
|
|
|
- _id: { type: String }, // ts++标识
|
|
|
|
|
- tableNo: { type: String , default: ''}, // ts++房间号
|
|
|
|
|
- ownerId: { type: String, default: '' }, // 房主标识
|
|
|
|
|
- agentId: { type: String, default: '' }, // 代理ID
|
|
|
|
|
- type: { type: Number , default: 0 }, // 类型
|
|
|
|
|
- kind: { type: Number, default: 0 }, // 玩法
|
|
|
|
|
- other: { type: Number, default: 0 }, // 其他玩法
|
|
|
|
|
- playerCount: { type: Number, default: 0 }, // 游戏人数
|
|
|
|
|
- round: { type: Number, default: 0 }, // 总局数
|
|
|
|
|
- over: { type: Number , default: 0 }, // 游戏局数
|
|
|
|
|
- ctime: { type: Number, default: 0 }, // 创建时间
|
|
|
|
|
- // stime: { type: Number , default: 0 }, // 开始时间
|
|
|
|
|
- // time: { type: Number, default: 0 }, // 结束时间
|
|
|
|
|
- endMode: { type: Number, default: 0 }, // 结束模式
|
|
|
|
|
- // gameCost: { type: Number, default: 0 }, // 游戏消耗
|
|
|
|
|
- // agentRebate: { type: Number, default: 0 }, // 代理返利
|
|
|
|
|
- }, { collection: 'gametable' });
|
|
|
|
|
-
|
|
|
|
|
- mdbgoose.model('GameTable', GameTableSchema);
|
|
|
|
|
-
|
|
|
|
|
- var SXGamerSchema = new mdbgoose.Schema({
|
|
|
|
|
|
|
+ var Types = mdbgoose.Schema.Types;
|
|
|
|
|
+
|
|
|
|
|
+ // // ts++房间创建记录
|
|
|
|
|
+ // var CTableRecordSchema = new mdbgoose.Schema({
|
|
|
|
|
+ // _id: { type: String }, // 房间标识
|
|
|
|
|
+ // playerId: { type: String, default: '' }, // 玩家标识
|
|
|
|
|
+ // registerTime: { type: Number, default: Date.now } // 记录时间
|
|
|
|
|
+ // }, { collection: 'ctableRecord' });
|
|
|
|
|
+
|
|
|
|
|
+ // mdbgoose.model('CTableRecord', CTableRecordSchema);
|
|
|
|
|
+
|
|
|
|
|
+ // 玩家战绩
|
|
|
|
|
+ var UserSchema = new mdbgoose.Schema({
|
|
|
|
|
+ _id: { type: String }, // 玩家标识
|
|
|
|
|
+ chairId: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));}}, // 椅子号
|
|
|
|
|
+ userId: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));}}, // 玩家号码
|
|
|
|
|
+ name: { type: String, default: ''}, // 昵称
|
|
|
|
|
+ sex: { type: String, default: ''}, // 性别
|
|
|
|
|
+ headurl: { type: String, default: ''}, // 头像
|
|
|
|
|
+ over: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));}}, // 游戏局数
|
|
|
|
|
+ score: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));}} // 分数
|
|
|
|
|
+ //gameCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏消耗
|
|
|
|
|
+ //giftCost: { 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, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} } // 最新钻石
|
|
|
|
|
+ //extend: { type: Types.Mixed, default: {} } // 扩展
|
|
|
|
|
+ });
|
|
|
|
|
+ // 实时战绩
|
|
|
|
|
+ var SSZJSchema = new mdbgoose.Schema({
|
|
|
|
|
+ _id: { type: String }, // 子局数
|
|
|
|
|
+ sszjScore: [String], // 本局成绩
|
|
|
|
|
+ sszjAllScore: [String], // 总成绩
|
|
|
|
|
+ banker: { type: Number, default: -1 }, // 庄家
|
|
|
|
|
+ hu: { type: Number, default: -1 }, // 胡
|
|
|
|
|
+ pao: { type: Number, default: -1 } // 放炮
|
|
|
|
|
+ //fName: { type: String, default: '' } // 实时战绩文件
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ // 奉化麻将(10007)
|
|
|
|
|
+ var FHMJTablesSchema = new mdbgoose.Schema({
|
|
|
|
|
+ _id: { type: String }, // ts++标识
|
|
|
|
|
+ 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为跑得快
|
|
|
|
|
+ tableNo: { type: String , default: ''}, // ts++房间号
|
|
|
|
|
+ ownerId: { type: String, default: '' }, // 房主标识
|
|
|
|
|
+ agentId: { type: String, default: '' }, // 代理ID
|
|
|
|
|
+ type: { type: Number , default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 类型
|
|
|
|
|
+ kind: { 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));} }, // 其他玩法
|
|
|
|
|
+ playerCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏人数
|
|
|
|
|
+ round: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 总局数
|
|
|
|
|
+ over: { type: Number , default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏局数
|
|
|
|
|
+ ctime: { 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: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 开始时间
|
|
|
|
|
+ time: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 结束时间
|
|
|
|
|
+ endMode: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 结束模式
|
|
|
|
|
+ gameCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏消耗
|
|
|
|
|
+ giftCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 礼物消耗
|
|
|
|
|
+ agentRebate: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 代理返利
|
|
|
|
|
+ sszjFile: [String], // 实时战绩文件
|
|
|
|
|
+ sszj: [SSZJSchema], // 实时战绩
|
|
|
|
|
+ users: [UserSchema] // 玩家
|
|
|
|
|
+ }, { collection: 'fhmjtables' });
|
|
|
|
|
+
|
|
|
|
|
+ mdbgoose.model('FHMJTables', FHMJTablesSchema);
|
|
|
|
|
+
|
|
|
|
|
+ //ts++ 游戏记录 仅在创建房间时候添加,仅用于判断近期内某个玩家是否创建过多的房间
|
|
|
|
|
+ var GameTableSchema = new mdbgoose.Schema({
|
|
|
|
|
+ _id: { type: String }, // ts++标识
|
|
|
|
|
+ tableNo: { type: String , default: ''}, // ts++房间号
|
|
|
|
|
+ ownerId: { type: String, default: '' }, // 房主标识
|
|
|
|
|
+ agentId: { type: String, default: '' }, // 代理ID
|
|
|
|
|
+ type: { type: Number , default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 类型
|
|
|
|
|
+ kind: { 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));} }, // 其他玩法
|
|
|
|
|
+ playerCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏人数
|
|
|
|
|
+ round: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 总局数
|
|
|
|
|
+ over: { type: Number , default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏局数
|
|
|
|
|
+ ctime: { 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: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 开始时间
|
|
|
|
|
+ // time: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 结束时间
|
|
|
|
|
+ endMode: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 结束模式
|
|
|
|
|
+ // gameCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏消耗
|
|
|
|
|
+ // agentRebate: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 代理返利
|
|
|
|
|
+ }, { collection: 'gametable' });
|
|
|
|
|
+
|
|
|
|
|
+ mdbgoose.model('GameTable', GameTableSchema);
|
|
|
|
|
+
|
|
|
|
|
+ var SXGamerSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String }, // 玩家ID+时期[20190707]
|
|
_id: { type: String }, // 玩家ID+时期[20190707]
|
|
|
playerId: { type: String, default: '' }, // 玩家标识
|
|
playerId: { type: String, default: '' }, // 玩家标识
|
|
|
gameDate: { type: String, default: '' }, // 日期
|
|
gameDate: { type: String, default: '' }, // 日期
|
|
|
- ttCount: { type: Number, default: 0 }, // 总场数
|
|
|
|
|
- noCount: { type: Number, default: 0 }, // 平局数
|
|
|
|
|
- winCount: { type: Number, default: 0 }, // 胜场数
|
|
|
|
|
- runCount: { type: Number, default: 0 }, // 逃跑数
|
|
|
|
|
- history: [String] // 历史记录
|
|
|
|
|
- //pjhffileName: [String] //ts-- 牌局回放记录的文件名
|
|
|
|
|
|
|
+ ttCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 总场数
|
|
|
|
|
+ noCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 平局数
|
|
|
|
|
+ winCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 胜场数
|
|
|
|
|
+ runCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 逃跑数
|
|
|
|
|
+ history: [String] // 历史记录
|
|
|
|
|
+ //pjhffileName: [String] //ts-- 牌局回放记录的文件名
|
|
|
}, { collection: 'sxgamer' });
|
|
}, { collection: 'sxgamer' });
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
mdbgoose.model('SXGamer', SXGamerSchema);
|
|
mdbgoose.model('SXGamer', SXGamerSchema);
|
|
|
|
|
|
|
|
- // 全局记录
|
|
|
|
|
- var RecordSchema = new mdbgoose.Schema({
|
|
|
|
|
|
|
+ // 全局记录
|
|
|
|
|
+ var RecordSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String }, // UUID
|
|
_id: { type: String }, // UUID
|
|
|
- gameId: { type: Number }, // 游戏ID
|
|
|
|
|
- tableId: { type: String }, // 房间号
|
|
|
|
|
- type: { type: Number }, // 类型
|
|
|
|
|
- round: { type: Number }, // 局数
|
|
|
|
|
- ctime: { type: Number }, // 创建时间
|
|
|
|
|
- stime: { type: Number }, // 开始时间
|
|
|
|
|
- time: { type: Number }, // 记录时间
|
|
|
|
|
- users: [UserSchema] // 玩家
|
|
|
|
|
|
|
+ gameId: { type: Number }, // 游戏ID
|
|
|
|
|
+ tableId: { type: String }, // 房间号
|
|
|
|
|
+ type: { type: Number }, // 类型
|
|
|
|
|
+ round: { type: Number }, // 局数
|
|
|
|
|
+ ctime: { type: Number }, // 创建时间
|
|
|
|
|
+ stime: { type: Number }, // 开始时间
|
|
|
|
|
+ time: { type: Number }, // 记录时间
|
|
|
|
|
+ users: [UserSchema] // 玩家
|
|
|
}, { collection: 'records' });
|
|
}, { collection: 'records' });
|
|
|
|
|
|
|
|
- mdbgoose.model('Record', RecordSchema);
|
|
|
|
|
|
|
+ mdbgoose.model('Record', RecordSchema);
|
|
|
|
|
|
|
|
- ////下面是水果机相关的数据
|
|
|
|
|
- // 水果机奖池
|
|
|
|
|
|
|
+ ////下面是水果机相关的数据
|
|
|
|
|
+ // 水果机奖池
|
|
|
var SGJJCchema = new mdbgoose.Schema({
|
|
var SGJJCchema = new mdbgoose.Schema({
|
|
|
_id: { type: String, default: ''}, // 主键
|
|
_id: { type: String, default: ''}, // 主键
|
|
|
- pools: [Number], // 奖池列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- cspools: [Number], // 初始奖池列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- levels: [Number], // 挡位数组(单位:钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- kouchus: [Number], // 扣除列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- topLimits1: [Number], // 各个挡位对应的上限1调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- topLimits2: [Number], // 各个挡位对应的上限2调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- topLimits3: [Number], // 各个挡位对应的上限3调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- lowLimits1: [Number], // 各个挡位对应的下限1调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- lowLimits2: [Number], // 各个挡位对应的下限2调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- lowLimits3: [Number], // 各个挡位对应的下限3调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- paiTopRate1: [Number], // 各个挡位对应的牌上限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- paiTopRate2: [Number], // 各个挡位对应的牌上限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- paiTopRate3: [Number], // 各个挡位对应的牌上限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- paiLowRate1: [Number], // 各个挡位对应的牌下限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- paiLowRate2: [Number], // 各个挡位对应的牌下限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- paiLowRate3: [Number], // 各个挡位对应的牌下限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- bsTopRate1: [Number], // 各个挡位对应的倍数上限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- bsTopRate2: [Number], // 各个挡位对应的倍数上限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- bsTopRate3: [Number], // 各个挡位对应的倍数上限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- bsLowRate1: [Number], // 各个挡位对应的倍数下限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- bsLowRate2: [Number], // 各个挡位对应的倍数下限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- bsLowRate3: [Number], // 各个挡位对应的倍数下限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxpools: [Number], // 押大小奖池列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxcspools: [Number], // 押大小初始奖池列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxlevels: [Number], // 押大小挡位数组(单位:钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxkouchus: [Number], // 押大小扣除列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxtopLimits1: [Number], // 押大小各个挡位对应的上限1调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxtopLimits2: [Number], // 押大小各个挡位对应的上限2调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxtopLimits3: [Number], // 押大小各个挡位对应的上限3调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxlowLimits1: [Number], // 押大小各个挡位对应的下限1调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxlowLimits2: [Number], // 押大小各个挡位对应的下限2调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxlowLimits3: [Number], // 押大小各个挡位对应的下限3调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxTopRate1: [Number], // 押大小各个挡位对应的牌上限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxTopRate2: [Number], // 押大小各个挡位对应的牌上限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxTopRate3: [Number], // 押大小各个挡位对应的牌上限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxLowRate1: [Number], // 押大小各个挡位对应的牌下限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxLowRate2: [Number], // 押大小各个挡位对应的牌下限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
- ydxLowRate3: [Number], // 押大小各个挡位对应的牌下限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
|
|
+ pools: {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));});}}, // 奖池列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ cspools: {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));});}}, // 初始奖池列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ levels: {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));});}}, // 挡位数组(单位:钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ kouchus: {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));});}}, // 扣除列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ topLimits1: {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));});}}, // 各个挡位对应的上限1调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ topLimits2: {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));});}}, // 各个挡位对应的上限2调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ topLimits3: {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));});}}, // 各个挡位对应的上限3调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ lowLimits1: {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));});}}, // 各个挡位对应的下限1调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ lowLimits2: {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));});}}, // 各个挡位对应的下限2调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ lowLimits3: {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));});}}, // 各个挡位对应的下限3调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ paiTopRate1: {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));});}}, // 各个挡位对应的牌上限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ paiTopRate2: {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));});}}, // 各个挡位对应的牌上限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ paiTopRate3: {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));});}}, // 各个挡位对应的牌上限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ paiLowRate1: {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));});}}, // 各个挡位对应的牌下限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ paiLowRate2: {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));});}}, // 各个挡位对应的牌下限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ paiLowRate3: {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));});}}, // 各个挡位对应的牌下限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ bsTopRate1: {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));});}}, // 各个挡位对应的倍数上限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ bsTopRate2: {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));});}}, // 各个挡位对应的倍数上限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ bsTopRate3: {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));});}}, // 各个挡位对应的倍数上限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ bsLowRate1: {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));});}}, // 各个挡位对应的倍数下限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ bsLowRate2: {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));});}}, // 各个挡位对应的倍数下限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ bsLowRate3: {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));});}}, // 各个挡位对应的倍数下限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxpools: {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));});}}, // 押大小奖池列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxcspools: {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));});}}, // 押大小初始奖池列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxlevels: {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));});}}, // 押大小挡位数组(单位:钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxkouchus: {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));});}}, // 押大小扣除列表(单位:1/100钻石)(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxtopLimits1: {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));});}}, // 押大小各个挡位对应的上限1调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxtopLimits2: {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));});}}, // 押大小各个挡位对应的上限2调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxtopLimits3: {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));});}}, // 押大小各个挡位对应的上限3调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxlowLimits1: {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));});}}, // 押大小各个挡位对应的下限1调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxlowLimits2: {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));});}}, // 押大小各个挡位对应的下限2调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxlowLimits3: {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));});}}, // 押大小各个挡位对应的下限3调控数值(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxTopRate1: {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));});}}, // 押大小各个挡位对应的牌上限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxTopRate2: {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));});}}, // 押大小各个挡位对应的牌上限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxTopRate3: {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));});}}, // 押大小各个挡位对应的牌上限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxLowRate1: {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));});}}, // 押大小各个挡位对应的牌下限1调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxLowRate2: {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));});}}, // 押大小各个挡位对应的牌下限2调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
|
|
+ ydxLowRate3: {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));});}}, // 押大小各个挡位对应的牌下限3调控比例(奖池分为几个等级,数组就有几个元素)
|
|
|
}, { collection: 'sgjjc' });
|
|
}, { collection: 'sgjjc' });
|
|
|
|
|
|
|
|
mdbgoose.model('SGJJC', SGJJCchema);
|
|
mdbgoose.model('SGJJC', SGJJCchema);
|
|
|
|
|
|
|
|
- // 划分战绩
|
|
|
|
|
- var HUAFENchema = new mdbgoose.Schema({
|
|
|
|
|
- yddx: { type: Number, default: 0 }, // 本次划分玩家押的大小,1代表押小 = 2代表押大
|
|
|
|
|
- hfxz: { type: Number, default: 0 }, // 本次划分的下注
|
|
|
|
|
- hfjg: { type: Number, default: 0 }, // 本次划分的发牌结果:区间[1,12]
|
|
|
|
|
- bcyd: { type: Number, default: 0 }, // 本次划分赢的
|
|
|
|
|
- ksfs: { type: Number, default: 0 }, // 本次划分开始时的钻石(下注之前的)
|
|
|
|
|
- jsfs: { type: Number, default: 0 }, // 本次划分结束时的钻石(jsfs = ksfs-hfxz+bcyd)
|
|
|
|
|
- time: { type: Number, default: 0 }, // 本条划分记录时间
|
|
|
|
|
- });
|
|
|
|
|
- // 水果机战绩
|
|
|
|
|
- var SGJTablesSchema = new mdbgoose.Schema({
|
|
|
|
|
- _id: { type: String }, // ts++标识
|
|
|
|
|
- tableNo: { type: String , default: ''}, // ts++房间号
|
|
|
|
|
- ownerId: { type: String, default: '' }, // 玩家标识
|
|
|
|
|
- agentId: { type: String, default: '' }, // 代理ID
|
|
|
|
|
- over: { type: Number , default: 0 }, // 游戏局数
|
|
|
|
|
- time: { type: Number, default: 0 }, // 结束时间
|
|
|
|
|
- gameCost: { type: Number, default: 0 }, // 游戏消耗(本局下注总额)
|
|
|
|
|
- giftCost: { type: Number, default: 0 }, // 礼物消耗
|
|
|
|
|
- agentRebate: { type: Number, default: 0 }, // 代理返利
|
|
|
|
|
- yazhuList: [Number], // 本局押注列表
|
|
|
|
|
- resultList: [Number], // 本局结果列表
|
|
|
|
|
- winsList: [Number], // 本局结果赢的列表
|
|
|
|
|
- win: { type: Number, default: 0 }, // 本局结果赢得分数(不包含下注的即winsList元素总和)
|
|
|
|
|
- bsIndex: { type: Number, default: 0 }, //本次发牌对应的倍数下标["10/20","15/30","20/40"];
|
|
|
|
|
- huafenList: [HUAFENchema], // 本局划分数据列表
|
|
|
|
|
- scoreBefore: { type: Number, default: 0 }, // 本局开始前的分数(钻石)
|
|
|
|
|
- scoreEnd: { type: Number, default: 0 }, // 本局结束后的分数(=scoreBefore-押注总额+win)
|
|
|
|
|
-
|
|
|
|
|
- }, { collection: 'sgjtables' });
|
|
|
|
|
-
|
|
|
|
|
- mdbgoose.model('SGJTables', SGJTablesSchema);
|
|
|
|
|
-
|
|
|
|
|
- var SGJUserTongjiSchema = new mdbgoose.Schema({
|
|
|
|
|
|
|
+ // 划分战绩
|
|
|
|
|
+ var HUAFENchema = new mdbgoose.Schema({
|
|
|
|
|
+ yddx: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本次划分玩家押的大小,1代表押小 = 2代表押大
|
|
|
|
|
+ hfxz: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本次划分的下注
|
|
|
|
|
+ hfjg: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本次划分的发牌结果:区间[1,12]
|
|
|
|
|
+ bcyd: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本次划分赢的
|
|
|
|
|
+ ksfs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本次划分开始时的钻石(下注之前的)
|
|
|
|
|
+ jsfs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本次划分结束时的钻石(jsfs = ksfs-hfxz+bcyd)
|
|
|
|
|
+ time: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本条划分记录时间
|
|
|
|
|
+ });
|
|
|
|
|
+ // 水果机战绩
|
|
|
|
|
+ var SGJTablesSchema = new mdbgoose.Schema({
|
|
|
|
|
+ _id: { type: String }, // ts++标识
|
|
|
|
|
+ tableNo: { type: String , default: ''}, // ts++房间号
|
|
|
|
|
+ ownerId: { type: String, default: '' }, // 玩家标识
|
|
|
|
|
+ agentId: { type: String, default: '' }, // 代理ID
|
|
|
|
|
+ over: { 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: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 结束时间
|
|
|
|
|
+ gameCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏消耗(本局下注总额)
|
|
|
|
|
+ giftCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 礼物消耗
|
|
|
|
|
+ agentRebate: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 代理返利
|
|
|
|
|
+ yazhuList: {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));});}}, // 本局押注列表
|
|
|
|
|
+ resultList: {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));});}}, // 本局结果列表
|
|
|
|
|
+ winsList: {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));});}}, // 本局结果赢的列表
|
|
|
|
|
+ win: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本局结果赢得分数(不包含下注的即winsList元素总和)
|
|
|
|
|
+ bsIndex: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //本次发牌对应的倍数下标["10/20","15/30","20/40"];
|
|
|
|
|
+ huafenList: [HUAFENchema], // 本局划分数据列表
|
|
|
|
|
+ scoreBefore: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本局开始前的分数(钻石)
|
|
|
|
|
+ scoreEnd: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 本局结束后的分数(=scoreBefore-押注总额+win)
|
|
|
|
|
+
|
|
|
|
|
+ }, { collection: 'sgjtables' });
|
|
|
|
|
+
|
|
|
|
|
+ mdbgoose.model('SGJTables', SGJTablesSchema);
|
|
|
|
|
+
|
|
|
|
|
+ var SGJUserTongjiSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String }, // ts++标识
|
|
_id: { type: String }, // ts++标识
|
|
|
- userId: { type: Number, default: 0 },
|
|
|
|
|
- usdt: { type: Number, default: 0 }, // 当前身上usdt
|
|
|
|
|
- sgjwinlose: { type: Number, default: 0 }, //水果机盈亏
|
|
|
|
|
- taskquanget: { type: Number, default: 0 }, //获得的奖券
|
|
|
|
|
- taskquanlose: { type: Number, default: 0 }, //奖券消费
|
|
|
|
|
- nowtaskquan:{ type: Number, default: 0 }, //当前奖券
|
|
|
|
|
- todaytime: { type: Number, default: 0 }, //统计时间
|
|
|
|
|
- taskGetU: { type: Number, default: 0 }, //任务获得的U
|
|
|
|
|
- rechargeusdt: { type: Number, default: 0 }, //充值获得的U
|
|
|
|
|
- withdrawusdt: { type: Number, default: 0 }, //提现的U
|
|
|
|
|
- feeconfigusdt: { type: Number, default: 0 }, //提现每次3U的手续费
|
|
|
|
|
- feeusdt: { type: Number, default: 0 }, //提现第三方扣的手续费
|
|
|
|
|
|
|
+ userId: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
|
|
|
|
|
+ usdt: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 当前身上usdt
|
|
|
|
|
+ sgjwinlose: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //水果机盈亏
|
|
|
|
|
+ taskquanget: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //获得的奖券
|
|
|
|
|
+ taskquanlose: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //奖券消费
|
|
|
|
|
+ nowtaskquan:{ type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //当前奖券
|
|
|
|
|
+ todaytime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //统计时间
|
|
|
|
|
+ taskGetU: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //任务获得的U
|
|
|
|
|
+ rechargeusdt: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //充值获得的U
|
|
|
|
|
+ withdrawusdt: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //提现的U
|
|
|
|
|
+ feeconfigusdt: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //提现每次3U的手续费
|
|
|
|
|
+ feeusdt: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //提现第三方扣的手续费
|
|
|
}, { collection: 'sgjusertongji' });
|
|
}, { collection: 'sgjusertongji' });
|
|
|
|
|
|
|
|
mdbgoose.model('SGJUserTongji', SGJUserTongjiSchema);
|
|
mdbgoose.model('SGJUserTongji', SGJUserTongjiSchema);
|
|
|
- //水果机玩家信息
|
|
|
|
|
|
|
+ //水果机玩家信息
|
|
|
var SGJUserSchema = new mdbgoose.Schema({
|
|
var SGJUserSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String }, // 标识
|
|
_id: { type: String }, // 标识
|
|
|
- cost: { type: Number, default: 0 }, // 消费
|
|
|
|
|
- win: { type: Number, default: 0 }, // 总赢得分
|
|
|
|
|
|
|
+ userId: { type: Number }, // 号码
|
|
|
|
|
+ cost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 消费
|
|
|
|
|
+ win: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 总赢得分
|
|
|
zfbAcc: { type: String , default: ''}, // 支付宝账号
|
|
zfbAcc: { type: String , default: ''}, // 支付宝账号
|
|
|
zfbName: { type: String , default: ''}, // 支付宝姓名
|
|
zfbName: { type: String , default: ''}, // 支付宝姓名
|
|
|
- zfbBindTime: { type: Number, default: 0 }, // 玩家支付宝信息正确性验证成功时间(0时表示验证未通过)
|
|
|
|
|
- gameCount: { type: Number, default: 0 }, // 总小局次数
|
|
|
|
|
- wingames: { type: Number, default: 0 }, // 总赢的小局次数
|
|
|
|
|
- taskReward: { type: Number, default: 0 }, // 已获得的任务奖励(RMB)在zfb到账之后增加
|
|
|
|
|
- jxzReward: { type: Number, default: 0 }, // 进行中的任务奖励(RMB)在领取任务时增加,在zfb到账之后减少
|
|
|
|
|
- ylzsReward: { type: Number, default: 0 }, // 已领取的任务奖励(钻石)
|
|
|
|
|
- taskQuan: { type: Number, default: 0 }, // 任务券(用于领任务)
|
|
|
|
|
- yazhuList: [Number], // 上局押注列表
|
|
|
|
|
|
|
+ zfbBindTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 玩家支付宝信息正确性验证成功时间(0时表示验证未通过)
|
|
|
|
|
+ gameCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 总小局次数
|
|
|
|
|
+ wingames: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 总赢的小局次数
|
|
|
|
|
+ taskReward: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 已获得的任务奖励(RMB)在zfb到账之后增加
|
|
|
|
|
+ jxzReward: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 进行中的任务奖励(RMB)在领取任务时增加,在zfb到账之后减少
|
|
|
|
|
+ ylzsReward: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 已领取的任务奖励(钻石)
|
|
|
|
|
+ taskQuan: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 任务券(用于领任务)
|
|
|
|
|
+ yazhuList: {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));});}}, // 上局押注列表
|
|
|
// [大苹果个数,大橙子个数,大芒果个数,大铃铛个数,大西瓜个数,大星星个数,大七七个数,大王王个数,幸运运个数,
|
|
// [大苹果个数,大橙子个数,大芒果个数,大铃铛个数,大西瓜个数,大星星个数,大七七个数,大王王个数,幸运运个数,
|
|
|
// 小苹果个数,小橙子个数,小芒果个数,小铃铛个数,小西瓜个数,小星星个数,小七七个数,小王王个数]
|
|
// 小苹果个数,小橙子个数,小芒果个数,小铃铛个数,小西瓜个数,小星星个数,小七七个数,小王王个数]
|
|
|
- getList: [Number], // 获得的列表(用于计算任务是否完成)
|
|
|
|
|
- getTime: { type: Number, default: 0 }, // 获得列表更新的时间
|
|
|
|
|
|
|
+ getList: {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));});}}, // 获得的列表(用于计算任务是否完成)
|
|
|
|
|
+ getTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 获得列表更新的时间
|
|
|
// 今日可补充带入数量(例如玩家今天第一次进游戏时身上只有2w钻石,玩一会儿之后今日带入剩了1w了,
|
|
// 今日可补充带入数量(例如玩家今天第一次进游戏时身上只有2w钻石,玩一会儿之后今日带入剩了1w了,
|
|
|
// 出去充值之后身上钻石变多之后那今日的可带入应该为上次剩的1w+刚刚充值之后的最多9w)
|
|
// 出去充值之后身上钻石变多之后那今日的可带入应该为上次剩的1w+刚刚充值之后的最多9w)
|
|
|
- jrkbcdrs: { type: Number, default: 0 }, // 今日可补充带入数量
|
|
|
|
|
- drCount: { type: Number, default: 0 }, // 带入数量(钻石)(1分=10钻石,每日上限1w分)
|
|
|
|
|
- drTime: { type: Number, default: 0 }, // 带入时间
|
|
|
|
|
- jzjrldzcz: { type: Number, default: 0 }, // 玩家截至今日零点总充值数量(分),用于判断任务
|
|
|
|
|
- jzjrldzczjlsj: { type: Number, default: 0 }, // 玩家截至今日零点总充值记录对应的时间戳,用于判断jzjrldzcz是否需要更新
|
|
|
|
|
- registerTime: { type: Number, default: 0 }, // 玩家首次进入水果游戏时间
|
|
|
|
|
- lastJoinTime: { type: Number, default: 0 }, // 玩家上次进入果游戏时间(留存人数)
|
|
|
|
|
- lastPlayTime: { type: Number, default: 0 }, // 玩家上次玩水果游戏时间(用于统计游戏人数)
|
|
|
|
|
- lastYDXTime: { type: Number, default: 0 } // 玩家上次水果押大小时间(用于统计押大小人数)
|
|
|
|
|
-
|
|
|
|
|
|
|
+ jrkbcdrs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 今日可补充带入数量
|
|
|
|
|
+ drCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 带入数量(钻石)(1分=10钻石,每日上限1w分)
|
|
|
|
|
+ drTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 带入时间
|
|
|
|
|
+ jzjrldzcz: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 玩家截至今日零点总充值数量(分),用于判断任务
|
|
|
|
|
+ jzjrldzczjlsj: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 玩家截至今日零点总充值记录对应的时间戳,用于判断jzjrldzcz是否需要更新
|
|
|
|
|
+ registerTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 玩家首次进入水果游戏时间
|
|
|
|
|
+ lastJoinTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 玩家上次进入果游戏时间(留存人数)
|
|
|
|
|
+ lastPlayTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 玩家上次玩水果游戏时间(用于统计游戏人数)
|
|
|
|
|
+ lastYDXTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} } // 玩家上次水果押大小时间(用于统计押大小人数)
|
|
|
|
|
+
|
|
|
}, { collection: 'sgjuser' });
|
|
}, { collection: 'sgjuser' });
|
|
|
|
|
|
|
|
mdbgoose.model('SGJUser', SGJUserSchema);
|
|
mdbgoose.model('SGJUser', SGJUserSchema);
|
|
@@ -256,39 +257,39 @@ module.exports = function (app) {
|
|
|
playerId: { type: String }, // 玩家标识
|
|
playerId: { type: String }, // 玩家标识
|
|
|
userId: { type: Number }, // 号码
|
|
userId: { type: Number }, // 号码
|
|
|
des: { type: String }, // 玩家标识
|
|
des: { type: String }, // 玩家标识
|
|
|
- cost: { type: Number, default: 0 }, // 消费
|
|
|
|
|
- reachs: [Number], //达成该条任务所需的条件列表[1(1号牌),2(2号牌)]]
|
|
|
|
|
- reachC: [Number], //达成该条任务所需的个数列表[reachs[0]出现次数,reachs[1]出现次数]
|
|
|
|
|
- rewardt: { type: Number, default: 0 }, //该条任务达成之后的奖品类型 0:未定义 1:钻石,2:RMB(分)
|
|
|
|
|
- rewards: { type: Number, default: 0 }, //该条任务达成之后的奖品数量
|
|
|
|
|
- state: { type: Number, default: 0 }, //任务状态0:未完成,1:已完成,2:发奖中,3:已发奖,
|
|
|
|
|
- lqTime: { type: Number, default: 0 }, //领取任务时间
|
|
|
|
|
- wcTime: { type: Number, default: 0 }, //完成时间
|
|
|
|
|
- fjTime: { type: Number, default: 0 }, //发奖时间
|
|
|
|
|
-
|
|
|
|
|
|
|
+ cost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 消费
|
|
|
|
|
+ reachs: {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));});}}, //达成该条任务所需的条件列表[1(1号牌),2(2号牌)]]
|
|
|
|
|
+ reachC: {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));});}}, //达成该条任务所需的个数列表[reachs[0]出现次数,reachs[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:钻石,2:RMB(分)
|
|
|
|
|
+ rewards: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该条任务达成之后的奖品数量
|
|
|
|
|
+ state: { 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:已发奖,
|
|
|
|
|
+ lqTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //领取任务时间
|
|
|
|
|
+ wcTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //完成时间
|
|
|
|
|
+ fjTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //发奖时间
|
|
|
|
|
+
|
|
|
}, { collection: 'sgjtask' });
|
|
}, { collection: 'sgjtask' });
|
|
|
|
|
|
|
|
mdbgoose.model('SGJTask', SGJTaskSchema);
|
|
mdbgoose.model('SGJTask', SGJTaskSchema);
|
|
|
|
|
|
|
|
|
|
|
|
|
// 水果机玩家今日任务池信息item
|
|
// 水果机玩家今日任务池信息item
|
|
|
- var SGJRWCItemchema = new mdbgoose.Schema({
|
|
|
|
|
- index: { type: Number, default: -1 }, //该条任务编号
|
|
|
|
|
- des: { type: String, default: "" }, // 任务描述
|
|
|
|
|
- times: { type: Number, default: 1 }, //该条任务今日可领总次数
|
|
|
|
|
- cost: { type: Number, default: 0 }, // 该条任务需要的消耗
|
|
|
|
|
- reachs: [Number], //达成该条任务所需的条件列表[1(1号牌),2(2号牌)]]
|
|
|
|
|
- reachC: [Number], //达成该条任务所需的个数列表[reachs[0]出现次数,reachs[1]出现次数]
|
|
|
|
|
- rewardt: { type: Number, default: 0 }, //该条任务达成之后的奖品类型 0:未定义 1:钻石,2:RMB(分)
|
|
|
|
|
- rewards: { type: Number, default: 0 }, //该条任务达成之后的奖品数量
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ var SGJRWCItemchema = new mdbgoose.Schema({
|
|
|
|
|
+ index: { type: Number, default: -1 }, //该条任务编号
|
|
|
|
|
+ des: { type: String, default: "" }, // 任务描述
|
|
|
|
|
+ times: { type: Number, default: 1 }, //该条任务今日可领总次数
|
|
|
|
|
+ cost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该条任务需要的消耗
|
|
|
|
|
+ reachs: {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));});}}, //达成该条任务所需的条件列表[1(1号牌),2(2号牌)]]
|
|
|
|
|
+ reachC: {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));});}}, //达成该条任务所需的个数列表[reachs[0]出现次数,reachs[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:钻石,2:RMB(分)
|
|
|
|
|
+ rewards: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该条任务达成之后的奖品数量
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
//水果玩家今日任务池信息(为了实现每个玩家每天的任务随机)
|
|
//水果玩家今日任务池信息(为了实现每个玩家每天的任务随机)
|
|
|
var SGJWJJRRWCSchema = new mdbgoose.Schema({
|
|
var SGJWJJRRWCSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String }, // 标识,玩家的_id
|
|
_id: { type: String }, // 标识,玩家的_id
|
|
|
- time: { type: Number, default: 0 }, //任务池对应的时间
|
|
|
|
|
|
|
+ time: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //任务池对应的时间
|
|
|
rwcList: [SGJRWCItemchema] // 该玩家对应时间的任务池列表
|
|
rwcList: [SGJRWCItemchema] // 该玩家对应时间的任务池列表
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
}, { collection: 'sgjwjjrrwc' });
|
|
}, { collection: 'sgjwjjrrwc' });
|
|
|
|
|
|
|
|
mdbgoose.model('SGJWJJRRWC', SGJWJJRRWCSchema);
|
|
mdbgoose.model('SGJWJJRRWC', SGJWJJRRWCSchema);
|
|
@@ -296,36 +297,36 @@ module.exports = function (app) {
|
|
|
//水果总统计信息
|
|
//水果总统计信息
|
|
|
var SGJTongjiSchema = new mdbgoose.Schema({
|
|
var SGJTongjiSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String, default: 'sgztj'}, // 主键
|
|
_id: { type: String, default: 'sgztj'}, // 主键
|
|
|
- allCost: { type: Number, default: 0 }, //所有玩家总下注
|
|
|
|
|
- allwin: { type: Number, default: 0 }, //所有玩家总赢得
|
|
|
|
|
- allxh: { type: Number, default: 0 }, //所有玩家总消耗(总下注-总赢得)
|
|
|
|
|
- zqqCost: { type: Number, default: 0 }, //所有玩家游戏转圈总下注
|
|
|
|
|
- zqqwin: { type: Number, default: 0 }, //所有玩家游戏转圈总赢得
|
|
|
|
|
- zqqxh: { type: Number, default: 0 }, //所有玩家游戏转圈总消耗(总下注-总赢得)
|
|
|
|
|
- ydxCost: { type: Number, default: 0 }, //所有玩家押大小总下注
|
|
|
|
|
- ydxwin: { type: Number, default: 0 }, //所有玩家押大小总赢得
|
|
|
|
|
- ydxxh: { type: Number, default: 0 }, //所有玩家押大小总消耗(总下注-总赢得)
|
|
|
|
|
- allrwq: { type: Number, default: 0 }, //所有奖券产生总量
|
|
|
|
|
- rwxhjq1: { type: Number, default: 0 }, //钻石任务消耗奖券总量(领任务时记录)
|
|
|
|
|
- rwxhjq2: { type: Number, default: 0 }, //RMB任务消耗奖券总量(领任务时记录)
|
|
|
|
|
- rwxhjq3: { type: Number, default: 0 }, //备用任务1消耗奖券总量(领任务时记录)
|
|
|
|
|
- rwxhjq4: { type: Number, default: 0 }, //备用任务2消耗奖券总量(领任务时记录)
|
|
|
|
|
- rwdcze1: { type: Number, default: 0 }, //钻石任务兑出总额(领奖时记录)
|
|
|
|
|
- rwdcze2: { type: Number, default: 0 }, //RMB(分)任务兑出总额(领奖时记录)
|
|
|
|
|
- rwdcze3: { type: Number, default: 0 }, //备用任务兑出总额(领奖时记录)
|
|
|
|
|
- rwdcze4: { type: Number, default: 0 }, //备用任务兑出总额(领奖时记录)
|
|
|
|
|
|
|
+ allCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家总下注
|
|
|
|
|
+ allwin: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家总赢得
|
|
|
|
|
+ allxh: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家总消耗(总下注-总赢得)
|
|
|
|
|
+ zqqCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家游戏转圈总下注
|
|
|
|
|
+ zqqwin: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家游戏转圈总赢得
|
|
|
|
|
+ zqqxh: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家游戏转圈总消耗(总下注-总赢得)
|
|
|
|
|
+ ydxCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家押大小总下注
|
|
|
|
|
+ ydxwin: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家押大小总赢得
|
|
|
|
|
+ ydxxh: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家押大小总消耗(总下注-总赢得)
|
|
|
|
|
+ allrwq: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有奖券产生总量
|
|
|
|
|
+ rwxhjq1: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //钻石任务消耗奖券总量(领任务时记录)
|
|
|
|
|
+ rwxhjq2: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //RMB任务消耗奖券总量(领任务时记录)
|
|
|
|
|
+ rwxhjq3: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //备用任务1消耗奖券总量(领任务时记录)
|
|
|
|
|
+ rwxhjq4: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //备用任务2消耗奖券总量(领任务时记录)
|
|
|
|
|
+ rwdcze1: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //钻石任务兑出总额(领奖时记录)
|
|
|
|
|
+ rwdcze2: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //RMB(分)任务兑出总额(领奖时记录)
|
|
|
|
|
+ rwdcze3: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //备用任务兑出总额(领奖时记录)
|
|
|
|
|
+ rwdcze4: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //备用任务兑出总额(领奖时记录)
|
|
|
// 下面这两个数据是长度为8的数组,分别代表[苹果,橙子,芒果,铃铛,西瓜,星星,七七,王王]
|
|
// 下面这两个数据是长度为8的数组,分别代表[苹果,橙子,芒果,铃铛,西瓜,星星,七七,王王]
|
|
|
- allyzze: [Number], //总押注总额列表
|
|
|
|
|
- allydze: [Number], //总赢得总额列表(不包含特殊项)
|
|
|
|
|
|
|
+ allyzze: {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));});}}, //总押注总额列表
|
|
|
|
|
+ allydze: {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));});}}, //总赢得总额列表(不包含特殊项)
|
|
|
// 下面这数据是长度为16的数组,分别代表[大苹果,大橙子,大芒果,大铃铛,大西瓜,大星星,大七七,大王王,
|
|
// 下面这数据是长度为16的数组,分别代表[大苹果,大橙子,大芒果,大铃铛,大西瓜,大星星,大七七,大王王,
|
|
|
//小苹果,小橙子,小芒果,小铃铛,小西瓜,小星星,小七七,小王王]
|
|
//小苹果,小橙子,小芒果,小铃铛,小西瓜,小星星,小七七,小王王]
|
|
|
- gxzydze: [Number], //各项总赢得总额列表(不包含特殊项)
|
|
|
|
|
|
|
+ gxzydze: {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));});}}, //各项总赢得总额列表(不包含特殊项)
|
|
|
// 下面这数据是长度为17的数组,分别代表[大苹果,大橙子,大芒果,大铃铛,大西瓜,大星星,大七七,大王王,
|
|
// 下面这数据是长度为17的数组,分别代表[大苹果,大橙子,大芒果,大铃铛,大西瓜,大星星,大七七,大王王,
|
|
|
//幸运运,小苹果,小橙子,小芒果,小铃铛,小西瓜,小星星,小七七,小王王]
|
|
//幸运运,小苹果,小橙子,小芒果,小铃铛,小西瓜,小星星,小七七,小王王]
|
|
|
- gxcxzcs: [Number], //各项出现总次数列表(不包含特殊项)
|
|
|
|
|
|
|
+ gxcxzcs: {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));});}}, //各项出现总次数列表(不包含特殊项)
|
|
|
// 下面这两个数据是长度为3的数组,分别代表[小三元,大三元,大四喜]
|
|
// 下面这两个数据是长度为3的数组,分别代表[小三元,大三元,大四喜]
|
|
|
- tsxzydze: [Number], //特殊项总赢得总额列表
|
|
|
|
|
- tsxcxzcs: [Number], //特殊项出现总次数列表
|
|
|
|
|
|
|
+ tsxzydze: {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));});}}, //特殊项总赢得总额列表
|
|
|
|
|
+ tsxcxzcs: {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));});}}, //特殊项出现总次数列表
|
|
|
errstr: { type: String, default: ''}, //错误或者异常记录
|
|
errstr: { type: String, default: ''}, //错误或者异常记录
|
|
|
}, { collection: 'sgjtongji' });
|
|
}, { collection: 'sgjtongji' });
|
|
|
|
|
|
|
@@ -334,20 +335,20 @@ module.exports = function (app) {
|
|
|
//水果每日统计信息
|
|
//水果每日统计信息
|
|
|
var SGJMRTJSchema = new mdbgoose.Schema({
|
|
var SGJMRTJSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String }, // 标识
|
|
_id: { type: String }, // 标识
|
|
|
- zqqCost: { type: Number, default: 0 }, //所有玩家游戏转圈总下注
|
|
|
|
|
- zqqwin: { type: Number, default: 0 }, //所有玩家游戏转圈总赢得
|
|
|
|
|
- zqqxh: { type: Number, default: 0 }, //所有玩家游戏转圈总消耗(总下注-总赢得)
|
|
|
|
|
- ydxCost: { type: Number, default: 0 }, //所有玩家押大小总下注
|
|
|
|
|
- ydxwin: { type: Number, default: 0 }, //所有玩家押大小总赢得
|
|
|
|
|
- ydxxh: { type: Number, default: 0 }, //所有玩家押大小总消耗(总下注-总赢得)
|
|
|
|
|
- ydxzcs: { type: Number, default: 0 }, //该日押大小总次数
|
|
|
|
|
- allrwq: { type: Number, default: 0 }, //所有奖券产生总量
|
|
|
|
|
- rwxhjq1: { type: Number, default: 0 }, //钻石任务消耗奖券总量(领任务时记录)
|
|
|
|
|
- rwxhjq2: { type: Number, default: 0 }, //RMB任务消耗奖券总量(领任务时记录)
|
|
|
|
|
- rwdcze1: { type: Number, default: 0 }, //钻石任务兑出总额(领奖时记录)
|
|
|
|
|
- rwdcze2: { type: Number, default: 0 }, //RMB(分)任务兑出总额(领奖时记录)
|
|
|
|
|
- // yazhuList: [Number], // 本局押注列表
|
|
|
|
|
- registerTime: { type: Number, default: 0 }// 记录时间(该日0点时间戳)
|
|
|
|
|
|
|
+ zqqCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家游戏转圈总下注
|
|
|
|
|
+ zqqwin: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家游戏转圈总赢得
|
|
|
|
|
+ zqqxh: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家游戏转圈总消耗(总下注-总赢得)
|
|
|
|
|
+ ydxCost: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家押大小总下注
|
|
|
|
|
+ ydxwin: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家押大小总赢得
|
|
|
|
|
+ ydxxh: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有玩家押大小总消耗(总下注-总赢得)
|
|
|
|
|
+ ydxzcs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日押大小总次数
|
|
|
|
|
+ allrwq: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //所有奖券产生总量
|
|
|
|
|
+ rwxhjq1: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //钻石任务消耗奖券总量(领任务时记录)
|
|
|
|
|
+ rwxhjq2: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //RMB任务消耗奖券总量(领任务时记录)
|
|
|
|
|
+ rwdcze1: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //钻石任务兑出总额(领奖时记录)
|
|
|
|
|
+ rwdcze2: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //RMB(分)任务兑出总额(领奖时记录)
|
|
|
|
|
+ // yazhuList: {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));});}}, // 本局押注列表
|
|
|
|
|
+ registerTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }// 记录时间(该日0点时间戳)
|
|
|
}, { collection: 'sgjmrtj' });
|
|
}, { collection: 'sgjmrtj' });
|
|
|
|
|
|
|
|
mdbgoose.model('SGJMRTJ', SGJMRTJSchema);
|
|
mdbgoose.model('SGJMRTJ', SGJMRTJSchema);
|
|
@@ -355,16 +356,16 @@ module.exports = function (app) {
|
|
|
//水果每日统计信息
|
|
//水果每日统计信息
|
|
|
var SGJMRRSSchema = new mdbgoose.Schema({
|
|
var SGJMRRSSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String }, // 标识(日期)
|
|
_id: { type: String }, // 标识(日期)
|
|
|
- grzcrs: { type: Number, default: 0 }, //该日注册人数(按照进入时间算)
|
|
|
|
|
- xzyxrs: { type: Number, default: 0 }, //该日新增有效人数(玩过游戏的算为有效)
|
|
|
|
|
- grzqrs: { type: Number, default: 0 }, //该日转圈人数
|
|
|
|
|
- ydxzrs: { type: Number, default: 0 }, //该日押大小总人数
|
|
|
|
|
- grzqcs: { type: Number, default: 0 }, //该日转圈次数
|
|
|
|
|
- ydxzcs: { type: Number, default: 0 }, //该日押大小总次数
|
|
|
|
|
- lcrs1: { type: Number, default: 0 }, //该日的次日留存人数(按照进入算)
|
|
|
|
|
- lcrs7: { type: Number, default: 0 }, //该日的7日留存人数(按照进入算)
|
|
|
|
|
|
|
+ grzcrs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日注册人数(按照进入时间算)
|
|
|
|
|
+ xzyxrs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日新增有效人数(玩过游戏的算为有效)
|
|
|
|
|
+ grzqrs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日转圈人数
|
|
|
|
|
+ ydxzrs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日押大小总人数
|
|
|
|
|
+ grzqcs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日转圈次数
|
|
|
|
|
+ ydxzcs: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日押大小总次数
|
|
|
|
|
+ lcrs1: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日的次日留存人数(按照进入算)
|
|
|
|
|
+ lcrs7: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //该日的7日留存人数(按照进入算)
|
|
|
time: { type: Number, default: Date.now },// 精确时间
|
|
time: { type: Number, default: Date.now },// 精确时间
|
|
|
- registerTime: { type: Number, default: 0 }// 记录时间(该日0点时间戳)
|
|
|
|
|
|
|
+ registerTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }// 记录时间(该日0点时间戳)
|
|
|
}, { collection: 'sgjmrrs' });
|
|
}, { collection: 'sgjmrrs' });
|
|
|
|
|
|
|
|
mdbgoose.model('SGJMRRS', SGJMRRSSchema);
|
|
mdbgoose.model('SGJMRRS', SGJMRRSSchema);
|
|
@@ -375,12 +376,12 @@ module.exports = function (app) {
|
|
|
name: { type: String, default: '' }, // 昵称
|
|
name: { type: String, default: '' }, // 昵称
|
|
|
headurl: { type: String, default: '' }, // 头像
|
|
headurl: { type: String, default: '' }, // 头像
|
|
|
userId: { type: Number }, // 号码
|
|
userId: { type: Number }, // 号码
|
|
|
- cost1: { type: Number, default: 0 }, // 最近一天总下注
|
|
|
|
|
- quan1: { type: Number, default: 0 }, // 最近一天总得奖券
|
|
|
|
|
- time1: { type: Number, default: 0 }, // 最近游戏那天的0点时间戳
|
|
|
|
|
- cost2: { type: Number, default: 0 }, // 次近一天总下注
|
|
|
|
|
- quan2: { type: Number, default: 0 }, // 次近一天总得奖券
|
|
|
|
|
- time2: { type: Number, default: 0 }, // 次近游戏那天的0点时间戳
|
|
|
|
|
|
|
+ cost1: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 最近一天总下注
|
|
|
|
|
+ quan1: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 最近一天总得奖券
|
|
|
|
|
+ time1: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 最近游戏那天的0点时间戳
|
|
|
|
|
+ cost2: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 次近一天总下注
|
|
|
|
|
+ quan2: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 次近一天总得奖券
|
|
|
|
|
+ time2: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 次近游戏那天的0点时间戳
|
|
|
registerTime: { type: Number, default: Date.now },// 记录时间
|
|
registerTime: { type: Number, default: Date.now },// 记录时间
|
|
|
}, { collection: 'sgjpaihang' });
|
|
}, { collection: 'sgjpaihang' });
|
|
|
|
|
|
|
@@ -389,7 +390,7 @@ module.exports = function (app) {
|
|
|
//水果全局配置信息
|
|
//水果全局配置信息
|
|
|
var SGJConfigSchema = new mdbgoose.Schema({
|
|
var SGJConfigSchema = new mdbgoose.Schema({
|
|
|
_id: { type: String, default: 'sgconfigs'}, // 主键
|
|
_id: { type: String, default: 'sgconfigs'}, // 主键
|
|
|
- phbyfjlrq: { type: Number, default: 0 }, //排行榜已发奖励的日期(0点时间戳)
|
|
|
|
|
|
|
+ phbyfjlrq: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, //排行榜已发奖励的日期(0点时间戳)
|
|
|
istelegram: { type: Number, default: 1 }, //排行榜已发奖励的日期(0点时间戳)
|
|
istelegram: { type: Number, default: 1 }, //排行榜已发奖励的日期(0点时间戳)
|
|
|
withdrawfee: { type: Number, default: 3 }, //排行榜已发奖励的日期(0点时间戳)
|
|
withdrawfee: { type: Number, default: 3 }, //排行榜已发奖励的日期(0点时间戳)
|
|
|
withdrawlowlimit: { type: Number, default: 10 }, //排行榜已发奖励的日期(0点时间戳)
|
|
withdrawlowlimit: { type: Number, default: 10 }, //排行榜已发奖励的日期(0点时间戳)
|