var xRebate = xRebate || {}; xRebate.gameRebate = function(o_room){ var maxgrade = 0; var maxseat = []; for (var i = 0; i < o_room.seatlist.length; i++){ if (o_room.seatlist[i] && o_room.seatlist[i].gameinfo.isbet){ if (o_room.seatlist[i].gameinfo.grade > maxgrade){ maxgrade = parseInt(o_room.seatlist[i].gameinfo.grade); maxseat = [i]; } else if (o_room.seatlist[i].gameinfo.grade == maxgrade){ maxseat.push(i); } } } var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid); var rebateLimit = 0; if(o_room.advanced_type){ if(o_room.owner){ var o_player1 = o_agentsvr_agent.method.find_player(o_room.owner.playerid); for (var i = 0; i < o_player1.roomcodes.length; i++) { if (o_player1.roomcodes[i].gameid == o_room.o_game.gameid) { if(o_player1.roomcodes[i].rebateLimit){ rebateLimit = o_player1.roomcodes[i].rebateLimit; } break; } } } } //console.log(rebateLimit); if (!o_room.roommode){ //非星星场短号房要结算魅力值 try{ //百人场无大局魅力值抽成 if (o_room.advanced_type && o_room.o_game.gameid != "Btke0urRy0cvPd5CIvD5yfhYhKhdSdex"){ var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid); var o_agentsvr_owner = o_agentsvr_agent.method.find_player(o_room.owner.playerid); if (o_agentsvr_owner.whitelist && o_agentsvr_owner.whitelist.length > 0){ var rebateConfig = youle_room.app.youle_platform.config.method.get_paravalue("rebateConfig", o_room.o_game.o_agent.agentid); var rCharm = 0; var maxgrade1 = 0; var maxseat1 = []; var rcTemp = false; if(rebateConfig){ if(rebateConfig.rebateCharm && o_room.rebateType){ //rCharm = parseInt(o_room.rebateNumber/maxseat.length); rCharm = o_room.rebateNumber; var _seatlist = []; for (var i = 0; i < o_room.seatlist.length; i++) { //if (o_room.seatlist[i]. != null){ if (o_room.seatlist[i]){ var _player = {}; _player.seat = i; _player.playerid = o_room.seatlist[i].playerid; _player.change = 0; for (var j = 0; j < o_agentsvr_owner.whitelist.length; j++) { if (o_agentsvr_owner.whitelist[j][0] == _player.playerid){ if (o_agentsvr_owner.whitelist[j][2]){ //o_agentsvr_owner.whitelist[j][2] = parseInt(o_agentsvr_owner.whitelist[j][2]) + ary_grade[i]; if(o_room.seatlist[i].gameinfo.grade == maxgrade){ if(rebateLimit < o_room.seatlist[i].gameinfo.grade - rCharm){ o_agentsvr_owner.whitelist[j][2] = parseInt(o_agentsvr_owner.whitelist[j][2]) - rCharm; _player.change = -rCharm; } } } else { if(o_room.seatlist[i].gameinfo.grade == maxgrade){ if(rebateLimit < o_room.seatlist[i].gameinfo.grade - rCharm){ o_agentsvr_owner.whitelist[j][2] = -rCharm; _player.change = -rCharm; } } } _player.charm = o_agentsvr_owner.whitelist[j][2]; break; } } _seatlist.push(_player); } //} } var msg = {}; msg.app = "youle"; msg.route = "agent"; msg.rpc = "update_charm"; msg.data = {}; msg.data.seatlist = _seatlist; o_room.method.sendpack_toother(msg, -1); var writeDB = true; if(o_room.o_game.gameid){ var config_vipConfig = youle_agent.app.youle_platform.config.method.get_paravalue("vipConfig", o_room.o_game.o_agent.agentid, o_room.o_game.gameid); if(config_vipConfig){ var vipIndex = min_ary_indexof(config_vipConfig,o_room.shortcode,"0"); if(vipIndex > -1){ if(config_vipConfig[vipIndex][1]){ writeDB = false; } } } } writeDB = true; if(writeDB){ var sql = "update player set play_whitelist = ? where play_agentid = ? and play_playerid = ?"; youle_room.mysql.execsql("execsql", sql, [youle_agent.compressWhiteList(o_agentsvr_owner.whitelist), o_room.o_game.o_agent.agentid, o_room.owner.playerid]); } } } } } }catch(e){ console.log("结算短号魅力值发生错误"); console.log(e); } } //只支持倍数百分比抽成 //抽成参数 var rebateConfig = youle_room.app.youle_platform.config.method.get_paravalue("rebateConfig", o_room.o_game.o_agent.agentid); if(!rebateConfig){ return; } //小局抽成设置 //var aset_rebate = youle_room.app.youle_platform.config.method.get_paravalue("aset_rebate", o_room.o_game.o_agent.agentid); //是否需要抽成 var rebateTemp = false; if(!o_room.asetRebate){ rebateTemp = true; } //vip房卡房是否扣魅力值 var rebateCharm = rebateConfig.rebateCharm; //扣除模式 1.大赢家 2.赢家 3.所有人 var rebateFrom = rebateConfig.from; //房间倍数 var beanmult = 1; //金币房 if(o_room.roommode){ beanmult = youle_agent.import.createroom_beanmult(o_room.o_game, o_room.roomtype); } if(!beanmult){ beanmult = 1; } //配置扣除数量 var sysRebateValue = parseInt(rebateConfig.value * beanmult /100); var agentid = o_room.o_game.o_agent.agentid; var gameid = o_room.o_game.gameid; var roomcode = o_room.roomcode; var createtime = o_room.createtime; var makewartime = o_room.makewartime; var roommode = o_room.roommode; var ownerid = o_room.owner.playerid; var shortcode = 0; if (o_room.shortcode){ shortcode = o_room.shortcode; } var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype); var asetcount = o_room.asetcount; var rebateTo = 0; var rebateMode = 2; var roomMode = 0; //房间收取房间费的值 var rebateValue = sysRebateValue; if(!o_room.roommode){ if(!o_room.advanced_type){ }else{ rebateFrom = 1; if(rebateCharm && o_room.rebateType){ roomMode = 1; } if(o_room.advanced_teabean){ if(sysRebateValue < o_room.advanced_teabean){ rebateMode = 3; rebateValue = o_room.advanced_teabean; } } } }else{ if(!o_room.advanced_type){ var tea = youle_room.import.owner_beanpush(o_room.o_game, o_room.roomtype); if(tea){ if(sysRebateValue < tea){ rebateMode = 3; rebateValue = tea; } } }else{ if(o_room.advanced_teabean){ if(sysRebateValue < o_room.advanced_teabean){ rebateMode = 3; rebateValue = o_room.advanced_teabean; } } } } //每个人扣除的数量 var rebateReal = rebateValue; //通过扣除模式得出每个人扣的数量 switch(rebateFrom){ //大赢家 case 1: rebateReal = parseInt(rebateValue / maxseat.length);//多个大赢家均摊房间费 sysRebateValue = parseInt(sysRebateValue / maxseat.length);//多个大赢家均摊房间费 break; //赢家 case 2: break; //所有人 case 3: break; default: break; } var ownergarde = 0; //var rebateSum = 0;//总共扣除的房间费 //console.log(o_room.seatlist); //if(rebateReal){ var ownerid = null; var pushCount = 0; if(o_room.owner){ ownerid = o_room.owner.playerid; } //console.log("sysRebateValue",sysRebateValue); //console.log("rebateReal",rebateReal); for (var i = 0; i < o_room.seatlist.length; i++) { if (o_room.seatlist[i]){ var o_player = o_room.seatlist[i]; if (o_player.gameinfo.isbet) { var o_agentsvr_player = o_agentsvr_agent.method.find_player(o_player.playerid); var roomcard = 0; if (playerid == o_room.owner.playerid){ roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype); } else { roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype); } if (o_player.playerid == o_room.owner.playerid) { ownergarde = o_player.gameinfo.grade; } var isRebate = false; switch(rebateFrom){ //大赢家 case 1: if(o_player.gameinfo.grade == maxgrade && rebateLimit < o_player.gameinfo.grade){ isRebate = true; } break; //赢家 case 2: if(o_player.gameinfo.grade > 0 && rebateLimit < o_player.gameinfo.grade){ isRebate = true; } break; //所有人 case 3: isRebate = true; break; default: break; } //console.log("playerid:"+o_player.playerid+"grade:"+o_player.gameinfo.grade+"isRebate:"+isRebate); //房间id = 时间戳 + 4位随机码 + 房号 var roomid = new Date().getTime() + min_randomChar(4) + o_room.roomcode; var datatime = min_now(); //达成抽成条件 if(isRebate && rebateTemp){ //rebateSum += rebateReal; if(!roomMode){ var msg = {}; msg.app = youle_room.app.appname; msg.route = youle_room.app.youle_agent.routename; msg.rpc = "update_bean"; msg.data = {}; msg.data.agentid = agentid; msg.data.playerid = o_player.playerid; if(o_room.roommode){ msg.data.change = o_player.gameinfo.grade; }else{ msg.data.change = 0; } var nBean = rebateReal - msg.data.change; var sysBean = 0; //console.log("o_player.bean",o_player.bean,"nBean",nBean); if(o_player.bean >= nBean){ if(ownerid == o_agentsvr_player.playerid){ msg.data.pushbean = 0; }else{ if(o_room.roommode){ msg.data.pushbean = -1 * rebateReal; // pushCount += rebateReal; sysBean = sysRebateValue; pushCount = pushCount + (rebateReal - sysRebateValue); }else{ msg.data.pushbean = -1 * rebateReal; //sysBean = sysRebateValue; pushCount = pushCount + rebateReal; } } }else{ msg.data.pushbean = 0; } msg.data.gameid = gameid; msg.data.showrebate = 0; youle_room.app.youle_agent[msg.rpc](msg); var roommode = 0; //玩家房间 if (o_room.sysroom) { roommode = 1; //系统房间 } var createtime = o_room.createtime; var beanmult = 0; if (o_room.beanmult){ beanmult = o_room.beanmult; } var ownerid = o_room.owner.playerid; var shortcode = 0; if (o_room.shortcode){ shortcode = o_room.shortcode; } var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype); var playerid = o_player.playerid; var isrobot = o_player.isrobot; var grade = o_player.gameinfo.grade; var roomcard = 0; if (playerid == o_room.owner.playerid){ roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype); } else { roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype); } var asetcount = o_room.asetcount; var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid); var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid); var invitecode = __o_agentsvr_player.invitecode; var inviteid = __o_agentsvr_player.inviteid; var marketid = __o_agentsvr_player.marketid; var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"; youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, isrobot, grade, rebateFrom, rebateTo, '', rebateMode, sysBean, sysBean, datatime, invitecode, inviteid, marketid]); } // else{ // //修改房卡数量 // var msg2 = {}; // msg2.data={}; // msg2.data.agentid = agentid; // msg2.data.playerid = o_player.playerid; // msg2.data.change = -1*rebateReal; // xRebate.update_roomcard(msg2); // } }else{ var msg = {}; msg.app = youle_room.app.appname; msg.route = youle_room.app.youle_agent.routename; msg.rpc = "update_bean"; msg.data = {}; msg.data.agentid = agentid; msg.data.playerid = o_player.playerid; if(o_room.roommode){ msg.data.change = o_player.gameinfo.grade; }else{ msg.data.change = 0; } msg.data.pushbean = 0; msg.data.gameid = gameid; msg.data.showrebate = 1; youle_room.app.youle_agent[msg.rpc](msg); var roommode = 0; //玩家房间 if (o_room.sysroom) { roommode = 1; //系统房间 } var createtime = o_room.createtime; var beanmult = 0; if (o_room.beanmult){ beanmult = o_room.beanmult; } var ownerid = o_room.owner.playerid; var shortcode = 0; if (o_room.shortcode){ shortcode = o_room.shortcode; } var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype); var playerid = o_player.playerid; var grade = o_player.gameinfo.grade; var roomcard = 0; if (playerid == o_room.owner.playerid){ roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype); } else { roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype); } var isrobot = o_player.isrobot; var asetcount = o_room.asetcount; var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid); var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid); var invitecode = __o_agentsvr_player.invitecode; var inviteid = __o_agentsvr_player.inviteid; var marketid = __o_agentsvr_player.marketid; var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"; youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, isrobot, grade, 0, rebateTo, '', rebateMode, 0, 0, datatime, invitecode, inviteid, marketid]); } } } } //console.log("pushCount",pushCount); if(pushCount){ var msg = {}; msg.app = youle_room.app.appname; msg.route = youle_room.app.youle_agent.routename; msg.rpc = "update_bean"; msg.data = {}; msg.data.agentid = agentid; msg.data.playerid = ownerid; msg.data.change = 0; msg.data.pushbean = pushCount; msg.data.gameid = gameid; msg.data.showrebate = 0; msg.data.type = 6; youle_room.app.youle_agent[msg.rpc](msg); var roommode = 0; //玩家房间 if (o_room.sysroom) { roommode = 1; //系统房间 } var createtime = o_room.createtime; var beanmult = 0; if (o_room.beanmult){ beanmult = o_room.beanmult; } var ownerid = o_room.owner.playerid; var shortcode = 0; if (o_room.shortcode){ shortcode = o_room.shortcode; } var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype); var playerid = ownerid; var grade = 0; var roomcard = 0; if (playerid == o_room.owner.playerid){ roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype); } else { roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype); } var asetcount = o_room.asetcount; var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid); var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid); var invitecode = __o_agentsvr_player.invitecode; var inviteid = __o_agentsvr_player.inviteid; var marketid = __o_agentsvr_player.marketid; var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"; youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, 0, grade, rebateFrom, 1, ownerid, rebateMode, pushCount, pushCount, datatime, invitecode, inviteid, marketid]); } //} } //修改房卡 xRebate.update_roomcard = function(pack){ var agentid = pack.data.agentid; var playerid = pack.data.playerid; var change = parseInt(pack.data.change); //查找代理商 var o_agent = youle_agent.agents.method.find_agent(agentid); if (!o_agent) { pack.data = {}; pack.data.result = 1; pack.data.error = "agentid不存在"; return pack; }; var db_callback = function(dbdata){ if (dbdata[0].result == 0){ var o_player = o_agent.method.find_player(playerid); if (o_player){ o_player.method.update_roomcard(0, parseInt(dbdata[0].roomcard), change,"房间费"); } pack.data.result = 0; } else { pack.data = {}; pack.data.result = dbdata[0].result; pack.data.error = dbdata[0].error; } youle_agent.app.SendPack(pack); } var sql = "call cp_game_update_roomcard(?,?,?);"; youle_agent.mysql.execsql("opensql", sql, [agentid, playerid, change], db_callback); } //百人vip房抽成 xRebate.gameRebate2 = function(o_room,ary_grade){ var ary_grade1=[]; for(var i=0;i maxgrade){ maxgrade = ary_grade[i]; maxseat = [i]; } else if (ary_grade[i] == maxgrade){ maxseat.push(i); } if(ary_grade[i] < 0){ rbtTemp = true; } } } //统计总共参与游戏人数 var ownerid = null; if(o_room.owner){ ownerid = o_room.owner.playerid; } var gameCount = 0; for (var i = 0; i < ary_grade.length; i++) { if (o_room.seatlist[i] && ary_grade[i] != null){ var o_player = o_room.seatlist[i]; //console.log("ccc",o_player.playerid,o_player.gameinfo.isbet); if (o_player.gameinfo.isbet && ownerid != o_player.playerid) { gameCount++; } } } if(!rbtTemp){ return ary_grade; } //只支持倍数百分比抽成 //抽成参数 //小局抽成设置 //var aset_rebate = youle_room.app.youle_platform.config.method.get_paravalue("aset_rebate", o_room.o_game.o_agent.agentid); //扣除模式 1.大赢家 2.赢家 3.所有人 // var rebateFrom = rebateConfig.from; var rebateFrom = 1; var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid); //配置扣除数量 var sysRebateValue = o_room.rebateNumber; var sysRebateValue1 = o_room.sysRebateValue; var agentid = o_room.o_game.o_agent.agentid; var gameid = o_room.o_game.gameid; var roomcode = o_room.roomcode; var createtime = o_room.createtime; var makewartime = o_room.makewartime; var roommode = o_room.roommode; var ownerid = o_room.owner.playerid; var shortcode = 0; if (o_room.shortcode){ shortcode = o_room.shortcode; } var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype); var asetcount = o_room.asetcount; var rebateTo = 0; var rebateMode = 2; var roomMode = 0; //房间收取房间费的值 var rebateValue = sysRebateValue; //每个人扣除的数量 var rebateReal = rebateValue; //通过扣除模式得出每个人扣的数量 switch(rebateFrom){ //大赢家 case 1: if(maxseat.length>0){ rebateReal = parseInt(rebateValue / maxseat.length);//多个大赢家均摊房间费 sysRebateValue1 = parseInt(sysRebateValue1 / maxseat.length);//多个大赢家均摊房间费 } break; //赢家 case 2: break; //所有人 case 3: break; default: break; } var ownergarde = 0; var brNumber = youle_room.app.youle_platform.config.method.get_paravalue("brNumber",o_room.o_game.o_agent.agentid); var brRebateUnit = youle_room.app.youle_platform.config.method.get_paravalue("brRebateUnit",o_room.o_game.o_agent.agentid); var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid); var o_agentsvr_owner = o_agentsvr_agent.method.find_player(o_room.owner.playerid); //var o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid); var rebateLimit = 0; if(o_room.advanced_type){ if(o_room.owner){ var o_player1 = o_agentsvr_agent.method.find_player(o_room.owner.playerid); for (var i = 0; i < o_player1.roomcodes.length; i++) { if (o_player1.roomcodes[i].gameid == o_room.o_game.gameid) { if(o_player1.roomcodes[i].rebateLimit){ rebateLimit = o_player1.roomcodes[i].rebateLimit; } break; } } } } if(!rebateLimit){ rebateLimit = 0; } console.log(rebateLimit); if(brRebateUnit){ brRebateUnit = Number(brRebateUnit); }else{ brRebateUnit = 10000; } var brNumber1 = 0; if(brNumber && brRebateUnit != 0){ brNumber = Number(brNumber); //brNumber = brNumber*(parseInt(gameCount / brRebateUnit) + 1); //parseInt(gameCount / brRebateUnit) < 1 ? brNumber = brNumber*parseInt(gameCount / brRebateUnit) : brNumber = brNumber*(parseInt(gameCount / brRebateUnit) + 1); if(parseInt(gameCount / brRebateUnit) > 1){ brNumber = brNumber*parseInt(gameCount / brRebateUnit); } } //console.log("gameCount",gameCount,"brRebateUnit",brRebateUnit); if(brNumber){ //brNumber = Number(brNumber); //房主扣除房间费 金币 var agentid = o_room.o_game.o_agent.agentid; var o_player = o_agentsvr_owner; var gameid = o_room.o_game.gameid; var datatime = min_now(); var msg = {}; msg.app = youle_room.app.appname; msg.route = youle_room.app.youle_agent.routename; msg.rpc = "update_bean"; msg.data = {}; msg.data.agentid = agentid; msg.data.playerid = o_player.playerid; msg.data.change = 0; msg.data.pushbean = -1 * brNumber; msg.data.gameid = gameid; msg.data.showrebate = 0; youle_room.app.youle_agent[msg.rpc](msg); var pBean = o_player.bean; //console.log("pBean",pBean); var roommode = 0; //玩家房间 // if (o_room.sysroom) { // roommode = 1; //系统房间 // } var createtime = o_room.createtime; var beanmult = 0; if (o_room.beanmult){ beanmult = o_room.beanmult; } var ownerid = o_room.owner.playerid; // var shortcode = 0; // if (o_room.shortcode){ // shortcode = o_room.shortcode; // } var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype); var playerid = o_player.playerid; var grade = o_player.gameinfo.grade; var roomcard = 0; if (playerid == o_room.owner.playerid){ roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype); } else { roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype); } var roomid = new Date().getTime() + min_randomChar(4) + o_room.roomcode; var roomcode = o_room.roomcode; var asetcount = o_room.asetcount; var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid); var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid); var invitecode = __o_agentsvr_player.invitecode; var inviteid = __o_agentsvr_player.inviteid; var marketid = __o_agentsvr_player.marketid; var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"; youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, 0, 0, 4, 2, '', 3, brNumber, brNumber, datatime, invitecode, inviteid, marketid]); } var rbType = o_room.rebateType; try{ if (o_room.shortcode){ if (o_agentsvr_owner.whitelist && o_agentsvr_owner.whitelist.length > 0){ var rebateConfig = youle_room.app.youle_platform.config.method.get_paravalue("rebateConfig", o_room.o_game.o_agent.agentid); var rCharm = 0; var maxgrade1 = 0; var maxseat1 = []; var rcTemp = false; if(maxseat.length>0){ rCharm = parseInt(o_room.rebateNumber/maxseat.length); }else{ rCharm = parseInt(o_room.rebateNumber); } // if(rebateConfig){ // if(rebateConfig.rebateCharm && o_room.rebateType){ // rcTemp = true; // } //抽金币 // if(!o_room.rebateType){ // reTemp = true; // } // } var _seatlist = []; // console.log("ary_grade",ary_grade); // console.log("333",JSON.stringify(o_agentsvr_owner.whitelist)); // console.log("rCharm",rCharm); for (var i = 0; i < ary_grade.length; i++) { if (ary_grade[i] != null){ if (o_room.seatlist[i]){ var _player = {}; _player.seat = i; _player.playerid = o_room.seatlist[i].playerid; _player.change = 0; for (var j = 0; j < o_agentsvr_owner.whitelist.length; j++) { if (o_agentsvr_owner.whitelist[j][0] == _player.playerid){ if (o_agentsvr_owner.whitelist[j][2]){ if(rbType && ary_grade[i] == maxgrade && rebateLimit -1){ if(config_vipConfig[vipIndex][1]){ writeDB = false; } } } } writeDB = true; if(writeDB){ var sql = "update player set play_whitelist = ? where play_agentid = ? and play_playerid = ?"; youle_room.mysql.execsql("execsql", sql, [youle_agent.compressWhiteList(o_agentsvr_owner.whitelist), o_room.o_game.o_agent.agentid, o_room.owner.playerid]); } } } }catch(e){ console.log("结算短号魅力值发生错误"); console.log(e); } //var rebateSum = 0;//总共扣除的房间费 //console.log("seatlist",o_room.seatlist); //console.log("rebateReal",rebateReal); //console.log("sysRebateValue1",sysRebateValue1); var pushCount = 0; if(!o_room.rebateType){ for (var i = 0; i < ary_grade.length; i++) { if (o_room.seatlist[i] && ary_grade[i] != null){ var o_player = o_room.seatlist[i]; //console.log("ccc",o_player.playerid,o_player.gameinfo.isbet); if (o_player.gameinfo.isbet) { var o_agentsvr_player = o_agentsvr_agent.method.find_player(o_player.playerid); var roomcard = 0; if (o_player.playerid == o_room.owner.playerid){ roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype); } else { roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype); } if (o_player.playerid == o_room.owner.playerid) { ownergarde = ary_grade[i]; } var isRebate = false; switch(rebateFrom){ //大赢家 case 1: if(ary_grade[i] == maxgrade){ isRebate = true; } break; //赢家 case 2: if(ary_grade[i] > 0){ isRebate = true; } break; //所有人 case 3: isRebate = true; break; default: break; } //console.log("playerid:"+o_player.playerid+"grade:"+o_player.gameinfo.grade+"isRebate:"+isRebate); //房间id = 时间戳 + 4位随机码 + 房号 var roomid = new Date().getTime() + min_randomChar(4) + o_room.roomcode; var datatime = min_now(); //达成抽成条件 if(isRebate){ //rebateSum += rebateReal; // if(!roomMode){ var msg = {}; msg.app = youle_room.app.appname; msg.route = youle_room.app.youle_agent.routename; msg.rpc = "update_bean"; msg.data = {}; msg.data.agentid = agentid; msg.data.playerid = o_player.playerid; if(o_room.roommode){ msg.data.change = o_player.gameinfo.grade; }else{ msg.data.change = 0; } var sysBean = 0; if(ownerid == o_player.playerid){ msg.data.pushbean = 0; }else{ //var nBean = rebateReal - msg.data.change; //console.log("o_player.bean",o_player.bean,"nBean",nBean); //if(o_player.bean >= nBean){ // if(rebateLimit < (ary_grade[i] - rebateReal)){ msg.data.pushbean = -1 * rebateReal; // pushCount += rebateReal; sysBean = sysRebateValue1; pushCount = pushCount + (rebateReal - sysRebateValue1); // }else{ // if(ary_grade[i] > rebateLimit){ // msg.data.pushbean = -1 * (ary_grade[i] - rebateLimit); // if(ary_grade[i] - rebateLimit > sysRebateValue1){ // pushCount = pushCount + (ary_grade[i] - rebateLimit - sysRebateValue1); // sysBean = sysRebateValue1; // }else{ // } // }else{ // msg.data.pushbean = 0; // } // } // }else{ // msg.data.pushbean = 0; // } } msg.data.gameid = gameid; msg.data.showrebate = 0; youle_room.app.youle_agent[msg.rpc](msg); var roommode = 0; //玩家房间 if (o_room.sysroom) { roommode = 1; //系统房间 } var createtime = o_room.createtime; var beanmult = 0; if (o_room.beanmult){ beanmult = o_room.beanmult; } var ownerid = o_room.owner.playerid; var shortcode = 0; if (o_room.shortcode){ shortcode = o_room.shortcode; } var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype); var playerid = o_player.playerid; var grade = o_player.gameinfo.grade; var roomcard = 0; if (playerid == o_room.owner.playerid){ roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype); } else { roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype); } var asetcount = o_room.asetcount; var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid); var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid); var isrobot = o_player.isrobot; var invitecode = __o_agentsvr_player.invitecode; var inviteid = __o_agentsvr_player.inviteid; var marketid = __o_agentsvr_player.marketid; var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"; youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, isrobot, grade, rebateFrom, 0, '', rebateMode, sysBean, sysBean , datatime, invitecode, inviteid, marketid]); // } } } } } //console.log("pushCount",pushCount); if(pushCount){ var ownerid = o_room.owner.playerid; var msg = {}; msg.app = youle_room.app.appname; msg.route = youle_room.app.youle_agent.routename; msg.rpc = "update_bean"; msg.data = {}; msg.data.agentid = agentid; msg.data.playerid = ownerid; msg.data.change = 0; msg.data.pushbean = pushCount; msg.data.gameid = gameid; msg.data.showrebate = 0; msg.data.type = 6; youle_room.app.youle_agent[msg.rpc](msg); var roommode = 0; //玩家房间 if (o_room.sysroom) { roommode = 1; //系统房间 } var createtime = o_room.createtime; var beanmult = 0; if (o_room.beanmult){ beanmult = o_room.beanmult; } var shortcode = 0; if (o_room.shortcode){ shortcode = o_room.shortcode; } var deductmode = youle_room.import.deduct_roomcard_mode(o_room.o_game, o_room.roomtype); var playerid = ownerid; var grade = 0; var roomcard = 0; if (playerid == o_room.owner.playerid){ roomcard = youle_room.import.createroom_needroomcard(o_room.o_game, o_room.roomtype); } else { roomcard = youle_room.import.joinroom_needroomcard(o_room.o_game, o_room.roomtype); } var asetcount = o_room.asetcount; var __o_agentsvr_agent = youle_agent.agents.method.find_agent(agentid); var __o_agentsvr_player = __o_agentsvr_agent.method.find_player(playerid); var invitecode = __o_agentsvr_player.invitecode; var inviteid = __o_agentsvr_player.inviteid; var marketid = __o_agentsvr_player.marketid; var sql = "insert into gold_account(goac_id,goac_agentid,goac_gameid,goac_roomcode,goac_roommode,goac_createtime,goac_beanmult,goac_ownerid,goac_shortcode,goac_deduct,goac_roomcard,goac_datatype,goac_asetcount,goac_asetnum,goac_playerid,goac_isrobot,goac_grade,goac_rebatefrom,goac_rebateto,goac_toplayerid,goac_rebatemode,goac_setvalue,goac_rebatevalue,goac_time,goac_invitecode,goac_inviteid,goac_marketid) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"; youle_room.mysql_grade.execsql("execsql", sql, [roomid, agentid, gameid, roomcode, roommode, createtime, beanmult, ownerid, shortcode, deductmode, roomcard, 0, asetcount, 0, playerid, 0, grade, rebateFrom, 1, ownerid, rebateMode, pushCount, pushCount, datatime, invitecode, inviteid, marketid]); } } //解散 if(pBean < brNumber){ breakTemp = true; youle_room.import.gameBreak(o_room); } return ary_grade1; }