Merge branch 'release-1.0.0' into dev_permission

master
liuweiwen 5 years ago
commit 8fb6ea99bb

@ -1625,10 +1625,12 @@ function setPowerPromoteIds(&$map, $column = 'promote_id') {
function get_promote_listOther($select='') {
$promoteRoot = getPowerPromoteIds();
if ($promoteRoot) {
$map['id'] =array('in',$promoteRoot);
}
// $promoteRoot = getPowerPromoteIds();
// if ($promoteRoot) {
// $map['id'] =array('in',$promoteRoot);
// }
setPowerPromoteIds($map,'id');
$list = M("Promote","tab_")->field('id,account,balance_coin')->where($map)->select();//where("status=1")->
if (empty($list)){return '';}
@ -1652,10 +1654,12 @@ function promote_listsOther($type){
$map = '';
}
$promoteRoot = getPowerPromoteIds();
if ($promoteRoot) {
$map['id'] =array('in',$promoteRoot);
}
// $promoteRoot = getPowerPromoteIds();
// if ($promoteRoot) {
// $map['id'] =array('in',$promoteRoot);
// }
setPowerPromoteIds($map,'id');
$data = M('promote','tab_')->where($map)->select();

@ -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)
@ -597,3 +602,12 @@ function encryptStr($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

@ -14,17 +14,19 @@ class BehaviorLogController extends ThinkController
$map['user_account'] = $params['user_account'];
}
if (isset($params['extend'])) {
$map['extend'] = $params['extend'];
$map['_string'] = 'extend = "'.$params["extend"]. '" or order_id = "'.$params["extend"] . '"';
}
if (isset($params['game_name'])) {
$game_id = ['in', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')];
$game_id = ['in', array_column(getGameByName($params['game_name'], $params['sdk_version']), 'id')];
$map['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['server_id'] = $server_id;
}
if (isset($params['user_nickname'])) {
$map['user_nickname'] = $params['user_nickname'];
if (isset($params['game_player_name'])) {
$map['game_player_name'] = $params['game_player_name'];
}
if (isset($params['game_player_id'])) {
$map['game_player_id'] = $params['game_player_id'];
@ -40,14 +42,6 @@ class BehaviorLogController extends ThinkController
$endTime = strtotime($endDate) + 86399;
$map['create_time'] = array('BETWEEN', [$startTime, $endTime]);
// $promoteRoot = getPowerPromoteIds();
// $data_empower_type = session('user_auth')['data_empower_type'];
//
// if ($promoteRoot) {
// $map['promote_id'] =array('in',$promoteRoot);
// } else if(!$promoteRoot&&$data_empower_type!=1){
// $map['id'] = array('lt',1);
// }
setPowerPromoteIds($map,'promote_id');
if (isset($params['promote_id'])) {
@ -61,7 +55,16 @@ class BehaviorLogController extends ThinkController
$map['promote_id'] = ['in', $promoteIds];
}
}
// $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('LEFT JOIN tab_server on tab_pay_info.server_id = tab_server.server_num AND tab_pay_info.game_id = tab_server.game_id AND tab_pay_info.server_id <> 0')->where($map)->order('tab_pay_info.id DESC')->page($p, $row)->select();
$data = M('pay_info', 'tab_')->where($map)->order('id DESC')->page($p, $row)->select();
foreach($data as $k => $v) {
if(empty($v['extend'])) {
$data[$k]['extend'] = $v['order_id'];
}
if ($v['server_id'] > 0){
$data[$k]['server_name'] = M('server', 'tab_')->where(['game_id' => $v['game_id'],'server_num' =>$v['server_id']])->getField('server_name');
}
}
$count = M('pay_info', 'tab_')->where($map)->count();
$page = set_pagination($count, $row);
if ($page) {

File diff suppressed because it is too large Load Diff

@ -112,6 +112,10 @@ class MemberController extends ThinkController
if ($promoteRoot) {
$promoteRoot = " and id IN({$promoteRoot})";
}
if ($promoteRoot!='all') {
$promoteRoot = '';
}
$promoter_ids = D("Promote")->where("(chain like '%/{$_REQUEST['promote_id']}/%' or id={$_REQUEST['promote_id']})".$promoteRoot)->field('id')->select();
if ($promoter_ids) {

@ -198,13 +198,16 @@ class PromoteController extends ThinkController
parent::lists('SiteApply', $p, $map);
}
public function add($account=null, $password=null, $second_pwd=null, $real_name=null, $email=null, $mobile_phone=null, $bank_name=null, $bank_card=null, $admin=null, $status=null, $ba_id = null)
public function add($account=null, $password=null, $second_pwd=null, $real_name=null, $email=null,
$mobile_phone=null, $bank_name=null, $bank_card=null, $admin=null, $status=null, $ba_id = null, $company_id = null)
{
if (IS_POST) {
if (C('PROMOTE_AUTO_AUDIT') == 1) {
$status = 1;
}
$data = array('account'=>$account,'password'=>$password,'second_pwd'=>$second_pwd,'real_name'=>$real_name,'email'=>$email,'mobile_phone'=>$mobile_phone,'bank_name'=>$bank_name,'bank_card'=>$bank_card,'admin_id'=>session('user_auth')['uid'],'status'=>$status,'ba_id'=>$ba_id);
$data = array('account'=>$account,'password'=>$password,'second_pwd'=>$second_pwd,'real_name'=>$real_name,
'email'=>$email,'mobile_phone'=>$mobile_phone,'bank_name'=>$bank_name,'bank_card'=>$bank_card,
'admin_id'=>session('user_auth')['uid'],'status'=>$status,'ba_id'=>$ba_id, 'company_id' => $company_id);
if (preg_match('/^[a-zA-Z0-9]{6,15}$/', $account)==false) {
$this->error('账号只能是6-15位字母或数字');
@ -217,6 +220,7 @@ class PromoteController extends ThinkController
$ba = new \Admin\Model\BusinessAffairsModel();
$ba->add_child($_REQUEST['ba_id'],$res);
} */
session('user_auth_promote_ids', null);
$this->success("添加成功", U('lists'));
} else {
$this->error($res);
@ -224,6 +228,8 @@ class PromoteController extends ThinkController
} else {
$this->meta_title ='新增渠道信息';
$this->m_title = '推广员列表';
$companys = M('promote_company', 'tab_')->where(['status' => 1])->select();
$this->assign('companys', $companys);
$this->assign('commonset', M('Kuaijieicon')->where(['url'=>'Promote/lists/type/1','status'=>1])->find());
$this->display();
}
@ -288,6 +294,9 @@ class PromoteController extends ThinkController
$ba = new \Admin\Model\BusinessAffairsModel();
$ba->update_child($ba_id['ba_id'], $_REQUEST['ba_id'], $id);
}
if (!empty(I('company_id'))) {
$data['company_id'] = I('company_id');
}
$res=M("promote", "tab_")->where(array("id"=>$_POST['id']))->save($data);
if ($res !== false) {
@ -337,7 +346,8 @@ class PromoteController extends ThinkController
$this->m_title = '推广员列表';
$this->assign('commonset', M('Kuaijieicon')->where(['url'=>'Promote/lists/type/1','status'=>1])->find());
$companys = M('promote_company', 'tab_')->where(['status' => 1])->select();
$this->assign('companys', $companys);
$this->display();
}
}

@ -83,7 +83,7 @@ class RechargeSumController extends ThinkController
$accumulated = D('Spend')->where($map)->sum('pay_amount');
$data[$key]['date'] = date('Y-m-d', $start);
$data[$key]['game_id'] = empty($_REQUEST['game_id']) ? "全部" : get_game_name($_REQUEST['game_id']);
$data[$key]['game_id'] = empty($_REQUEST['game_name']) ? "全部" : $_REQUEST['game_name'];
switch ($_REQUEST['promote_id']) {
case 'GUANFANG':
$data[$key]['promote_id'] = "官方渠道";

@ -276,7 +276,7 @@ class UserController extends AdminController
$User = new UserApi;
$uid = $User->register($username, $password, $email, $second_pwd);
if (0 < $uid) { //注册成功
$user = array('uid' => $uid, 'nickname' => $username, 'status' => 1);
$user = array('uid' => $uid, 'nickname' => $username, 'status' => 1,"birthday"=>date('Y-m-d',time()));
$data['uid'] = $uid;
$data['group_id'] = I('auth');
M('auth_group_access')->data($data)->add();

@ -388,9 +388,11 @@ class PromoteModel extends Model{
public function getPromotersByLevelOther($level=1)
{
$result = [];
$promoteRoot = getPowerPromoteIds();
$result = $this->field("*")->where("level={$level} and id IN({$promoteRoot})")->select();
$where['level'] = $level;
setPowerPromoteIds($where,'id');
$result = $this->field("*")->where($where)->select();
foreach ($result as &$item) {
$item['nickname'] = $item['account'] . ($item['nickname'] ? "({$item['nickname']})" : "");
}

@ -183,6 +183,7 @@
<style>
.layui-transfer-box{
overflow: hidden;
height: 410px!important;
}
</style>
</block>

@ -64,7 +64,7 @@
<input type="hidden" name="id" value="{$this_group.id}" />
<button type="submit" class="submit_btn ajax-post" target-form="auth-form">确 定</button>
<button class="back_btn" onclick="javascript:history.back(-1);return false;">返 回</button>
<a class="back_btn" href="{:U('index')}" style="display: inline-block">返 回</a>
</form>
</div>

@ -58,7 +58,7 @@
</div>
<div class="main-title" style="border-bottom: 0px solid #C1C1C1 !important;">
<div class="main-title" style="border-bottom: 0px solid #C1C1C1 !important;margin-bottom: 0;padding-bottom: 0">
<div class="page_nav fl">
{$_page}
</div>
@ -67,9 +67,17 @@
<input class="" type="text" name="uid" style="width:240px;" placeholder="请输入uid,多个用英文逗号分隔">
<input type="hidden" name="group_id" value="{:I('group_id')}">
<a type="submit" class="ajax-post" target-form="add-user" style="float:right;margin-left:15px;"><span class="button_icon button_icon1"></span>新增</a>
</form>
</div>
</div>
<div class="tabcon1711">
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="{:U('index')}" style="margin-top: 0;float: right; color: #000000;
background: #ffffff;
border: solid 1px #000;">
返回
</a></div>
</div>

@ -68,8 +68,8 @@
<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>
<option value="1" <?php echo I('game_type') == 1 ? "selected" : ''?>>安卓</option>
<option value="2" <?php echo I('game_type') == 2 ? "selected" : ''?>>苹果</option>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
@ -430,7 +430,7 @@
});
$("#promote_level").change();
var game_server = "{:I('server_name')}";
var game_server = "{:I('server_name')}";
$("#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>

@ -168,6 +168,22 @@
</td>
</tr>
</if>
<tr>
<td class="l">推广公司:</td>
<td class="r">
<select name="company_id" id="company_id">
<option value="0">请选择推广公司</option>
<volist name="companys" id="vo">
<option value="{$vo.id}" <?php echo ($vo['id'] == $data['company_id'] ? 'selected':''); ?>
>{$vo.company_name} </option>
</volist>
</select>
<span class="notice-text">设置该推广员所属的推广公司</span>
</td>
</tr>
<tr>
<td class="l">注册时间:</td>
<td class="r">

@ -32,7 +32,7 @@
<div class="fr">
</div>
<h3 class="page_title">扶持发放</h3>
<h3 class="page_title">资源发放</h3>
<p class="description_text">说明:记录所有扶持发放的数据</p>
@ -74,11 +74,11 @@
</select>
</div>
<div class="input-list">
<label>扶持类型:</label>
<label>资源类型:</label>
<select name="apply_type">
<option value="">全部</option>
<option value="0">新增扶持</option>
<option value="1">后续扶持</option>
<option value="0">新增资源</option>
<option value="1">后续资源</option>
</select>
</div>
<div class="input-list">
@ -111,7 +111,7 @@
<th>区服</th>
<th>角色名</th>
<th>申请额度</th>
<th>扶持类型</th>
<th>资源类型</th>
<th>备注</th>
<th>申请时间</th>
<th>可用额度</th>
@ -134,7 +134,7 @@
<td>{$data['server_name']}</td>
<td>{$data['role_name']}</td>
<td>{$data['apply_resource']}</td>
<td><if condition="$data.apply_type eq 0" >新增扶持<else/>后续扶持</if></td>
<td><if condition="$data.apply_type eq 0" >新增资源<else/>后续资源</if></td>
<td style="max-width: 200px;line-height: 1.5;padding:8px;">{$data['apply_remark']}</td>
<td>{:date('Y-m-d H:i:s',$data['create_time'])}</td>
@ -170,7 +170,7 @@
</div>
</div>
<div class="page">
<a class="sch-btn" href="{:U('Export/Support_list',array_merge(array('xlsname'=>'扶持发放'),I('get.')))}">导出</a>
<a class="sch-btn" href="{:U('Export/Support_list',array_merge(array('xlsname'=>'资源发放'),I('get.')))}">导出</a>
{$_page|default=''}
</div>
</block>

@ -33,11 +33,11 @@
<div class="cf main-place top_nav_list navtab_list">
<div class="fr">
<a <if condition="(I('type') eq 1) or (I('type') eq '') "> class="tabchose" </if> href="{:U('supportNumberList',array('type'=>1))}">扶持号管理</a>
<a <if condition="(I('type') eq 1) or (I('type') eq '') "> class="tabchose" </if> href="{:U('supportNumberList',array('type'=>1))}">资源管理</a>
</div>
<h3 class="page_title">扶持号管理</h3>
<h3 class="page_title">资源管理</h3>
<if condition="(I('type',1) eq 1) ">
<p class="description_text">说明:此功能是扶持号管理<的功能</p>
<p class="description_text">说明:此功能是资源管理的功能</p>
<else/>
<p class="description_text">说明:此功是查看并管理混服申请的功能</p>
</if>
@ -101,7 +101,7 @@
<th>角色名称</th>
<th>设备信息</th>
<th>状态</th>
<th >创建时间</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>

@ -1197,4 +1197,19 @@ function promoteCan($promoteId, \Closure $callback)
function getChildGameAddPermission($promoteId)
{
return D('Promote')->where(array('id' => $promoteId))->getField('child_game_permission');
}
function gameSearch($relationGameId, $sdkVersion)
{
$map['_string'] = '1 = 1';
if ($relationGameId != 0) {
$map['relation_game_id'] = $relationGameId;
}
if ($sdkVersion != 0) {
$map['sdk_version'] = $sdkVersion;
}
$gameIds = M('game', 'tab_')->where($map)->getField('id', true);
$gameIds = $gameIds ?? [-1];
return $gameIds;
}

@ -1188,6 +1188,9 @@ class DownloadController extends BaseController {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId1 = M('game', 'tab_')->where($gameMap)->getField('id', true);
if(empty($gameId1)) {
$gameId1 = [-100];
}
$map['game_id'] = ['in', $gameId1];
}
empty(I('server_id')) || $map['tab_pay_info.server_id'] = I('server_id');
@ -1196,13 +1199,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 = [
@ -1381,6 +1385,9 @@ class DownloadController extends BaseController {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId1 = M('game', 'tab_')->where($gameMap)->getField('id', true);
if(empty($gameId1)) {
$gameId1 = [-100];
}
$map['game_id'] = ['in', $gameId1];
$subMap['game_id'] = ['in', $gameId1];
}
@ -1503,6 +1510,9 @@ class DownloadController extends BaseController {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId1 = M('game', 'tab_')->where($gameMap)->getField('id', true);
if(empty($gameId1)) {
$gameId1 = [-100];
}
$map['game_id'] = ['in', $gameId1];
}
if ($serverId > 0) {
@ -1602,6 +1612,9 @@ class DownloadController extends BaseController {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId1 = M('game', 'tab_')->where($gameMap)->getField('id', true);
if(empty($gameId1)) {
$gameId1 = [-100];
}
$map['game_id'] = ['in', $gameId1];
}
if ($serverId != 0) {
@ -1895,14 +1908,27 @@ class DownloadController extends BaseController {
->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'];
$promoteInfo = M('promote','tab_')->field("account")->where(['id' => intval($v['promote_id'])])->find();
if($v['server_id'] != 0) {
$serverId1 = $v['server_id'];
$gameId = $v['game_id'];
$serverInfo = M('server','tab_')->field('server_name')->where(['server_num'=>$serverId1,'game_id'=>$gameId])->find();
$servername = $serverInfo['server_name'];
}else {
$servername = "";
$v['game_player_id'] = "";
$v['game_player_name'] = "";
}
$v['promote_id']= $promoteInfo['account'];
if(empty($v['extend'])) {
$v['extend'] = $v['order_id'];
}
$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'] = $servername;
$csvData['user_id'] = $v['game_player_id'];
$csvData['game_player_name'] = $v['game_player_name'];
$csvData['price'] = $v['price'];
@ -1956,7 +1982,7 @@ class DownloadController extends BaseController {
->field('account,device_number,promote_account,register_time,register_ip,login_time,login_ip')
->where($map)
->limit(($i-1)*$perSize ,$perSize)
->order('tab_user.id desc')
->order('tab_user.id desc')
->select();
foreach($data as $value1) {
$csvData['account'] = $this->encryption($value1['account']);
@ -3150,8 +3176,10 @@ class DownloadController extends BaseController {
}
if(!empty($map['user_account'])) {
$map['ui.user_account'] = $map['user_account'];
unset($map['user_account']);
$userId = M('user', 'tab_')->where(array('account' => $map['user_account']))->getField('id');
$userId = $userId ?? 0;
$map['uc.user_id'] = $userId;
unset($map['user_account']);
}
if(!empty($map['promote_id'])) {
$map['uc.promote_id'] = $map['promote_id'];
@ -3162,7 +3190,7 @@ class DownloadController extends BaseController {
unset($map['costbegin']);
unset($map['costend']);
$nowTime = strtotime(date('Y-m-d 00:00:00', time()));
$subMap['create_time'] = ['between', [$map['begintime'], $map['endtime'] - 1]];
$subMap['create_time'] = ['between', [$map['begintime'], $map['endtime']-1]];
if ($costBegin != '' || $costEnd != '') {
$having = '';
if ($costBegin != '' && $costEnd != '') {
@ -3180,35 +3208,43 @@ class DownloadController extends BaseController {
$map['_string'] = 'ui.role_id in (' . $subQuery . ')';
}
$secondDay = 24*3600 + 1;
$map['uc.create_time'] = ['between', [$map['begintime'], $map['endtime'] - $secondDay]];
$map['uc.create_time'] = ['between', [$map['begintime'], $map['endtime']-1]];
unset($map['begintime']);
unset($map['endtime']);
//$spendMap['_string'] = 'uc.game_id = tab_user_play_info.game_id and uc.server_id = tab_user_play_info.server_id and uc.role_id = tab_user_play_info.role_id';
$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,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.game_id = uc.game_id and ui.server_id = uc.server_id and ui.role_id = uc.role_id')
->where($map)
->group('uc.role_id,uc.server_id,uc.game_id')
->buildSql();
$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'];
$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')
->where($map)
->group('uc.role_id,uc.server_id,uc.game_id')
->buildSql();
$roles = M()->alias('record')
->table($subQuery)
->select();
$total = [];
$total = M('user_play_data_count', 'tab_')->alias('uc')
->field($fieldUC)
->join('left join tab_user_play_info as ui on ui.game_id = uc.game_id and ui.server_id = uc.server_id and ui.role_id = uc.role_id')
->where($map)
->find();
$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 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')
->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();
$userIds = array_column($roles, 'user_id');
$userIds = $userIds ? $userIds : [-1];
$users = M('user', 'tab_')->where(array('id' => ['in', $userIds]))->getField('id, account', true);
$csvFileName = $xlsName.'.csv';
//设置好告诉浏览器要下载excel文件的headers
header('Content-Description: File Transfer');
@ -3231,6 +3267,9 @@ class DownloadController extends BaseController {
->limit(($i-1)*$perSize ,$perSize)
->select();
foreach($data as $key => $value) {
if (empty($value['user_account']) ) {
$value['user_account'] = $users[$value['user_id']] ?? '';
}
$csvData['user_account'] = empty($value['user_account']) ? '--' : encryption($value['user_account']);
$csvData['game_name'] = empty($value['game_name']) ? '--' :$value['game_name'];
$csvData['server_name'] = empty($value['server_name']) ? '--' :$value['server_name'];

@ -42,6 +42,9 @@ class PlayersController extends BaseController {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId = M('game', 'tab_')->where($gameMap)->getField('id', true);
if(empty($gameId)) {
$gameId = [100000];
}
$map['game_id'] = ['in', $gameId];
}
if (!empty($serverId)) {
@ -60,21 +63,36 @@ 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
$rs = M('pay_info','tab_')->where($map)->order('tab_pay_info.create_time desc')
->page($page, $row)->select();
foreach($rs as $key => $v) {
if(empty($v['extend'])) {
$v['extend'] = $v['order_id'];
}
$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();
if($v['server_id'] != 0) {
$serverId1 = $v['server_id'];
$gameId = $v['game_id'];
$serverInfo = M('server','tab_')->field('server_name')->where(['server_num'=>$serverId1,'game_id'=>$gameId])->find();
$rs[$key]['server_name'] = $serverInfo['server_name'];
}else {
$rs[$key]['server_name'] = "";
$rs[$key]['game_player_id'] = "";
$rs[$key]['game_player_name'] = "";
}
$rs[$key]['promote_id']= $promoteInfo['account'];
}
$count = M('pay_info', 'tab_')
->field('tab_pay_info.id')
@ -85,8 +103,8 @@ class PlayersController extends BaseController {
//分页
$parameter['p'] = $page;
$parameter['row'] = $row;
$parameter['begtime'] = $initBegTime;
$parameter['endtime'] = $initEndTime;
$parameter['begtime'] = I('begtime');
$parameter['endtime'] = I('endtime');
$parameter['relation_game_id'] = $relationGameId;
$parameter['sdk_version'] = $sdkVersion;
$parameter['server_id'] = $serverId;

@ -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);
@ -1113,6 +1114,8 @@ class QueryController extends BaseController
$summaryData = [];
$dayList = $this->getDayList($begTime, $endTime);
$dayListReverse = $dayList;
$dayList = array_reverse($dayList);
$params['dayList'] = $dayList;
$records = [];
@ -1183,7 +1186,9 @@ class QueryController extends BaseController
$allData['spend_binding'] = bcadd($allData['spend_binding'], $spendBindingList[$day], 2);
$allData['spend_discount'] = bcadd($allData['spend_discount'], 0, 2);
$allData['spend_voucher'] = bcadd($allData['spend_voucher'], 0, 2);
}
foreach ($dayListReverse as $day) {
$date = date('Ymd', strtotime($day));
$summaryData['date'][] = $date;
$summaryData['role_num'][] = $roleNumList[$day];
$summaryData['user_num'][] = $userNumList[$day];
@ -1677,14 +1682,8 @@ class QueryController extends BaseController
}
if ($relationGameId != 0 || $sdkVersion != 0) {
if ($relationGameId != 0) {
$gameMap['relation_game_id'] = $relationGameId;
}
if ($sdkVersion != 0) {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId = M('game', 'tab_')->where($gameMap)->getField('id', true);
$map['game_id'] = ['in', $gameId];
$gameIds = gameSearch($relationGameId, $sdkVersion);
$map['game_id'] = ['in', $gameIds];
}
if ($serverId != 0) {
$map['server_id'] = $serverId;
@ -1787,29 +1786,21 @@ class QueryController extends BaseController
$ids[] = $queryPromote['id'];
$map = ['uc.promote_id' => ['in', $ids]];
$subMap = ['promote_id' => ['in', $ids]];
if ($relationGameId != 0 || $sdkVersion != 0) {
if ($relationGameId != 0) {
$gameMap['relation_game_id'] = $relationGameId;
}
if ($sdkVersion != 0) {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId = M('game', 'tab_')->where($gameMap)->getField('id', true);
$map['uc.game_id'] = ['in', $gameId];
$subMap['game_id'] = ['in', $gameId];
$gameIds = gameSearch($relationGameId, $sdkVersion);
$map['uc.game_id'] = ['in', $gameIds];
}
if ($serverId != 0) {
$map['uc.server_id'] = $serverId;
$subMap['server_id'] = $serverId;
}
if ($roleName != '') {
$map['ui.role_name'] = ['like', $roleName . '%'];
}
if ($userAccount != '') {
$map['ui.user_account'] = ['like', $userAccount . '%'];
$userId = M('user', 'tab_')->where(array('account' => ['like', $userAccount . '%']))->getField('id');
$userId = $userId ?? 0;
$map['uc.user_id'] = $userId;
}
if ($isSelf) {
$map['uc.promote_id'] = $queryPromote['id'];
@ -1857,7 +1848,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'];
@ -1876,15 +1867,24 @@ class QueryController extends BaseController
$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')
->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['game_name'] = empty($list['game_name']) ? '--' : $list['game_name'];
$list['sdk_version'] = empty($list['sdk_version']) ? '--' : getSDKTypeName($list['sdk_version']);
@ -1897,7 +1897,6 @@ class QueryController extends BaseController
$list['promote_account'] = empty($list['promote_account']) ? '--' : $list['promote_account'];
}
}
$games = get_promote_serach_game();
$this->assign('games', $games);
@ -1948,7 +1947,7 @@ class QueryController extends BaseController
public function getSubPromotes()
{
$promoteId = I('promote_id', 0);
$promoteId = I('promote_id', 0) ?: -1;
$promotes = M('promote', 'tab_')->field(['id', 'account', 'real_name'])->where(['parent_id' => $promoteId])->select();
$this->ajaxReturn([
'status' => 1,
@ -2069,14 +2068,8 @@ class QueryController extends BaseController
'basicPromotes' => $basicPromotes,
];
if ($relationGameId != 0 || $sdkVersion != 0) {
if ($relationGameId != 0) {
$gameMap['relation_game_id'] = $relationGameId;
}
if ($sdkVersion != 0) {
$gameMap['sdk_version'] = $sdkVersion;
}
$gameId = M('game', 'tab_')->where($gameMap)->getField('id', true);
$params['game_id'] = ['in', $gameId];
$gameIds = gameSearch($relationGameId, $sdkVersion);
$params['game_id'] = ['in', $gameIds];
}
if ($serverId > 0) {
$params['server_id'] = $serverId;

@ -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');

@ -261,7 +261,7 @@
<?php if ($game['supersign_status'] ==1):?>
<div class="blue-btn" onclick="location.href='mobile.php/Ssg/pay/game_id/{$game[\'id\']}/promote_id/{$promoteId}'">¥10至尊下载</div>
<?php else:?>
<div class="blue-btn" onclick="layer.msg('该游戏已关闭超级签下载');">¥10至尊下载</div>
<div class="blue-btn" onclick="layer.msg('已售空,我们正在努力上货中~');">¥10至尊下载</div>
<?php endif;?>
<div class="gray-btn down-link" down-link="{$downloadUrl}">普通下载</div>
<?php else:?>

@ -52,18 +52,16 @@
<?php endif;?>
<div class="h_wrap">
<div id="data-2">
<div id="data-2" style="position: relative;">
<?php if (!empty($game['flooring_page_video'])):?>
<div class="home-video">
<video id="example_video_1" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="none" width="640" height="264" poster="{$game['flooring_page_video_cover']}" data-setup='{}'>
<source src="{$game['flooring_page_video']}" type='video/mp4' />
</video>
</div>
<?php endif;?>
<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="example_video_1" class="video-js vjs-default-skin vjs-big-play-centered" controls preload="none" width="640" height="264" poster="{$game['flooring_page_video_cover']}" data-setup='{}'>
<source src="{$game['flooring_page_video']}" type='video/mp4' />
</video>
</div>
<?php endif;?>
<?php endif ;?>
<div>
<?php if ($downloadUrl == 'https://'.$_SERVER['HTTP_HOST']) :?>
<a href="#" class="no-package"><img src="{$item}" style="width: 100%;"/></a>
<?php else :?>

@ -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">
@ -82,6 +85,7 @@
</div>
</div>
<div class="form-group normal_space">
<input type="hidden" name="row" value="I('get.row', 10)">
<input type="hidden" name="last_sort_name" id="last_sort_name" value="{:I('sort_name', '')}">
<input type="hidden" name="sort_name" id="sort_name" value="{:I('sort_name', '')}">
<input type="hidden" name="sort" id="sort" value="{$sort}">
@ -95,13 +99,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 +116,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 +127,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 +138,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 +149,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 +160,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 +171,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>

@ -9,7 +9,7 @@
<link rel="stylesheet" type="text/css" href="__CSS__/reset.css">
<link rel="stylesheet" type="text/css" href="__CSS__/foot_tabbar.css">
<script type="text/javascript" src="__JS__/getRem.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=IlhuMR32KKlrV3pR6BuvSLVLQKQeEjwP"></script>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=IlhuMR32KKlrV3pR6BuvSLVLQKQeEjwP"></script>
<script type="text/javascript" src="__JS__/business.js"></script>
<div class="business">
<div class="business_box">

@ -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 '游戏名称';
@ -703,6 +703,11 @@ 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_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);

@ -43,7 +43,7 @@ $(function() {
var apitype = $("#apitype").val();
if (apitype == 'weixin') {
var loading = new Cute.ui.dialog().loading('加载中...',{mask:true});
Cute.api.post("/media.php/Recharge/beginPay",that.serialize(), function(json){
Cute.api.post("/media.php?s=/Recharge/beginPay",that.serialize(), function(json){
loading.close();
if(json.status > 0){

@ -0,0 +1,124 @@
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>隐私政策</title>
</head>
<body>
<h1>
隐私政策
</h1>
<p>
本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可分割的一部分。
</p>
<ol>
<li>
适用范围
<ol>
<li>
在您注册本应用帐号时,您根据本应用要求提供的个人注册信息;
</li>
<li>
在您使用本应用网络服务或访问本应用平台网页时本应用自动接收并记录的您的浏览器和计算机上的信息包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据
</li>
<li>
本应用通过合法途径从商业伙伴处取得的用户个人数据。
</li>
</ol>
您了解并同意,以下信息不适用本隐私权政策:
<ol>
<li>
您在使用本应用平台提供的搜索服务时输入的关键字信息;
</li>
<li>
本应用收集到的您在本应用发布的有关信息数据,包括但不限于参与活动、成交信息及评价详情;
</li>
<li>
违反法律规定或违反本应用规则行为及本应用已对您采取的措施。
</li>
</ol>
</li>
<li>
信息使用
<ol>
<li>
本应用不会向任何无关第三方提供、出售、出租、分享或交易您的个人信息,除非事先得到您的许可,或该第三方和本应用(含本应用关联公司)单独或共同为您提供服务,且在该服务结束后,其将被禁止访问包括其以前能够访问的所有这些资料。
</li>
<li>
本应用亦不允许任何第三方以任何手段收集、编辑、出售或者无偿传播您的个人信息。任何本应用平台用户如从事上述活动,一经发现,本应用有权立即终止与该用户的服务协议。
</li>
<li>
为服务用户的目的,本应用可能通过使用您的个人信息,向您提供您感兴趣的信息,包括但不限于向您发出产品和服务信息,或者与本应用合作伙伴共享信息以便他们向您发送有关其产品和服务的信息(后者需要您的事先同意)。
</li>
</ol>
</li>
<li>
信息披露<br>
在如下情况下,本应用将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息:
<ol>
<li>
经您事先同意,向第三方披露;
</li>
<li>
为提供您所要求的产品和服务,而必须和第三方分享您的个人信息;
</li>
<li>
根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露;
</li>
<li>
如您出现违反中国有关法律、法规或者本应用服务协议或相关规则的情况,需要向第三方披露;
</li>
<li>
如您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷;
</li>
<li>
在本应用平台上创建的某一交易中,如交易任何一方履行或部分履行了交易义务并提出信息披露请求的,本应用有权决定向该用户提供其交易对方的联络方式等必要信息,以促成交易的完成或纠纷的解决。
</li>
<li>
其它本应用根据法律、法规或者网站政策认为合适的披露。
</li>
</ol>
</li>
<li>
信息存储和交换<br>
本应用收集的有关您的信息和资料将保存在本应用及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或本应用收集信息和资料所在地的境外并在境外被访问、存储和展示。
</li>
<li>
Cookie的使用
<ol>
<li>
在您未拒绝接受cookies的情况下本应用会在您的计算机上设定或取用cookies 以便您能登录或使用依赖于cookies的本应用平台服务或功能。本应用使用cookies可为您提供更加周到的个性化服务包括推广服务。
</li>
<li>
您有权选择接受或拒绝接受cookies。您可以通过修改浏览器设置的方式拒绝接受cookies。但如果您选择拒绝接受cookies则您可能无法登录或使用依赖于cookies的本应用网络服务或功能。
</li>
<li>
通过本应用所设cookies所取得的有关信息将适用本政策。
</li>
</ol>
</li>
<li>
信息安全
<ol>
<li>
本应用帐号均有安全保护功能,请妥善保管您的用户名及密码信息。本应用将通过对用户密码进行加密等安全措施确保您的信息不丢失,不被滥用和变造。尽管有前述安全措施,但同时也请您注意在信息网络上不存在“完善的安全措施”。
</li>
<li>
在使用本应用网络服务进行网上交易时,您不可避免的要向交易对方或潜在的交易对
</li>
</ol>
</li>
<li>
本隐私政策的更改
<ol>
<li>
如果决定更改隐私政策,我们会在本政策中、本公司网站中以及我们认为适当的位置发布这些更改,以便您了解我们如何收集、使用您的个人信息,哪些人可以访问这些信息,以及在什么情况下我们会透露这些信息。
</li>
<li>
本公司保留随时修改本政策的权利,因此请经常查看。如对本政策作出重大更改,本公司会通过网站通知的形式告知。
</li>
</ol>
</li>
</ol>
</body></html>
Loading…
Cancel
Save