master
ELF 4 years ago
parent 1912e2b203
commit 82a70f0e05

@ -2918,6 +2918,27 @@ function isMarketLeader()
return false;
}
function getSearchAdminIds($searchAdminParam = 'admin_id', $searchDepartmentParam = 'department_id')
{
$adminIds = null;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminIds = [$userAuth['uid']];
} else {
if (!empty(I($searchAdminParam))) {
$adminIds = [I($searchAdminParam)];
}
}
if (is_null($adminIds) && isset($_REQUEST[$searchDepartmentParam])) {
$admins = getMarketAdmin($_REQUEST[$searchDepartmentParam]);
$adminIds = count($admins) ? array_column($admins, 'uid') : [-1];
}
return $adminIds;
}
function isMarketAdmin()
{
if(IS_SUBSITE){
@ -2939,7 +2960,6 @@ function isMarketAdmin()
function getMarketAdmin($departmentId = null) {
$map = [];
$map['group_id'] = ['in',A("Market","Event")->getNoLeaderMarketGroupId($departmentId)];
$data = M("auth_group_access")
->field("real_name,menber.uid,nickname")
->join("left join sys_member menber on sys_auth_group_access.uid = menber.uid")

@ -668,6 +668,9 @@ class AjaxController extends ThinkController{
public function getAdminsByDepartment()
{
$departmentId = I('department_id', 0);
if ($departmentId <= 0) {
$departmentId = null;
}
$admins = getMarketAdmin($departmentId);
return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['admins' => $admins]]);
}

@ -271,22 +271,7 @@ class FinancePromoteController extends AdminController
$map['company.develop_type'] = ['in',I('develop_type')];
}
$adminIds = null;
// $havingPids = [];
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminIds = [$userAuth['uid']];
} else {
if (!empty(I('admin_id'))) {
$adminIds = [I('admin_id')];
}
}
if (is_null($adminIds) && isset($_REQUEST['department_id'])) {
$admins = getMarketAdmin($_REQUEST['department_id']);
$adminIds = count($admins) ? array_column($admins, 'uid') : [-1];
}
$adminIds = getSearchAdminIds();
if($type == "spend"){
if (isset($_REQUEST['game_name']) || isset($_REQUEST['game_type'])) {
@ -357,22 +342,7 @@ class FinancePromoteController extends AdminController
$map['company.develop_type'] = ['in',I('develop_type')];
}
$adminIds = null;
// $havingPids = [];
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminIds = [$userAuth['uid']];
} else {
if (!empty(I('admin_id'))) {
$adminIds = [I('admin_id')];
}
}
if (is_null($adminIds) && isset($_REQUEST['department_id'])) {
$admins = getMarketAdmin($_REQUEST['department_id']);
$adminIds = count($admins) ? array_column($admins, 'uid') : [-1];
}
$adminIds = getSearchAdminIds();
if($type == "spend"){
if (isset($_REQUEST['game_name']) || isset($_REQUEST['game_type'])) {
@ -509,16 +479,29 @@ class FinancePromoteController extends AdminController
);
$marketAdmins = [];
$adminDepartments = [];
if (count($senddata) > 0) {
$promoteIds = array_column($senddata, 'promote_id');
if (count($promoteIds)) {
$marketAdmins = getMarketAdminsByPromoteIds($promoteIds);
}
$adminIds = [];
foreach ($marketAdmins as $item) {
if ( $item['admin']) {
$adminIds[] = $item['admin']['id'];
}
}
if (count($adminIds)) {
$adminDepartments = getAdminDepartmentList($adminIds);
}
}
foreach($senddata as $k=>$v){
$promote = $promotes[$v['promote_id']] ?? null;
$v['admin_username'] = isset($marketAdmins[$v['promote_id']]) && $marketAdmins[$v['promote_id']]['admin'] ? $marketAdmins[$v['promote_id']]['admin']['username'] : '无';
$marketAdmin = $marketAdmins[$v['promote_id']]['admin'] ?? null;
$v['admin_username'] = $marketAdmin ? $marketAdmin['username'] : '无';
$v['admin_department'] = $marketAdmin && isset($adminDepartments[$marketAdmin['id']]) ? $adminDepartments[$marketAdmin['id']] : '无';
$v['develop_type_text'] = getCompanyDevelopTypeText($v['develop_type']);
$v['company_belong'] = getCompanyBlong($v['company_belong']);
if(empty($v['company_name'])) $v['company_name']= $this->COMPANY_NAME;
@ -553,6 +536,7 @@ class FinancePromoteController extends AdminController
data2csv($data,'渠道统计',array(
"company_name"=>"推广公司",
"promote_account"=>"推广员账号",
"admin_department"=>"所属市场部",
"admin_username"=>"所属市场专员",
"company_belong"=>"团体类型",
"develop_type_text"=>"开发类型",
@ -568,6 +552,9 @@ class FinancePromoteController extends AdminController
$size = $row;
$data = array_slice($data, ($arraypage - 1) * $size, $size);
$departments = M('department', 'sys_')->select();
$this->assign('departments', $departments);
$this->assign('all_count', $allcount);
$this->assign('list_data', $data);
$this->meta_title = '渠道统计';
@ -580,18 +567,9 @@ class FinancePromoteController extends AdminController
if (isset($_REQUEST['company_id'])) {
$map['promote.company_id'] = $_REQUEST['company_id'];
}
if ($type == "spend") {
$adminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
$adminIds = getSearchAdminIds();
if ($type == "spend") {
if (isset($_REQUEST['game_name']) || isset($_REQUEST['game_type'])) {
$map["s.game_id"] = array("in",implode(',', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')) );
}
@ -603,8 +581,8 @@ class FinancePromoteController extends AdminController
$map['s.market_admin_id'] = ['gt', 0];
$map['promote.admin_id'] = ['gt', 0];
}
if ($adminId) {
$map['s.market_admin_id'] = $adminId;
if (is_array($adminIds)) {
$map['s.market_admin_id'] = ['in', $adminIds];
}
$map['s.pay_status']=1;
$map['s.is_check']=1;
@ -628,21 +606,10 @@ class FinancePromoteController extends AdminController
}
$map['s.status']=1;
$map['s.source_id']=0;
$adminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
$isMarketLeader = isMarketLeader();
if ($adminId > 0) {
$map['promote.admin_id'] = $adminId;
if (is_array($adminIds)) {
$map['promote.admin_id'] = ['in', $adminIds];
} elseif ($isMarketLeader) {
$map['promote.admin_id'] = ['gt', 0];
}
@ -657,8 +624,8 @@ class FinancePromoteController extends AdminController
->group('promote_id');
/* $havingPids = [];
if ($adminId > 0) {
$topIds = M('promote', 'tab_')->where(['admin_id' => $adminId])->getField('id', true);
if (is_array($adminIds)) {
$topIds = M('promote', 'tab_')->where(['admin_id' => ['in', $adminIds]])->getField('id', true);
$havingPids = getPromoteIdsByTopIds($topIds);
$havingPids = count($havingPids) > 0 ? $havingPids : [0];
$query->having('promote_id in (' . implode(',', $havingPids) . ')');
@ -720,7 +687,9 @@ class FinancePromoteController extends AdminController
}
}
$promotes = index_by_column('id', $promotes);
$adminUsernames = getAdminUsernameList(array_column($promotes, 'admin_id'));
$adminIds = array_column($promotes, 'admin_id');
$adminUsernames = getAdminUsernameList($adminIds);
$adminDepartments = getAdminDepartmentList($adminIds);
foreach ($data as $key => &$value) {
$promote = $promotes[$value['p_id']] ?? null;
@ -731,6 +700,7 @@ class FinancePromoteController extends AdminController
$value['company_belong'] =getCompanyBlong($value['company_belong']);
($value['account']=='官方渠道')?($value['account']=C('OFFICIEL_CHANNEL')):'';
$value['admin_department'] = $adminDepartments[$promote['admin_id']] ?? '无';
$value['admin_username'] = $adminUsernames[$promote['admin_id']] ?? '无';
$value['develop_type_text'] = getCompanyDevelopTypeText($value['develop_type']);
@ -753,6 +723,7 @@ class FinancePromoteController extends AdminController
"company_name"=>"推广公司",
"account"=>"会长账号",
"admin_username"=>"所属市场专员",
"admin_department"=>"所属市场部",
"company_belong"=>"团体类型",
"develop_type_text"=>"开发类型",
"game_name"=>"游戏",
@ -781,6 +752,8 @@ class FinancePromoteController extends AdminController
$sumInside = $totalData['inside_cash_count'];
$sumAll = number_format($sumCash + $sumBalance + $sumInside,2,'.','');
$departments = M('department', 'sys_')->select();
$this->assign('departments', $departments);
$this->assign('sumCash', $sumCash);
$this->assign('sumBalance', $sumBalance);
$this->assign('sumInside', $sumInside);
@ -813,25 +786,15 @@ class FinancePromoteController extends AdminController
$map['pay_order_number'] = $_REQUEST['pay_order_number'];
}
$adminId = 0;
$havingPids = [];
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
$adminIds = getSearchAdminIds();
$isMarketLeader = isMarketLeader();
if ($isMarketLeader) {
$map['market_admin_id'] = ['gt', 0];
}
if ($adminId > 0) {
$map['market_admin_id'] = $adminId;
if (is_array($adminIds)) {
$map['market_admin_id'] = ['in', $adminIds];
}
D("Spend")->addSubsiteWhere($map);
/* if (!empty(I('develop_type'))) {
@ -899,7 +862,9 @@ class FinancePromoteController extends AdminController
$marketAdmins = [];
if (count($data) > 0) {
$marketAdmins = getAdminUsernameList(array_column($data, 'market_admin_id'));
$marketAdminIds = array_column($data, 'market_admin_id');
$marketAdmins = getAdminUsernameList($marketAdminIds);
$adminDepartments = getAdminDepartmentList($marketAdminIds);
}
$merchant_data = M("payment_merchant","tab_")
@ -918,6 +883,7 @@ class FinancePromoteController extends AdminController
$data[$key]['game_name'] =clearGameNameType($data[$key]['game_name']);
$data[$key]['sdk_version'] =getGameTypeName($data[$key]['sdk_version']);
$data[$key]['market_admin_username'] = $marketAdmins[$value['market_admin_id']] ?? '无';
$data[$key]['admin_department'] = $adminDepartments[$value['market_admin_id']] ?? '无';
($data[$key]['promote_account']=='官方渠道')?($data[$key]['promote_account']=C('OFFICIEL_CHANNEL')):'';
if (isset($_REQUEST['export'])) {
@ -969,6 +935,9 @@ class FinancePromoteController extends AdminController
if($page) {$this->assign('_page', $page);}
$this->meta_title = '游戏订单查看';
$departments = M('department', 'sys_')->select();
$this->assign('departments', $departments);
$this->assign('data',$data);
$from = I('from', '');
$this->display($from);
@ -976,19 +945,9 @@ class FinancePromoteController extends AdminController
private function gameStatisticsData($map, $row = 0, $page = 1)
{
$adminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
if ($adminId > 0) {
$map['s.market_admin_id'] = $adminId;
$adminIds = getSearchAdminIds();
if (is_array($adminIds)) {
$map['s.market_admin_id'] = ['in', $adminIds];
}
$map['s.pay_status']=1;
@ -1021,19 +980,9 @@ class FinancePromoteController extends AdminController
}
private function totalGameStatisticsData($map, $join = true)
{
$adminId = 0;
$isMarketAdmin = isMarketAdmin();
if ($isMarketAdmin) {
$userAuth = session('user_auth');
$adminId = $userAuth['uid'];
} else {
if (!empty(I('admin_id'))) {
$adminId = I('admin_id');
}
}
if ($adminId > 0) {
$map['s.market_admin_id'] = $adminId;
$adminIds = getSearchAdminIds();
if (is_array($adminIds)) {
$map['s.market_admin_id'] = ['in', $adminIds];
}
$query = SM("spend","tab_")->alias("s")

@ -128,6 +128,16 @@
</volist>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="department_id" name="department_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场部</option>
<?php foreach($departments as $department):?>
<option value="<?=$department['id']?>" <?php if($department['id'] == I('department_id')):?>selected<?php endif;?>><?=$department['name']?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场专员</option>
@ -195,6 +205,7 @@
<th>推广公司</th>
<th>会长账号</th>
<th>当前所属市场专员</th>
<th>所属市场部</th>
<th>团体类型</th>
<th>开发类型</th>
<th >游戏</th>
@ -229,6 +240,7 @@
<td >{$data.company_name}</td>
<td >{$data.account}</td>
<td>{$data['admin_username']}</td>
<td>{$data['admin_department']}</td>
<td >{$data.company_belong}</td>
<td>{$data['develop_type_text']}</td>
<td >{$data.game_name}</td>
@ -245,7 +257,7 @@
</tr>
</volist>
<tr>
<td colspan="7" ><span>总计</span></td>
<td colspan="8" ><span>总计</span></td>
<td ><span><if condition="$sumCash neq ''">{$sumCash}<else/>0</if></span></td>
<td><if condition="$sumBalance neq ''">{$sumBalance}<else/>0</if></td>
<td><if condition="$sumInside neq ''">{$sumInside}<else/>0</if></td>
@ -434,6 +446,40 @@
$("#company_id").change(function(){
getPromotersByCompanyid();
})
var adminId = "{:I('admin_id')}";
var departmentId = "{:I('department_id')}";
function getAdminsByDepartmentId() {
var departmentId = $("#department_id option:selected").val();
if(!departmentId){
departmentId = -1;
}
$.ajax({
url: "{:U('Ajax/getAdminsByDepartment')}",
type: "get",
data: { department_id: departmentId},
dataType: 'json',
success: function (response) {
str = '<option value="">请选择市场专员</option>';
admins = response.data.admins;
for (var i in admins) {
str += "<option value='" + admins[i].uid + "' " + (adminId && admins[i].uid == adminId ? 'selected' : '') + ">" + admins[i].nickname + "</option>"
}
$("#admin_id").empty();
$("#admin_id").append(str);
$("#admin_id").select2();
}
})
}
getAdminsByDepartmentId();
$("#admin_id").change(function(){
adminId = $("#admin_id option:selected").val();
})
$("#department_id").change(function(){
getAdminsByDepartmentId();
})
// $("#game_name, #game_type").change(function(){
// get_partnet_list();
// });

@ -94,6 +94,14 @@
<option value="0" <?php if ($_POST['promote_id'] == 0):?>selected<?php endif;?>>{:C('OFFICIEL_CHANNEL')}</option>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="department_id" name="department_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场部</option>
<?php foreach($departments as $department):?>
<option value="<?=$department['id']?>" <?php if($department['id'] == I('department_id')):?>selected<?php endif;?>><?=$department['name']?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场专员</option>
@ -184,6 +192,7 @@
<th >所属推广员</th>
<th >所属市场专员</th>
<th>所属市场部</th>
<th >充值ip</th>
<th >游戏区服</th>
@ -221,6 +230,7 @@
<td >{$data.sdk_version}</td>
<td >{$data.promote_account}</td>
<td >{$data.market_admin_username}</td>
<td>{$data['admin_department']}</td>
<td >{$data.spend_ip}</td>
<td >{$data.server_name}</td>
<td >{$data.game_player_name}</td>
@ -232,7 +242,7 @@
</volist>
<tr>
<td ><span>总计</span></td>
<td colspan="13" ><span><if condition="$sumAll neq ''">累计充值:{$sumAll}<else/>0</if>
<td colspan="14" ><span><if condition="$sumAll neq ''">累计充值:{$sumAll}<else/>0</if>
(现金金额:{$sumCash} 平台币:{$sumBalance} 绑币:{$sumInside}
</span></td>
</tr>
@ -397,6 +407,39 @@
})
});
$("#promote_level").change();
var adminId = "{:I('admin_id')}";
var departmentId = "{:I('department_id')}";
function getAdminsByDepartmentId() {
var departmentId = $("#department_id option:selected").val();
if(!departmentId){
departmentId = -1;
}
$.ajax({
url: "{:U('Ajax/getAdminsByDepartment')}",
type: "get",
data: { department_id: departmentId},
dataType: 'json',
success: function (response) {
str = '<option value="">请选择市场专员</option>';
admins = response.data.admins;
for (var i in admins) {
str += "<option value='" + admins[i].uid + "' " + (adminId && admins[i].uid == adminId ? 'selected' : '') + ">" + admins[i].nickname + "</option>"
}
$("#admin_id").empty();
$("#admin_id").append(str);
$("#admin_id").select2();
}
})
}
getAdminsByDepartmentId();
$("#admin_id").change(function(){
adminId = $("#admin_id option:selected").val();
})
$("#department_id").change(function(){
getAdminsByDepartmentId();
})
})
</script>
</block>

@ -109,6 +109,16 @@
<option value="UC" <?php if ($_POST['promote_id'] == 'UC'):?>selected<?php endif;?>>UC用户</option>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="department_id" name="department_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场部</option>
<?php foreach($departments as $department):?>
<option value="<?=$department['id']?>" <?php if($department['id'] == I('department_id')):?>selected<?php endif;?>><?=$department['name']?></option>
<?php endforeach;?>
</select>
</div>
<div class="input-list input-list-server search_label_rehab">
<select id="admin_id" name="admin_id" class="select_gallery" style="width:120px;">
<option value="">请选择市场专员</option>
@ -175,6 +185,7 @@
<th>推广公司</th>
<th>推广员账号</th>
<th>当前所属市场专员</th>
<th>所属市场部</th>
<th>团体类型</th>
<th>开发类型</th>
@ -226,6 +237,7 @@
<td>{$data.company_name}</td>
<td>{$data['promote_account']}</td>
<td>{$data['admin_username']}</td>
<td>{$data['admin_department']}</td>
<td>{$data['company_belong']}</td>
<td>{$data['develop_type_text']}</td>
<td>{$data.cash_count}</td>
@ -440,6 +452,39 @@
$("#company_id").change(function(){
getPromotersByCompanyid();
})
var adminId = "{:I('admin_id')}";
var departmentId = "{:I('department_id')}";
function getAdminsByDepartmentId() {
var departmentId = $("#department_id option:selected").val();
if(!departmentId){
departmentId = -1;
}
$.ajax({
url: "{:U('Ajax/getAdminsByDepartment')}",
type: "get",
data: { department_id: departmentId},
dataType: 'json',
success: function (response) {
str = '<option value="">请选择市场专员</option>';
admins = response.data.admins;
for (var i in admins) {
str += "<option value='" + admins[i].uid + "' " + (adminId && admins[i].uid == adminId ? 'selected' : '') + ">" + admins[i].nickname + "</option>"
}
$("#admin_id").empty();
$("#admin_id").append(str);
$("#admin_id").select2();
}
})
}
getAdminsByDepartmentId();
$("#admin_id").change(function(){
adminId = $("#admin_id option:selected").val();
})
$("#department_id").change(function(){
getAdminsByDepartmentId();
})
})

Loading…
Cancel
Save