市场专员信息显示通过权限控制

master
ELF 4 years ago
parent 22f8e85b1d
commit dfdc31f4dc

@ -1585,7 +1585,7 @@ function getGameList($partner_id) {
function getAdminData ($uid) {
$adminData = M('auth_group_access')
->field('data_empower_type,data_president,show_data')
->field('data_empower_type,data_president,show_data,show_market_admin')
->join('left join sys_auth_group on sys_auth_group_access.group_id=sys_auth_group.id')
->where(array('uid'=>$uid))->find();

@ -527,12 +527,13 @@ class AuthManagerController extends AdminController{
$auth_group = M('AuthGroup')->where( array('status'=>array('egt','0'),'module'=>'admin','type'=>AuthGroupModel::TYPE_ADMIN) )
->getfield('id,id,title,rules');
// var_dump($auth_group);die();
$empower_type = M('AuthGroup')->field('data_empower_type,show_data')->where(array('id'=>$_GET['group_id']))->find();
$empower_type = M('AuthGroup')->field('data_empower_type,show_data,show_market_admin')->where(array('id'=>$_GET['group_id']))->find();
// var_dump($empower_type);die();
$this->assign('data_empower_type', $empower_type['data_empower_type']);
$this->assign('show_data', $empower_type['show_data']);
$this->assign('auth_group', $auth_group);
$this->assign('show_market_admin', $empower_type['show_market_admin']);
$this->display();
}
@ -542,6 +543,7 @@ class AuthManagerController extends AdminController{
$gid = I('group_id');
$data_empower_type = I('data_empower_type');
$show_data = I('show_data');
$show_market_admin = I('show_market_admin');
$promoteData = I('promote_data');
// dump(json_decode($promoteData,true));
@ -567,9 +569,10 @@ class AuthManagerController extends AdminController{
}
if ($AuthGroup->where("id = {$gid}")->save(array(
'data_empower_type'=>$data_empower_type,
'data_president'=>$promoteData,
'show_data'=>$show_data
'data_empower_type' => $data_empower_type,
'data_president' => $promoteData,
'show_data' => $show_data,
'show_market_admin' => $show_market_admin,
))) {
resetUserAuth();

@ -55,19 +55,26 @@ class ExportController extends Controller
$xlsName = $_REQUEST['xlsname'];
switch ($id) {
case 1:
// $xlsCell = array(
// array('user_account', "玩家账号"),
// array('game_name', "游戏名称"),
// array('server_name', L('Game_area_clothing')),
// array('role_name', "角色名"),
// array('role_level', "游戏等级"),
// array('play_time', "最后登录时间", 'time_format', '*'),
// array('play_ip', "最后登录ip"),
// );
$xlsCell = array(
"创建时间","玩家账号", "游戏名称","游戏区服", L('Game_area_clothing'), "角色ID", "角色名", "游戏等级","推广员ID", "所属推广员",
"最后登录时间", '最后登录ip','所属市场专员'
);
$showMarketAdmin = session('user_auth')['show_market_admin'];
$headers = [
'create_time' => '创建时间',
'user_account' => '玩家账号',
'game_name' => '游戏名称',
'server_id' => '游戏区服',
'server_name' => L('Game_area_clothing'),
'role_id' => '角色ID',
'role_name' => '角色名',
'role_level' => '游戏等级',
'promote_id' => '所属市场专员',
'promote_account' => '所属推广员',
'play_time' => '最后登录时间',
'play_ip' => '最后登录ip',
];
$xlsCell = array_values($headers);
$fields = array_keys($headers);
if ($showMarketAdmin == 0) {
unset($headers['promote_id']);
}
if (isset($_REQUEST['game_name'])) {
$map['game_name'] = ['like', trim($_REQUEST['game_name'])."%"];
unset($_REQUEST['game_name']);
@ -95,14 +102,6 @@ class ExportController extends Controller
$map = withMarketAdminCondition($map, I('market_admin_id', 0));
// $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($_REQUEST['promote_id'])) {
@ -140,7 +139,6 @@ class ExportController extends Controller
->where($map)
->order('play_time desc')
->count();
// $accessNum =$accessNum['count'];
$perSize = 5000;//每次查询的条数
$pages = ceil($accessNum / $perSize);
@ -150,16 +148,20 @@ class ExportController extends Controller
for($i = 1; $i <= $pages; $i++) {
$xlsData = M('user_play_info', 'tab_')
->field("create_time,user_account,game_name,server_id,server_name,role_id,role_name,role_level,promote_id,promote_account,play_time,play_ip")
->field($fields)
->where($map)
->limit(($i-1)*$perSize ,$perSize)
->order('play_time desc')
->select();
$adminList = getMarketAdminsByPromoteIds(array_column($xlsData, 'promote_id'));
if ($showMarketAdmin == 1) {
$adminList = getMarketAdminsByPromoteIds(array_column($xlsData, 'promote_id'));
}
foreach($xlsData as $value) {
($value['promote_account']=='官方渠道'||$value['promote_account']=='自然注册')?($value['promote_account']=C('OFFICIEL_CHANNEL')):'';
$value['market_admin_username'] = isset($adminList[$value['promote_id']]) && $adminList[$value['promote_id']]['admin'] ? $adminList[$value['promote_id']]['admin']['username'] : '无';
if ($showMarketAdmin == 1) {
$value['promote_id'] = isset($adminList[$value['promote_id']]) && $adminList[$value['promote_id']]['admin'] ? $adminList[$value['promote_id']]['admin']['username'] : '无';
}
$value['create_time'] = date("Y-m-d H:i:s",$value['create_time']);
$value['play_time'] = date("Y-m-d H:i:s",$value['play_time']);
mb_convert_variables('GBK', 'UTF-8', $value);
@ -1149,14 +1151,6 @@ class ExportController extends Controller
$map['market_admin_id'] = $userAuth['uid'];
}
// $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($_REQUEST['promote_id'])) {
@ -1204,11 +1198,38 @@ class ExportController extends Controller
// var_dump($total);die();
$total=$total?$total:0;
$showMarketAdmin = session('user_auth')['show_market_admin'];
$headers = [
'pay_order_number' => '支付订单号',
'extend' => 'CP订单号',
'pay_time' => '充值时间',
'payed_time' => '支付时间',
'user_account' => '玩家账号',
'game_name' => '游戏名称',
'promote_account' => L('Subordinate_channel'),
'0 as company_name' => '所属推广公司',
'market_admin_id' => '所属市场专员',
'merchant_id' => '所属商户',
'spend_ip' => '充值ip',
'server_id' => '区服ID',
'server_name' => '游戏区服',
'game_player_id' => '角色ID',
'game_player_name' => '角色名称',
'cost' => '订单金额',
'pay_amount' => '实付金额',
'pay_way' => '充值方式',
'pay_status' => L('Order_status'),
'pay_game_status' => '游戏通知状态',
'promote_id' => "消费"."{$total}",
];
$xlsCell = array(
"支付订单号","CP订单号", "充值时间","支付时间", "玩家账号", "游戏名称", L('Subordinate_channel'), "所属推广公司", "所属市场专员","所属商户", "充值ip","区服ID", "游戏区服",
"角色ID","角色名称", "订单金额", "实付金额", "充值方式", L('Order_status'), "游戏通知状态", "消费"."{$total}"
);
if ($showMarketAdmin == 0) {
unset($headers['market_admin_id']);
}
$xlsCell = array_values($headers);
$fields = array_keys($headers);
$csvFileName = $xlsName.'.csv';
//设置好告诉浏览器要下载excel文件的headers
@ -1232,20 +1253,14 @@ class ExportController extends Controller
// var_dump($count);die();
for($i = 1; $i <= $pages; $i++) {
$xlsData = D('Spend')
// ->field('pay_order_number,extend,pay_time,user_account,game_name,promote_account,spend_ip,server_id,server_name,game_player_id,game_player_name,cost,pay_amount,pay_way,pay_status,pay_game_status')
// ->where($map)
// ->limit(($i-1)*$perSize ,$perSize)
// ->join($tab_promote_join)
// ->order('pay_time DESC')
// ->select();
->field('pay_order_number,extend,pay_time,payed_time,user_account,game_name,promote_account, 0 as company_name,market_admin_id,merchant_id,spend_ip,server_id,server_name,game_player_id,game_player_name,cost,pay_amount,pay_way,pay_status,pay_game_status, promote_id')
// ->join('tab_promote on tab_promote.id = tab_spend.promote_id', 'left')
// ->join('tab_promote_company on tab_promote_company.id and tab_promote.company_id', 'left')
->field($fields)
->where($map)
->limit(($i-1)*$perSize ,$perSize)
->order($order ? $order : 'pay_time desc')
->select();
$adminUsernameList = getAdminUsernameList(array_column($xlsData, 'market_admin_id'));
if ($showMarketAdmin == 1) {
$adminUsernameList = getAdminUsernameList(array_column($xlsData, 'market_admin_id'));
}
$promoters = D('Promote')->where(['id'=>['in', array_unique(array_column($xlsData, 'promote_id'))]])->field('id, company_id')->select();
$promoters = $promoters ? array_column($promoters, 'company_id', 'id') : [];
$companys = $promoters ? M('promote_company', 'tab_')->where(['id'=>['in', array_unique(array_values($promoters))]])->field('id, company_name')->select() : [];
@ -1268,7 +1283,9 @@ class ExportController extends Controller
$value['pay_way'] = get_pay_way($value['pay_way']);
$value['pay_status'] = get_info_status($value['pay_status'],9);
$value['pay_game_status'] = get_info_status($value['pay_game_status'],14);
$value['market_admin_id'] = $adminUsernameList[$value['market_admin_id']] ?? '无';
if ($showMarketAdmin == 1) {
$value['market_admin_id'] = $adminUsernameList[$value['market_admin_id']] ?? '无';
}
mb_convert_variables('GBK', 'UTF-8', $value);
fputcsv($fp, $value);
}

@ -170,7 +170,7 @@ class MemberController extends ThinkController
foreach ($data as $key=>$value ) {
($data[$key]['promote_account']=='官方渠道'||$data[$key]['promote_account']=='自然注册')?($data[$key]['promote_account']=C('OFFICIEL_CHANNEL')):'';
}
// dump($data);die();
$showMarketAdmin = session('user_auth')['show_market_admin'];
if(isset($_REQUEST['export'])){
$isadmin = is_administrator();
//获取等级
@ -221,6 +221,9 @@ class MemberController extends ThinkController
"small_count"=>"小号","vip_level"=>"VIP等级","register_type"=>"注册方式","register_time"=>"注册时间","register_ip"=>"注册IP","login_time"=>"最后登录时间",
"device_number"=>"设备号","is_repeat"=>"去重数据","lock_remark"=>"锁定备注","lock_status"=>"账号状态","check_status"=>"拉黑状态"
);
if ($showMarketAdmin == 0) {
unset($field['market_admin_username']);
}
//操作日志
unset($_GET['export']);
addOperationLog(array(
@ -282,7 +285,7 @@ class MemberController extends ThinkController
$this->assign('marketAdmins', getMarketAdmins());
$this->assign('repeat_count',$repeat_count);
$this->assign('no_repeat_count',$no_repeat_count);
$this->assign('showMarketAdmin', $showMarketAdmin);
$this->assign('user_count',$user_count);
$this->assign('now_count', $userDbRes['recharge_total']);
$page = set_pagination($user_count, $row);

@ -149,6 +149,7 @@ class SpendController extends ThinkController
$value['market_admin_username'] = $adminUsernameList[$value['market_admin_id']] ?? '无';
}
$this->assign('showMarketAdmin', session('user_auth')['show_market_admin']);
$this->assign('isMarketAdmin', $isMarketAdmin);
$this->assign('marketAdmins', getMarketAdmins());
$this->assign('startDate', $startDate);

@ -750,6 +750,7 @@ class UserController extends AdminController
$value['market_admin_username'] = isset($adminList[$value['promote_id']]) && $adminList[$value['promote_id']]['admin'] ? $adminList[$value['promote_id']]['admin']['username'] : '无';
}
$this->assign('showMarketAdmin', session('user_auth')['show_market_admin']);
$this->assign('list', $list);
$this->meta_title = '角色数据';

@ -82,6 +82,7 @@ class MemberModel extends Model {
'data_empower_type'=>$adminData['data_empower_type'],
'data_president'=>$adminData['data_president'],
'show_data'=>$adminData['show_data'],
'show_market_admin'=>$adminData['show_market_admin'],
);
//登录有效时间改为1小时
$expireTime = 3600;

@ -45,18 +45,18 @@
<tr>
<td class="l" style="padding-left: 15px;">数据授权类型:</td>
<td class="r table_radio">
<span class="form_radio table_btn" style="width: auto">
<label >
<input type="radio" value="1" name="data_empower_type" <eq name="data_empower_type" value="1">checked="checked"</eq>>可查看全部数据
</label >
<label >
<input type="radio" value="2" name="data_empower_type" <eq name="data_empower_type" value="2">checked="checked"</eq>>可查看部分数据
</label>
<label >
<input type="radio" value="3" name="data_empower_type" <eq name="data_empower_type" value="3">checked="checked"</eq>>只能查看自己创建的会长数据
</label>
</span>
<!-- <span class="notice-text">锁定状态下,推广员账号则无法登录</span>-->
<span class="form_radio table_btn" style="width: auto">
<label >
<input type="radio" value="1" name="data_empower_type" <eq name="data_empower_type" value="1">checked="checked"</eq>>可查看全部数据
</label >
<label >
<input type="radio" value="2" name="data_empower_type" <eq name="data_empower_type" value="2">checked="checked"</eq>>可查看部分数据
</label>
<label >
<input type="radio" value="3" name="data_empower_type" <eq name="data_empower_type" value="3">checked="checked"</eq>>只能查看自己创建的会长数据
</label>
</span>
<!-- <span class="notice-text">锁定状态下,推广员账号则无法登录</span>-->
<input type="hidden" name="group_id" id="group_id" value="{$_GET['group_id']}">
<input type="hidden" name="promote_data" id="promote_data" value="[]">
</td>
@ -65,16 +65,33 @@
<tr>
<td class="l noticeinfo" style="padding-left: 15px;">数据展示权限:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="show_data"
<if condition="$show_data==1"> checked </if>> 是
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="show_data"
<if condition="$show_data==0"> checked </if>> 否
</label>
</span>
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="show_data"
<if condition="$show_data==1"> checked </if>> 是
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="show_data"
<if condition="$show_data==0"> checked </if>> 否
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
<tr>
<td class="l noticeinfo" style="padding-left: 15px;">是否显示市场专员:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="show_market_admin"
<if condition="$show_market_admin==1"> checked </if>> 是
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="show_market_admin"
<if condition="$show_market_admin==0"> checked </if>> 否
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>

@ -163,7 +163,7 @@
<option value="UC" <?php if ($_POST['promote_id'] == 'UC'):?>selected<?php endif;?>>UC用户</option>
</select>
</div>
<?php if(!$isMarketAdmin):?>
<?php if(!$isMarketAdmin && $showMarketAdmin == 1):?>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="market_admin_id" style="color:#444" class="select_gallery" id="market_admin_id">
<option value="0">所属市场专员</option>
@ -215,7 +215,9 @@
<th>玩家账号</th>
</if>
<th>所属推广员</th>
<?php if($showMarketAdmin == 1):?>
<th>所属市场专员</th>
<?php endif;?>
<th>
<a class="paixu" data-order="{:I('balance_status',1)}" name="balance_status">
@ -298,7 +300,9 @@
</empty>
</if>
</td>
<?php if($showMarketAdmin == 1):?>
<td >{$data.market_admin_username}</td>
<?php endif;?>
<td >{$data.balance}</td>
<td >{$data.recharge_total}</td>
<td >{$data.gold_coin|default='0.00'}</td>

@ -128,7 +128,7 @@
<option value="">请选择推广员</option>
</select>
</div>
<?php if(!$isMarketAdmin):?>
<?php if(!$isMarketAdmin && $showMarketAdmin == 1):?>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="market_admin_id" style="color:#444" class="select_gallery" id="market_admin_id">
<option value="0">所属市场专员</option>
@ -183,7 +183,9 @@
<th>玩家账号</th>
<th>游戏名称</th>
<th>所属推广员</th>
<?php if($showMarketAdmin == 1):?>
<th>所属市场专员</th>
<?php endif;?>
<th>所属商户</th>
<th>充值ip</th>
<th>区服ID</th>
@ -249,7 +251,9 @@
<!-- {:get_promote_account($data['promote_id'])}-->
</eq>
</td>
<?php if($showMarketAdmin == 1):?>
<td >{$data.market_admin_username}</td>
<?php endif;?>
<td >{:getMerchantName($data['merchant_id'])}</td>
<td>{$data.spend_ip}</td>
<empty name='data.server_name'>

@ -108,7 +108,7 @@
<span class="add-on"><i class="icon-th"></i></span>
</div>
</div>
<?php if(!$isMarketAdmin):?>
<?php if(!$isMarketAdmin && $showMarketAdmin == 1):?>
<div class="input-list search_item input-list-gamenoticestatus">
<select name="market_admin_id" style="color:#444" class="select_gallery" id="market_admin_id">
<option value="0">所属市场专员</option>
@ -137,7 +137,9 @@
<th class="">角色名</th>
<th class="">游戏等级</th>
<th class="">所属推广员</th>
<th class="">所属市场专员</th>
<?php if($showMarketAdmin == 1):?>
<th>所属市场专员</th>
<?php endif;?>
<th class="">最后登录时间</th>
<th class="">最后登录IP</th>
<!-- <th class="">操作</th> -->
@ -172,7 +174,9 @@
{$data.promote_account|encryptStr}
</if>
</td>
<?php if($showMarketAdmin == 1):?>
<td >{$data.market_admin_username}</td>
<?php endif;?>
<td><?= date('Y-m-d H:i:s', $data['play_time']) ?></td>
<td>{$data.play_ip}</td>
<!-- <td><a class="ajax-get" href="{:U('user_update',['ids'=>$data['id']])}">更新</a></td> -->

Loading…
Cancel
Save