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

master
ELF 5 years ago
commit 050ecd3bc4

@ -29,8 +29,8 @@
<!-- 标题栏 -->
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">行为日志</h3>
<p class="description_text">说明:玩家在游戏里的行为日志</p>
<h3 class="page_title">游戏充值预下单</h3>
<p class="description_text">说明:玩家点击游戏内道具购买时生成一条新订单</p>
</div>
<div class="cf top_nav_list">

@ -1133,6 +1133,83 @@ class DownloadController extends BaseController {
}
$this->success('添加下载成功',U('listsIndex'));
}
public function players_data_export() {
$begTime = I('begtime');
$endTime = I('endtime');
$map1['chain'] = ['like','%'.'/'.PID.'/'.'%'];
$rs = M('promote','tab_')->where($map1)->field('id,account,nickname')->select();
$childPromoteIds = '';
if(empty($rs)) {
$map['tab_pay_info.promote_id'] = PID;
}else {
foreach ($rs as $rsKey => $rsValue) {
$id = $rsValue['id'];
$childPromoteIds .= $id.',';
}
$childPromoteIds = rtrim($childPromoteIds, ',');
$childPromoteIds .= ',' . PID;
$map['tab_pay_info.promote_id'] = ['in', $childPromoteIds];
}
$levelPromote = $this->getLevelPromote();
$queryPromote = $this->getQueryPromote($levelPromote);
$map2[] = [
'_logic' => 'or',
'id' => $queryPromote['id'],
'chain' => ['like', $queryPromote['chain'] . $queryPromote['id'] . '/%']
];
$ids = M('promote', 'tab_')->where($map2)->getField('id', true);
if(empty($ids)) {
$ids = array();
}
if(empty($levelPromote)) {
array_push($ids,PID);
}
array_push($ids,$queryPromote['id']);
if (!empty($ids)) {
$map['tab_pay_info.promote_id'] = ['in',$ids];
}else {
$map['_string'] = '1<>1';
}
empty(I('relation_game_id')) || $map['tab_pay_info.relation_game_id'] = I('relation_game_id');
empty(I('sdk_version')) || $map['tab_pay_info.sdk_version'] = I('sdk_version');
empty(I('server_id')) || $map['tab_pay_info.server_id'] = I('server_id');
empty(I('game_player_name')) || $map['tab_pay_info.game_player_name'] = ['like', '%' . I('game_player_name') . '%'];
empty(I('user_account')) || $map['tab_pay_info.user_account'] = ['like', '%' . I('user_account') . '%'];
empty(I('extend')) || $map['tab_pay_info.extend'] = I('extend');
empty(I('user_id')) || $map['tab_pay_info.user_id'] = I('user_id');
if (!empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['between', [strtotime($begTime), strtotime($endTime) - 1]];
}else if (empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['elt',strtotime($endTime)];
}else if (!empty($begTime) && empty($endTime)) {
$map['tab_pay_info.create_time'] = ['EGT',strtotime($begTime)];
}
$conditions = json_encode($map,TRUE);
$addtime = time();
$data = [
'logid' => 'players_'.time(),
'promote_id' => PID,
'type' => '/Home/Players/playaction',
'dataname' => '玩家行为日志',
'status' => 0,
'addtime' => $addtime,
'begintime' => 0,
'content' => '',
'conditions' =>$conditions
];
$res = M('downloadlog','tab_')->add($data);
if (!$res) {
// $this->ajaxReturn(array("status" => -1, "msg" => "添加导出日志失败", 'ret' => $res));
$this->error('添加下载失败');
}
$this->success('添加下载成功',U('listsIndex'));
}
/**
* 充值明细添加下载
* @author sunke
@ -1761,11 +1838,73 @@ class DownloadController extends BaseController {
case "平台币充值":
$this->orderlistExcelInfo($id,$map);
break;
case "玩家行为日志";
$this->playactionExcelInfo($id,$map);
break;
default:
break;
}
}
public function playactionExcelInfo($id,$map) {
$xlsName = "玩家行为日志";
$xlsCell = array(
'cp订单号',
'充值时间',
'玩家账号',
'游戏名称',
'所属推广员',
'游戏区服',
'角色ID',
'角色名称',
'订单金额'
);
$model = M('pay_info','tab_');
$data1 = $model->field('id')->where($map)->select();
$csvFileName = $xlsName.'.csv';
//设置好告诉浏览器要下载excel文件的headers
header('Content-Description: File Transfer');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'. $csvFileName .'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
$fp = fopen('php://output', 'a');//打开output流
mb_convert_variables('gb2312', 'UTF-8', $xlsCell);
fputcsv($fp, $xlsCell);//将数据格式化为CSV格式并写入到output流中
$accessNum = '100000';//从数据库获取总量,假设是十万
$accessNum = count($data1)?:0 ;
$perSize = 5000;//每次查询的条数
$pages = ceil($accessNum / $perSize);
for($i = 1; $i <= $pages; $i++) {
$data = $model->where($map)->order('tab_pay_info.create_time desc')
->limit(($i-1)*$perSize ,$perSize)->select();
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();
$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['user_id'] = $v['user_id'];
$csvData['game_player_name'] = $v['game_player_name'];
$csvData['price'] = $v['price'];
mb_convert_variables('GBK', 'UTF-8', $csvData);
fputcsv($fp, $csvData);
}
unset($csvData);
ob_flush();
flush();
}
fclose($fp);
$this->backSuccessExport($id);
}
//注册明细excel信息
public function registerExcelInfo($id,$map) {

@ -0,0 +1,133 @@
<?php
namespace Home\Controller;
/**
* 前台首页控制器
* 主要获取首页聚合数据
*/
class PlayersController extends BaseController {
//玩家行为日志
public function playAction() {
$page = intval(I('p', 1));
$row = intval(I('row', 10));
$relationGameId = intval(I('relation_game_id', 0));
$sdkVersion = intval(I('sdk_version', 0));
$serverId = trim(I('server_id', ''));
$gamePlayerName = trim(I('game_player_name', ''));
$userAccount = trim(I('user_account', ''));
$userId = trim(I('user_id', ''));
$extend = trim(I('extend', '')); //cp订单号
$begTime = strtotime(I('begtime'));
$endTime = strtotime(I('endtime'));
$levelPromote = $this->getLevelPromote();
$queryPromote = $this->getQueryPromote($levelPromote);
// $loginPromote = $this->getLoginPromote();
$map = [];
$map['chain'] = ['like', $queryPromote['chain'] . $queryPromote['id'] . '/%'];
$ids = M('promote', 'tab_')->where($map)->getField('id', true);
$ids[] = $queryPromote['id'];
$map = [];
$map['tab_pay_info.promote_id'] = ['in', $ids];
if (!empty($relationGameId)) {
$map['tab_pay_info.relation_game_id'] = $relationGameId;
}
if (!empty($sdkVersion)) {
$map['tab_pay_info.sdk_version'] = $sdkVersion;
}
if (!empty($serverId)) {
$map['tab_pay_info.server_id'] = $serverId;
}
if (!empty($gamePlayerName)) {
$map['tab_pay_info.game_player_name'] = $gamePlayerName;
}
if (!empty($userAccount)) {
$map['tab_pay_info.user_account'] = $userAccount;
}
if (!empty($extend)) {
$map['tab_pay_info.extend'] = $extend;
}
if (!empty($userId)) {
$map['tab_pay_info.user_id'] = $userId;
}
if (!empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['between', [$begTime, $endTime - 1]];
}else if (empty($begTime) && !empty($endTime)) {
$map['tab_pay_info.create_time'] = ['elt',$endTime];
}else if (!empty($begTime) && empty($endTime)) {
$map['tab_pay_info.create_time'] = ['EGT',$begTime];
}
$page = intval(I('get.p', 1));
$page = $page ? $page : 1; //默认显示第一页数据arraypage
$row=10;
$rs = M('pay_info','tab_')->where($map)->order('tab_pay_info.create_time desc')
->page($page, $row)->select();
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'];
}
$count = M('pay_info', 'tab_')
->field('tab_pay_info.id')
->where($map)
->select();
$count = count($count);
//分页
$parameter['p'] = $page;
$parameter['row'] = $row;
$parameter['begtime'] = $initBegTime;
$parameter['endtime'] = $initEndTime;
$parameter['relation_game_id'] = $relationGameId;
$parameter['sdk_version'] = $sdkVersion;
$parameter['server_id'] = $serverId;
$parameter['game_player_name'] = $gamePlayerName;
$parameter['user_account'] = $userAccount;
$parameter['extend'] = $extend;
$parameter['user_id'] = $user_id;
$parameter['level_promote_2'] = $levelPromote[0];
$parameter['level_promote_3'] = $levelPromote[1];
$parameter['level_promote_4'] = $levelPromote[2];
$page = set_pagination($count, $row, $parameter);
if ($page) {
$this->assign('_page', $page);
}
$this->assign('listData',$rs);
$this->assign('initBegTime', I('begtime'));
$this->assign('initEndTime', I('endtime'));
$this->display();
}
private function getLevelPromote()
{
$levelPromote = [];
$levelPromote[] = I('level_promote_2', 0);
$levelPromote[] = I('level_promote_3', 0);
$levelPromote[] = I('level_promote_4', 0);
return $levelPromote;
}
private function getQueryPromote($levelPromote)
{
$queryPromote = null;
$promote = $this->getLoginPromote();
$queryPromoteId = 0;
foreach ($levelPromote as $item) {
if ($item != 0) {
$queryPromoteId = $item;
}
}
if ($queryPromoteId == 0) {
$queryPromote = $this->getLoginPromote();
} else {
$queryPromote = M('promote', 'tab_')->where(['id' => $queryPromoteId])->find();
}
return $queryPromote;
}
}

@ -1759,7 +1759,7 @@ class QueryController extends BaseController
$lastSortName = trim(I('last_sort_name', ''));
$sortName = trim(I('sort_name', ''));
$sort = intval(I('sort', 1));
$sortNameData = ['recharge_cost', 'recharge_count', 'recharge_cost_today', 'unlogin_day'];
$sortNameData = ['recharge_cost', 'recharge_count', 'recharge_cost_today', 'unlogin_day', 'create_time', 'user_game_login_count'];
$nowTime = date('Y-m-d', time() - 3600 * 24);
$initBegTime = date('Y-m-d', strtotime('-6 day', strtotime($nowTime)));
$initBegTime = empty(I('begtime')) ? $initBegTime : I('begtime');
@ -1855,8 +1855,15 @@ 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";
$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";
$field = $fieldUC . ',' . $fieldUI;
$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'];
$loginRecordMap['_string'] = 'lr.user_id = uc.user_id and lr.game_id = uc.game_id';
$fieldLR = M('login_daily_record', 'tab_')->alias('lr')
->field("count(*) as count")
->where($loginRecordMap)
->buildSql();
$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')
@ -1883,6 +1890,7 @@ class QueryController extends BaseController
$list['role_level'] = empty($list['role_level']) ? '--' : $list['role_level'];
$list['unlogin_day'] = empty($list['play_time']) ? '--' : intval((strtotime(date('Y-m-d 00:00:00')) - strtotime(date('Y-m-d 00:00:00', $list['play_time']))) / (24 * 3600));
$list['play_time'] = empty($list['play_time']) ? '--' : date('Y-m-d H:i:s', $list['play_time']);
$list['create_time'] = empty($list['create_time']) ? '--' : date('Y-m-d H:i:s', $list['create_time']);
$list['promote_account'] = empty($list['promote_account']) ? '--' : $list['promote_account'];
}
}

@ -17,6 +17,23 @@
<link rel="stylesheet" href="__CSS__/landing_page.css">
</head>
<body class="main_bg" style="background-color: #0a0a0a;height: auto;">
<style>
.home-video {
position: absolute;
text-align: center;
top: 23.28%;
}
.home-video video {
margin-left: 0.45%;
width: 84.75%;
border-radius: 4.5%;
}
@media(min-width:580px){
.home-video {
max-width:580px;
}
}
</style>
<input type="hidden" name="title" value="{$game['relation_game_name']}">
<input type="hidden" name="icon" value="{$game['icon']}">
<input type="hidden" name="desc" value="{$game['features']}">
@ -33,12 +50,21 @@
<div class="h_wrap">
<div id="data-2">
<volist name="game['flooring_page_imgs']" id="item">
<volist name="game['flooring_page_imgs']" id="item" key="k">
<div style="position: relative;">
<?php if ($k == 1) :?>
<?php if (!empty($game['flooring_page_video'])):?>
<div class="home-video">
<video id="shakeVideo" src="{$game['flooring_page_video']}" controls muted webkit-playsinline="true" playsinline="true"></video>
</div>
<?php endif;?>
<?php endif ;?>
<?php if ($downloadUrl == 'https://'.$_SERVER['HTTP_HOST']) :?>
<a href="#" class="no-package"><img src="{$item}" style="width: 100%;"/></a>
<?php else :?>
<a href="javascript:;" class="down-link" down-link="{$downloadUrl}"><img src="{$item}" style="width: 100%;"/></a>
<?php endif ;?>
</div>
</volist>
</div>
</div>

@ -0,0 +1,352 @@
<extend name="Public/promote_base"/>
<block name="css">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.2" rel="stylesheet">
</block>
<block name="body">
<style>
@media screen and (max-width: 1500px) {
.normal_form {
padding-top: 45px;
}
.trunk-search .normal_txt {
width: 100px
}
.select2-container--default .select2-selection--single {
width: 125px;
}
.trunk-search .select-time .txt {
width: 100px;
}
.form-group .submit {
width: 55px;
}
}
.normal_space {
margin-left: 0;
margin-right: 10px;
margin-bottom: 10px;
}
.selected-color {
color: #2bd8ed;
}
.pointer-hand {
cursor: pointer;
}
.icon-spend {
position: relative;
font-size: 1.2rem;
top: 3px;
float: right;
right: 10px;
}
.form-group {
float: left;
margin-bottom: 10px;
}
.form-group label {
line-height: 34px;
height: 34px;
}
.form-group .txt {
width: 180px;
height: 34px;
}
</style>
<div class="page-search normal_list query-recharge-search jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>玩家管理></span><span>行为日志</span></div>
</div>
<img src="__IMG__/20180207/icon_chongzhi.png">
<span class="title_main">说明</span>
<span class="details">玩家在游戏内的行为日志</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<include file="Public/promote_select" />
<div class="form-group normal_space">
<select id="relation_game_id" name="relation_game_id" class="reselect select_gallery">
<option value="0">请选择游戏</option>
<volist name=":get_promote_serach_game()" id="vo">
<option value="{$vo.relation_game_id}" title="{$vo.relation_game_name}">{$vo.relation_game_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width:215px;">
<option value="0">请选择设备类型</option>
<volist name=":getSDKType()" id="vo" key="k">
<option value="{$k}">{$vo}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<select id="server_id" name="server_id" class=" reselect select_gallery">
<option value="0">请选择区服</option>
<volist name="serverData" id="vo">
<option value="{$vo.server_id}">{$vo.server_name}</option>
</volist>
</select>
</div>
<div class="form-group normal_space">
<input type="text" name="game_player_name" class="txt normal_txt" placeholder="角色名称搜索"
value="{:I('game_player_name')}">
</div>
<div class="form-group normal_space">
<input type="text" name="user_account" class="txt normal_txt" id="uid" placeholder="玩家账号搜索"
value="{:I('user_account')}">
</div>
<div class="form-group normal_space">
<input type="text" name="user_id" class="txt normal_txt" id="uid" placeholder="角色id搜索"
value="{:I('user_id')}">
</div>
<div class="form-group normal_space">
<label class="form-title select-title" style="position: relative;">起止时间:</label>
<div class="select-time">
<input type="text" readonly id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{$initBegTime}">
</div>
<label class="form-title select-title zhi_color">&nbsp;&nbsp;</label>
<div class="select-time">
<input type="text" readonly id="edate" class="txt" name="endtime" placeholder="结束时间" value="{$initEndTime}">
</div>
</div>
<div class="form-group normal_space">
<input type="text" name="extend" class="txt normal_txt" placeholder="cp订单号"
value="{:I('extend')}">
</div>
<div class="form-group normal_space">
<input type="submit" class="submit" id='submit' url="{:U('Players/playAction','model='.$model['name'],false)}"
value="查询">
</div>
<!-- <input type="hidden" name="version" value="{:I('version',1)}"> -->
<!-- </form>-->
</div>
</div>
<div class="page-list apply-app_apply-list query-recharge-list">
<div class="trunk-content article">
<div class="tabcon trunk-list">
<table class="table normal_table">
<tr class="odd">
<th>cp订单号</th>
<th>充值时间</th>
<th>玩家账号</th>
<th>游戏名称</th>
<th>所属推广员</th>
<th>游戏区服</th>
<th>角色ID</th>
<th>角色名称</th>
<th>订单金额</th>
<!-- <th>操作</th>-->
</tr>
<empty name="listData">
<tr class="num2">
<td colspan="10" style="text-align: center;height: 45vh;">
<img src="__IMG__/20180207/icon_wushujv2.png"/>
<p style="line-height: 40px;color: #A5A5A5;">暂无数据</p>
</td>
</tr>
<else/>
<volist name="listData" id="vo">
<tr class="num2">
<td>{$vo.extend}</td>
<td>{$vo.create_time}</td>
<td>{$vo.user_account}</td>
<td>{$vo.game_name}</td>
<td>{$vo.promote_id}</td>
<td>{$vo.server_name}</td>
<td>{$vo.user_id}</td>
<td>{$vo.game_player_name}</td>
<td>{$vo.price}</td>
<!-- <td>-->
<!-- <a href="{:U('Query/viewSpendDetailed',array('id'=>$vo['id']))}" style="cursor: pointer"-->
<!-- class="chakan">查看详细</a>-->
<!-- </td>-->
</tr>
</volist>
</empty>
</table>
</div>
<div class="pagenation clearfix">
<?php if ($loginer['level'] !== 4) :?>
<a id="sch-btn" data-href="{:U('download/players_data_export',array_merge(['xlsname'=>'ceshi'],I('get.')))}" class="ajax-get">导出</a>
<?php endif ;?>
{$_page}
</div>
</div>
</div>
</div>
</block>
<block name="script">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"
charset="UTF-8"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript" src="__JS__/common.js"></script>
<script type="text/javascript">
var promoteUrl = "{:U('Query/getSubPromotes')}"
initPromoteSelect(promoteUrl)
$().ready(function () {
setValue('relation_game_id', {$Think.request.relation_game_id |default = '""'});
setValue('sdk_version', {$Think.request.sdk_version |default = '""'});
setValue('server_id', {$Think.request.server_id |default = '""'});
setValue('row', '{:I("get.row",10)}');
var date = "{$setdate}";
$('#sdate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
$('#edate').datetimepicker({
format: 'yyyy-mm-dd',
language: "zh-CN",
minView: 2,
autoclose: true,
pickerPosition: 'bottom-left',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
endDate: date
});
function showPromoteSelect(html)
{
$("#promote_id").empty();
$('#promote_id').html(html);
$("#promote_id").select2();
}
$('#own').on('click',function () {
var own = $('#own_id');
var checkBox = $(this).children('i');
if (own.is(':checked')) {
checkBox.removeClass('iconfangxingxuanzhongfill');
checkBox.removeClass('selected-color');
checkBox.addClass('iconfangxingweixuanzhong');
own.prop('checked', false);
} else {
checkBox.removeClass('iconfangxingweixuanzhong');
checkBox.addClass('iconfangxingxuanzhongfill');
checkBox.addClass('selected-color');
own.prop('checked', true);
}
});
$('#relation_game_id').change(function () {
var relationGameId = $(this).val();
var sdkVersion = $('#sdk_version').val();
getServerList(relationGameId, sdkVersion);
});
$('#sdk_version').change(function () {
var sdkVersion = $(this).val();
var relationGameId = $('#relation_game_id').val();
if (relationGameId > 0) {
getServerList(relationGameId, sdkVersion);
}
});
function getServerList(relationGameId, sdkVersion)
{
$.ajax({
url: "{:U('getServerAjax')}",
type: "post",
data: {relation_game_id: relationGameId,sdk_version:sdkVersion},
dataType: 'json',
success: function (data) {
var html = "<option value='' selected>请选择区服</option>";
if (data.status == 1) {
var serverData = data.data;
if (serverData.length > 0) {
for (var i in serverData) {
html += "<option value='" + serverData[i]['server_id'] + "'>" + serverData[i]['server_name'] + "</option>";
}
}
}
$("#server_id").empty();
$('#server_id').html(html);
$("#server_id").select2();
}
})
}
$("#pagehtml a").on("click", function (event) {
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action', geturl);
$('#data_form').submit();
});
$('#submit').click(function () {
var sdate = Date.parse($('#sdate').val()) / 1000;
var edate = Date.parse($('#edate').val()) / 1000;
if (sdate > edate) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
if ((edate - sdate) > 2592000) {
layer.msg('时间间隔不能超过31天请重新选择日期');
return false;
}
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&" + $('.jssearch').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g, '');
query = query.replace(/^&/g, '');
if (url.indexOf('?') > 0) {
url += '&' + query;
} else {
url += '?' + query;
}
window.location.href = url;
});
$(".select_gallery").select2();
});
</script>
</block>

@ -127,18 +127,11 @@
<a href="{:U('CoinOrder/order_list')}" class="<if condition='CONTROLLER_NAME eq CoinOrder and (ACTION_NAME eq order_list or ACTION_NAME eq order_add or ACTION_NAME eq order_detail) '>active</if> ">平台币充值</a>
<?php endif;?>
</div>
<!--<div class="subNav jssubNav"><i class="prev_icon icon_zhandian"></i><span>联盟站点</span><i class="arrow_icon"></i></div>-->
<!--<div class="navContent jsnavContent">-->
<!--<a href="{:U('SiteApply/index')}" class="<if condition='CONTROLLER_NAME eq SiteApply and ACTION_NAME eq index '>active</if> ">站点申请</a>-->
<!--<notempty name="noapplysite">-->
<!--<a href="{:U('SiteBase/index')}" class="<if condition='CONTROLLER_NAME eq SiteBase and ACTION_NAME eq index '>active</if> ">基本信息</a>-->
<!--<a href="{:U('SiteGame/index')}" class="<if condition='CONTROLLER_NAME eq SiteGame and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq edit) '>active</if> ">游戏列表</a>-->
<!--<a href="{:U('SiteServer/index')}" class="<if condition='CONTROLLER_NAME eq SiteServer and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq edit)'>active</if> ">区服列表</a>-->
<!--<a href="{:U('SiteGift/index')}" class="<if condition='CONTROLLER_NAME eq SiteGift and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq edit)'>active</if> ">礼包列表</a>-->
<!--<a href="{:U('SiteAdv/index')}" class="<if condition='CONTROLLER_NAME eq SiteAdv and (ACTION_NAME eq index or ACTION_NAME eq add or ACTION_NAME eq edit)'>active</if> ">广告列表</a>-->
<!--</notempty>-->
<!--</ul>-->
<!--</div>-->
<div class="subNav jssubNav"><i class="prev_icon icon_fuli"></i><span>玩家管理</span><i class="arrow_icon"></i></div>
<div class="navContent jsnavContent">
<a href="{:U('Players/playAction')}" class="<if condition='CONTROLLER_NAME eq Players and (ACTION_NAME eq playAction)'>active</if> ">行为日志</a>
</div>
</div>
</div>

@ -145,6 +145,28 @@
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="user_game_login_count">玩家游戏累计登录天数
<if condition="'user_game_login_count' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
</if>
<else/>
<i class="iconfont iconsort"></i>
</if>
</th>
<th class="sort" sort-name="create_time">注册时间
<if condition="'create_time' == I('sort_name', '')">
<if condition="1 == $sort">
<i class="iconfont iconsort-down"></i>
<else/>
<i class="iconfont iconsort-up"></i>
</if>
<else/>
<i class="iconfont iconsort"></i>
</if>
</th>
<th>最后登录时间</th>
<th>推广员账号</th>
</tr>
@ -163,6 +185,8 @@
<td>{$record.recharge_count}</td>
<td>{$record.recharge_cost_today}</td>
<td>{$record.unlogin_day}</td>
<td>{$record.user_game_login_count}</td>
<td>{$record.create_time}</td>
<td>{$record.play_time}</td>
<td>{$record.promote_account}</td>
</tr>

@ -70,7 +70,7 @@
<div class="list">
<li class="selected">监护工程概述</li>
<li class="" >申请服务流程</li>
<li class="" >介绍详细说明</li>
<li class="" >家长监护申请引导</li>
<li class="" >健康提示</li>
<li class="" >纠纷处理</li>
</div>
@ -121,15 +121,36 @@
</div>
<div style="display:none;">
<div class="content_box">
<div class="headline">介绍详细说明</div>
<p>网络游戏未成年人家长监护工程”是一项由文化部指导,义乌市其豪网络科技有限公司旨在加强家长对未成年人参与网络游戏的监护,引导未成年人健康、绿色参与网络游戏,和谐家庭关系的行业自律行动。</p>
<p>2010年2月5日首批试点的六家企业共同启动“监护工程”开始了游戏企业与未成年人家长联合共同预防未成年人沉迷网络游戏的有益尝试。实践中一些成功的案例让我们看到 “监护工程”提供了一种切实可行的方法,一种家长实施监控的管道,使家长纠正部分未成年子女沉迷网游成为可能。</p>
<p>“监护工程”引导家长和未成年人正确面对网络游戏文化,加强相互沟通,在共同约定和认可的时间或规则下健康游戏,既保护了未成年人不受过度沉迷的伤害,也为家长指导未成年人健康游戏提供了有力的技术保障。</p>
<p>其豪网络科技有限公司已贯彻实施“家长监护工程”的四项具体要求,即专人负责、有专线电话、有专区设置、有季度报告。</p>
<p> (一)专人负责</p>
<p> 1已指定专门的负责人已将指定负责人及联络方式向海南省文化厅备案</p>
<p>2培训专门服务人员对“家长监护工程”提供专业咨询解答和服务支持帮助家长了解被监护人游戏行为提供家长与被监护人进行沟通的建议</p>
<p> 3指定客服人员会定期跟踪、与家长沟通。如若家长有需要帮助负责人会根据实际的情况提供相应的协助。</p>
<div class="headline">家长监护申请引导</div>
<div>
<p>“网络游戏未成年人家长监护工程”是一项由聚侠网根据国家有关规定而发起的一个项目,旨在加强家长对未成年人参与网络游戏的监护,引导未成年人健康、绿色参与网络游戏,和谐家庭关系的社会性公益行动。它提供了一种切实可行的方法,一种家长实施监控的管道,使家长纠正部分未成年子女沉迷游戏的行为成为可能。该项社会公益行动充分反映了中国网络游戏行业高度的社会责任感,对未成年玩家合法权益的关注及对用实际行动营造和谐社会的愿望。</p>
<p>具体实施细则如下:</p>
<p>申请条件:</p>
<p>1、 申请人需为被监护未成年人的法定监护人;</p>
<p>2、 申请人的被监护人年龄小于18周岁</p>
<p>3、 申请人需为大陆公民,不含港、澳、台人士。</p>
<p>申请需提交材料:(点击下载申请表格)</p>
<p>1、监护人信息表包含监护人的身份证明复印件</p>
<p>2、被监护人信息表包含被监护人所玩游戏相关信息及身份证明复印件</p>
<p>3、填写网络游戏未成年人家长监护申请书、保证书、授权书并手工签字需下载填写并打印签字</p>
<p>4、申请人与被监护人的监护关系证明文件户口簿或有关机关出具的证明文件</p>
<p>申请方式:</p>
<p>1.电话服务 监护人可以通过来专线电话来咨询专线0793-8179522</p>
<p>2.传真服务 监护人可以通过传真发送相关信息进行申请传真号码0793-8179533</p>
<p>3.邮寄服务 监护人可以通过邮寄提交相关信息邮寄地址江西省上饶市信州区三清山东大道168号数字经济服务园9楼站群一部</p>
<p>其他要求:</p>
<p>1.申请人应提交较完备的申请材料,对未提供的信息要及时补充;可请熟知电脑、互联网、游戏的人员进行协助,以便提供详实资料;</p>
<p>2.申请人应保证提交的信息真实有效;对于提供虚假信息或伪造证件,我司将保留进一步追究法律责任的权利。</p>
<p>监督方式:</p>
<p>封停账号</p>
<p>根据监护人意愿封停被监护人账号。直至被监护人年满18周岁并提出申请。</p>
</div>
</div>
</div>
<div style="display:none;">

@ -693,6 +693,8 @@ ALTER TABLE `tab_pay_info` ADD COLUMN `game_name` varchar(30) DEFAULT '' COMMENT
ALTER TABLE `tab_pay_info` ADD COLUMN `server_id` int(11) DEFAULT '0' COMMENT '区服id';
ALTER TABLE `tab_pay_info` ADD COLUMN `server_name` varchar(30) DEFAULT '' COMMENT '区服名称';
ALTER TABLE `tab_pay_info` ADD COLUMN `promote_id` int(11) NOT NULL DEFAULT '0' COMMENT '推广员id';
ALTER TABLE `tab_pay_info` ADD COLUMN `game_player_id` int(11) DEFAULT '0' COMMENT '玩家游戏内id';
ALTER TABLE `tab_pay_info` ADD COLUMN `game_player_id` varchar(30) DEFAULT '0' COMMENT '玩家游戏内id';
ALTER TABLE `tab_pay_info` ADD COLUMN `sdk_version` tinyint(2) DEFAULT '1' COMMENT '区别sdk版本1安卓 2苹果 ';
ALTER TABLE `tab_pay_info` ADD COLUMN `promote_account` varchar(30) DEFAULT '' COMMENT '推广员账号';
-- 菜单(游戏充值预下单)
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