hall.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. 'use strict';
  2. module.exports = function (app) {
  3. var mdbgoose = app.memdb.goose;
  4. // 充值订单
  5. var PayRecordSchema = new mdbgoose.Schema({
  6. _id: { type: String }, // 订单号
  7. playerId: { type: String }, // 玩家ID
  8. payplayerId: { type: String, default: '' }, // 支付玩家ID
  9. total_fee: { type: Number }, // 总金额
  10. 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为支付宝
  11. 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成功
  12. paydiamond: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值钻石
  13. payreward: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励
  14. time: { type: Number, default: Date.now } // 时间戳
  15. }, { collection: 'pay_records' });
  16. mdbgoose.model('PayRecord', PayRecordSchema);
  17. var ConfigSchema = new mdbgoose.Schema({
  18. _id: { type: String }, // 订单号
  19. playerId: { type: String }, // 玩家ID
  20. payplayerId: { type: String, default: '' }, // 支付玩家ID
  21. total_fee: { type: Number }, // 总金额
  22. 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为支付宝
  23. 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成功
  24. paydiamond: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值钻石
  25. payreward: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励
  26. time: { type: Number, default: Date.now } // 时间戳
  27. }, { collection: 'config' });
  28. mdbgoose.model('Config', ConfigSchema);
  29. //chongzhi
  30. var UsdtPayRecordSchema = new mdbgoose.Schema({
  31. _id: { type: String }, // 订单号
  32. chainCode: { type: String, default: '' }, // 玩家ID
  33. clientId: { type: String, default: '' }, // 支付玩家ID
  34. code: {type: String, default: '' }, // 总金额
  35. 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为支付宝
  36. hash: { type: String, default: '' }, // 支付状态 0未支付 1成功
  37. status : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  38. fees: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  39. feesU: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  40. sourceAddress: { type: String, default: '' }, // 充值钻石
  41. targetAddress: { type: String, default: '' }, // 充值奖励
  42. risk: { type: Boolean, default: true }, // 充值奖励
  43. timestamp: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励
  44. sign: { type: String, default: '' }, // 充值奖励
  45. time: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 时间戳
  46. beforeusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  47. afterusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }
  48. }, { collection: 'usdtPayRecord' });
  49. mdbgoose.model('UsdtPayRecord', UsdtPayRecordSchema);
  50. var FishUSDTRecordSchema = new mdbgoose.Schema({
  51. _id: { type: String }, // 订单号
  52. userId: {type: Number},
  53. trade_no: { type: String },
  54. is_refund: { type: Number , default: 0},
  55. dSource: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 原钻石
  56. dSwap: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 变化钻石 游戏
  57. dNow: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 新钻石
  58. timestamp: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励
  59. }, { collection: 'fishUSDTRecord' });
  60. mdbgoose.model('FishUSDTRecord', FishUSDTRecordSchema);
  61. var FishRefundUSDTRecordSchema = new mdbgoose.Schema({
  62. _id: { type: String }, // 订单号
  63. userId: {type: Number},
  64. trade_no: { type: String },
  65. is_refund: { type: Number , default: 0},
  66. dSource: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 原钻石
  67. dSwap: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 变化钻石 游戏
  68. dNow: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 新钻石
  69. timestamp: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励
  70. }, { collection: 'fishRefundUSDTRecord' });
  71. mdbgoose.model('FishRefundUSDTRecord', FishRefundUSDTRecordSchema);
  72. var UsdtWithdrawRecordSchema = new mdbgoose.Schema({
  73. _id: { type: String }, // 订单号
  74. chainCode: { type: String, default: '' }, // 玩家ID
  75. userId: { type: String, default: '' }, // 支付玩家ID
  76. 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为支付宝
  77. tokenCode: { type: String, default: '' }, // 支付状态 0未支付 1成功
  78. refOrderId: { type: String, default: '' }, // 充值钻石
  79. msg: { type: String, default: '' }, // 充值钻石
  80. targetAddress: { type: String, default: '' }, // 充值奖励
  81. additionalAudit: { type: Boolean, default: true }, // 充值奖励
  82. submitfee: { type: Number, default: 0 },
  83. submitTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  84. callBackTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值奖励
  85. sign: { type: String, default: '' }, // 充值奖励
  86. time: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 时间戳
  87. status: { type: Number, default: 100 },
  88. beforeusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  89. afterusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  90. resultbeforeusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  91. resultafterusdt : { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },
  92. }, { collection: 'usdtWithdrawRecord' });
  93. mdbgoose.model('UsdtWithdrawRecord', UsdtWithdrawRecordSchema);
  94. // 每个玩家每日充值上限,没有设置上限的玩家每日充值上限为quanjutop这条记录里的上限为准
  95. var PayLimitSchema = new mdbgoose.Schema({
  96. _id: { type: String }, // 标识
  97. userId: { type: Number }, // 号码
  98. name: { type: Schema.Types.Mixed, default: '' }, // 昵称
  99. paytop: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值上限,-1表示没有设置上限
  100. paytotal: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值总额
  101. dataTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 充值总额对应的日期时间
  102. registerTime: { type: Number, default: Date.now }, // 记录/更新时间
  103. }, { collection: 'paylimit' });
  104. mdbgoose.model('PayLimit', PayLimitSchema);
  105. // 签到相关
  106. var SignInfoSchema = new mdbgoose.Schema({
  107. _id: { type: String }, // 玩家ID
  108. keep: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 连续天数
  109. lastTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 最后签到
  110. shareTime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} } // 分享时间
  111. }, { collection: 'sign_infos' });
  112. var SignRecordSchema = new mdbgoose.Schema({
  113. _id: { type: String }, // UUID
  114. uid: { type: String }, // 玩家ID
  115. time: { type: Number, default: Date.now }, // 签到时间
  116. diamond: { type: Number } // 领取钻石
  117. }, { collection: 'sign_records' });
  118. mdbgoose.model('SignInfo', SignInfoSchema);
  119. mdbgoose.model('SignRecord', SignRecordSchema);
  120. // 红包相关
  121. var RedpackSchema = new mdbgoose.Schema({
  122. _id: { type: String }, // UUID
  123. recvd: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 是否已领取
  124. diamond: { type: Number }, // 钻石数量
  125. sid: { type: String }, // 发放玩家
  126. rid: { type: String, default: '' }, // 领取玩家
  127. stime: { type: Number, default: Date.now }, // 发放时间
  128. rtime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 领取时间
  129. }, { collection: 'redpacks' });
  130. mdbgoose.model('RedPack', RedpackSchema);
  131. //bug记录
  132. var BugRecordSchema = new mdbgoose.Schema({
  133. _id: { type: String }, // UUID
  134. playerId: { type: String }, // 玩家ID
  135. bugContent: { type: String }, // bug内容
  136. bugFileName1: { type: String }, // bug图片文件1
  137. bugFileName2: { type: String }, // bug图片文件2
  138. bugFileName3: { type: String }, // bug图片文件3
  139. answerStr: { type: String , default: "感谢您的反馈,我们正在积极处理。"}, // bug图片文件3
  140. bugState: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));}}, // bug状态
  141. registerTime: { type: Number, default: Date.now } // 注册时间
  142. }, { collection: 'bugRecords' });
  143. mdbgoose.model('BugRecords', BugRecordSchema);
  144. // 活动推广奖励产生记录
  145. var ActiveRewardRecordSchema = new mdbgoose.Schema({
  146. _id: { type: String }, // UUID
  147. rewardtype: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 奖励类型,0红包
  148. totalfee: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 产生金额,红包为分
  149. 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国庆邀请
  150. sid: { type: String, default: '' }, // 产生奖励的玩家id
  151. sname: { type: String, default: '' }, // 产生奖励的玩家name
  152. suid: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 产生奖励的玩家userId
  153. rid: { type: String, default: '' }, // 此条奖励的受益玩家userId
  154. gameCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 游戏局数
  155. stime: { type: Number, default: Date.now }, // 记录产生时间
  156. succtime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 任务完成时间,任务未完成的时候这里是0
  157. 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:已达成
  158. }, { collection: 'activerewardrecord' });
  159. mdbgoose.model('ActiveRewardRecord', ActiveRewardRecordSchema);
  160. // 活动推广奖励领取记录
  161. var ActiveReceiveRecordSchema = new mdbgoose.Schema({
  162. _id: { type: String }, // UUID
  163. rewardtype: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 奖励类型,0红包
  164. 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国庆邀请
  165. rid: { type: String, default: '' }, // 此条奖励领取的玩家id
  166. ruid: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 此条奖励领取的玩家userId
  167. outSwap: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 领取金额
  168. totalFee: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 发放金额
  169. payState: { type: Number, default: 1 }, // 支付状态 1为未支付 2人工支付 3支付成功
  170. registerTime: { type: Number, default: Date.now } // 记录时间
  171. }, { collection: 'activereceiverecord' });
  172. mdbgoose.model('ActiveReceiveRecord', ActiveReceiveRecordSchema);
  173. // // 邮件相关
  174. var MailInfoSchema = new mdbgoose.Schema({
  175. _id: { type: String, default: '' }, //没啥用但是没有不行
  176. index: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 邮件下标
  177. 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:版本更新通知
  178. 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:版本更新通知
  179. 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:有奖励
  180. 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:钻石,
  181. rewardC: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 奖励数量
  182. 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:已领取
  183. 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:已读
  184. form: { type: String, default: '' }, // 邮件来源
  185. sendTime: { type: Number, default: Date.now } // 发送日期
  186. });
  187. var MailsSchema = new mdbgoose.Schema({
  188. _id: { type: String, default: '' }, // 用户id(player表的主键)
  189. userId: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 用户的userId
  190. mailInfos: [MailInfoSchema]// 该活动的达成条件和奖励信息列表
  191. }, { collection: 'mails' });
  192. mdbgoose.model('Mails', MailsSchema);
  193. //// 比赛的开始和结束时间
  194. var RaceTimeInfosSchema = new mdbgoose.Schema({
  195. _id: { type: String }, // UUID 标识
  196. aid: { type: String }, // 比赛代理的标识
  197. agentNo: { type: Number }, // 比赛代理编号
  198. stime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的开始时间
  199. etime: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的结束时间
  200. bigRound: { type: Number, default: 3 },// 该次比赛的大局数量,统计战绩时使用
  201. 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为跑得快
  202. round: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的游戏局数
  203. playerCount: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的游戏人数
  204. other: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 该次比赛的游戏规则
  205. outTime:{ type: Number, default: 1 }, // 过期时间(须大于结束时间40分钟之后)
  206. 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数组
  207. staticFlag: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} },//是否统计过战绩,用于java定时器
  208. registerTime: { type: Number, default: Date.now } // 记录时间
  209. }, { collection: 'racetimeinfo' });
  210. mdbgoose.model('RaceTimeInfos', RaceTimeInfosSchema);
  211. var JinSaiInfoSchema = new mdbgoose.Schema({
  212. _id: { type: String, default: '' }, // 用户id(player表的主键)
  213. userId: { type: Number, default: 0, set: function(value) {return Number(Number(value).toFixed(2));}, get: function(value) {return Number(Number(value).toFixed(2));} }, // 用户的userId
  214. }, { collection: 'jinsaiinfo' });
  215. mdbgoose.model('JinSaiInfo', JinSaiInfoSchema);
  216. };