Merge branch 'dev' of 47.111.118.107:/srv/git/platform into dev

master
zhengyongxing 5 years ago
commit 449a16ab13

@ -552,8 +552,13 @@ function getGameByName($game_name=null, $sdk_version=null)
if ($sdk_version) {
$map['sdk_version'] = $sdk_version;
}
$result = D("Game")->where($map)->select();
return $result;
$result = D("Game")->field('id')->where($map)->select();
if(empty($result)) {
return [['id' => -1]];
}else
{
return $result;
}
}
function getTopPromote($promote_id)
@ -596,4 +601,13 @@ function encryptStr($str) {
$stars_str = $stars_str."*";
}
return substr_replace($str, $stars_str, 3, $length-6);
}
function encryptIdCard($str) {
$length = strlen($str);
$stars_str = "";
if($length>=4){
$stars_str = "****";
}
return substr_replace($str, $stars_str, $length-4, 4);
}

@ -82,6 +82,8 @@ class AjaxController extends ThinkController{
}
if ($sdk_version) {
$map['server_version'] = $game_map['sdk_version'] = $sdk_version;
}else {
$this->AjaxReturn([]);
}
$game = M("Game", 'tab_')->where($game_map)->getField('id', true);
@ -94,6 +96,17 @@ class AjaxController extends ThinkController{
$this->AjaxReturn($data);
}
public function getGameVersion($game_name="")
{
if ($game_name) {
$map['relation_game_name'] = $game_name;
}else {
$this->AjaxReturn([]);
}
$data = M('Game','tab_')->field('sdk_version')->where($map)->select();
$this->AjaxReturn($data);
}
/**
* 获取游戏折扣
* @param $game_id

@ -11,23 +11,25 @@ class BehaviorLogController extends ThinkController
$map = [];
if (isset($params['user_account'])) {
$map['user_account'] = $params['user_account'];
$map['tab_pay_info.user_account'] = $params['user_account'];
}
if (isset($params['extend'])) {
$map['extend'] = $params['extend'];
$map['tab_pay_info.extend'] = $params['extend'];
}
if (isset($params['game_name'])) {
$game_id = ['in', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')];
$map['game_id'] = $game_id;
$game_id = ['in', array_column(getGameByName($params['game_name'], $params['sdk_version']), 'id')];
$map['tab_pay_info.game_id'] = $game_id;
}
if (isset($params['server_name'])) {
$map['server_name'] = $params['server_name'];
$game_id = M('game', 'tab_')->where(['relation_game_name' => $params['game_name'],'sdk_version' => $params['sdk_version']])->getField('id');
$server_id = M('server', 'tab_')->where(['server_name' => $params['server_name'], 'game_id' => $game_id])->getField('server_num');
$map['tab_pay_info.server_id'] = $server_id;
}
if (isset($params['user_nickname'])) {
$map['user_nickname'] = $params['user_nickname'];
if (isset($params['game_player_name'])) {
$map['tab_pay_info.game_player_name'] = $params['game_player_name'];
}
if (isset($params['game_player_id'])) {
$map['game_player_id'] = $params['game_player_id'];
$map['tab_pay_info.game_player_id'] = $params['game_player_id'];
}
@ -38,7 +40,7 @@ class BehaviorLogController extends ThinkController
$endDate = empty($params['timeend']) ? date('Y-m-d') : $params['timeend'];
$startTime = strtotime($startDate);
$endTime = strtotime($endDate) + 86399;
$map['create_time'] = array('BETWEEN', [$startTime, $endTime]);
$map['tab_pay_info.create_time'] = array('BETWEEN', [$startTime, $endTime]);
if (isset($params['promote_id'])) {
$promoteId = $params['promote_id'];
if ($promoteId == 0) {
@ -50,8 +52,13 @@ class BehaviorLogController extends ThinkController
$map['promote_id'] = ['in', $promoteIds];
}
}
$data = M('pay_info', 'tab_')->where($map)->order('id DESC')->page($p, $row)->select();
$count = M('pay_info', 'tab_')->where($map)->count();
$data = M('pay_info', 'tab_')->field('tab_pay_info.id,tab_pay_info.user_account,extend,tab_pay_info.create_time,tab_pay_info.game_name,tab_pay_info.server_name,tab_pay_info.promote_account,tab_pay_info.order_id,tab_pay_info.game_player_id,tab_pay_info.game_player_name,price,tab_server.server_name')->join('tab_server on tab_pay_info.server_id = tab_server.server_num AND tab_pay_info.game_id = tab_server.game_id')->where($map)->order('tab_pay_info.id DESC')->page($p, $row)->select();
foreach($data as $k => $v) {
if(empty($v['extend'])) {
$data[$k]['extend'] = $v['order_id'];
}
}
$count = M('pay_info', 'tab_')->join('tab_server on tab_pay_info.server_id = tab_server.server_num AND tab_pay_info.game_id = tab_server.game_id')->where($map)->count();
$page = set_pagination($count, $row);
if ($page) {
$this->assign('_page', $page);

@ -1818,31 +1818,34 @@ class ExportController extends Controller
$map = [];
if (isset($params['user_account'])) {
$map['user_account'] = $params['user_account'];
$map['tab_pay_info.user_account'] = $params['user_account'];
}
if (isset($params['extend'])) {
$map['extend'] = $params['extend'];
$map['tab_pay_info.extend'] = $params['extend'];
}
if (isset($params['game_name'])) {
$game_id = ['in', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')];
$map['game_id'] = $game_id;
$game_id = ['in', array_column(getGameByName($params['game_name'], $params['sdk_version']), 'id')];
$map['tab_pay_info.game_id'] = $game_id;
}
if (isset($params['server_name'])) {
$map['server_name'] = $params['server_name'];
$game_id = M('game', 'tab_')->where(['relation_game_name' => $params['game_name'],'sdk_version' => $params['sdk_version']])->getField('id');
$server_id = M('server', 'tab_')->where(['server_name' => $params['server_name'], 'game_id' => $game_id])->getField('server_num');
$map['tab_pay_info.server_id'] = $server_id;
}
if (isset($params['user_nickname'])) {
$map['user_nickname'] = $params['user_nickname'];
if (isset($params['game_player_name'])) {
$map['tab_pay_info.game_player_name'] = $params['game_player_name'];
}
if (isset($params['game_player_id'])) {
$map['game_player_id'] = $params['game_player_id'];
$map['tab_pay_info.game_player_id'] = $params['game_player_id'];
}
$startDate = empty($params['timestart']) ? date('Y-m-d', strtotime('-6 day', time())) : $params['timestart'];
$endDate = empty($params['timeend']) ? date('Y-m-d') : $params['timeend'];
$startTime = strtotime($startDate);
$endTime = strtotime($endDate) + 86399;
$map['create_time'] = array('BETWEEN', [$startTime, $endTime]);
if ($promoteId = I('promote_id')) {
$map['tab_pay_info.create_time'] = array('BETWEEN', [$startTime, $endTime]);
if (isset($params['promote_id'])) {
$promoteId = $params['promote_id'];
if ($promoteId == 0) {
$map['promote_id'] = 0;
} else {
@ -1852,10 +1855,14 @@ class ExportController extends Controller
$map['promote_id'] = ['in', $promoteIds];
}
}
$xlsData = M('pay_info', 'tab_')->where($map)->order('id DESC')->select();
foreach($xlsData as $k => $v) {
$xlsData[$k]['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$data = M('pay_info', 'tab_')->field('tab_pay_info.id,tab_pay_info.user_account,extend,tab_pay_info.create_time,tab_pay_info.game_name,tab_pay_info.server_name,tab_pay_info.promote_account,tab_pay_info.order_id,tab_pay_info.game_player_id,tab_pay_info.game_player_name,price,tab_server.server_name')->join('tab_server on tab_pay_info.server_id = tab_server.server_num AND tab_pay_info.game_id = tab_server.game_id')->where($map)->order('tab_pay_info.id DESC')->select();
foreach($data as $k => $v) {
$data[$k]['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
if(empty($v['extend'])) {
$data[$k]['extend'] = $v['order_id'];
}
}
$xlsData = $data;
break;
default:

@ -28,6 +28,7 @@ class SdkMenuController extends ThinkController
$config[$k]['icon'] = (substr($v['icon'], 0, 7) == "http://" || substr($v['icon'], 0, 8) == "https://" ) ? $v['icon'] : (is_https() ? 'https://' : 'http://' . $_SERVER['HTTP_HOST'] . $v['icon']);
$config[$k]['type'] = $this->but_type[$v['type']];
$config[$k]['menu_version'] = $this->menu_version[$v['menu_version']];
$config[$k]['status'] = ((!isset($v['status']) || $v['status']) == 1) ? '显示':'隐藏';
}
}
$this->assign('list', $config);

@ -68,8 +68,6 @@
<div class="input-list input-list-game search_label_rehab">
<select id="sdk_version" name="sdk_version" class="select_gallery" >
<option value="">设备类型</option>
<option value="1" <?php echo I('sdk_version') == 1 ? "selected" : ''?>>安卓</option>
<option value="2" <?php echo I('sdk_version') == 2 ? "selected" : ''?>>苹果</option>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
@ -217,7 +215,6 @@
layer.msg('时间间隔不能超过31天请重新选择日期');
return false;
}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
@ -430,7 +427,27 @@
});
$("#promote_level").change();
var game_server = "{:I('server_name')}";
var game_server = "{:I('game_version')}";
var sdk_version = "{:I('sdk_version')}";
$("#game_name").change(function(){
$.ajax({
url:"{:U('Ajax/getGameVersion')}",
type:"post",
data:{game_name:$("#game_name option:selected").val()},
dataType:'json',
success:function(data){
str = "<option value=''>请选择设备</option>";
for (var i in data){
var version_name = data[i].sdk_version == "1" ? '安卓' : '苹果'
str += "<option value='"+data[i].sdk_version+"' "+(data[i].sdk_version == sdk_version?'selected':'')+">"+version_name+"</option>"
}
$("#sdk_version").empty();
$("#sdk_version").append(str);
$("#sdk_version").select2();
}
})
});
$("#sdk_version").change(function(){
$.ajax({
url:"{:U('Ajax/getGmeServer')}",

@ -113,7 +113,7 @@
<tr>
<td class="l">身份证号</td>
<td class="r">
<input type="text" class="txt" value="{$data['idcard']|encryptStr}" readonly>
<input type="text" class="txt" value="{$data['idcard']|encryptIdCard}" readonly>
<span id="idcard" class="table_click"><span class="table_click_text inner-click-text">点击修改</span></span>
</td>
</tr>

@ -91,6 +91,30 @@
<input type="text" class="" name="sort" value="{$data.sort|default=''}">
</td>
</tr>
<tr>
<td class="l noticeinfo">游戏隐藏</td>
<td class="r table_radio">
<input type="text" class="" name="game_status" value="{$data.game_status|default=''}">
<span class="notice-text" style="left:215px;">针对游戏id隐藏,多个用,隔开</span>
</td>
</tr>
<tr>
<td class="l noticeinfo">状态</td>
<td class="r table_radio">
<span class="form_select">
<select name="status">
<if condition="$data['status'] == 1 || !isset($data['status'])">
<option value="1" selected="selected">显示</option>
<option value="0">隐藏</option>
<else />
<option value="0" selected="selected">隐藏</option>
<option value="1">显示</option>
</if>
</select>
</span>
</td>
</tr>
<tr class="picbox">
<td class="l noticeinfo">菜单图标</td>
<td class="r table_radio">

@ -42,6 +42,7 @@
<th style="text-align:center">跳转目标</th>
<th style="text-align:center">IOS链接</th>
<th style="text-align:center">排序</th>
<th style="text-align:center">状态</th>
<th style="text-align:center">操作</th>
</tr>
</thead>
@ -60,10 +61,11 @@
<td>{$channel.act}</td>
<td>{$channel.ios_url}</td>
<td>
<div name="sort" data-title="{$channel.game_name} 排序设置" game-id="{$channel.id}" class="tab_not_same editTab">
<span class="w70">{$channel.sort}</span>
</div>
</td>
<div name="sort" data-title="{$channel.game_name} 排序设置" game-id="{$channel.id}" class="tab_not_same editTab">
<span class="w70">{$channel.sort}</span>
</div>
</td>
<td>{$channel.status}</td>
<td>
<a title="编辑" href="{:U('edit',['id' => $channel['id'],'menu_name' => $menu_name])}">编辑</a>
<a class="confirm ajax-get" title="删除" href="{:U('del',['id' => $channel['id'],'menu_name' => $menu_name])}">删除</a>
@ -71,7 +73,7 @@
</tr>
</volist>
<else/>
<td colspan="11" class="text-center">aOh! 暂时还没有内容!</td>
<td colspan="12" class="text-center">aOh! 暂时还没有内容!</td>
</notempty>
</tbody>
</table>

@ -1196,13 +1196,14 @@ class DownloadController extends BaseController {
empty(I('extend')) || $map['tab_pay_info.extend'] = I('extend');
empty(I('user_id')) || $map['tab_pay_info.game_player_id'] = I('user_id');
if (!empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['between', [strtotime($begTime), strtotime($endTime) - 1]];
$map['tab_pay_info.create_time'] = ['between', [strtotime($begTime), strtotime($endTime) +24*3600- 1]];
}else if (empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['elt',strtotime($endTime)];
$map['tab_pay_info.create_time'] = ['elt',strtotime($endTime) + 24*3600];
}else if (!empty($begTime) && empty($endTime)) {
$map['tab_pay_info.create_time'] = ['EGT',strtotime($begTime)];
$map['tab_pay_info.create_time'] = ['EGT',strtotime($begTime) + 24*3600];
}
$conditions = json_encode($map,TRUE);
$addtime = time();
$data = [
@ -1896,13 +1897,16 @@ class DownloadController extends BaseController {
foreach($data as $key => $v) {
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$promoteInfo = M('promote','tab_')->field("nickname")->where(['id' => intval($v['promote_id'])])->find();
$serverId = $v['server_id'];
$gameId = $v['game_id'];
$serverInfo = M('server','tab_')->field('server_name')->where(['server_num'=>$serverId,'game_id'=>$gameId])->find();
$v['promote_id']= $promoteInfo['nickname'];
$csvData['extend'] = $this->encryption($v['extend']);
$csvData['create_time'] = $v['create_time'];
$csvData['user_account'] = $v['user_account'];
$csvData['game_name'] = $v['game_name'];
$csvData['promote_id'] = $v['promote_id'];
$csvData['server_name'] = $v['server_name'];
$csvData['server_name'] = $serverInfo['server_name'];
$csvData['user_id'] = $v['game_player_id'];
$csvData['game_player_name'] = $v['game_player_name'];
$csvData['price'] = $v['price'];

@ -60,11 +60,11 @@ class PlayersController extends BaseController {
$map['tab_pay_info.game_player_id'] = $userId;
}
if (!empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['between', [$begTime, $endTime - 1]];
$map['tab_pay_info.create_time'] = ['between', [$begTime, $endTime + 24*3600 - 1]];
}else if (empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['elt',$endTime];
$map['tab_pay_info.create_time'] = ['elt',$endTime + 24*3600];
}else if (!empty($begTime) && empty($endTime)) {
$map['tab_pay_info.create_time'] = ['EGT',$begTime];
$map['tab_pay_info.create_time'] = ['EGT',$begTime + 24*3600];
}
$page = intval(I('get.p', 1));
$page = $page ? $page : 1; //默认显示第一页数据arraypage
@ -73,8 +73,12 @@ class PlayersController extends BaseController {
foreach($rs as $key => $v) {
$rs[$key]['extend'] = encryption($v['extend']);
$rs[$key]['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
$promoteInfo = M('promote','tab_')->field("nickname")->where(['id' => intval($v['promote_id'])])->find();
$rs[$key]['promote_id']= $promoteInfo['nickname'];
$promoteInfo = M('promote','tab_')->field("account")->where(['id' => intval($v['promote_id'])])->find();
$serverId = $v['server_id'];
$gameId = $v['game_id'];
$serverInfo = M('server','tab_')->field('server_name')->where(['server_num'=>$serverId,'game_id'=>$gameId])->find();
$rs[$key]['server_name'] = $serverInfo['server_name'];
$rs[$key]['promote_id']= $promoteInfo['account'];
}
$count = M('pay_info', 'tab_')
->field('tab_pay_info.id')

@ -211,6 +211,7 @@ class QueryController extends BaseController
$parameter['level_promote_3'] = $levelPromote[1];
$parameter['level_promote_4'] = $levelPromote[2];
!isset($_REQUEST['pay_way']) || $parameter['pay_way'] = I('pay_way');
!isset($_REQUEST['pay_status']) || $parameter['pay_status'] = I('pay_status', -1);
$serverData = $this->getServer(I('relation_game_id'), I('sdk_version'));
$page = set_pagination($count, $row, $parameter);
@ -1857,7 +1858,7 @@ class QueryController extends BaseController
}
$map['uc.create_time'] = ['between', [$begTime, $endTime - 1]];
$fieldUC = "sum(uc.recharge_cost) recharge_cost,sum(uc.recharge_count) recharge_count,sum(if(uc.create_time = {$nowTime},uc.recharge_cost,0)) as recharge_cost_today";
$fieldUC = "sum(uc.recharge_cost) recharge_cost,sum(uc.recharge_count) recharge_count,sum(if(uc.create_time = {$nowTime},uc.recharge_cost,0)) as recharge_cost_today,uc.user_id";
$fieldUI = "ui.user_account,ui.game_name,ui.role_name,ui.role_level,ui.server_name,ui.play_time,ui.play_ip,ui.promote_account,ui.sdk_version,ui.create_time";
$loginRecordMap['lr.create_time'] = $map['uc.create_time'];
@ -1869,22 +1870,32 @@ class QueryController extends BaseController
$field = $fieldUC . ',' . $fieldUI . ',' . $fieldLR . ' as user_game_login_count';
$subQuery = M('user_play_data_count', 'tab_')->alias('uc')
->field($field)
->join('left join tab_user_play_info as ui on ui.user_id = uc.user_id and ui.game_id = uc.game_id and ui.server_id = uc.server_id and ui.role_id = uc.role_id')
->join('left join tab_user_play_info as ui on ui.user_id = uc.user_id and ui.game_id = uc.game_id and ui.role_id = uc.role_id')
->where($map)
->group('uc.role_id,uc.server_id,uc.game_id')
->group('uc.role_id,uc.game_id,uc.user_id,uc.id')
->buildSql();
$query = M()->alias('record')
->table($subQuery)
->order($orderBy);
$total = M('user_play_data_count', 'tab_')->alias('uc')
list($records, $pagination, $count) = $this->paginate($query);
$totalQuery = M('user_play_data_count', 'tab_')->alias('uc')
->field($fieldUC)
->join('left join tab_user_play_info as ui on ui.user_id = uc.user_id and ui.game_id = uc.game_id and ui.server_id = uc.server_id and ui.role_id = uc.role_id')
->join('left join tab_user_play_info as ui on ui.user_id = uc.user_id and ui.game_id = uc.game_id and uc.server_id = ui.server_id and ui.role_id = uc.role_id')
->group('uc.role_id,uc.game_id,uc.server_id,uc.user_id,uc.id')
->where($map)
->buildSql();
$total = M()->alias('totals')
->table($totalQuery)
->field('sum(recharge_cost) recharge_cost,sum(recharge_count) recharge_count,sum(recharge_cost_today) as recharge_cost_today')
->find();
list($records, $pagination, $count) = $this->paginate($query);
foreach ($records as &$list) {
if (empty($list['user_account']) ) {
$list['user_account'] = M('user', 'tab_')->where("id = {$list['user_id']}")->getField('account');
$list['user_account'] = empty($list['user_account']) ? '--' : encryption($list['user_account']);
}
$list['user_account'] = empty($list['user_account']) ? '--' : encryption($list['user_account']);
$list['game_name'] = empty($list['game_name']) ? '--' : $list['game_name'];
$list['sdk_version'] = empty($list['sdk_version']) ? '--' : getSDKTypeName($list['sdk_version']);
@ -1897,7 +1908,6 @@ class QueryController extends BaseController
$list['promote_account'] = empty($list['promote_account']) ? '--' : $list['promote_account'];
}
}
$games = get_promote_serach_game();
$this->assign('games', $games);

@ -876,9 +876,20 @@
fontname: 'Ubuntu',
fontcolor: '#ff9818',
};
var logo = $(linkTag).parents('.game-li').eq(0).find('.img-box').children('img')[0]
$('#game_link_ercode').empty().qrcode(options);
$("#game_link_ercode canvas")[0].getContext('2d').drawImage(logo, (qrcodeWidth - logoWidth) / 2, (qrcodeHeight - logoHeight) / 2, logoWidth, logoHeight);
var logo = null;
var logoSrc = $(linkTag).parents('.game-li').eq(0).find('.img-box').children('img').attr('src');
console.log(isImg(logoSrc));
if (isImg(logoSrc)) {
logo = $(linkTag).parents('.game-li').eq(0).find('.img-box').children('img')[0]
} else {
var img = document.createElement('img');
img.src = '__IMG__/game_icon.png';
logo = img;
}
$('#game_link_ercode').empty().qrcode(options);
$("#game_link_ercode canvas")[0].getContext('2d').drawImage(logo, (qrcodeWidth - logoWidth) / 2, (qrcodeHeight - logoHeight) / 2, logoWidth, logoHeight);
$('#clipboard-btn').attr('data-text', response.data.url)
$('#clipboard-btn').click()
@ -896,6 +907,15 @@
});
});
function isImg(src) {
var img = new Image();
img.src = src;
if (img.width > 0 || img.height > 0) {
return true;
}
return false;
}
var clipboard = new ClipboardJS('#clipboard-btn', {
text: function(trigger) {
return trigger.getAttribute('data-text');

@ -109,7 +109,7 @@
<?php endif;?>
<?php endif;?>
<?php if(in_array($record['id'], $hasPlayerList)):?>
<?php if(false && in_array($record['id'], $hasPlayerList)):?>
<?php if(!in_array($record['id'], $hasShiftPlayerList)):?>
<a href="javascript:;" class="shift-player-btn editbtn">玩家迁移</a>
<?php else:?>

@ -94,7 +94,7 @@
<a href="javascript:;" style="color: red;" class="cancel-shift-btn editbtn">取消渠道迁移</a>
<?php endif;?>
<?php endif;?>
<?php if(in_array($vo['id'], $hasPlayerList)):?>
<?php if(false && in_array($vo['id'], $hasPlayerList)):?>
<?php if(!in_array($vo['id'], $hasShiftPlayerList)):?>
<a href="javascript:;" class="shift-player-btn editbtn">玩家迁移</a>
<?php else:?>

@ -21,6 +21,9 @@
.trunk-search .select-time .txt {
width: 100px;
}
.title-cursor-pointer {
cursor: pointer;
}
</style>
</block>
<block name="body">
@ -95,13 +98,13 @@
<div class="trunk-list list_normal">
<table class="table normal_table">
<tr class="odd">
<th>玩家账号</th>
<th>游戏名称</th>
<th>平台</th>
<th>游戏区服</th>
<th>角色名</th>
<th>等级</th>
<th class="sort" sort-name="recharge_cost">充值总额
<th class="title-cursor-pointer" title="平台用户的账号">玩家账号</th>
<th class="title-cursor-pointer" title="玩家所产生消费的游戏">游戏名称</th>
<th class="title-cursor-pointer" title="设备类型安卓或者ios">平台</th>
<th class="title-cursor-pointer" title="游戏内区服">游戏区服</th>
<th class="title-cursor-pointer" title="游戏角色">角色名</th>
<th class="title-cursor-pointer" title="游戏区服内等级">等级</th>
<th class="sort" sort-name="recharge_cost" class="title-cursor-pointer" title="该游戏区服 内的充值总额">充值总额
<if condition="'recharge_cost' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
@ -112,7 +115,7 @@
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="recharge_count">充值次数
<th class="sort" sort-name="recharge_count" class="title-cursor-pointer" title="在游戏区服内的充值次数">充值次数
<if condition="'recharge_count' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
@ -123,7 +126,7 @@
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="recharge_cost_today">昨日充值
<th class="sort" sort-name="recharge_cost_today" class="title-cursor-pointer" title="玩家昨日游戏区服的充值总额">昨日充值
<if condition="'recharge_cost_today' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
@ -134,7 +137,7 @@
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="unlogin_day">未登录天数
<th class="sort" sort-name="unlogin_day" class="title-cursor-pointer" title="玩家该角色未登录天数">未登录天数
<if condition="'unlogin_day' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
@ -145,7 +148,7 @@
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="user_game_login_count" title="玩家在该游戏累计登陆的天数(不分区服)">游戏累计登录天数
<th class="sort" sort-name="user_game_login_count" class="title-cursor-pointer" title="游戏累计登陆天数:玩家在该游戏累计登陆的天数(不分区服)">游戏累计登录天数
<if condition="'user_game_login_count' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
@ -156,7 +159,7 @@
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="create_time" title="账号在该游戏的创角时间">注册时间
<th class="sort" sort-name="create_time" class="title-cursor-pointer" title="账号所注册的时间">注册时间
<if condition="'create_time' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
@ -167,8 +170,8 @@
<i class="iconfont iconsort"></i>
</if>
</th>
<th>最后登录时间</th>
<th>推广员账号</th>
<th class="title-cursor-pointer" title="玩家角色上次登录的时间">最后登录时间</th>
<th class="title-cursor-pointer" title="对应推广员的账号">推广员账号</th>
</tr>
<empty name="records">
<tr><td colspan="12" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>

@ -686,7 +686,7 @@ CREATE TABLE `tab_server_union` (
KEY `create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='合服游戏区服表';
-- 用户行为
-- 用户行为 tping
ALTER TABLE `tab_pay_info` ADD COLUMN `user_account` varchar(30) DEFAULT NULL COMMENT '用户账号';
ALTER TABLE `tab_pay_info` ADD COLUMN `game_player_name` varchar(30) DEFAULT '' COMMENT '游戏玩家昵称';
ALTER TABLE `tab_pay_info` ADD COLUMN `game_name` varchar(30) DEFAULT '' COMMENT '游戏名称';
@ -702,6 +702,21 @@ MODIFY COLUMN `game_player_id` varchar(255) NULL DEFAULT '0' COMMENT '玩家游
ALTER TABLE `tab_pay_info`
ADD COLUMN `ip` varchar(255) NOT NULL DEFAULT '0' AFTER `promote_account`,
ADD COLUMN `pay_way` int NOT NULL DEFAULT 0 AFTER `ip`;
-- 默认值处理 tping
ALTER TABLE `tab_pay_info`
MODIFY COLUMN `user_account` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户账号' AFTER `txn_time`,
MODIFY COLUMN `game_player_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '游戏玩家昵称' AFTER `user_account`,
MODIFY COLUMN `game_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '游戏名称' AFTER `game_player_name`,
MODIFY COLUMN `server_id` int(11) NOT NULL DEFAULT 0 COMMENT '区服id' AFTER `game_name`,
MODIFY COLUMN `server_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '区服名称' AFTER `server_id`,
MODIFY COLUMN `game_player_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '玩家游戏内id' AFTER `promote_id`,
MODIFY COLUMN `sdk_version` tinyint(2) NOT NULL DEFAULT 1 COMMENT '区别sdk版本1安卓 2苹果 ' AFTER `game_player_id`,
MODIFY COLUMN `promote_account` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '推广员账号' AFTER `sdk_version`;
-- 苹果内购 tping
ALTER TABLE `tab_spend_distinction`
MODIFY COLUMN `extend` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '通知游戏方扩展(一般是游戏方透传)' AFTER `game_name`;
-- 菜单(游戏充值预下单)
INSERT INTO `sys_menu`(`title`, `pid`, `sort`, `url`, `hide`, `tip`, `group`, `is_dev`, `status`) VALUES ('游戏充值预下单', 16, 0, 'BehaviorLog/game', 0, '', '行为日志', 0, 1);

Loading…
Cancel
Save