目录结构调整
This commit is contained in:
865
codes/games/sales_service/youle/server_room/class.rebate.js
Normal file
865
codes/games/sales_service/youle/server_room/class.rebate.js
Normal file
@@ -0,0 +1,865 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
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){
|
||||
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){
|
||||
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 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 o_agentsvr_agent = youle_agent.agents.method.find_agent(o_room.o_game.o_agent.agentid);
|
||||
//配置扣除数量
|
||||
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){
|
||||
isRebate = true;
|
||||
}
|
||||
break;
|
||||
//赢家
|
||||
case 2:
|
||||
if(o_player.gameinfo.grade > 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 && 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{
|
||||
msg.data.pushbean = -1 *rebateReal ;
|
||||
// pushCount += rebateReal;
|
||||
sysBean = sysRebateValue;
|
||||
pushCount = pushCount + (rebateReal - sysRebateValue);
|
||||
}
|
||||
}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 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) 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, rebateTo, '', rebateMode, sysBean, sysBean, datatime]);
|
||||
}
|
||||
// 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 asetcount = o_room.asetcount;
|
||||
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) 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, 0, rebateTo, '', rebateMode, 0, 0, datatime]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//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;
|
||||
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 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) 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]);
|
||||
}
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
//修改房卡
|
||||
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<ary_grade.length;i++){
|
||||
ary_grade1.push(ary_grade[i]);
|
||||
}
|
||||
//小局抽成设置
|
||||
// var rebateConfig = youle_room.app.youle_platform.config.method.get_paravalue("aset_rebate", o_room.o_game.o_agent.agentid);
|
||||
var rebateConfig = youle_room.app.youle_platform.config.method.get_paravalue("rebateConfig", o_room.o_game.o_agent.agentid);
|
||||
if(!rebateConfig){
|
||||
return ary_grade1;
|
||||
}
|
||||
// if(!rebateConfig.infinite){
|
||||
// return ary_grade1;
|
||||
// }
|
||||
|
||||
if(o_room.o_game.gameid != "Btke0urRy0cvPd5CIvD5yfhYhKhdSdex"){
|
||||
return ary_grade1;
|
||||
}
|
||||
// if(o_room.rebateType){
|
||||
// return;
|
||||
// }
|
||||
var rbtTemp = false;//游戏是否产生了胜负
|
||||
var maxgrade = 0;
|
||||
var maxseat = [];
|
||||
for (var i = 0; i < ary_grade.length; i++){
|
||||
if (ary_grade[i]){
|
||||
ary_grade[i] = Number(ary_grade[i]);
|
||||
if (ary_grade[i] > maxgrade){
|
||||
maxgrade = ary_grade[i];
|
||||
maxseat = [i];
|
||||
} else if (ary_grade[i] == maxgrade){
|
||||
maxseat.push(i);
|
||||
}
|
||||
if(ary_grade[i] < 0){
|
||||
rbtTemp = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
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 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(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 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) 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]);
|
||||
}
|
||||
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){
|
||||
o_agentsvr_owner.whitelist[j][2] = parseInt(o_agentsvr_owner.whitelist[j][2]) - rCharm;
|
||||
ary_grade1[i] = ary_grade1[i] - rCharm;
|
||||
}
|
||||
} else {
|
||||
|
||||
if(rbType && ary_grade[i] == maxgrade){
|
||||
o_agentsvr_owner.whitelist[j][2] = -1 * rCharm;
|
||||
ary_grade1[i] = ary_grade1[i] - 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);
|
||||
// console.log("222",JSON.stringify(o_agentsvr_owner.whitelist));
|
||||
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);
|
||||
var ownerid = null;
|
||||
if(o_room.owner){
|
||||
ownerid = o_room.owner.playerid;
|
||||
}
|
||||
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){
|
||||
msg.data.pushbean = -1 * rebateReal;
|
||||
// pushCount += rebateReal;
|
||||
sysBean = sysRebateValue1;
|
||||
pushCount = pushCount + (rebateReal - sysRebateValue1);
|
||||
// }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 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) 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, rebateTo, '', rebateMode, sysBean, sysBean , datatime]);
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
//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;
|
||||
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 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) 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]);
|
||||
}
|
||||
}
|
||||
if(pBean < 2*brNumber){
|
||||
breakTemp = true;
|
||||
youle_room.import.gameBreak(o_room);
|
||||
}
|
||||
return ary_grade1;
|
||||
}
|
||||
Reference in New Issue
Block a user