Merge branch 'hotfix/modify_special_piont' into feature/add_item

master
zhengyongxing 4 years ago
commit 68ba764d72

@ -1438,9 +1438,12 @@ class CompanyStatementController extends ThinkController
if ($company_ids) {
$inside = M("promote_company",'tab_')->field("company_name")->where(['id'=>['in',$company_ids],'is_inside'=>1])->select();
$inside = implode(',',array_column($inside,'company_name'));
if ($inside) {
$this->ajaxReturn(['status'=>0,'msg'=>$inside.'为内部公司不能添加特殊补点']);
$inside = implode(',',array_column($inside,'company_name'));
$this->ajaxReturn(['status'=>0,'msg'=>$inside.'为内部公司不能添加特殊补点']);
}
}

@ -3719,7 +3719,7 @@ class ExportController extends Controller
$play_info_map = false;
if (isset($_REQUEST['server_id'])) {
$play_map = false; //有区服就不检索玩家表,有区服一定已经选择游戏了
$play_info_map = " and upi.server_id = '{$_REQUEST['server_id']}' and upi.game_name = '{$_REQUEST['game_name']}'";
$play_info_map = " and upi.server_id = '{$_REQUEST['server_id']}' and upi.game_name like '{$_REQUEST['game_name']}%'";
}
if (!empty($_REQUEST['admin_id'])) {
@ -3761,7 +3761,7 @@ class ExportController extends Controller
substring_index(substring_index(promote.`chain`,'/',2),'/',-1)),0) id")
->join("tab_promote promote ON u.promote_id = promote.id","left")
->join($play_map ? "tab_user_play as up on up.user_id = u.id " . $play_map : false)
// ->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false)
->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false)
->join('tab_game on u.fgame_id = tab_game.id')
->where($map)
->group('tab_game.relation_game_id, id')

@ -809,7 +809,6 @@ class FinanceController extends ThinkController
$aggAmount = number_format($aggData[$value['unique_code']][$deviceType], 2, '.', '');
$aggFailAmount = number_format($aggFailData[$value['unique_code']][$deviceType], 2, '.', '');
}
// if ($aggAmount != '0.00') {
if (isset($gameSets[$value['game_id']]) && isAggGame($gameSets[$value['game_id']]['pay_notify_url'])) {
$data[$key]['cash_count'] = $value['cash_count'] = 0;
$data[$key]['balance_coin_count'] = $value['balance_coin_count'] = 0;

@ -473,7 +473,7 @@ class PlatformController extends ThinkController
$play_info_map = false;
if (isset($_REQUEST['server_id'])) {
$play_map = false; //有区服就不检索玩家表,有区服一定已经选择游戏了
$play_info_map = " and upi.server_id = '{$_REQUEST['server_id']}' and upi.game_name = '{$_REQUEST['game_name']}'";
$play_info_map = " and upi.server_id = '{$_REQUEST['server_id']}' and upi.game_name like '{$_REQUEST['game_name']}%'";
}
if (!empty($_REQUEST['admin_id'])) {
@ -515,7 +515,7 @@ class PlatformController extends ThinkController
substring_index(substring_index(promote.`chain`,'/',2),'/',-1)),0) id")
->join("tab_promote promote ON u.promote_id = promote.id","left")
->join($play_map ? "tab_user_play as up on up.user_id = u.id " . $play_map : false)
// ->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false)
->join($play_info_map ? "tab_user_play_info as upi on upi.user_id = u.id " . $play_info_map : false)
->join('tab_game on u.fgame_id = tab_game.id')
->where($map)
->group('tab_game.relation_game_id, id')

@ -819,7 +819,7 @@ AND UNIX_TIMESTAMP(
'date' => '日期',
'new_user' => '新增玩家',
'login_user' => '活跃玩家',
'pay_account' => '充值金额',
'pay_amount' => '充值金额',
'pay_user' => '付费玩家',
'pay_rate' => '付费率',
'arpu' => 'ARPU',

@ -831,6 +831,20 @@ class SpendModel extends Model
return $sum;
}
private function getGameMapByGameStatMap($map)
{
$gameMap = [];
if (isset($map['s.game_id'])) {
$gameMap['id'] = $map['s.game_id'];
}
if (isset($map['g.partner_id'])) {
$gameMap['partner_id'] = $map['g.partner_id'];
}
if (isset($map['g.game_type_id'])) {
$gameMap['game_type_id'] = $map['g.game_type_id'];
}
return $gameMap;
}
/**
*获取游戏统计列表数据
@ -840,6 +854,18 @@ class SpendModel extends Model
*/
public function gameStatistics($map, $row = 0, $page = 1)
{
$gameMap = $this->getGameMapByGameStatMap($map);
$gameQuery = M('game', 'tab_')->field(['id', 'relation_game_name', 'unique_code', 'partner_id', 'game_type_name', 'sdk_version'])->where($gameMap);
if ($row) {
$gameQuery->page($page,$row);
}
$games = $gameQuery->select();
$partners = [];
if (count($games)) {
$map['s.game_id'] = ['in', array_column($games, 'id')];
$partners = M('partner', 'tab_')->field(['id', 'partner'])->where(['id' => ['in', array_column($games, 'partner_id')]])->select();
$partners = index_by_column('id', $partners);
}
$noticeFailData = M("Spend s use index(game_time)","tab_")
->field("SUM(pay_amount) as notice_fail_count,game_id")
@ -862,26 +888,38 @@ SUM(CASE WHEN pay_way = -1 and s.pay_status = 1 and pay_game_status = 1 THEN pay
// ->where("(s.pay_status = 1 and pay_game_status = 1) or (s.pay_status = 1 and pay_game_status = 0)")
->where($map)
->group('s.game_id');
if ($row) {
/* if ($row) {
$query = $query->page($page,$row);
}
} */
$data = $query->select();
// var_dump($data);die();
return $data;
$data = index_by_column('game_id', $data);
$records = [];
foreach ($games as $game) {
if (isset($data[$game['id']])) {
$records[] = $data[$game['id']];
} else {
$partner = $partners[$game['partner_id']] ?? null;
$records[] = [
'game_id' => $game['id'],
'game_name' => $game['relation_game_name'],
'unique_code' => $game['unique_code'],
'partner_name' => $partner ? $partner['partner'] : '无',
'game_type_name' => $game['game_type_name'],
'cash_count' => 0,
'balance_coin_count' => 0,
'inside_cash_count' => 0,
'sdk_version' => $game['sdk_version'],
'notice_fail_count' => 0
];
}
}
return $records;
}
public function gameStatisticsCount($map)
{
$query = M("Spend s use index(game_time)","tab_")
->field("game_id")
->join('LEFT JOIN tab_game as g ON s.game_id=g.id')
->join('LEFT JOIN tab_partner as p ON g.partner_id=p.id')
->where(['s.pay_status' => 1])
->where($map)
->group('s.game_id');
$data = $query->select();
return count($data);
$gameMap = $this->getGameMapByGameStatMap($map);
return M('game', 'tab_')->where($gameMap)->count();
}
/**
@ -889,8 +927,6 @@ SUM(CASE WHEN pay_way = -1 and s.pay_status = 1 and pay_game_status = 1 THEN pay
*/
public function totalGameStatistics($map, $join = true)
{
$noticeFailData = M("Spend s use index(game_time)","tab_")
->field("SUM(pay_amount) as notice_fail_count,game_id")
->join('LEFT JOIN tab_game as g ON s.game_id=g.id')

@ -835,7 +835,7 @@
var obj = {
"company_name":["required",false,"推广公司名称不允许为空"],
"fax_ratio":["number",true,"开票税率必须是数字如果无此项请填0"],
"bank_card":["bankid",true,"银行卡格式错误"],
// "bank_card":["bankid",true,"银行卡格式错误"],
"ali_user":["realname",true,"支付宝真实名称只能是中文"]
}
if(!CIC.checkInput(obj)){ return false; }

@ -547,7 +547,7 @@
var obj = {
"company_name":["required",false,"推广公司名称不允许为空"],
"fax_ratio":["number",true,"开票税率必须是数字如果无此项请填0"],
"bank_card":["bankid",true,"银行卡格式错误"],
// "bank_card":["bankid",true,"银行卡格式错误"],
"ali_user":["realname",true,"支付宝真实名称只能是中文"]
}
if(!CIC.checkInput(obj)){ return false; }

@ -959,7 +959,7 @@
var obj = {
"company_name":["required",false,"推广公司名称不允许为空"],
"fax_ratio":["number",true,"开票税率必须是数字如果无此项请填0"],
"bank_card":["bankid",true,"银行卡格式错误"],
// "bank_card":["bankid",true,"银行卡格式错误"],
"ali_user":["realname",true,"支付宝真实名称只能是中文"]
}
if(!CIC.checkInput(obj)){ return false; }

@ -736,7 +736,7 @@
var obj = {
"company_name":["required",false,"推广公司名称不允许为空"],
"fax_ratio":["number",true,"开票税率必须是数字如果无此项请填0"],
"bank_card":["bankid",true,"银行卡格式错误"],
// "bank_card":["bankid",true,"银行卡格式错误"],
"ali_user":["realname",true,"支付宝真实名称只能是中文"]
}
if(!CIC.checkInput(obj)){ return false; }

@ -406,7 +406,7 @@ class BaseController extends HomeController
$closePromoteLowest = [334];
if (in_array($topPromote['company_id'], $closePromoteLowest)) {
if ($topPromote['can_view_recharge'] == 1 && $promote['level'] != 4) {
if ($topPromote['can_view_recharge'] == 1 && !in_array($promote['level'], [3, 4])) {
return true;
} else {
return false;

@ -14,7 +14,7 @@ class PromoteGradeController extends BaseController
parent::_initialize();
$loginPromote = $this->getLoginPromote();
if((C('APP_ENV') == 'dev' || $loginPromote['company_id'] == 334) && $loginPromote['level'] <= 2) {
if(C('APP_ENV') == 'dev' || $loginPromote['company_id'] == 334) {
} else {
return $this->error('您没有权限');
@ -88,6 +88,8 @@ class PromoteGradeController extends BaseController
public function settings()
{
$this->checkSettingPermission();
$loginPromote = $this->getLoginPromote();
$items = M('promote_grade_setting', 'tab_')->where(['company_id' => $loginPromote['company_id']])->select();
@ -135,8 +137,8 @@ class PromoteGradeController extends BaseController
public function setting()
{
$this->checkSettingPermission();
$id = I('id', 0);
$setting = null;
if ($id > 0) {
$setting = M('promote_grade_setting', 'tab_')->where(['id' => $id])->find();
@ -152,6 +154,7 @@ class PromoteGradeController extends BaseController
public function delete()
{
$this->checkSettingPermission();
$id = I('id', 0);
if ($id == 0) {
return $this->error('记录不存在');
@ -167,6 +170,8 @@ class PromoteGradeController extends BaseController
public function saveSetting()
{
$this->checkSettingPermission();
$params = I('post.');
$loginPromote = $this->getLoginPromote();
$promoteGradeService = new PromoteGradeService();
@ -177,4 +182,12 @@ class PromoteGradeController extends BaseController
return $this->error($e->getMessage());
}
}
public function checkSettingPermission()
{
$loginPromote = $this->getLoginPromote();
if ($loginPromote['level'] > 2) {
return $this->error('您没有权限');
}
}
}

@ -119,10 +119,12 @@
<a href="{:U('TestingResource/batches')}" class="<if condition='CONTROLLER_NAME eq TestingResource and ACTION_NAME eq batches '>active</if> ">测试资源申请记录</a>
</div>
<?php endif;?>
<?php if((C('APP_ENV') == 'dev' || $loginer['company_id'] == 334) && $loginer['level'] <= 2):?>
<?php if(C('APP_ENV') == 'dev' || $loginer['company_id'] == 334):?>
<div class="subNav jssubNav"><i class="prev_icon icon_fenbao"></i><span>评级管理</span><i class="arrow_icon"></i></div>
<div class="navContent jsnavContent">
<?php if($loginer['level'] <= 2):?>
<a href="{:U('PromoteGrade/settings')}" class="<if condition='CONTROLLER_NAME eq PromoteGrade and (ACTION_NAME eq settings or ACTION_NAME eq setting) '>active</if> ">评级设定</a>
<?php endif;?>
<a href="{:U('PromoteGrade/index')}" class="<if condition='CONTROLLER_NAME eq PromoteGrade and ACTION_NAME eq index '>active</if> ">团队评级</a>
</div>
<?php endif;?>

Loading…
Cancel
Save