diff --git a/Application/Admin/Common/extend.php b/Application/Admin/Common/extend.php index a30a8d1ed..d9d631072 100644 --- a/Application/Admin/Common/extend.php +++ b/Application/Admin/Common/extend.php @@ -2576,14 +2576,14 @@ function getCompanyBlongOther($id = -1) * array( * op_type=>操作类型 0:新增,1:编辑 2:删除 3:下载, * op_name=>操作说明 例如:编辑,删除,锁定等, - * url=>需要跳转的url 添加去列表加唯一id,编辑直接去编辑页面,下载可以重新下载(新开页面), + * url=>U函数可以跳转 的操作地址, * key=>关键词:用户的账号,游戏的名词等, * menu=>非必须,菜单目录,不存在的话按控制器寻找。 * ) */ function addOperationLog($options) { - $checkarr = ['op_type','url','key']; + $checkarr = ['op_type','key']; foreach ($checkarr as $v) { if(!array_key_exists($v,$options)){ return false; @@ -2592,6 +2592,9 @@ function addOperationLog($options) if(!array_key_exists("op_name",$options)){ $options['op_name'] = ($options['op_type'] == 1 ? "编辑" : ($options['op_type'] == 2 ? "删除" :($options['op_type'] == 3 ? "导出" :"新增"))); } + if(!array_key_exists("url",$options)){ + $options['url'] = MODULE_NAME."/".CONTROLLER_NAME."/".ACTION_NAME; + } //获取ip $addarray = [ "op_ip"=>$_SERVER['REMOTE_ADDR'], diff --git a/Application/Admin/Conf/config.php b/Application/Admin/Conf/config.php index 4a7bc38bb..e45f7d8cc 100644 --- a/Application/Admin/Conf/config.php +++ b/Application/Admin/Conf/config.php @@ -103,6 +103,7 @@ return array( /* SESSION 和 COOKIE 配置 */ 'SESSION_PREFIX' => 'onethink_admin', //session前缀 + 'SESSION_COOKIE_PATH' => '/admin.php', 'COOKIE_PREFIX' => 'onethink_admin_', // Cookie前缀 避免冲突 'VAR_SESSION_ID' => 'session_id', //修复uploadify插件无法传递session_id的bug diff --git a/Application/Admin/Controller/CompanyStatementPoolController.class.php b/Application/Admin/Controller/CompanyStatementPoolController.class.php index 30714b6fb..3d0032332 100644 --- a/Application/Admin/Controller/CompanyStatementPoolController.class.php +++ b/Application/Admin/Controller/CompanyStatementPoolController.class.php @@ -1379,6 +1379,7 @@ class CompanyStatementPoolController extends ThinkController "statement_pool_num"=>$pool['statement_num'], "statement_info"=>$v['statement_info'], "withdraw_type"=>$v['withdraw_type'], + "remark"=>$v["remark"], ]; $l_id = M("company_lack_statement_info","tab_")->add($lackcompany); @@ -1758,6 +1759,7 @@ class CompanyStatementPoolController extends ThinkController $lfine = 0; $handledata = []; +// dump($st);die(); foreach ($increment_ratio as $key => $value) { @@ -1813,7 +1815,6 @@ class CompanyStatementPoolController extends ThinkController $statement_amount += $sum_money[$key][$v['account']][$gk]-$statement_info[$k]['game_list'][$gk]['withhold']; } else { $statement_lack_amount += $sum_money[$key][$v['account']][$gk]-$statement_info[$k]['game_list'][$gk]['withhold']; - } } @@ -1831,7 +1832,7 @@ class CompanyStatementPoolController extends ThinkController $lfine += $r_data['fine']; } - $model->where(['id'=>$key])->save(['statement_info'=>$statement_info_data,'statement_money'=>$amount+($r_data['reward']?$r_data['reward']:0)-($r_data['fine']?$r_data['fine']:0),'pay_amount'=>$amount,'remark'=>$remark[$key]]); + $model->where(['id'=>$key])->save(['statement_info'=>$statement_info_data,'statement_money'=>$amount+($r_data['reward']?$r_data['reward']:0)-($r_data['fine']?$r_data['fine']:0),'pay_amount'=>$amount,'remark'=>$remark[$key][$st[$key][$akey]]]); $amount = 0; diff --git a/Application/Admin/Controller/ExportController.class.php b/Application/Admin/Controller/ExportController.class.php index 3247934db..fd0f58f99 100644 --- a/Application/Admin/Controller/ExportController.class.php +++ b/Application/Admin/Controller/ExportController.class.php @@ -1135,6 +1135,11 @@ class ExportController extends Controller unset($_REQUEST['pay_way']); } + if (isset($_REQUEST['is_check'])) { + $map['is_check'] = (int)($_REQUEST['is_check']); + unset($_REQUEST['is_check']); + } + if ($_REQUEST['merchant_id']) { $map['merchant_id'] = $_REQUEST['merchant_id']; unset($_REQUEST['merchant_id']); @@ -1229,6 +1234,7 @@ class ExportController extends Controller 'pay_way' => '充值方式', 'pay_status' => L('Order_status'), 'pay_game_status' => '游戏通知状态', + 'is_check' => '是否参与结算', 'promote_id' => "消费"."{$total}", ]; @@ -1304,6 +1310,8 @@ class ExportController extends Controller $value['sdk_version'] = $value['sdk_version'] == 1 ? "安卓" : "苹果"; $value['game_id'] = $thisGameInfo['partner_name']; + $value['is_check'] = D("Spend")::IsCheckStr[$value['is_check']]; + $value['company_name'] = $promoters[$value['promote_id']] == 0 ? '官方渠道' : ($companys[$promoters[$value['promote_id']]] ?? ''); unset($value['promote_id']); $value['pay_time'] = date('Y-m-d H:i:s',$value['pay_time']); @@ -8362,9 +8370,11 @@ class ExportController extends Controller array('inside_cash_count','内充支出'), array('all_cash_count','游戏内充值合计'), array('notice_fail_count','联运通知失败合计'), - array('agg_amount','聚合平台数据'), + array('agg_wm_amount','聚合万盟数据'), + array('agg_wm_failed_amount','聚合万盟通知失败'), array('test_amount','聚合平台测试订单'), - array('agg_failed_amount','聚合通知失败合计'), + array('agg_amount','聚合其他渠道数据'), + array('agg_failed_amount','聚合其他渠道通知失败订单'), ); $map = []; @@ -8451,33 +8461,56 @@ class ExportController extends Controller ]); $aggData = []; + $aggWmData = []; $aggFailData = []; + $aggWmFailData = []; $aggTotal = '0.00'; + $aggWmTotal = '0.00'; $aggFailTotal = '0.00'; + $aggWmFailTotal = '0.00'; if ($result['code'] == '0000') { - $aggData = $result['data']['records']; - $aggFailData = $result['data']['fail_records']; - $aggTotal = $result['data']['total']; - $aggFailTotal = $result['data']['fail_total']; + $aggData = $result['data']['records'] ?? []; + $aggWmData = $result['data']['wm_records'] ?? []; + $aggFailData = $result['data']['fail_records'] ?? []; + $aggWmFailData = $result['data']['wm_fail_records'] ?? []; + $aggTotal = $result['data']['total'] ?? '0.00'; + $aggWmTotal = $result['data']['wm_total'] ?? '0.00'; + $aggFailTotal = $result['data']['fail_total'] ?? '0.00'; + $aggWmFailTotal = $result['data']['wm_fail_total'] ?? '0.00'; } $exceptIds = getAggExceptIds($gameSets); foreach ($xlsData as $key => $value) { $aggAmount = '0.00'; + $aggWmAmount = '0.00'; $aggFailAmount = '0.00'; + $aggWmFailAmount = '0.00'; $testAmount = '0.00'; $deviceType = $value['sdk_version'] == 1 ? 'android' : 'ios'; - if ($value['unique_code'] && isset($aggData[$value['unique_code']]) && isset($aggData[$value['unique_code']][$deviceType])) { - $aggAmount = number_format($aggData[$value['unique_code']][$deviceType], 2, '.', ''); - $aggFailAmount = number_format($aggFailData[$value['unique_code']][$deviceType], 2, '.', ''); + if ($value['unique_code']) { + if (isset($aggData[$value['unique_code']]) && isset($aggData[$value['unique_code']][$deviceType])) { + $aggAmount = number_format($aggData[$value['unique_code']][$deviceType], 2, '.', ''); + } + if (isset($aggWmData[$value['unique_code']]) && isset($aggWmData[$value['unique_code']][$deviceType])) { + $aggWmAmount = number_format($aggWmData[$value['unique_code']][$deviceType], 2, '.', ''); + } + if (isset($aggFailData[$value['unique_code']]) && isset($aggFailData[$value['unique_code']][$deviceType])) { + $aggFailAmount = number_format($aggFailData[$value['unique_code']][$deviceType], 2, '.', ''); + } + if (isset($aggWmFailData[$value['unique_code']]) && isset($aggWmFailData[$value['unique_code']][$deviceType])) { + $aggWmFailAmount = number_format($aggWmFailData[$value['unique_code']][$deviceType], 2, '.', ''); + } + } $xlsData[$key]['agg_amount'] = $aggAmount; + $xlsData[$key]['agg_wm_amount'] = $aggWmAmount; $xlsData[$key]['agg_failed_amount'] = $aggFailAmount; + $xlsData[$key]['agg_wm_failed_amount'] = $aggWmFailAmount; if (isset($gameSets[$value['game_id']]) && isAggGame($gameSets[$value['game_id']]['pay_notify_url'])) { $xlsData[$key]['cash_count'] = $value['cash_count'] = 0; - $xlsData[$key]['balance_coin_count'] =$value['balance_coin_count'] = 0; - $xlsData[$key]['inside_cash_count'] =$value['inside_cash_count'] = 0; + $xlsData[$key]['balance_coin_count'] = $value['balance_coin_count'] = 0; + $xlsData[$key]['inside_cash_count'] = $value['inside_cash_count'] = 0; $testAmount = $testList[$value['game_id']] ?? '0.00'; } @@ -8518,8 +8551,10 @@ class ExportController extends Controller 'inside_cash_count'=>$sumInside, 'all_cash_count'=>$sumAll, 'notice_fail_count'=>$sumNoticeFail, - 'agg_amount' => $aggTotal, + 'agg_wm_amount' => $aggWmTotal, + 'agg_wm_failed_amount' => $aggWmFailTotal, 'test_amount' => round(floatval($testAllAmount), 2), + 'agg_amount' => $aggTotal, 'agg_failed_amount' => $aggFailTotal, ] ]; diff --git a/Application/Admin/Controller/FinanceController.class.php b/Application/Admin/Controller/FinanceController.class.php index 6245f8322..6a5fbcf6c 100644 --- a/Application/Admin/Controller/FinanceController.class.php +++ b/Application/Admin/Controller/FinanceController.class.php @@ -788,26 +788,46 @@ class FinanceController extends ThinkController 'device_type' => I("sdk_type", 0), ]); $aggData = []; + $aggWmData = []; $aggFailData = []; + $aggWmFailData = []; $aggTotal = '0.00'; + $aggWmTotal = '0.00'; $aggFailTotal = '0.00'; + $aggWmFailTotal = '0.00'; if ($result['code'] == '0000') { - $aggData = $result['data']['records']; - $aggFailData = $result['data']['fail_records']; - $aggTotal = $result['data']['total']; - $aggFailTotal = $result['data']['fail_total']; + $aggData = $result['data']['records'] ?? []; + $aggWmData = $result['data']['wm_records'] ?? []; + $aggFailData = $result['data']['fail_records'] ?? []; + $aggWmFailData = $result['data']['wm_fail_records'] ?? []; + $aggTotal = $result['data']['total'] ?? '0.00'; + $aggWmTotal = $result['data']['wm_total'] ?? '0.00'; + $aggFailTotal = $result['data']['fail_total'] ?? '0.00'; + $aggWmFailTotal = $result['data']['wm_fail_total'] ?? '0.00'; } $endTime = time(); $exceptIds = getAggExceptIds($gameSets); foreach ($data as $key => $value) { $aggAmount = '0.00'; + $aggWmAmount = '0.00'; $aggFailAmount = '0.00'; + $aggWmFailAmount = '0.00'; $testAmount = '0.00'; $deviceType = $value['sdk_version'] == 1 ? 'android' : 'ios'; - if ($value['unique_code'] && isset($aggData[$value['unique_code']]) && isset($aggData[$value['unique_code']][$deviceType])) { - $aggAmount = number_format($aggData[$value['unique_code']][$deviceType], 2, '.', ''); - $aggFailAmount = number_format($aggFailData[$value['unique_code']][$deviceType], 2, '.', ''); + if ($value['unique_code']) { + if (isset($aggData[$value['unique_code']]) && isset($aggData[$value['unique_code']][$deviceType])) { + $aggAmount = number_format($aggData[$value['unique_code']][$deviceType], 2, '.', ''); + } + if (isset($aggWmData[$value['unique_code']]) && isset($aggWmData[$value['unique_code']][$deviceType])) { + $aggWmAmount = number_format($aggWmData[$value['unique_code']][$deviceType], 2, '.', ''); + } + if (isset($aggFailData[$value['unique_code']]) && isset($aggFailData[$value['unique_code']][$deviceType])) { + $aggFailAmount = number_format($aggFailData[$value['unique_code']][$deviceType], 2, '.', ''); + } + if (isset($aggWmFailData[$value['unique_code']]) && isset($aggWmFailData[$value['unique_code']][$deviceType])) { + $aggWmFailAmount = number_format($aggWmFailData[$value['unique_code']][$deviceType], 2, '.', ''); + } } if (isset($gameSets[$value['game_id']]) && isAggGame($gameSets[$value['game_id']]['pay_notify_url'])) { $data[$key]['cash_count'] = $value['cash_count'] = 0; @@ -816,8 +836,10 @@ class FinanceController extends ThinkController $testAmount = $testList[$value['game_id']] ?? '0.00'; } $data[$key]['all_cash_count'] = number_format($value['cash_count'] + $value['balance_coin_count'] + $value['inside_cash_count'],2,'.',''); - $data[$key]['agg_amount'] = $value['unique_code'] ? $aggAmount : '0.00'; - $data[$key]['agg_failed_amount'] = $value['unique_code'] ? $aggFailAmount : '0.00'; + $data[$key]['agg_amount'] = $aggAmount; + $data[$key]['agg_wm_amount'] = $aggWmAmount; + $data[$key]['agg_failed_amount'] = $aggFailAmount; + $data[$key]['agg_wm_failed_amount'] = $aggWmFailAmount; $data[$key]['test_amount'] = $testAmount; } @@ -852,13 +874,14 @@ class FinanceController extends ThinkController $game_types = M("game_type", 'tab_')->field('id, type_name')->select(); - $aggRate = round($aggTotal/($sumAll + $aggTotal) * 100, 2) . '%'; - $allRate = round($sumAll/($sumAll + $aggTotal) * 100, 2) . '%'; - + $aggRate = round(($aggTotal + $aggWmTotal)/($sumAll + $aggTotal + $aggWmTotal) * 100, 2) . '%'; + $allRate = round($sumAll/($sumAll + $aggTotal + $aggWmTotal) * 100, 2) . '%'; $this->assign('testAllAmount', $testAllAmount); $this->assign('aggFailTotal', $aggFailTotal); + $this->assign('aggWmFailTotal', $aggWmFailTotal); $this->assign('aggRate', $aggRate); $this->assign('allRate', $allRate); + $this->assign('aggWmTotal', $aggWmTotal); $this->assign('aggTotal', $aggTotal); $this->assign('game_types', $game_types); $this->assign('sumCash', $sumCash); @@ -880,6 +903,7 @@ class FinanceController extends ThinkController $roleName = I('role_name', ''); $account = I('account', ''); $gameId = I('game_id', 0); + $channelType = I('channel_type', 0); $game = M('game', 'tab_')->field(['id', 'unique_code', 'game_name', 'sdk_version'])->where(['id' => $gameId])->find(); @@ -894,6 +918,7 @@ class FinanceController extends ThinkController 'device_type' => $game['sdk_version'], 'page' => $p, 'limit' => $limit, + 'channel_type' => $channelType, ]); $count = 0; @@ -1004,6 +1029,10 @@ class FinanceController extends ThinkController if (!empty(I("game_id"))) { $map['game_id'] = I("game_id"); } + if(empty(I("game_id")) && !empty(I("game_name"))){ + $map['game_name'] = array('like','%'.I("game_name").'%');; + } + if (!empty(I('user_account'))) { $map['user_account'] = array('like','%'.I("user_account").'%'); } @@ -1071,7 +1100,10 @@ class FinanceController extends ThinkController $totalMap['s.game_id'] = $map['game_id']; unset($totalMap['game_id']); } - + if ($map['game_name']) { + $totalMap['s.game_name'] = $map['game_name']; + unset($totalMap['game_name']); + } $totalData = D('spend')->totalGameStatistics($totalMap, false); $sumCash = $totalData['cash_count'] ?? 0; diff --git a/Application/Admin/Controller/FinancePromoteController.class.php b/Application/Admin/Controller/FinancePromoteController.class.php index 894738ec6..b38e6f4c0 100644 --- a/Application/Admin/Controller/FinancePromoteController.class.php +++ b/Application/Admin/Controller/FinancePromoteController.class.php @@ -282,6 +282,7 @@ class FinancePromoteController extends AdminController $map['s.market_admin_id'] = $adminId; } $map['s.pay_status']=1; + $map['s.is_check']=1; $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, SUM(CASE WHEN pay_way = -1 THEN pay_amount ELSE 0 END) as bind_coin_count, @@ -511,6 +512,7 @@ class FinancePromoteController extends AdminController $map['s.market_admin_id'] = $adminId; } $map['s.pay_status']=1; + $map['s.is_check']=1; // dd($map); $field= "SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, SUM(CASE WHEN pay_way = 0 THEN pay_amount ELSE 0 END) as balance_coin_count, @@ -775,6 +777,8 @@ class FinancePromoteController extends AdminController $row = 10; } $map['pay_status'] = 1; + $map['is_check'] = 1; + if (!empty(I("game_id"))) { $map['game_id'] = I("game_id"); } @@ -893,6 +897,7 @@ class FinancePromoteController extends AdminController } $map['s.pay_status']=1; + $map['s.is_check']=1; $query = M("spend","tab_")->alias("s") ->field("s.game_id,s.game_name,s.sdk_version,p.partner as partner_name, SUM(CASE WHEN pay_way > 0 THEN pay_amount ELSE 0 END) as cash_count, @@ -946,7 +951,7 @@ class FinancePromoteController extends AdminController ->join("tab_promote promote ON s.promote_id = promote.id","left") ->join("tab_promote_company company ON promote.company_id = company.id","left"); } - $data = $query->where(['s.pay_status' => 1]) + $data = $query->where(['s.pay_status' => 1,'s.is_check'=>1]) ->where($map) ->find(); return $data; @@ -996,6 +1001,7 @@ class FinancePromoteController extends AdminController $row = 10; } $map['pay_status'] = 1; + $map['is_check'] = 1; if (!empty(I('user_account'))) { $map['tab_spend.user_account'] = array('like','%'.I("user_account").'%'); diff --git a/Application/Admin/Controller/FinancialSummaryController.class.php b/Application/Admin/Controller/FinancialSummaryController.class.php index 5e598b42b..b2f60892b 100644 --- a/Application/Admin/Controller/FinancialSummaryController.class.php +++ b/Application/Admin/Controller/FinancialSummaryController.class.php @@ -23,7 +23,7 @@ class FinancialSummaryController extends AdminController public function index($p=1) { if(!array_key_exists("year",$_REQUEST) || !array_key_exists("type",$_REQUEST)){ - $this->redirect(ACTION_NAME, array('year' => date('Y',time()),"type"=>2)); + $this->redirect(ACTION_NAME, array('year' => date('Y',time()),"type"=>3)); } if(!IS_ROOT){ $this->OpAuthList= getModuleControllerAuth(); diff --git a/Application/Admin/Controller/GameController.class.php b/Application/Admin/Controller/GameController.class.php index 29c19144e..f27ca6064 100644 --- a/Application/Admin/Controller/GameController.class.php +++ b/Application/Admin/Controller/GameController.class.php @@ -362,6 +362,11 @@ class GameController extends ThinkController } } + /* + * ALTER TABLE `tab_game` +ADD COLUMN `kefu_qq_type` tinyint(2) NULL DEFAULT 0 COMMENT '客服qq类型:0跟随系统 1不显示 2其他' AFTER `select_package_name`, +ADD COLUMN `kefu_qq` varchar(255) NULL DEFAULT '' COMMENT 'kefu_qq_type为2 时有效' AFTER `kefu_qq_type`; + */ public function edit($id = null) { if (IS_POST) { @@ -459,6 +464,9 @@ class GameController extends ThinkController $otherData['unique_code'] = $sibling['unique_code']; $otherData['flooring_page_video'] = $sibling['flooring_page_video']; $otherData['flooring_page_video_cover'] = $sibling['flooring_page_video_cover']; + $otherData['kefu_qq'] = I('post.kefu_qq'); + $otherData['kefu_qq_type'] = I('post.kefu_qq_type'); + M('Game', 'tab_')->data($otherData)->where(array('id' => $another['id']))->save(); //同时修改代充游戏折扣 $set_fidel['status'] = 1; diff --git a/Application/Admin/Controller/KuaijieController.class.php b/Application/Admin/Controller/KuaijieController.class.php index 4e861d1a5..5dddfc87a 100644 --- a/Application/Admin/Controller/KuaijieController.class.php +++ b/Application/Admin/Controller/KuaijieController.class.php @@ -20,7 +20,8 @@ class KuaijieController extends AdminController { * 频道列表 * @author 麦当苗儿 */ - public function index($p=0){ + public function index($p=0) + { $page = intval($p); $page = $page ? $page : 1; //默认显示第一页数据 diff --git a/Application/Admin/Controller/OldCountController.class.php b/Application/Admin/Controller/OldCountController.class.php index 49cb28cdd..100bb2b09 100644 --- a/Application/Admin/Controller/OldCountController.class.php +++ b/Application/Admin/Controller/OldCountController.class.php @@ -12,7 +12,7 @@ class OldCountController extends \Think\Controller public function oldRewardChange() { - $data = M("company_statement_info","tab_") + $data = M("company_lack_statement_info","tab_") ->where("(fine > 0 or reward > 0) and company_type = 2") ->select(); @@ -23,20 +23,7 @@ class OldCountController extends \Think\Controller $statement_info[0]['game_list'][0]['reward'] = $value['reward']; $statement_info = json_encode($statement_info); - M("company_statement_info","tab_")->where(['id'=>$value['id']])->save(['statement_info'=>$statement_info]); - - } - - - $pool_data = M("company_statement_pool",'tab_')->where(['id'=>['in',[22,27]]])->select(); - foreach ($pool_data as $key => $value) { - - $save = json_decode($value['verify_log'],true); - $save['firstverify_user'] = $save['verify_user']; - $save['firstverify_time'] = $save['verify_time']; - $save = json_encode($save); - - M('company_statement_pool','tab_')->where(['id'=>$value['id']])->save(['verify_log'=>$save]); + M("company_lack_statement_info","tab_")->where(['id'=>$value['id']])->save(['statement_info'=>$statement_info]); } diff --git a/Application/Admin/Controller/PartnerController.class.php b/Application/Admin/Controller/PartnerController.class.php index b991aa261..1a76b0ac9 100644 --- a/Application/Admin/Controller/PartnerController.class.php +++ b/Application/Admin/Controller/PartnerController.class.php @@ -409,6 +409,15 @@ class PartnerController extends ThinkController $model = M("partner_verify", 'tab_'); if ($_POST) { $save = I("post."); + + $save['relation']['collaborate_way'] = $save['part_a_type']; + if ($save['part_a_type'] == 1) { + $save['relation']['self_company_id'] = $save['part_b']; + } + if ($save['part_a_type'] == 2) { + $save['relation']['self_company_id'] = $save['part_a']; + } + $this->checkData($save); try { @@ -464,6 +473,14 @@ class PartnerController extends ThinkController if ($_POST) { $save = I("post."); $this->checkData($save); + $save['relation']['collaborate_way'] = $save['part_a_type']; + if ($save['part_a_type'] == 1) { + $save['relation']['self_company_id'] = $save['part_b']; + } + if ($save['part_a_type'] == 2) { + $save['relation']['self_company_id'] = $save['part_a']; + } + $res =D("PartnerVerify")->edit_db($save); if ($res === false) { $this->error('保存失败'); diff --git a/Application/Admin/Controller/PromoteCompanyController.class.php b/Application/Admin/Controller/PromoteCompanyController.class.php index a33e6a6b5..a1d87edb6 100644 --- a/Application/Admin/Controller/PromoteCompanyController.class.php +++ b/Application/Admin/Controller/PromoteCompanyController.class.php @@ -243,6 +243,9 @@ class PromoteCompanyController extends ThinkController if ($page) { $this->assign('_page', $page); } + + $games = M('game', 'tab_')->field('relation_game_id id,relation_game_name game_name,short')->where(['game_status'=>1,'down_port'=>1])->group("relation_game_id")->select(); + $this->assign('games', $games); //分配其他页面需要参数 $this->assign('promoteList', getPromoteByLevel(1)); $this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/lists'])->find()); @@ -253,6 +256,61 @@ class PromoteCompanyController extends ThinkController $this->display(); } + // 批量上下架 + public function displayOnShelves() { + if (IS_AJAX) { + $post = I("post."); + + $game = M('game', 'tab_')->where(['id' => $post['batch_game']])->find(); + $relationGames = M('game', 'tab_')->where(['relation_game_id' => $game['relation_game_id']])->select(); + foreach ($relationGames as $relationGame) { + $gameId = $relationGame['id']; + $this->doDisplayOnShelves($gameId, $post['batch_company_type'], $post['batch_type']); + } + + echo $this->ajaxReturn([ + 'code' => 1, + 'msg' => '成功', + 'data' => [] + ]); + + } + } + + private function doDisplayOnShelves($gameId, $batchCompanyType, $batchType) { + $where = []; + $exp = ''; + if ($batchCompanyType == 1) { + $where['company_belong'] = array('exp', " IN (1,2)"); + } else { + $where['company_belong'] = $batchCompanyType; + } + + if ($batchType == 1) { // 批量增加 + $where['_string'] = "concat(',', game_ids, ',') not like \"%,{$gameId},%\""; + $exp = "trim(BOTH ',' FROM concat(game_ids, ',', {$gameId}))"; + $op_name = "批量上架"; + } + if ($batchType == 2) { // 批量删除 + $where['_string'] = "concat(',', game_ids, ',') like \"%,{$gameId},%\""; + $exp = "trim(BOTH ',' FROM replace(concat(',', game_ids, ','), \",{$gameId},\", ','))"; + $op_name = "批量下架"; + } + M('promote', 'tab_')->where($where)->save([ + 'game_ids' => ['exp', $exp] + ]); + //加入日志 + $companys = M('promote_company', 'tab_')->field("id")->where($where)->select(); + if(!empty($companys)){ + $company_ids = implode(",",array_column($companys,"id")); + addOperationLog(['op_type'=>1,'key'=>"","op_name"=>$op_name,"content"=>json_encode(["company_id"=>$company_ids,"batchCompanyType"=>$batchCompanyType,"game_id"=>$gameId,'batch_type'=>$batchType])]); + } + + M('promote_company', 'tab_')->where($where)->save([ + 'game_ids' => ['exp', $exp] + ]); + } + public function index() { $page = intval(I('get.p', 0)); @@ -448,6 +506,14 @@ class PromoteCompanyController extends ThinkController $save['promotes'] = json_decode($save['promotes'], true); + $save['relation']['collaborate_way'] = $save['part_a_type']; + if ($save['part_a_type'] == 1) { + $save['relation']['self_company_id'] = $save['part_b']; + } + if ($save['part_a_type'] == 2) { + $save['relation']['self_company_id'] = $save['part_a']; + } + $this->checkData($save); $presidentDepositService = new PresidentDepositService(); @@ -467,6 +533,7 @@ class PromoteCompanyController extends ThinkController } $save['create_time'] = $time; $save['turnover_ratio'] = $this->setTurnoverRatio($save); + $result = D("PromoteCompanyVerify")->add_db($save); if ($result) { addOperationLog(['op_type'=>0,'key'=>$save['company_name'],'op_name'=>'新增推广公司','url'=>U('PromoteCompany/lists')]); @@ -667,6 +734,15 @@ class PromoteCompanyController extends ThinkController { if ($_POST) { $save = I('post.');//前端已经验证 + + $save['relation']['collaborate_way'] = $save['part_a_type']; + if ($save['part_a_type'] == 1) { + $save['relation']['self_company_id'] = $save['part_b']; + } + if ($save['part_a_type'] == 2) { + $save['relation']['self_company_id'] = $save['part_a']; + } + $this->checkData($save); $promoteCompanyService = new PromoteCompanyService(); @@ -1259,6 +1335,9 @@ class PromoteCompanyController extends ThinkController $is_change_game = false; $Promote = M("Promote", "tab_"); if($old_info['game_ids'] != $game_ids){ + //操作日志 + $this->addCompanyGameChangeLog($company_id,$old_info['game_ids'],$game_ids); + if($old_info['company_belong'] == 1 || $old_info['company_belong'] == 2){ //外团跟随公司 $new_game_ids = D("Game")->changeRelationGameidToGameid($game_ids,true); @@ -1298,6 +1377,20 @@ class PromoteCompanyController extends ThinkController } } } + protected function addCompanyGameChangeLog($company_id,$old_game_ids,$new_game_ids){ + $old_game_ids = explode(',',$old_game_ids); + $new_game_ids = explode(',',$new_game_ids); + $addGameid = array_diff($new_game_ids,$old_game_ids); + $removeGameid = array_diff($old_game_ids,$new_game_ids); + if(!empty($addGameid)){ + $gameid = implode(',',$addGameid); + addOperationLog(['op_type'=>1,'key'=>"addCompanyGame","op_name"=>"新增推广游戏","content"=>json_encode(["company_id"=>$company_id,"relation_game_id"=>$gameid])]); + } + if(!empty($removeGameid)){ + $gameid = implode(',',$removeGameid); + addOperationLog(['op_type'=>1,'key'=>"removeCompanyGame","op_name"=>"移除推广游戏","content"=>json_encode(["company_id"=>$company_id,"relation_game_id"=>$gameid])]); + } + } /** * 由于修改公司信息引起的会长信息修改 * @param [type] $save diff --git a/Application/Admin/Controller/RepairController.class.php b/Application/Admin/Controller/RepairController.class.php index 87df477e9..28615da36 100644 --- a/Application/Admin/Controller/RepairController.class.php +++ b/Application/Admin/Controller/RepairController.class.php @@ -31,8 +31,19 @@ class RepairController extends ThinkController { 'create_time' => time(), 'type' => 1 // 补单 ]); - + + $sp = $spend->where([ + 'pay_order_number' => $orderNo + ])->find(); $rr = $spend->where(array('pay_order_number'=>$orderNo))->save(array('pay_game_status'=>1)); + if ($sp['extend']) { + $spend->where([ + 'extend' => $sp['extend'], + 'pay_status' => 1, + 'user_id' => $sp['user_id'] + ])->save(array('pay_game_status' => 1)); + } + //操作日志 addOperationLog(array( "op_type"=>1, diff --git a/Application/Admin/Controller/SpendController.class.php b/Application/Admin/Controller/SpendController.class.php index fad764a01..15416f9c9 100644 --- a/Application/Admin/Controller/SpendController.class.php +++ b/Application/Admin/Controller/SpendController.class.php @@ -11,6 +11,7 @@ use User\Api\UserApi as UserApi; class SpendController extends ThinkController { const model_name = 'Spend'; + public $OpAuthList; public function lists() { @@ -24,6 +25,10 @@ class SpendController extends ThinkController unset($_REQUEST['timestart']); unset($_REQUEST['timeend']); + if (isset($_REQUEST['is_check'])) { + $map['is_check'] = (int)($_REQUEST['is_check']); + } + if (isset($_REQUEST['user_account'])) { $map['user_account'] = array('like', trim($_REQUEST['user_account'])); unset($_REQUEST['user_account']); @@ -142,13 +147,13 @@ class SpendController extends ThinkController $this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Spend/lists', 'status' => 1])->find()); $data = D(self::model_name)->lists($_GET["p"], $map, $order); - + $adminUsernameList = getAdminUsernameList(array_column($data['data'], 'market_admin_id')); foreach ($data['data'] as $key=>&$value ) { ($value['promote_account']=='官方渠道')?($value['promote_account']=C('OFFICIEL_CHANNEL')):''; $value['market_admin_username'] = $adminUsernameList[$value['market_admin_id']] ?? '无'; + $value['is_check_str'] = D(self::model_name)::IsCheckStr[$value['is_check']]; } - $this->assign('showMarketAdmin', session('user_auth')['show_market_admin']); $this->assign('showPromote', session('user_auth')['show_promote']); $this->assign('isMarketAdmin', $isMarketAdmin); @@ -159,16 +164,72 @@ class SpendController extends ThinkController $this->assign('_page', $data['page']); $show_data_power = (is_administrator()|| session('user_auth')['show_data']); $this->assign('show_data_power', $show_data_power); + + if(!IS_ROOT){ + $this->OpAuthList= getModuleControllerAuth(); + } + + $this->assign('menubtn',$this->menuAuth()); $this->display(); } - - /** - * 充值补单功能 - */ - public function order_repair() { - if (IS_AJAX) { - + + protected function menuAuth() + { + $mentBtn = [ + "addStatement"=>"参与结算", + "removeStatement"=>"移出结算", + ]; + $resarr = []; + foreach ($mentBtn as $k => $v) { + if(IS_ROOT){ + $resarr[] = $v; + }else{ + if(in_array($k,$this->OpAuthList)){ + $resarr[] = $v; + } + } } + return $resarr; + } + + public function addStatement() + { + if(!isset($_REQUEST['ids'])) $this->error("参数错误"); + $ids = $_REQUEST['ids']; + $this->editOrderIscheck($ids,2,1); + $this->ajaxReturn(array( + 'status' => 1, + "info"=>"操作成功" + )); } + public function removeStatement() + { + if(!isset($_REQUEST['ids'])) $this->error("参数错误"); + $ids = $_REQUEST['ids']; + $this->editOrderIscheck($ids,1,2); + $this->ajaxReturn(array( + 'status' => 1, + "info"=>"操作成功" + )); + } + protected function editOrderIscheck($ids,$oldval,$newval){ + $dbres = D(self::model_name)->where("id in ({$ids}) and is_check = '{$oldval}'")->select(); + if(empty($dbres)) return false; + + $changeIds = implode(",",array_column($dbres,"id")); + //执行操作 + $res = D(self::model_name)->where("id in ({$changeIds}) and is_check = '{$oldval}'")->save(['is_check'=>$newval]); + if(empty($res)) return false; + //日志 + if($newval == 1){ + $op_name = "加入结算"; + $key = "addStatement"; + }else{ + $op_name = "移出结算"; + $key = "removeStatement"; + } + addOperationLog(['op_type'=>1,'key'=>$key,"op_name"=>$op_name,"content"=>json_encode(["ids"=>$_REQUEST['ids'],"is_check"=>$newval])]); + return true; + } } diff --git a/Application/Admin/Controller/TestResourceController.class.php b/Application/Admin/Controller/TestResourceController.class.php index e5ca7f4b1..f2bbe81af 100644 --- a/Application/Admin/Controller/TestResourceController.class.php +++ b/Application/Admin/Controller/TestResourceController.class.php @@ -736,24 +736,6 @@ class TestResourceController extends ThinkController M('test_resource','tab_')->rollback();//回滚 $this->error('数据有误'); } - - // $max_quota=$this->max_quota($support['game_id'],$support['server_name']);//最大申请额度 - // if(count($ids)>1){ - // $map_s['game_id']=$support['game_id']; - // $map_s['server_name']=$support['server_name']; - // $map_s['id'] =['in',$ids]; - // $count=M('support','tab_')->where($map_s)->count(); - // $max_quota = floor($max_quota/$count); - // } - // if(I('support_num') > $max_quota){ - // M('support','tab_')->rollback();//回滚 - // $this->ajaxReturn(['status'=>0,'msg'=>'扶持申请额度不足,最大额度:'.$max_quota]); - // } - -// if($support['promote_id'] !=$_SESSION['onethink_home']['promote_auth']['pid'] || empty($support) ){ -// M('test_resource','tab_')->rollback();//回滚 -// $this->error('申请失败'); -// } $data['game_id']=$support['game_id']; $data['game_name']=$support['game_name']; @@ -831,7 +813,6 @@ class TestResourceController extends ThinkController unset($_REQUEST['start']);unset($_REQUEST['end']); } -// $map['promote_id']=$_SESSION['onethink_home']['promote_auth']['pid']; $data=M('test_resource','tab_')->where($map)->order('id desc')->page($page,$row)->select(); $count=M('test_resource','tab_')->field('id')->where($map)->select(); $count = count($count); diff --git a/Application/Admin/Model/MemberModel.class.php b/Application/Admin/Model/MemberModel.class.php index 52d3e1591..cc4181628 100644 --- a/Application/Admin/Model/MemberModel.class.php +++ b/Application/Admin/Model/MemberModel.class.php @@ -85,10 +85,6 @@ class MemberModel extends Model { 'show_market_admin'=>$adminData['show_market_admin'], 'show_promote'=>$adminData['show_promote'], ); - //登录有效时间改为1小时 - $expireTime = 3600; - ini_set('session.gc_maxlifetime', $expireTime); - ini_set('session.cookie_lifetime', $expireTime); session('user_group_id',$groupId); session('user_auth', $auth); session('user_auth_sign', data_auth_sign($auth)); diff --git a/Application/Admin/Model/SpendModel.class.php b/Application/Admin/Model/SpendModel.class.php index 2d9c51ed7..3153c7efc 100644 --- a/Application/Admin/Model/SpendModel.class.php +++ b/Application/Admin/Model/SpendModel.class.php @@ -22,6 +22,10 @@ class SpendModel extends Model /* 自动验证规则 */ protected $_validate = array(); + const IsCheckStr=[ + "1"=>"是", + "2"=>"否" + ]; /* 自动完成规则 */ protected $_auto = array( diff --git a/Application/Admin/View/CompanyStatementPool/editPuPool.html b/Application/Admin/View/CompanyStatementPool/editPuPool.html index cdb9aebdd..cb44a615d 100644 --- a/Application/Admin/View/CompanyStatementPool/editPuPool.html +++ b/Application/Admin/View/CompanyStatementPool/editPuPool.html @@ -172,8 +172,10 @@ {$com['statement_info'][0]['game_list'][0]['sum_money']} - {$com['reward']} - {$com['fine']} + + + {$com['statement_info'][0]['reward']||default="0"} + {$com['statement_info'][0]['fine']||default="0"} @@ -209,7 +211,7 @@ - + @@ -373,27 +375,60 @@ }); $(".no_statement").on("click",function(){ + var id = $(this).data('id'); - $.ajax({ - type: "POST", - url: "{:U('cancelStatement')}", - dataType: 'json', - async: false, - data: {id:id}, - success:function(data){ - if(data.status==1){ - layer.msg("" + data.info + ""); - setTimeout(function(){ - window.location.reload(); - },1500); + saveForm(id); + + }); + var return_data = ""; + + function saveForm(id) { + var options = { + url:"{:U('editCompanyStatementPool')}", //同action + type:'post', + beforeSend:function(xhr){ + }, + success:function(data) + { + return_data = data; + }, + + complete:function(data){ + if(return_data.status==1){ + + $.ajax({ + type: "POST", + url: "{:U('cancelStatement')}", + dataType: 'json', + async: false, + data: {id:id}, + success:function(data){ + if(data.status==1){ + layer.msg("" + data.info + ""); + setTimeout(function(){ + window.location.reload(); + },1500); + }else{ + layer.msg("" + data.info + ""); + return false; + } + } + }); + return; }else{ - layer.msg("" + data.info + ""); + layer.msg("" + 保存数据失败 + ""); return false; } + }, + error: function(xhr,status,msg){ + //alert("状态码"+status+"; "+msg) + layer.msg('玩命加载中..'); + } - }); - }); - var return_data = ""; + }; + $("#form").ajaxSubmit(options); + } + $("#submit").click(function(){ var options = { url:"{:U('editCompanyStatementPool')}", //同action diff --git a/Application/Admin/View/Finance/gameStatistics.html b/Application/Admin/View/Finance/gameStatistics.html index 52697204c..c65db4ee3 100644 --- a/Application/Admin/View/Finance/gameStatistics.html +++ b/Application/Admin/View/Finance/gameStatistics.html @@ -176,10 +176,11 @@
游戏内充值合计游戏现金金额+平台币直充支出+平台币内充支出
联运通知失败合计联运所有通知失败的合计金额
-
聚合平台数据包含聚合万盟平台数据,因为聚合平台数据是用接口获取并且涉及其他平台数据,所以只能添加总数据,无法判定平台币还是现金充值
+
聚合万盟数据聚合平台万盟渠道支付成功且通知成功的金额
+
聚合万盟通知失败聚合平台万盟渠道通知失败的订单合计金额
聚合平台测试订单聚合平台测试订单
-
聚合通知失败合计聚合所有通知失败的合计金额
- +
聚合其他渠道数据聚合平台其他渠道(不含万盟)支付成功通知成功订单合计
+
聚合其他渠道通知失败订单聚合平台其他渠道(不含万盟)
通知失败的订单合计金额
操作 @@ -231,8 +232,10 @@ 'sdk_type'=>$_GET['sdk_type'], 'game_id'=>$data['game_id'], 'game_name'=>$data['game_name'], - 'partner_id'=>$_REQUEST['partner_id'] - ])}">{$data.agg_amount} + 'partner_id'=>$_REQUEST['partner_id'], + 'channel_type'=>1, + ])}">{$data.agg_wm_amount} + {$data.agg_wm_failed_amount}0 {$data.test_amount} + {$data.agg_amount} {$data.agg_failed_amount}0 {$sumInside}0 {$sumAll}0 {$sumNoticeFail}0 - {$aggTotal} + {$aggWmTotal} + {$aggWmFailTotal}0 {$testAllAmount}0 + {$aggTotal} {$aggFailTotal}0 联运渠道数据:{$sumAll} 占比:{$allRate} 聚合渠道数据:{$aggTotal} 占比:{$aggRate}

+

联运渠道数据:{$sumAll} 占比:{$allRate} 聚合渠道数据:{$aggTotal + $aggWmTotal} 占比:{$aggRate}

diff --git a/Application/Admin/View/FinancePromote/index.html b/Application/Admin/View/FinancePromote/index.html index 545faf957..49216715f 100644 --- a/Application/Admin/View/FinancePromote/index.html +++ b/Application/Admin/View/FinancePromote/index.html @@ -81,7 +81,7 @@ @@ -20,8 +22,8 @@
@@ -36,7 +38,7 @@ *合同合作方名称: - + @@ -135,7 +137,7 @@
- + + + + + + + + + + + + + + -
*甲方公司类型: + + + *乙方公司类型: + + +
*甲方公司: + + + *乙方公司: + + +
*结算周期: @@ -188,7 +229,7 @@
是否有打款流程: - + @@ -211,7 +252,7 @@
结算生效期限: + - 结束时间不选默认永久 @@ -417,6 +458,73 @@