/** * TL++整个文件 * 此类是和配置文件相关的函数 */ 'use strict'; var quick = require('quick-pomelo'); var P = quick.Promise; var uuid = require('node-uuid'); var C = require('./constant'); var _ = require('lodash');/////是一个一致性、模块化、高性能的 JavaScript 实用工具库。 var logger = quick.logger.getLogger('fhmj', __filename); // 构造方法 var setReabte = function (app) { if(!app) console.error("没有app"); this.app = app; }; // 导出类 module.exports = setReabte; // 原型对象 var proto = setReabte.prototype; // agenter表中字段说明: // 审核中返利和锁定返利是一个意思,指今日产生的返利,今日产生的返利今日是无法提取的,等到变更为可提现返利之后才能提取 // 日结和解除锁定返利是一个意思,指将之前的审核中返利(verifyRebate)变更到可提现返利(rebateNow)这个操作, // 推广的日结(解除锁定返利)时机:进入推广后台(推广自己进入推广后台或者管理后台进入推广后台)或者该推广的链接完成一局游戏之后进行 // 是否需要日结根据是否有审核中返利和审核时间进行判断,若需要日结则rebateNow+=verifyRebate; verifyRebate置0 // 最开始时: // rebateCount:返利合计 = 基础 + 额外 单位是钻石且乘过比例的 在每局结束时增加该局消耗返利在日结时增加额外返利 // rebateAll:自己基础的可提现总返利(不包含额外包含审核中的)单位是钻石且乘过比例的 // rebateNow:可提现返利(已审核的自己基础的+额外的),在日结的时候增加,在提现的时候减少 // rebateOther: 已审核的可提现总额 单位是钻石且乘过额外比例的,在日结的时候增加,此值没有减少的时候,为了记录该推广总的额外返利 // verifyRebate:审核中返利,业绩模式记录的是消耗,在每局结束的时候增加,在日结的时候置0 // rebateOut:已经提现的RMB(单位是分,一分对应rebateNow一个钻石) // 增加金牌推广员之前:(金牌推广员可以有自己的小组,组员是其他普通推广) // rebateCount:该推广的总消耗 单位是钻石 在每局结束时增加值为该局消耗 // rebateAll:该推广的总消耗 单位是钻石 在每局结束时增加值为该局消耗 // rebateNow:可提现返利(已审核的自己基础的+额外的),在日结的时候增加,在提现的时候减少 // rebateOther:由于额外比例一直是0所以此值一直为0 // verifyRebate:审核中的基础返利,业绩模式记录的是消耗,在每局结束的时候增加,在日结的时候置0 // rebateOut:已经提现的RMB(单位是分,一分对应rebateNow的1/基础比例个钻石) // 增加金牌推广员之后:(金牌推广员可以有自己的小组,组员是其他普通推广) // rebateCount:该推广自己产生的总消耗 单位是钻石 // rebateAll:自己基础的可提现总返利 单位是钻石且乘过比例的 (包括审核中的,每局结束之后修改) // rebateNow:可提现返利(已审核的自己基础的+额外的),在日结的时候增加,在提现的时候减少 // rebateOther:由于额外比例一直是0所以此值一直为0 // verifyRebate:审核中的基础返利,新模式记录的是消耗*基础比例,在每局结束的时候增加,在日结的时候置0 // rebateOut:已经提现的RMB(单位是分,一分对应rebateNow一个钻石) // 以下是新加字段 // levelFlag:推广等级0:实习,1:普通推广,2:金牌推广,3:比赛推广,4:传单推广 // enabled:是否可用,0:不可用,1:可用, // parentAgenterId:上级推广ID,没有上级的此值为"" // parentRate:上级推广的比例,无上级时此值为0,有上级此值才可能不为0 // rebateAll2:自己小组的可提现总返利 单位是钻石且乘过比例的 (包括审核中的,每局结束之后修改) // rebateNow2:自己小组(下级推广)的可提现返利 // verifyRebate2:自己小组(下级推广)的审核的返利 // rebateOut2 :自己小组(下级推广)的已提现返利 //agenter表中以下字段用来展示和计算额外返利使用的,是根据当时的展示和计算需求设计的, // 游戏次数用于展示今日(审核中)的额外返利明细,即由哪款游戏的几局房间分别完成的次数*对应的额外比例即可展示今日的额外返利明细 // 哪种游戏几局房对应的游戏次数和消耗在该局完成之后记录,消耗记录的是消耗(没有*比例) //这些字段只是记录审核当中的,在日结的时候置0,目前没有额外比例所以去掉以下字段 // dateGameTimes02: { type: Number, default: 0 }, // 冲刺游戏次数 // dateGameTimes03: { type: Number, default: 0 }, // 冲刺游戏次数 // dateGameTimes0: { type: Number, default: 0 }, // 冲刺游戏次数 // dateGameTimes42: { type: Number, default: 0 }, // 4局游戏游戏次数 // dateGameTimes43: { type: Number, default: 0 }, // 4局游戏游戏次数 // dateGameTimes4: { type: Number, default: 0 }, // 4局游戏游戏次数 // dateGameTimes82: { type: Number, default: 0 }, // 8局游戏次数 // dateGameTimes83: { type: Number, default: 0 }, // 8局游戏次数 // dateGameTimes8: { type: Number, default: 0 }, // 8局游戏次数 // dateGameTimes162: { type: Number, default: 0 }, // 16局游戏次数 // dateGameTimes163: { type: Number, default: 0 }, // 16局游戏次数 // dateGameTimes164: { type: Number, default: 0 }, // 16局游戏次数 // dateGameCost0: { type: Number, default: 0 }, // 冲刺游戏消耗 // dateGameCost4: { type: Number, default: 0 }, // 4局游戏消耗 // dateGameCost8: { type: Number, default: 0 }, // 8局游戏消耗 // dateGameCost16: { type: Number, default: 0 }, // 16局游戏消耗 //之前的额外返利计算:在日结的时候将各个游戏各个人次的房间的总消耗 // 至少完成1小局之后才能走到这个文件 ////该局有消耗且该局有推广员的话记录该推广的返利信息 proto.writeReabteInfo = P.coroutine(function* (_agentId,_etime,_agentRebate,_gameCost,_giftCost,_recordid,_users,_gameId) { console.warn("代理返利写分+++++ wj _gameId "+_gameId+" allcost "+_agentRebate +" _agentId "+_agentId); let agentId = _agentId; let levelFlag = -1; let zjrNow = 0;//该推广目前的可提现返利,用来判断是否从实习推广变为正式推广 let parentId = ""; let parentRate = 0; let endtime = _etime; let allCost=_agentRebate;//游戏总消耗 let gameCost=_gameCost;//游戏消耗 let giftCost=_giftCost;//礼物消耗 let recordid = _recordid; let gameId = _gameId; let nowverifyDate=this.getzdLDSJC(endtime); // console.warn("代理返利写分+++++ wj22") var agenter = yield this.app.models.Agenter.findByIdAsync(agentId,'levelFlag parentAgenterId parentRate rewardRate rebateOther rebateCount rebateAll rebateNow rebateOut verifyDate verifyRebate agentRate'); // console.warn("代理返利写分+++++ wj33") if (agenter) { levelFlag = agenter.levelFlag; parentId = agenter.parentAgenterId; parentRate = agenter.parentRate; let rewardRate = agenter.rewardRate; let jcbl = agenter.rewardRate/100;//本局推广的基础比例 let agentRebate2=parseInt(allCost*jcbl);//本局消耗乘以比例 //日结算 let verifyBool=false;//是否可以进行日结 let verifyDate=0;//日结日期 let verifyRebate=0;//日结数值 let dateAgentRate=0;//额外奖励比例 let dateRebate=0;//额外奖励数值(=额外比例*本局消耗),目前没有额外返利所以这个数值没有计算 if(agenter.verifyRebate>0 && agenter.verifyDate!=nowverifyDate) { verifyBool=true; verifyDate=agenter.verifyDate; verifyRebate=agenter.verifyRebate; dateAgentRate=agenter.agentRate; agenter.rebateNow += verifyRebate;//可提返利+=日结算 agenter.rebateNow += dateRebate;//可提返利+=额外返利 agenter.rebateOther += dateRebate; agenter.verifyRebate=0; } //修改代理数据 agenter.rebateCount += allCost; agenter.rebateAll += agentRebate2; agenter.verifyDate=nowverifyDate; agenter.verifyRebate+= agentRebate2; zjrNow = agenter.rebateNow; if(levelFlag == 0){ if(zjrNow >= 1500) { levelFlag = 1;//从实习变为转正 parentRate = agenter.parentRate; } } agenter.levelFlag = levelFlag; let rCount=agenter.rebateCount; let rOther=agenter.rebateOther; let rAll=agenter.rebateAll; let rNow=agenter.rebateNow; let rOut=agenter.rebateOut; let rVerifyDate=agenter.verifyDate; let rVerifyRebate=agenter.verifyRebate; yield agenter.saveAsync(); // console.warn("代理返利写分+++++agenter.saveAsync()"); // 锁定返利记录 if(verifyBool && verifyRebate>0) { //至此可以进行日结算了,在奖励记录表里增加日结类型(type=3)的记录, var verifyrebateRecord = new this.app.models.RebateRecord({ _id: uuid.v1(), agentId:agentId, tableId: '', rType: 3, rCount: rCount- allCost, rOther: rOther, rAll: rAll- agentRebate2, rNow: rNow, rOut: rOut, rSwap: verifyRebate, rDateSwap: dateRebate, rVerifyDate: verifyDate, rVerifyRebate: 0 }); yield verifyrebateRecord.saveAsync(); } // 返利记录 var rebateRecord = new this.app.models.RebateRecord({ _id: uuid.v1(), agentId:agentId, tableId: recordid, rType: 1, rCount: rCount, rOther: rOther, rAll: rAll, rNow: rNow, rOut: rOut, rSwap: agentRebate2, rDateSwap: 0, rVerifyDate: rVerifyDate, rVerifyRebate: rVerifyRebate }); yield rebateRecord.saveAsync(); // console.warn("返利记录+++++rebateRecord.saveAsync()"); //上面是记录推广的返利,下面是计算推广的上级返利 // console.warn("返利记录+++++下面是计算推广的上级返利 parentId "+parentId + " levelFlag " + levelFlag + " parentRate " + parentRate); let pagentRebate2=0;//本局消耗乘以上级比例 if(parentId && levelFlag == 1 && parentRate > 0){ var pagenter = yield this.app.models.Agenter.findByIdAsync(parentId,'levelFlag parentAgenterId parentRate rebateAll2 rebateNow2 verifyRebate2 verifyDate2 rebateOut2 rebateOther rebateCount'); if (pagenter && pagenter.levelFlag == 2) { // let parent // rebateNow2: { type: Number, default: 0 }, // 自己小组(下级推广)的可提现返利 // verifyRebate2: { type: Number, default: 0 }, // 自己小组(下级推广)的审核的返利 // rebateOut2: { type: Number, default: 0 }, // 自己小组(下级推广)的已提现返利 let pjcbl = parentRate/100;//本局上级推广的基础比例 pagentRebate2=parseInt(allCost*pjcbl);//本局消耗乘以上级比例 //日结算 let pverifyBool=false;//上级是否可以进行日结 let pverifyDate=0;//上级日结日期 let pverifyRebate=0;//上级日结数值 if(pagenter.verifyRebate2>0 && pagenter.verifyDate2!=nowverifyDate) { pverifyBool=true; pverifyDate=pagenter.verifyDate2; pverifyRebate=pagenter.verifyRebate2; pagenter.rebateNow2 += pverifyRebate;//可提返利+=日结算 pagenter.verifyRebate2=0; } //修改代理数据 pagenter.rebateAll2 += pagentRebate2; pagenter.verifyDate2=nowverifyDate; pagenter.verifyRebate2+= pagentRebate2; let prCount=pagenter.rebateCount; let prOther=pagenter.rebateOther; let prAll=pagenter.rebateAll2; let prNow=pagenter.rebateNow2; let prOut=pagenter.rebateOut2; let prVerifyDate=pagenter.verifyDate2; let prVerifyRebate=pagenter.verifyRebate2; yield pagenter.saveAsync(); // console.warn("代理上级返利写分+++++pagenter.saveAsync()"); // 锁定返利记录 if(pverifyBool && pverifyRebate>0) { //至此可以进行日结算了,在奖励记录表里增加日结类型(type=3)的记录, var pverifyrebateRecord = new this.app.models.RebateRecord({ _id: uuid.v1(), agentId:parentId, tableId: '', rType: 5, rCount: prCount, rOther: prOther, rAll: prAll, rNow: prNow, rOut: prOut, rSwap: pverifyRebate, rDateSwap: dateRebate, rVerifyDate: pverifyDate, rVerifyRebate: 0 }); yield pverifyrebateRecord.saveAsync(); // console.warn("代理上级日结写分+++++pverifyrebateRecord.saveAsync()"); } // 返利记录 var prebateRecord = new this.app.models.RebateRecord({ _id: uuid.v1(), agentId:parentId, tableId: agentId, rType: 4, rCount: prCount, rOther: prOther, rAll: prAll, rNow: prNow, rOut: prOut, rSwap: pagentRebate2, rDateSwap: dateRebate, rVerifyDate: prVerifyDate, rVerifyRebate: prVerifyRebate }); yield prebateRecord.saveAsync(); // console.warn("保存该局推广的上级返利增加信息+++++prebateRecord.saveAsync()"); } } //下面是该局有消耗且该局有推广员的话记录PlayerCount表 let users = _users; // console.warn("下面是该局有消耗且该局有推广员的话记录PlayerCount表 "+users.length); let date=this.getzdLDSJC(endtime) for (var i = 0; i < users.length; i++) { if(!users[i]) continue; let user = users[i]; // console.warn("下面是该局有消耗且该局有推广员的话记录PlayerCount表 user "+JSON.stringify(user)); let cost = user.gameCost+user.giftCost; let countid=agentId+'-'+user.userId+'-'+date; let gameRebate = Math.floor(parseInt(cost*jcbl)); var oldplayercount = yield this.app.models.PlayerCount.findByIdAsync(countid,'gameCount gameCost agentRebate time'); if (oldplayercount) { oldplayercount.gameCount+=1; oldplayercount.gameCost+=cost; oldplayercount.agentRebate+=gameRebate; oldplayercount.time=Date.now(); yield oldplayercount.saveAsync(); } else { var newplayercount = new this.app.models.PlayerCount({ _id: countid, agentId:agentId, playerId: user._id, userId: user.userId, name: user.name, date: date, gameCount: 1, gameCost: cost, agentRebate: gameRebate, time:Date.now() }); yield newplayercount.saveAsync(); } // console.warn("保存该局该玩家的playercount信息+++++playercount.saveAsync()"); } ////下面是在每一局结束之后统计该局推广员当日信息 let opts = { agentId: agentId, verifyDate: nowverifyDate, }; var rqflList = yield this.app.models.DateRebateRecord.findMongoAsync(opts, 'verifyRebate dateRebate parentRebate allGameCost allGiftCost allGameTimes1 allGameTimes2 allGameTimes3 allGameTimes4 allPlayerCount'); if (rqflList.length < 2){ let allPlayerCount = 0;// 该日期该推广活跃玩家个数 let opts1 = {agentId: agentId,date: nowverifyDate}; allPlayerCount = yield this.app.models.PlayerCount.countMongoAsync(opts1);//由于上面刚刚写入PlayerCount所以这个数据是不准确的 // console.warn("该日期该推广活跃玩家个数111 "+allPlayerCount+" nowverifyDate "+nowverifyDate +" agentId "+agentId); if (rqflList.length == 0) { let allGameCost = gameCost; // 该日期该推广产生的总游戏消耗 let allGiftCost = giftCost; // 该日期该推广产生的总礼物消耗 let allGameTimes1 = 0; // 该日期该推广产生的总游戏次数 let allGameTimes2 = 0; // 该日期该推广产生的总游戏次数 let allGameTimes3 = 0; // 该日期该推广产生的总游戏次数 let allGameTimes4 = 0; // 该日期该推广产生的总游戏次数 if(gameId == 10006) allGameTimes1+=1;// 湖南长沙 else if(gameId == 10007) allGameTimes2+=1;// 湖南红中 else if(gameId == 10008) allGameTimes3+=1; // 湖南跑得快 else if(gameId == 10009) allGameTimes4+=1; // 湖南跑胡子 var newdaterebateRecord = new this.app.models.DateRebateRecord({ _id: uuid.v1(), // UUID agentId:agentId, // 代理标识 verifyDate: nowverifyDate, // 数据的日期 verifyRebate: agentRebate2, // 该日期自己的返利,单位是钻石,已乘过自己比例 dateAgentRate: dateAgentRate, // 该日期额外返利的比例 dateRebate: dateRebate, // 该日期 额外返利金额 dateRewardRate: rewardRate, // 该日期该推广自己的返利的比例 parentaId: parentId, // 代理上级的标识 dateParentRate: parentRate, // 该日期该推广上级的返利的比例 parentRebate: pagentRebate2, // 该日期 该推广上级的返利金额 allGameCost: allGameCost, // 该日期该推广产生的总游戏消耗 allGiftCost: allGiftCost, // 该日期该推广产生的总礼物消耗 allGameTimes1: allGameTimes1, // 该日期该推广产生的总游戏1次数 allGameTimes2: allGameTimes2, // 该日期该推广产生的总游戏2次数 allGameTimes3: allGameTimes3, // 该日期该推广产生的总游戏3次数 allGameTimes4: allGameTimes4, // 该日期该推广产生的总游戏4次数 allPlayerCount: allPlayerCount, // 该日期该推广活跃玩家个数 }); yield newdaterebateRecord.saveAsync(); } else if (rqflList.length == 1) { rqflList[0].verifyRebate += agentRebate2; rqflList[0].dateRebate += dateRebate; rqflList[0].parentRebate += pagentRebate2; rqflList[0].allGameCost += gameCost; rqflList[0].allGiftCost += giftCost; if(gameId == 10006) rqflList[0].allGameTimes1+=1;// 湖南长沙 else if(gameId == 10007) rqflList[0].allGameTimes2+=1;// 湖南红中 else if(gameId == 10008) rqflList[0].allGameTimes3+=1; // 湖南跑得快 else if(gameId == 10004) rqflList[0].allGameTimes4+=1; // 湖南跑胡子 rqflList[0].allPlayerCount = allPlayerCount;//活跃人数 yield rqflList[0].saveAsync(); } } else{ let str3 = "该局推广员当日信息错误.......gameId: "+ gameId + " recordid: " + recordid + " agentId: " + agentId + " endtime: " + endtime; logger.warn(str3);////cssj } ////上面是在每一局结束之后统计该局推广员当日信息 ////下面是按照日结的方式第二天统计前一天的推广员当日信息 // if(verifyBool && verifyRebate>0) // { // //在可以日结的时候记录日结日期返利记录表里增加记录 // let parentRebate = 0; // 该日期 该推广上级的返利金额 // let allGameCost = 0; // 该日期该推广产生的总游戏消耗 // let allGiftCost = 0; // 该日期该推广产生的总礼物消耗 // let allGameTimes1 = 0; // 该日期该推广产生的总游戏次数 // let allGameTimes2 = 0; // 该日期该推广产生的总游戏次数 // let allGameTimes3 = 0; // 该日期该推广产生的总游戏次数 // let allGameTimes4 = 0; // 该日期该推广产生的总游戏次数 // let allPlayerCount = 0;// 该日期该推广活跃玩家个数 // let opts1 = { // agentId: agentId, // time: { $gte: verifyDate, $lt: verifyDate+86400000} // }; // var jrList1 = yield this.app.models.FHMJTables.findMongoAsync(opts1, 'gameId gameCost giftCost'); // for (let i = 0; i < jrList1.length; i++){ // allGameCost += jrList1[i].gameCost; // 该日期该推广产生的总游戏消耗 // allGiftCost += jrList1[i].giftCost; // 该日期该推广产生的总礼物消耗 // if(jrList1[i].gameId == 10006) allGameTimes1+=1;// 湖南长沙 // else if(jrList1[i].gameId == 10007) allGameTimes2+=1;// 湖南红中 // else if(jrList1[i].gameId == 10008) allGameTimes3+=1; // 湖南跑得快 // else if(jrList1[i].gameId == 10009) allGameTimes4+=1; // 湖南跑胡子 // } // let opts = {agentId: agentId,date: verifyDate}; // allPlayerCount = yield this.app.models.PlayerCount.countMongoAsync(opts) // let opts2 = { // agentId: parentId, // rType: 4, // tableId: agentId, // rVerifyDate: { $gte: verifyDate, $lt: verifyDate+86400000} // }; // var jrList2 = yield this.app.models.RebateRecord.findMongoAsync(opts2, 'gameId gameCost giftCost'); // for (let i = 0; i < jrList2.length; i++){ // parentRebate += jrList2[i].rSwap; // 该日期该推广给上级产生的贡献 // } // var daterebateRecord = new this.app.models.DateRebateRecord({ // _id: uuid.v1(), // agentId:agentId, // verifyDate: verifyDate, // verifyRebate: verifyRebate, // dateAgentRate: dateAgentRate, // dateRebate: dateRebate, // dateRewardRate: rewardRate, // 进行日结当日该推广自己的返利的比例 // parentaId: parentId, // 代理上级的标识 // dateParentRate: parentRate, // 进行日结当日该推广上级的返利的比例 // parentRebate: parentRebate, // 该日期 该推广上级的返利金额 // allGameCost: allGameCost, // 该日期该推广产生的总游戏消耗 // allGiftCost: allGiftCost, // 该日期该推广产生的总礼物消耗 // allGameTimes1: allGameTimes1, // 该日期该推广产生的总游戏1次数 // allGameTimes2: allGameTimes2, // 该日期该推广产生的总游戏2次数 // allGameTimes3: allGameTimes3, // 该日期该推广产生的总游戏3次数 // allGameTimes4: allGameTimes4, // 该日期该推广产生的总游戏4次数 // allPlayerCount: allPlayerCount, // 该日期该推广活跃玩家个数 // }); // yield daterebateRecord.saveAsync(); // console.warn("保存该局推广的日统计+++++daterebateRecord.saveAsync()"); // } } let str4 = "该局推广数据写入完成.......gameId: "+ gameId + " recordid: " + recordid + " agentId: " + agentId + " endtime: " + endtime; logger.warn(str4);////cssj // return true; }); ////该局有消耗且该局有推广员的话记录PlayerCount表 // proto.writePlayerCountInfo = P.coroutine(function* (_agentId,_etime,_users,_cost,_isGameOk,_gameId) { // console.warn("该局有消耗且该局有推广员的话记录PlayerCount表 _gameId "+_gameId+" _cost "+_cost+" _isGameOk "+_isGameOk) // console.warn("该局有消耗且该局有推广员的话记录PlayerCount表 _users "+JSON.stringify(_users)) // let agentId = _agentId; // let endtime = _etime; // let users = _users; // let cost = _cost; // let date=this.getzdLDSJC(endtime) // for (var i = 0; i < users.length; i++) { // if(!users[i]) continue; // let user = users[i]; // let countid=agentId+'-'+user.userId+'-'+date; // var playercount = yield this.app.models.PlayerCount.findByIdAsync(countid,'gameCount gameCost agentRebate time'); // if (playercount) // { // playercount.gameCount+=1; // playercount.gameCost+=cost; // playercount.agentRebate+=gameRebate; // playercount.time=Date.now(); // } // else // { // playercount = new this.app.models.PlayerCount({ // _id: countid, // agentId:agentId, // playerId: user._id, // userId: user.userId, // name: user.name, // date: date, // gameCount: 1, // gameCost: cost, // agentRebate: gameRebate, // time:Date.now() // }); // } // yield playercount.saveAsync(); // } // return true; // }); //在玩家站起的时候更新该局推广员当日信息表中的allPlayerCount数据, //原因是游戏结束的时候写入这个表之前刚刚写过playerCount这个表,导致读取playerCount的数据不准确(没有本局的数据), //所以在玩家站起之后再读取playerCount去更新该局推广员当日信息表中的allPlayerCount数据 proto.updateDaterebateRecord = P.coroutine(function* (_agentId,_etime) { let agentId = _agentId; let endtime = _etime; let nowverifyDate=this.getzdLDSJC(endtime); let opts = { agentId: agentId, verifyDate: nowverifyDate, }; var rqflList = yield this.app.models.DateRebateRecord.findMongoAsync(opts, 'allPlayerCount'); if (rqflList.length < 2){ let allPlayerCount = 0;// 该日期该推广活跃玩家个数 let opts1 = {agentId: agentId,date: nowverifyDate}; allPlayerCount = yield this.app.models.PlayerCount.countMongoAsync(opts1) // console.warn("该日期该推广活跃玩家个数222 "+allPlayerCount+" nowverifyDate "+nowverifyDate +" agentId "+agentId); if (rqflList.length == 1) { // console.warn("该日期该推广活跃玩家个数333 "+allPlayerCount+" rqflList[0].allPlayerCount "+rqflList[0].allPlayerCount ); if(rqflList[0].allPlayerCount != allPlayerCount){ rqflList[0].allPlayerCount = allPlayerCount;//活跃人数 yield rqflList[0].saveAsync(); // console.warn("该日期该推广活跃玩家个数333 "); } } } else{ let str3 = "该局推广员当日信息错误222.......gameId: "+ gameId + " recordid: " + recordid + " agentId: " + agentId + " endtime: " + endtime; logger.warn(str3);////cssj } return true; }); //TL++,得到指定时间戳(_time)当日0点的时间戳 proto.getzdLDSJC = function (_time){ var today = new Date(_time); today.setHours(0); today.setMinutes(0); today.setSeconds(0); today.setMilliseconds(0); let jrsjc = today.getTime(); // console.warn("111得到今日0点的时间戳 ",jrsjc, typeof jrsjc); return jrsjc; }; //TL++,得到今日0点的时间戳 proto.getTodaySJC = function (){ var today = new Date(); today.setHours(0); today.setMinutes(0); today.setSeconds(0); today.setMilliseconds(0); let jrsjc = today.getTime(); // console.warn("111得到今日0点的时间戳 ",jrsjc, typeof jrsjc); return jrsjc; }; //TL++,得到是否是比赛链接 proto.getIsBS = function (agentId,ownerName,ownerUid){ let aidsub = agentId.substr(0, 9); let bsIndex = aidsub.indexOf("promote_"); if(bsIndex != -1 && ownerName == "系统比赛" && ownerUid == 0) return true; return false; };